summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-04-26 19:54:08 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-04-26 19:54:08 +0000
commitd9d5d3d83831c9728147bfe5a2b53822d7ffca21 (patch)
treee5b750df314e429b4855dde4a541ec323c1dc134
parent875b67c12fa1f5652de53df63db6e31daf839546 (diff)
downloadATCD-d9d5d3d83831c9728147bfe5a2b53822d7ffca21.tar.gz
This commit was manufactured by cvs2svn to create branch
'oci_dave_wchar_refactor_branch'.
-rw-r--r--ChangeLogs/ChangeLog-06a11624
-rw-r--r--TAO/CIAO/CIDLC/AttributeHeaderEmitters.cpp199
-rw-r--r--TAO/CIAO/CIDLC/AttributeHeaderEmitters.hpp119
-rw-r--r--TAO/CIAO/CIDLC/AttributeSourceEmitters_T.hpp368
-rw-r--r--TAO/CIAO/CIDLC/CompositionEmitter.cpp27
-rw-r--r--TAO/CIAO/CIDLC/CompositionEmitter.hpp26
-rw-r--r--TAO/CIAO/CIDLC/CorbaTypeNameEmitters.cpp2235
-rw-r--r--TAO/CIAO/CIDLC/CorbaTypeNameEmitters.hpp511
-rw-r--r--TAO/CIAO/CIDLC/EmitterBase.cpp11
-rw-r--r--TAO/CIAO/CIDLC/EmitterBase.hpp20
-rw-r--r--TAO/CIAO/CIDLC/EmitterContext.cpp45
-rw-r--r--TAO/CIAO/CIDLC/EmitterContext.hpp35
-rw-r--r--TAO/CIAO/CIDLC/InterfaceEmitter.cpp26
-rw-r--r--TAO/CIAO/CIDLC/InterfaceEmitter.hpp30
-rw-r--r--TAO/CIAO/CIDLC/ModuleEmitter.cpp22
-rw-r--r--TAO/CIAO/CIDLC/ModuleEmitter.hpp24
-rw-r--r--TAO/CIAO/CIDLC/OperationHeaderEmitters.cpp267
-rw-r--r--TAO/CIAO/CIDLC/OperationHeaderEmitters.hpp151
-rw-r--r--TAO/CIAO/CIDLC/ParameterEmitter_T.hpp33
-rw-r--r--TAO/CIAO/CIDLC/Upcase.hpp21
-rw-r--r--TAO/CIAO/CIDLC/UtilityTypeNameEmitters.cpp57
-rw-r--r--TAO/CIAO/CIDLC/UtilityTypeNameEmitters.hpp56
-rw-r--r--TAO/CIAO/ChangeLogs/ChangeLog-06a8579
-rw-r--r--TAO/CIAO/DAnCE/Interfaces/ExecutionManagerDaemon.idl25
-rw-r--r--TAO/CIAO/DAnCE/Interfaces/Interfaces.mpc39
-rw-r--r--TAO/CIAO/DAnCE/Interfaces/NodeManagerDaemon.idl34
-rw-r--r--TAO/CIAO/DAnCE/Interfaces/README2
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/Configurator_Factory.cpp117
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/Configurator_Factory.h102
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/Container_Impl.cpp685
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/Container_Impl.h228
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/Container_Impl.inl39
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/NoOp_Configurator.h62
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.cpp277
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.h69
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.inl8
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp1258
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h397
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.inl82
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/RTConfig_Manager.cpp468
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/RTNodeApp_Configurator.cpp105
-rw-r--r--TAO/CIAO/DAnCE/NodeApplication/RTNodeApp_Configurator.h78
-rw-r--r--TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Client.cpp59
-rw-r--r--TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Client.h72
-rw-r--r--TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Handler.cpp203
-rw-r--r--TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Handler.h86
-rw-r--r--TAO/CIAO/DAnCE/NodeApplicationManager/URL_Parser.cpp103
-rw-r--r--TAO/CIAO/DAnCE/NodeApplicationManager/URL_Parser.h68
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/CIAO_Monitor.cpp170
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/CIAO_Monitor.h119
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/Monitor.mpc28
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/MonitorCB.cpp58
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/MonitorController.cpp228
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/MonitorController.h125
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/HTTP_Handler.cpp203
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/PC_Updater.cpp267
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/PC_Updater.h112
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/PC_Updater_T.cpp21
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/README.txt30
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/RM_Helper.cpp253
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/RM_Helper.h100
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/RMadmin.cpp273
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager.cpp165
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/RepositoryManagerDaemon.idl13
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/URL_Parser.cpp103
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/URL_Parser.h68
-rw-r--r--TAO/CIAO/DAnCE/StaticConfigurator/README29
-rw-r--r--TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEApp.cpp.tmpl119
-rw-r--r--TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEApp.mpc.tmpl24
-rw-r--r--TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEParser.cpp162
-rw-r--r--TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEParser.mpc13
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp173
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/Deployment_Configuration.h129
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/DomainDataManager.cpp574
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/DomainDataManager.h270
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/TM_Client.mpc28
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/TargetManager.idl38
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/TargetManager.mpc62
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/TargetManagerExt.idl80
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/TargetManager_exec.cpp362
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/TargetManager_exec.h236
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/descriptors/Domain.cdd101
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/descriptors/flattened_deploymentplan.cdp92
-rw-r--r--TAO/CIAO/DAnCE/tests/NodeApplicationTest/NodeApp_test_client_dynamic.cpp166
-rw-r--r--TAO/CIAO/ciao/Deployment_Events.idl68
-rw-r--r--TAO/CIAO/ciao/Deployment_common.h54
-rw-r--r--TAO/CIAO/ciao/DomainApplicationManager.idl57
-rw-r--r--TAO/CIAO/ciao/ExecutionManager.idl50
-rw-r--r--TAO/CIAO/ciao/NodeApplicationManager.idl50
-rw-r--r--TAO/CIAO/ciao/NodeManager.idl38
-rw-r--r--TAO/CIAO/ciao/RepositoryManager.idl38
-rw-r--r--TAO/CIAO/ciao/Servant_Impl_Utils_T.cpp143
-rw-r--r--TAO/CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl69
-rw-r--r--TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.h332
-rw-r--r--TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.idl38
-rw-r--r--TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents.cpp3015
-rw-r--r--TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents.hpp1499
-rw-r--r--TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.cpp155
-rw-r--r--TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.h74
-rw-r--r--TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers.mpc28
-rw-r--r--TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers_Export.h54
-rw-r--r--TAO/CIAO/tools/Config_Handlers/CIAO_Events/test.cpp58
-rw-r--r--TAO/CIAO/tools/Config_Handlers/DD_Handler.cpp244
-rw-r--r--TAO/CIAO/tools/Config_Handlers/DD_Handler.h139
-rw-r--r--TAO/CIAO/tools/Config_Handlers/ESD_Handler.cpp127
-rw-r--r--TAO/CIAO/tools/Config_Handlers/ESD_Handler.h73
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/CAD_Handler.cpp259
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/CAD_Handler.h59
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/CID_Handler.cpp383
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/CID_Handler.h67
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.cpp159
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.h74
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/Comp_Intf_Descr_Handler.cpp164
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/Comp_Intf_Descr_Handler.h54
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/IAD_Handler.cpp122
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/IAD_Handler.h66
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/NIA_Handler.h65
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/PCD_Handler.cpp160
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/PCD_Handler.h69
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/PC_Intf.cpp75
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/PC_Intf.h58
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/Package_Handlers.mpc45
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/Packaging_Handlers_Export.h58
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/SID_Handler.cpp140
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/SID_Handler.h71
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Package_Handlers/test.cpp113
-rw-r--r--TAO/CIAO/tools/Config_Handlers/SatisfierProperty_Handler.cpp118
-rw-r--r--TAO/CIAO/tools/Config_Handlers/SatisfierProperty_Handler.h71
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Utils/Exceptions.h39
-rw-r--r--TAO/CIAO/tools/Config_Handlers/Utils/Functors.h137
-rw-r--r--TAO/ChangeLogs/ChangeLog-06a21005
-rw-r--r--TAO/examples/CSD_Strategy/Makefile.am18
-rw-r--r--TAO/examples/CSD_Strategy/ThreadPool/Makefile.am143
-rw-r--r--TAO/examples/CSD_Strategy/ThreadPool2/Makefile.am145
-rw-r--r--TAO/examples/CSD_Strategy/ThreadPool3/Makefile.am145
-rw-r--r--TAO/examples/CSD_Strategy/ThreadPool4/ClientTask.cpp211
-rw-r--r--TAO/examples/CSD_Strategy/ThreadPool4/Makefile.am139
-rw-r--r--TAO/examples/CSD_Strategy/ThreadPool5/ClientTask.cpp262
-rw-r--r--TAO/examples/CSD_Strategy/ThreadPool5/Makefile.am232
-rw-r--r--TAO/examples/CSD_Strategy/ThreadPool6/Makefile.am151
-rw-r--r--TAO/orbsvcs/tests/Bug_2074_Regression/Makefile.am57
-rw-r--r--TAO/orbsvcs/tests/Bug_2285_Regression/Makefile.am258
-rw-r--r--TAO/orbsvcs/tests/Bug_2287_Regression/Makefile.am159
-rw-r--r--TAO/orbsvcs/tests/Bug_2316_Regression/Makefile.am136
-rw-r--r--TAO/orbsvcs/tests/Bug_2377_Regression/Makefile.am96
-rw-r--r--TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/Makefile.am42
-rw-r--r--TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/main.cpp120
-rw-r--r--TAO/performance-tests/CSD_Strategy/Makefile.am15
-rw-r--r--TAO/performance-tests/CSD_Strategy/TestApps/Makefile.am78
-rw-r--r--TAO/performance-tests/CSD_Strategy/TestInf/Makefile.am211
-rw-r--r--TAO/performance-tests/CSD_Strategy/TestServant/Makefile.am86
-rw-r--r--TAO/tao/Array_Traits_T.h69
-rw-r--r--TAO/tao/Bounded_Array_Allocation_Traits_T.h55
-rw-r--r--TAO/tao/Bounded_Array_Sequence_T.h145
-rw-r--r--TAO/tao/Bounded_Basic_String_Sequence_T.h118
-rw-r--r--TAO/tao/Bounded_Object_Reference_Sequence_T.h105
-rw-r--r--TAO/tao/Bounded_Reference_Allocation_Traits_T.h65
-rw-r--r--TAO/tao/Bounded_Sequence_CDR_T.h516
-rw-r--r--TAO/tao/Bounded_String_Sequence_T.h42
-rw-r--r--TAO/tao/Bounded_Value_Allocation_Traits_T.h60
-rw-r--r--TAO/tao/Bounded_Value_Sequence_T.h100
-rw-r--r--TAO/tao/Bounded_Wstring_Sequence_T.h42
-rw-r--r--TAO/tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp60
-rw-r--r--TAO/tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h53
-rw-r--r--TAO/tao/CSD_Framework/CSD_FrameworkC.cpp294
-rw-r--r--TAO/tao/CSD_Framework/CSD_POA.cpp134
-rw-r--r--TAO/tao/CSD_Framework/CSD_POA.h111
-rw-r--r--TAO/tao/EndpointPolicy.mpc35
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy.cpp61
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy.h50
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy.pidl55
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicyA.cpp212
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicyA.h84
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicyType.pidl41
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicyTypeA.cpp33
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicyTypeA.h54
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicyTypeC.cpp49
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicyTypeC.h90
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy_Export.h58
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp94
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy_Factory.h67
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy_ORBInitializer.cpp86
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy_ORBInitializer.h79
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy_i.cpp84
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy_i.h93
-rw-r--r--TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter.h70
-rw-r--r--TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.cpp56
-rw-r--r--TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.h56
-rw-r--r--TAO/tao/EndpointPolicy/IIOPEndpointValue.pidl49
-rw-r--r--TAO/tao/EndpointPolicy/IIOPEndpointValueA.cpp53
-rw-r--r--TAO/tao/EndpointPolicy/IIOPEndpointValueA.h59
-rw-r--r--TAO/tao/EndpointPolicy/IIOPEndpointValueC.cpp176
-rw-r--r--TAO/tao/EndpointPolicy/IIOPEndpointValueC.h230
-rw-r--r--TAO/tao/EndpointPolicy/IIOPEndpointValue_i.cpp119
-rw-r--r--TAO/tao/EndpointPolicy/IIOPEndpointValue_i.h115
-rw-r--r--TAO/tao/EndpointPolicy/TAO_EndpointPolicy.pc.in11
-rw-r--r--TAO/tao/GIOP_Fragmentation_Strategy.cpp9
-rw-r--r--TAO/tao/GIOP_Fragmentation_Strategy.h85
-rw-r--r--TAO/tao/Generic_Sequence_T.h319
-rw-r--r--TAO/tao/Incoming_Message_Stack.cpp11
-rwxr-xr-xTAO/tao/Incoming_Message_Stack.inl63
-rw-r--r--TAO/tao/LF_Multi_Event.cpp118
-rw-r--r--TAO/tao/LF_Multi_Event.h97
-rw-r--r--TAO/tao/Messaging/ExceptionHolder_i.cpp95
-rw-r--r--TAO/tao/Messaging/ExceptionHolder_i.h100
-rw-r--r--TAO/tao/Null_Fragmentation_Strategy.cpp17
-rw-r--r--TAO/tao/Null_Fragmentation_Strategy.h64
-rw-r--r--TAO/tao/Object_Reference_Sequence_Element_T.h127
-rw-r--r--TAO/tao/Object_Reference_Traits_Base_T.h56
-rw-r--r--TAO/tao/Object_Reference_Traits_T.h83
-rw-r--r--TAO/tao/On_Demand_Fragmentation_Strategy.cpp93
-rw-r--r--TAO/tao/On_Demand_Fragmentation_Strategy.h77
-rw-r--r--TAO/tao/PI/ClientRequestDetails.cpp77
-rw-r--r--TAO/tao/PI/ProcessingModePolicyC.cpp221
-rw-r--r--TAO/tao/PI_Server/ServerRequestDetails.cpp77
-rw-r--r--TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp50
-rw-r--r--TAO/tao/PortableServer/Acceptor_Filter_Factory.h68
-rw-r--r--TAO/tao/PortableServer/POAManagerFactory.h80
-rw-r--r--TAO/tao/PortableServer/POAManagerFactory.pidl47
-rw-r--r--TAO/tao/PortableServer/POAManagerFactoryC.cpp423
-rw-r--r--TAO/tao/PortableServer/POAManagerFactoryC.h381
-rw-r--r--TAO/tao/Range_Checking_T.h150
-rw-r--r--TAO/tao/Strategies/OC_Endpoint_Selector_Loader.cpp28
-rw-r--r--TAO/tao/Strategies/OC_Endpoint_Selector_Loader.h63
-rw-r--r--TAO/tao/Strategies/Optimized_Connection_Endpoint_Selector.cpp178
-rw-r--r--TAO/tao/String_Alloc.cpp104
-rw-r--r--TAO/tao/String_Alloc.h57
-rw-r--r--TAO/tao/String_Manager_T.h138
-rw-r--r--TAO/tao/String_Sequence_Element_T.h124
-rw-r--r--TAO/tao/String_Traits_Base_T.h107
-rw-r--r--TAO/tao/String_Traits_T.h77
-rw-r--r--TAO/tao/Unbounded_Array_Allocation_Traits_T.h54
-rw-r--r--TAO/tao/Unbounded_Array_Sequence_T.h150
-rw-r--r--TAO/tao/Unbounded_Basic_String_Sequence_T.h112
-rw-r--r--TAO/tao/Unbounded_Object_Reference_Sequence_T.h108
-rw-r--r--TAO/tao/Unbounded_Octet_Sequence_T.h318
-rw-r--r--TAO/tao/Unbounded_Reference_Allocation_Traits_T.h69
-rw-r--r--TAO/tao/Unbounded_Sequence_CDR_T.h567
-rw-r--r--TAO/tao/Unbounded_String_Sequence_T.h43
-rw-r--r--TAO/tao/Unbounded_Value_Allocation_Traits_T.h54
-rw-r--r--TAO/tao/Unbounded_Value_Sequence_T.h101
-rw-r--r--TAO/tao/Unbounded_Wstring_Sequence_T.h43
-rw-r--r--TAO/tao/Value_Traits_T.h53
-rw-r--r--TAO/tao/Valuetype/Bounded_Valuetype_Allocation_Traits_T.h65
-rw-r--r--TAO/tao/Valuetype/Bounded_Valuetype_Sequence_T.h144
-rw-r--r--TAO/tao/Valuetype/Unbounded_Valuetype_Allocation_Traits_T.h69
-rw-r--r--TAO/tao/Valuetype/Unbounded_Valuetype_Sequence_T.h145
-rw-r--r--TAO/tao/Valuetype/Valuetype_Adapter_Factory_Impl.cpp59
-rw-r--r--TAO/tao/Valuetype/Valuetype_Adapter_Factory_Impl.h70
-rw-r--r--TAO/tao/Valuetype/Valuetype_Sequence_Element_T.h127
-rw-r--r--TAO/tao/Valuetype/Valuetype_Traits_Base_T.h57
-rw-r--r--TAO/tao/Valuetype/Valuetype_Traits_T.h82
-rw-r--r--TAO/tao/Valuetype_Adapter_Factory.cpp14
-rw-r--r--TAO/tao/Valuetype_Adapter_Factory.h55
-rw-r--r--TAO/tao/Versioned_Namespace.h58
-rw-r--r--TAO/tests/Bug_1676_Regression/Bug_1676_Regression.mpc19
-rw-r--r--TAO/tests/Bug_1676_Regression/Hello.cpp98
-rw-r--r--TAO/tests/Bug_1676_Regression/Hello.h54
-rw-r--r--TAO/tests/Bug_1676_Regression/Test.idl39
-rw-r--r--TAO/tests/Bug_1676_Regression/client.cpp151
-rwxr-xr-xTAO/tests/Bug_1676_Regression/run_test.pl49
-rw-r--r--TAO/tests/Bug_1676_Regression/server.cpp115
-rw-r--r--TAO/tests/Bug_2319_Regression/server.cpp365
-rw-r--r--TAO/tests/Bug_2349_Regression/client.cpp39
-rw-r--r--TAO/tests/Bug_2349_Regression/foo.idl8
-rw-r--r--TAO/tests/Bug_2349_Regression/server.cpp115
-rw-r--r--TAO/tests/Bug_2503_Regression/Bug_2503_Regression.mpc20
-rw-r--r--TAO/tests/Bug_2503_Regression/Test.idl6
-rw-r--r--TAO/tests/Bug_2503_Regression/client.cpp92
-rw-r--r--TAO/tests/Bug_2503_Regression/common.cpp45
-rw-r--r--TAO/tests/Bug_2503_Regression/common.h12
-rwxr-xr-xTAO/tests/Bug_2503_Regression/run_test.pl54
-rw-r--r--TAO/tests/Bug_2503_Regression/server.cpp77
-rw-r--r--TAO/tests/Bug_2503_Regression/test_i.cpp28
-rw-r--r--TAO/tests/Bug_2503_Regression/test_i.h20
-rw-r--r--TAO/tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_ClientEngine.cpp209
-rw-r--r--TAO/tests/OBV/Simple/Client_i.cpp69
-rw-r--r--TAO/tests/OBV/Simple/Client_i.h56
-rw-r--r--TAO/tests/OBV/Simple/OBV.idl16
-rw-r--r--TAO/tests/OBV/Simple/OBV_Simple.mpc37
-rw-r--r--TAO/tests/OBV/Simple/OBV_impl.cpp44
-rw-r--r--TAO/tests/OBV/Simple/OBV_impl.h39
-rw-r--r--TAO/tests/OBV/Simple/Server_i.cpp80
-rw-r--r--TAO/tests/OBV/Simple/Server_i.h60
-rw-r--r--TAO/tests/OBV/Simple/Simple_util.cpp317
-rw-r--r--TAO/tests/OBV/Simple/Simple_util.h170
-rw-r--r--TAO/tests/OBV/Simple/client.cpp23
-rwxr-xr-xTAO/tests/OBV/Simple/run_test.pl44
-rw-r--r--TAO/tests/OBV/Simple/server.cpp44
-rw-r--r--TAO/tests/OBV/Truncatable/OBV_Truncatable.mpc18
-rw-r--r--TAO/tests/OBV/Truncatable/README20
-rw-r--r--TAO/tests/OBV/Truncatable/Truncatable.idl100
-rw-r--r--TAO/tests/OBV/Truncatable/TruncatableS_impl.cpp140
-rw-r--r--TAO/tests/OBV/Truncatable/TruncatableS_impl.h89
-rw-r--r--TAO/tests/OBV/Truncatable/client.cpp453
-rwxr-xr-xTAO/tests/OBV/Truncatable/run_test.pl58
-rw-r--r--TAO/tests/OBV/Truncatable/server.cpp159
-rw-r--r--TAO/tests/Ondemand_Write/Hello.cpp29
-rw-r--r--TAO/tests/Ondemand_Write/Hello.h37
-rw-r--r--TAO/tests/Ondemand_Write/Ondemand_Write.mpc19
-rw-r--r--TAO/tests/Ondemand_Write/README37
-rw-r--r--TAO/tests/Ondemand_Write/Test.idl20
-rw-r--r--TAO/tests/Ondemand_Write/client.cpp87
-rw-r--r--TAO/tests/Ondemand_Write/run_test.pl49
-rw-r--r--TAO/tests/Ondemand_Write/server.cpp115
-rw-r--r--TAO/tests/POA/Bug_2511_Regression/Bug_2511_Regression.mpc5
-rwxr-xr-xTAO/tests/POA/Bug_2511_Regression/run_test.pl25
-rw-r--r--TAO/tests/POA/Bug_2511_Regression/server.cpp286
-rw-r--r--TAO/tests/POA/Bug_2511_Regression/test.idl8
-rw-r--r--TAO/tests/POA/EndpointPolicy/EndpointPolicy.mpc19
-rw-r--r--TAO/tests/POA/EndpointPolicy/Hello.cpp25
-rw-r--r--TAO/tests/POA/EndpointPolicy/Hello.h33
-rw-r--r--TAO/tests/POA/EndpointPolicy/README26
-rw-r--r--TAO/tests/POA/EndpointPolicy/Test.idl20
-rw-r--r--TAO/tests/POA/EndpointPolicy/client.cpp112
-rwxr-xr-xTAO/tests/POA/EndpointPolicy/run_test.pl107
-rw-r--r--TAO/tests/POA/EndpointPolicy/server.cpp345
-rw-r--r--TAO/tests/POA/POAManagerFactory/POAManagerFactory.cpp306
-rw-r--r--TAO/tests/POA/POAManagerFactory/POAManagerFactory.mpc5
-rwxr-xr-xTAO/tests/POA/POAManagerFactory/run_test.pl25
-rw-r--r--TAO/tests/Parallel_Connect_Strategy/Parallel_Connect_Strategy.mpc18
-rw-r--r--TAO/tests/Parallel_Connect_Strategy/README33
-rw-r--r--TAO/tests/Parallel_Connect_Strategy/Test.idl20
-rw-r--r--TAO/tests/Parallel_Connect_Strategy/Test_i.cpp23
-rw-r--r--TAO/tests/Parallel_Connect_Strategy/Test_i.h35
-rw-r--r--TAO/tests/Parallel_Connect_Strategy/blocked.conf3
-rw-r--r--TAO/tests/Parallel_Connect_Strategy/client.cpp121
-rw-r--r--TAO/tests/Parallel_Connect_Strategy/reactive.conf3
-rwxr-xr-xTAO/tests/Parallel_Connect_Strategy/run_test.pl97
-rw-r--r--TAO/tests/Parallel_Connect_Strategy/server.cpp136
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/Bug_2510_Regression.mpc20
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/Client_ORBInitializer.cpp49
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/Client_ORBInitializer.h48
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/client.cpp117
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/client_interceptor.cpp116
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/client_interceptor.h72
-rwxr-xr-xTAO/tests/Portable_Interceptors/Bug_2510_Regression/run_test.pl50
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/server.cpp127
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/test.idl32
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/test_i.cpp53
-rw-r--r--TAO/tests/Portable_Interceptors/Bug_2510_Regression/test_i.h55
-rw-r--r--TAO/tests/Sequence_Unit_Tests/Unbounded_Octet.cpp52
-rw-r--r--TAO/tests/Sequence_Unit_Tests/bounded_sequence_cdr_ut.cpp126
-rw-r--r--TAO/tests/Sequence_Unit_Tests/mock_array.cpp51
-rw-r--r--TAO/tests/Sequence_Unit_Tests/mock_array.hpp46
-rw-r--r--TAO/tests/Sequence_Unit_Tests/string_ut.cpp139
-rw-r--r--TAO/tests/Sequence_Unit_Tests/unbounded_array_sequence_ut.cpp77
-rw-r--r--TAO/tests/Sequence_Unit_Tests/unbounded_fwd_object_reference_sequence_ut.cpp86
-rw-r--r--TAO/tests/Sequence_Unit_Tests/unbounded_octet_sequence_nocopy_ut.cpp487
-rw-r--r--TAO/tests/Sequence_Unit_Tests/unbounded_octet_sequence_ut.cpp450
-rw-r--r--TAO/tests/Sequence_Unit_Tests/unbounded_sequence_cdr_ut.cpp124
-rw-r--r--ace/MMAP_Memory_Pool.inl21
-rw-r--r--ace/OS_NS_sys_sendfile.cpp37
-rw-r--r--ace/OS_NS_sys_sendfile.h64
-rw-r--r--ace/OS_NS_sys_sendfile.inl20
-rw-r--r--ace/Versioned_Namespace.h51
-rw-r--r--ace/config-macros.h648
-rw-r--r--bin/MakeProjectCreator/config/endpointpolicy.mpb7
-rw-r--r--tests/Bug_2368_Regression_Test.cpp123
-rw-r--r--tests/SSL/SSL_Asynch_Stream_Test.cpp478
360 files changed, 87359 insertions, 0 deletions
diff --git a/ChangeLogs/ChangeLog-06a b/ChangeLogs/ChangeLog-06a
new file mode 100644
index 00000000000..1aef41b5c1c
--- /dev/null
+++ b/ChangeLogs/ChangeLog-06a
@@ -0,0 +1,11624 @@
+Tue Apr 18 08:54:49 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp:
+ Fixed main signature to resolve link errors in the Cygwin build.
+
+Tue Apr 18 07:58:49 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp:
+ Fixed warning in solaris build
+
+Tue Apr 18 07:55:49 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp:
+ Fixed compile error in Cygwin build
+
+Tue Apr 18 07:24:49 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/msvc_static_order.lst:
+ Added ImR_Client lib
+
+Mon Apr 17 18:15:49 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp: Fixed compile error correctly.
+
+Mon Apr 17 14:47:23 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-macosx-tiger.h
+
+ Added ACE_HAS_AIO_CALLS.
+
+Mon Apr 17 10:06:23 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp: Restrict building this test
+ to platforms with both threads and AIO support. Fixes Cygwin
+ build problem.
+
+Sat Apr 15 10:57:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp:
+ Fixed compile error
+
+Fri Apr 14 15:53:21 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * NEWS: Updated to reflect the changes and fixes below.
+
+ * ace/Task.{h inl cpp}: Change ACE_Task::lock_ from ACE_Thread_Mutex
+ to ACE_Recursive_Thread_Mutex, and hold lock_ across call to
+ ACE_Task::close() in ACE_Task_Base::cleanup(). This guards against
+ multiple threads in close() seeing a 0 thr_count() and acting on it.
+ Thanks to Howard Finer <hfiner at sonusnet dot com> for this fix.
+ Fixes Bugzilla #2339.
+
+ * ace/SOCK_Stream.h: Explain more about how the *_n methods work and
+ how to use the timeout and bytes_transferred arguments.
+
+ * examples/Threads/task_three.cpp: Change name of the file static
+ ACE_Thread_Mutex from lock_ to Lock to avoid clashing with the
+ ACE_Task-inherited member lock_.
+
+ * ace/SSL/SSL_Asynch_Stream.{h cpp}: Changes that allow
+ ACE_SSL_Asynch_Stream objects to be instantiated; required adding
+ an implementation of the pure virtual implementation() method
+ inherited from ACE_Asynch_Operation.
+ Also moved the declaration of the ACE_SSL_Asynch_Read_Stream_Result,
+ ACE_SSL_Asynch_Write_Stream_Result, and ACE_SSL_Asynch_Result classes
+ from the .cpp file to the .h file so applications can see them.
+ Also corrected and enhanced a lot of the documentation.
+
+ * tests/SSL/tests.mpc:
+ * tests/SSL/Makefile.am:
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp: Added a new test that at least
+ tests building an application to use ACE_SSL_Asynch_Stream.
+
+Fri Apr 14 14:57:12 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/msvc_static_compile.pl:
+
+ Added a work-around for devenv using the solution file to build
+ additional projects even when the .vcproj is specified. This only
+ happens when using the -CORE option to this script. First, all
+ .sln files are temporarily renamed and then named back when the
+ build is done or a SIGINT or SIGTERM is detected.
+
+Wed Apr 12 14:48:38 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_component_dnc.mpb
+
+ Fixes for linking errors in OS X.
+
+Tue Apr 11 20:06:12 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/OS_NS_stdio.inl (rewind): Replaced SetFilePointer() with
+ fseek() on WinCE since it works better. Thanks to Andrey
+ Nechypurenko for reporting this.
+
+Wed Apr 12 08:14:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ciao_events_dnc.mpb:
+ Added ciao_rtevent_dnc as base project to fix link errors in the
+ VxWorks static builds
+
+Tue Apr 11 14:10:00 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ASNMP/asnmp/transaction.cpp (handle_input): Return 0 on successful
+ socket read, not the number of bytes. Thanks to Jason Zhang for this
+ fix.
+
+ * THANKS: Added Jason Zhang to the Hall of Fame.
+
+Tue Apr 11 13:12:36 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * ace/Lib_Find.h:
+
+ aCC 3.31 seems to want an extra newline at the end of this file.
+
+ * ace/config-macros.h:
+
+ ACE_NOTREACHED is reached for aCC up to 3.31 at least.
+
+ * include/makeinclude/platform_hpux_aCC.GNU:
+
+ Define ACE_LACKS_MEMBER_TEMPLATES for aCC 3.31 because it does.
+
+Tue Apr 11 12:41:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ciao_config_handlers.mpb:
+ Added event config handles and add all projects to the after
+ to get the correct build order
+
+Mon Apr 10 18:37:17 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * ace/ace_for_tao.mpc:
+
+ Added Capabilities.cpp into the lib.
+ Required by TAO/orbsvcs/examples/ImR/Advanced to
+ use the getline function. The ace_for_tao lib is
+ increased by 0.1M.
+
+Mon Apr 10 18:04:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Don't run bug 2134 regression in a minimum build
+
+Mon Apr 10 14:34:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Object_Manager_Test.cpp:
+ Fixed compile problem in single threaded no inline build
+
+Mon Apr 10 12:28:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ciao_server_dnc.mpb:
+ * bin/MakeProjectCreator/config/ciao_deployment_svnt.mpb:
+ Added ciao_events_dnc
+
+Mon Apr 10 12:06:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ciao_domainapplicationmanager_dnc.mpb:
+ New base project
+
+Mon Apr 10 11:52:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ciao_component_dnc.mpb:
+ * bin/MakeProjectCreator/config/ciao_container_dnc.mpb:
+ * bin/MakeProjectCreator/config/ciao_deployment_stub.mpb:
+ Changed base projects
+
+Mon Apr 10 10:27:03 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * tests/Unload_libACE.cpp:
+ Set up a guard for WIN32 && ACE_USES_WCHAR.
+
+Mon Apr 10 09:36:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ciao_rtevent_dnc.mpb:
+ New base project
+
+Mon Apr 10 09:13:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ciao_events_base_dnc.mpb:
+ New base project
+
+Mon Apr 10 06:23:00 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ciao_container_dnc.mpb:
+ New file, matches library name
+
+ * bin/MakeProjectCreator/config/ciao_xml_utils.mpb:
+ Use exceptions as base project
+
+ * bin/MakeProjectCreator/config/ciao_servant_dnc.mpb:
+ Use ciao_events_dnc as base project
+
+ * bin/MakeProjectCreator/config/ciao_events_dnc.mpb:
+ Add ciao_container_dnc and ciao_client_dnc to make things easier to
+ maintain. Also use the CIAO_Dnc_Events library instead of the
+ two seperate libs
+
+ * bin/MakeProjectCreator/config/ciao_deployment_svnt.mpb:
+ * bin/MakeProjectCreator/config/ciao_deployment_stub.mpb:
+ Removed CIAO_DnC_Events as seperate lib
+
+Sun Apr 9 12:00:00 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * docs/ACE-bug-process.html: Updated this page to more accurately
+ reflect how the DOC group handles enhancement requests. Thanks
+ to David White <david dot white dot 7 at gmail dot com> for
+ motivating this.
+
+Sat Apr 8 18:32:29 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/Shared_Memory_MM.h (ACE_Shared_Memory_MM):
+ * ace/Shared_Memory_SV.h (ACE_Shared_Memory_SV):
+ Added comments that underscore that these classes should not be
+ used and instead ACE_Malloc or ACE_Mem_Map should be used.
+ Thanks to Qingbo Cai <qingbo dot cai at case dot edu> for motivating these
+ comments.
+
+Fri Apr 7 19:56:03 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_events_dnc.mpb
+
+ Modified to make CIAO_DnC_Events_Base and CIAO_RT_Event
+ libraries explicitly specified in "libs +=" to resolve
+ linking errors in BC compilers.
+
+Fri Apr 7 13:13:06 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * tests/tests.mpc:
+ Add staticflags += ACE_AS_STATIC_LIBS for Library Unload
+
+Fri Apr 7 07:36:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Token.{h,inl}:
+ Fixed compile problem in single threaded no online build. Thanks
+ to Ossama Othman for reporting this
+
+Thu Apr 6 21:11:24 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_Context.cpp (private_key, context, dh_params): If setting
+ up the new file fails, reset the corresponding
+ ACE_SSL_Data_File member to allow retries to proceed.
+
+ * NEWS: Added user-visible items for 5.5.1.
+
+Thu Apr 6 19:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Thread.cpp:
+ Fixed compile problem in single threaded no online build. Thanks
+ to Ossama Othman for reporting this
+
+Thu Apr 6 15:58:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Thu Apr 6 10:07:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ * tests/tests.mpc:
+ * tests/Bug_2497_Regression_Test.cpp:
+ Added regression for bug 2497, we have to see what the best fix
+ is. Thanks to Sergey Zubarev <sergant128 at mail dot ru> for
+ providing reporting this.
+
+Thu Apr 6 06:05:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macosx-tiger.h:
+ Don't define ACE_SIZEOF_LONG_DOUBLE when it is already set. Can
+ happen when we build for OS X on Intel. Thanks to Ignacio Alvarez
+ <support at xentient dot com> for reporting this. This fixes bugzilla
+ 2496.
+
+Wed Apr 5 23:02:50 UTC 2006 Adam Mitz <mitza@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Added TAO/tests/Bug_2494_Regression.
+
+Wed Apr 5 22:03:52 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_events_dnc.mpb
+
+ Modify the project dependency so its built after
+ CIAO_DnC_Container project. This should fix the
+ errors on SuSE_FP_Stats build.
+
+Wed Apr 5 19:32:19 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_deployment_stub.mpb
+
+ Added library dependency to CIAO_Events_DnC, so static
+ build could resolve symbols in this library.
+
+Mon Apr 5 14:59:37 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * ace/SSL/SSL_Context.cpp:
+ * ace/SSL/SSL_Context.h:
+
+ Addressed access to locks that have already been destroyed by
+ reintroducing some of the original static variable semantics.
+ Some, but not all, of the exception-safety fixes that introduced
+ the order of destruction problem were retained.
+
+ (random_seed, egd_file, seed_file):
+
+ Declared these methods "static" since they do not manipulate
+ internal ACE_SSL_Context members.
+
+Wed Apr 5 14:58:12 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * tests/Unload_libACE.cpp:
+ Set up a guard for ACE_AS_STATIC_LIBS.
+
+ * tests/tests.mpc:
+ Add an empty Resource_Files section to the Library Unload project.
+
+Wed Apr 5 14:25:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Wed Apr 5 13:10:00 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/CDR_Stream.cpp:
+ Initialise local pointer with 0
+
+Wed Apr 5 11:55:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Tue Apr 4 18:51:41 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK_Acceptor.cpp (shared_open): If ACE_OS::listen() fails,
+ guard errno before closing the socket to prevent loss of the error
+ value, at least on Windows. Thank you to Aleksandar Vukajlovic
+ <vukajlo at finsoft dot co dot yu> for this fix.
+
+ * THANKS: Added Aleksandar Vukajlovic to the Hall of Fame.
+
+Tue Apr 4 15:44:03 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/README:
+ * bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm:
+
+ Reverting my change from Mon Apr 3 12:12:27 UTC 2006 and changing
+ the default from directory based building/dependencies to named
+ targets (which is the way that all other make based MPC project
+ types work). This is being done by request (RT #8510).
+
+Tue Apr 4 15:28:00 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * tests/Unload_libACE.cpp:
+ Cope when log file cannot be opened.
+
+Tue Apr 4 15:06:00 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * tests/Unload_libACE.cpp:
+ Add guards for __MINGW32__ and __CYGWIN32__.
+ Don't error if libACE isn't found.
+
+Tue Apr 4 14:10:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Mon Apr 3 23:04:51 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU: Removed the explicit
+ setting of ACE_TEMPLATES_REQUIRE_SOURCE in CCFLAGS introduced at
+ Wed Feb 22 16:26:43 GMT 2006 Rich Seibel <seibel_r@ociweb.com>.
+ ACE_TEMPLATES_REQUIRE_SOURCE is set (or not) from config-aix-4.x.h
+ depending on what template instantiation options were specified on
+ the command line.
+
+Mon Apr 3 13:45:29 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * ace/Basic_Types.inl:
+
+ Fixed versioned namespace related errors for configurations that
+ define ACE_LACKS_LONGLONG_T and/or ACE_LACKS_UNSIGNEDLONGLONG_T.
+
+Mon Apr 3 13:45:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Mon Apr 3 12:12:27 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/README:
+ * bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm:
+
+ Added support for a new workspace based setting that only makes
+ sense to the 'gnuace' project type called 'named_targets'. If
+ 'named_targets' is set, the workspace (GNUmakefile) will be
+ generated such that each target can be built via it's project name
+ and directory location does not affect dependencies.
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Support the new source component scoped keyword 'buildflags'.
+
+Mon Apr 3 10:25:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Mon Apr 3 09:38:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Remove PRISM_ONLY tests (again arg!)
+
+Sat Apr 1 19:08:28 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/OS_NS_math.inl: Improved the computations for floor() and ceil().
+ Thanks to Abdullah Sowayan <abdullah.sowayan@lmco.com> for this
+ patch.
+
+Sat Apr 1 17:14:59 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * m4/compiler.m4:
+
+ Removed special cases for *freebsd*. Thanks to Thomas Girard
+ <thomas dot g dot girard at free dot fr> who sent patches for
+ Debian GNU/kFreeBSD systems (FreeBSD kernel / GNU libc). The
+ changes added *k*bsd-gnu patterns to override the special cases
+ matched by *freebsd*. However, further investigation has proved
+ that they were not needed for FreeBSD either.
+
+Fri Mar 31 23:51:48 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Changed to #include <sys/param.h> in the <sys/sysctl.h>
+ feature test, avoiding the autoconf "present but cannot
+ be compiled" warning.
+
+Fri Mar 31 15:00:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Fri Mar 31 13:59:04 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * tests/Unload_libACE.cpp:
+ Add guard for ACE_VXWORKS and declare local main().
+
+ * tests/tests.mpc:
+ Remove Main.cpp reference from the Library Unload project.
+
+Fri Mar 31 11:41:54 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_NS_Thread.h:
+ * ace/OS_NS_Thread.inl:
+ * ace/Recursive_Thread_Mutex.cpp: Reverted changes from
+ Thu Mar 30 18:51:13 UTC 2006 Steve Huston <shuston@riverace.com>
+ because they broke builds on many platforms.
+
+Fri Mar 31 10:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Timer_List_T.cpp:
+ Use prefix increment instead of postfix
+
+ * ace/Timer_Hash_T.cpp:
+ Initialise pointer with 0
+
+ * ace/Reactor_Token_T.h:
+ Converted some documentation to doxygen style
+
+ * ace/Log_Record.cpp:
+ Initialise some pointers with 0, made some local variables const.
+
+ * ace/IOStream_T.h:
+ Fixed some doxygen warnings
+
+Fri Mar 31 08:33:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/compiler.bor:
+ Added CPU_FLAG as possible flag, this can be -3/-4/-5/-6 to optimize
+ things for a certain CPU, see the Borland help for more info what
+ these flags do. When this is set, this is passed to the compiler
+
+ * ACE-INSTALL.html:
+ Document CPU_FLAG for Borland
+
+ * ace/config-win32-borland.h:
+ The Borland compiler can't handle assembly in inline methods or
+ template methods. We do have inline assembly when building for
+ pentium, so when we inlining enabled and do build for pentium
+ we set ACE_LACKS_INLINE_ASSEMBLY to disable the inline assembly.
+ Thanks to Steve Orner <saorner at rdainc dot com> for reporting
+ this.
+
+Thu Mar 30 21:03:27 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Event_Handler.cpp (read_adapter):
+
+ Fixed typo introduced in
+
+ Thu Mar 30 10:24:50 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+Thu Mar 30 10:24:50 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/Event_Handler.cpp (read_adapter): It was possible for
+ handle_close() to "delete this" so we need to cache the reactor
+ pointer and use it here. Thanks to Yuan <yuanhp_china at
+ hotmail dot com> for this fix.
+
+Thu Mar 30 18:51:13 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * tests/Unload_libACE.cpp: Fixed broken fprintf() call.
+
+ * ace/OS_NS_Thread.h (ACE_thread_mutex_t):
+ * ace/OS_NS_Thread.inl: For Windows, replace CRITICAL_SECTION with a
+ struct including a CRITICAL_SECTION as well as a recursion count.
+ This allows us to properly do recursion in combination with a
+ condition variable across all Windows editions and versions.
+
+ * ace/Recursive_Thread_Mutex.cpp (get_nesting_level): This is now
+ possible for platforms with ACE_HAS_RECURSIVE_THREAD_MUTEX.
+
+ Thanks to Adrian Tulloch <my-ace-sub at reyes-tulloch dot com> for
+ these improvements.
+
+ * THANKS: Added Adrian Tulloch to the Hall of Fame.
+
+Thu Mar 30 17:04:48 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_deployment_svnt.mpb
+ * bin/MakeProjectCreator/config/ciao_servant_dnc.mpb
+
+ Modified to support CIAO pub/sub service integration.
+
+ * bin/MakeProjectCreator/config/ciao_events_dnc.mpb
+
+ Added this mpb file for pub/sub service integration
+ in CIAO.
+
+Thu Mar 30 15:45:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tests/Unload_libACE.cpp:
+ Corrected missing file handle.
+
+Thu Mar 30 13:14:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp:
+ * examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp:
+ * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp:
+ * apps/JAWS3/jaws3/Config_File.cpp:
+ Fixed value might be unitialized warnings
+
+Thu Mar 30 12:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Configuration.cpp:
+ * ace/Shared_Memory_MM.cpp:
+ * ace/ARGV.cpp:
+ * examples/APG/Containers/Stacks.cpp:
+ * examples/APG/Containers/RB_Tree_Functors.cpp:
+ * examples/APG/Containers/Queues.cpp:
+ * ace/RB_Tree.inl:
+ * tests/Hash_Map_Manager_Test.cpp:
+ Fixed value might be unitialized warnings
+
+Thu Mar 30 11:27:00 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+
+ Define variable ACE_CC_PREPROCESSOR to be 'cc' if the SunCC version
+ is 5.4. This fixes bug #2478.
+
+ See also: Thu Mar 30 11:26:45 UTC 2006 Simon McQueen <sm@prismtech.com>
+ in TAO/ChangeLog.
+
+Thu Mar 30 11:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added BiDirectional_DelayedUpcall
+
+Thu Mar 30 11:04:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Run BiDirectional_NestedUpcall also on VxWorks
+
+Thu Mar 30 00:46:52 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/compiler.m4:
+
+ Change the default of --enable-symbol-visibility option from yes
+ to no.
+
+Wed Mar 29 22:33:36 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Changed to #include <sys/types.h> in the <sys/sysctl.h>
+ feature test, avoiding the autoconf "present but cannot
+ be compiled" warning.
+
+Wed Mar 29 19:26:37 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ Do not try to control DTR under LynxOS. It sets serial port
+ to non-functional state.
+
+Wed Mar 29 14:14:06 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ACE-INSTALL.html:
+ * m4/ace.m4:
+
+ Changed --with-gperf to --enable-gperf to be consistant with the
+ intent of --with-* / --enable-* flags. Thanks to Vincent Joseph
+ <deskamess at yahoo dot com> for running into this.
+
+Wed Mar 29 13:25:12 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * ace/Log_Msg.cpp:
+ * include/makeinclude/platform_lynxos.GNU
+
+ Add code to ensure cleanup in ACE_Log_Msg::close (void).
+ For some systems, e.g. LynxOS, we need to ensure that
+ any registered thread destructor action for this thread
+ is disabled. This is a revision of an earlier attempt to
+ achieve the same thing. The ACE tests pass with this edition.
+
+ * tests/Unload_libACE.cpp
+
+ This source does not use ACE functionality directly.
+ It tests that the ACE shared library can be safely loaded,
+ (and unloaded), by a non-ACE program exercising the
+ cleanup code above.
+
+ * tests/run_test.lst
+ * tests/tests.mpc
+
+ Build and run the new test
+
+Wed Mar 29 07:04:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg.cpp:
+ Initialise pointers with 0, small const changes
+
+Wed Mar 29 06:44:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/*.doxygen:
+ Also expand ACE_ENV_ARG_DECL_NOT_USED and
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED
+
+Tue Mar 28 21:30:01 UTC 2006 jiang,shanshan <shanshan.jiang@vanderbilt.edu>
+
+ * ace/Log_Msg.{h,cpp}
+ * ace/Log_Record.{cpp,h,inl}:
+ Updated these files to solve the stack overflow problem in ACE_Log_Msg
+ and ACE_Log_Record. Moves buffers that can be large in stack in malloced
+ memory.
+ Thanks to qwerty <qwerty0987654321 at mail dot ru> for motivating and
+ suggesting the fix to this problem.
+
+Tue Mar 28 18:34:26 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+ Added a missing semicolon.
+
+Tue Mar 28 14:51:19 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/compiler.m4:
+
+ Added support for --disable-symbol-visibility flag so users
+ can explicitly disable symbol visibility in the cases where
+ it does not work (or does not work properly) but the feature
+ test selects it anyway.
+
+Tue Mar 28 09:04:55 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/OS_NS_sys_resource.inl (setrlimit): Fixed a bug where
+ "resource" appeared twice in the call to setrlimit(). Thanks to
+ Vincent Joseph <deskamess at yahoo dot com> for reporting this.
+
+Tue Mar 28 14:10:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+ more !DISABLE_ToFix_LynxOS_* marks to tests
+
+Mon Mar 27 19:06:52 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+
+ Added test
+ TAO/orbsvcs/tests/Security/MT_SSLIOP/run_test_harsh.pl to
+ test fix for bug in Bug 1647.
+
+Mon Mar 27 16:39:41 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * tests/tests.mpc: Added a "verbatim" to get the automake-needed
+ setup for running the scoreboard test script for the tests.
+
+Mon Mar 27 14:16:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Mon Mar 27 07:46:33 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/Acceptor.h: Updated the documentation to clarify that an
+ acceptor can only listen on one port at a time. Thanks to
+ Mockey Chen <mockey dot chen @ google dot com> for motivating
+ this.
+
+Mon Mar 27 11:08:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Mon Mar 27 09:18:07 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * ace/Configuration.h:
+
+ Remove 'explicit' keyword from a two arg constructor. This is
+ upsetting aCC 331.
+
+Mon Mar 27 03:57:38 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/compiler.m4:
+
+ Check whether "gcc" supports symbol visibility options by
+ invoking the compiler with those options. This addresses
+ configure failures due to icc's incomplete gcc emulation.
+ Should fix bugzilla issues 2338 and 2384.
+
+Sun Mar 26 21:40:10 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/TSS_T.cpp: Added patches to silence the type-punning warning
+ from G++ 4.x. Thanks to Ken Sedgwick for contributing this
+ stuff!
+
+Sun Mar 26 17:29:08 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/compiler.m4:
+
+ Add ACE_CHECK_CFLAGS and ACE_CHECK_CXXFLAGS autoconf macros
+ to verify if c/c++ compiler supports the specified command-
+ line options.
+
+Fri Mar 24 12:05:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Thu Mar 23 16:20:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Thu Mar 23 16:00:49 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Svc_Conf_Lexer.cpp:
+
+ Fixed two bugs.
+
+ 1) Line numbers were not calculated correctly as in most cases the
+ new line characters were thrown away but not counted.
+ 2) Strings were not allowed to contain nested quotes. However,
+ the original lexer allowed this. Thanks to JR Andreassen
+ <janrune@io.com> for reporting this.
+
+Thu Mar 23 14:37:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/vcl.mpb:
+ Also set specific options for the bds template
+
+Thu Mar 23 14:37:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_limits.h:
+ Updated documentation why we have a VxWorks specific
+ workaround
+
+Thu Mar 23 14:22:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+ * bin/PerlACE/Run_Test.pm:
+ Add lynxos platform default timing configuration
+
+Thu Mar 23 12:14:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/bor.mpd:
+ If linkflags are available, generate them into the project
+ file
+
+ * bin/MakeProjectCreator/config/vcl.mpb:
+ Added -aa to the link flags to indicate that we link a
+ windows application. This prevents a dosbox from appearing
+ when we start a vcl windows app.
+
+Thu Mar 23 03:41:18 UTC 2006 Ciju John <john_c@ociweb.com>
+
+ * ace/Time_Value.inl (set):
+
+ timespec_t doesn't have a 'sec' member. Changed it to 'tv_sec'.
+
+Wed Mar 22 18:42:36 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ From Russell Mora <russell_mora at symantec dot com>
+ * ace/Time_Value.inl:
+
+ With MSVC8 the type of time_t is by default 64-bit unless
+ _USE_32BIT_TIME_T is defined - changed #ifdef to recognise this
+ and also changed other set() methods to use the version that
+ knows how to handle the 64-bit type.
+
+Wed Mar 22 17:55:48 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_events_dnc.mpb
+ * bin/MakeProjectCreator/config/ciao_servant_dnc.mpb
+ * bin/MakeProjectCreator/config/ciao_deployment_dnc.mpb
+
+ Reverted my earlier change
+ "Tue Mar 21 21:58:17 UTC 2006 Gan Deng
+ <gan.deng@vanderbilt.edu>".
+
+ I will put earlier changes back in later when all the
+ libraries in CIAO to support pub/sub services have
+ been checked in.
+
+Wed Mar 22 16:19:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-osf1-4.0.h:
+ Added ACE_HAS_NONCONST_SENDMSG
+
+Wed Mar 22 15:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_osf1_4.x_g++.GNU:
+ Removed -fno-strict-prototypes from the CCFLAGS, thanks to
+ Karl Schmitt <Karl dot Schmitt at dfs dot de> for reporting this.
+
+Tue Mar 21 21:58:17 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_events_dnc.mpb
+ * bin/MakeProjectCreator/config/ciao_servant_dnc.mpb
+ * bin/MakeProjectCreator/config/ciao_deployment_dnc.mpb
+
+ Added a base MPC project to support pub/sub integration
+ in CIAO.
+
+Tue Mar 21 19:06:12 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ Committing on behalf of Adam Mitz <mitza@ociweb.com>.
+
+ * bin/PerlACE/Process_Win32.pm:
+
+ In some cases .EXE was not being added to the end of the
+ executable name. This change fixes that problem and also changes
+ Spawn() to return -1 on failure instead of exiting.
+
+Tue Mar 21 15:30:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Tue Mar 21 14:29:29 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ If system lacks the cpu_set_t type, skip the feature tests for
+ sched_getaffinity() and sched_setaffinity(). The interface of
+ these system calls have changed three times, and ACE currently
+ only supports the latter two varients. The supported varients
+ both have arguments of type cpu_set_t.
+
+ On a system with the first varient, the feature tests detects
+ the existance of sched_getaffinity() and sched_setaffinity(),
+ it also detects that it's the not most current varient. This
+ results in feature test macros being defined for the second
+ varient, which causes a build failure in OS_NS_Thread.cpp.
+
+ By avoiding the feature tests, we avoid defining any processor
+ affinity related feature test macros, and ACE will be compiled
+ as if the system does not support any form of processor
+ affinity.
+
+ See bugzilla issue 2466 for details.
+
+Tue Mar 21 11:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Misc/childbirth_time.cpp:
+ * examples/OS/Process/imore.cpp:
+ Fixed unicode build errors
+
+Tue Mar 21 06:49:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Removed all PrismTech tests
+
+Mon Mar 20 22:53:09 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * tests/Makefile.am: Restored hand-inserted settings to allow running
+ the ACE tests during "make check". This needs to be added to the
+ mpc file, but we're discussing how to do this.
+
+Mon Mar 20 08:58:26 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Mon Mar 20 08:58:26 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ACE-INSTALL.html: Removed all references to egcs, which
+ is hopelessly out of date..
+
+Mon Mar 20 14:54:23 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/Task_Ex_T.h:
+ Added a workaround for buggy LynxOS 3.x compiler.
+
+Mon Mar 20 10:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/TP_Reactor.cpp (post_process_socket_event):
+ Before acquiring the token, first check if we really have to do some
+ post processing, if not, then we just don't acquire the token. This
+ fixes the performance drop in the TAO thread pool performance test.
+ Thanks to Kobi Cohen-Arazi <kobi dot cohenarazi at gmail dot com>
+ for noticing this drop in the performance stats.
+
+ * ace/TP_Reactor.h:
+ Small documentation improvement
+
+Sun Mar 19 21:30:39 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ACE-INSTALL.html (href): Rearranged the order of things
+ so that it explains how to build and install ACE before going
+ into all sorts of details about various platforms and compilers.
+ Thanks to Axter <google at axter dot com> for motivating this.
+
+Sat Mar 18 15:20:45 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/Timer_Queue_Adapters.cpp (activate): Set active_ to 1
+ in case we were deactivated. Thanks to Yauheni Akhotnikau
+ <eao197 at intervale dot ru> for reporting this.
+
+Fri Mar 17 16:35:36 UTC 2006 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * docs/Symbol_Versioning.html:
+
+ New document that describes how to use ACE's versioned namespace
+ support. [Bug 2458]
+
+Fri Mar 17 15:50:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tests/run_test.lst
+ Add more !DISABLE_ToFix_LynxOS_* marks to failing tests
+
+Fri Mar 17 13:38:18 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciaocidldefaults.mpb:
+
+ New file, containing cidl-related stuff removed from
+ ciao_servant_dnc.mpb, which now inherits from the new
+ base project. These changes allow CIAO applications
+ to set up the build either in the existing way, where
+ the servant build executes the CIDL compiler, then the
+ IDL compiler on the resulting *E.idl file, then the
+ C++ compiler on all the results, or to have separate
+ builds for CIDL files (which executes first), then
+ IDL files, then generated and hand-written C++ files.
+
+ * bin/MakeProjectCreator/config/ciao_servant_dnc.mpb:
+
+ Changes described in the item above.
+
+Fri Mar 17 13:37:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/TP_Reactor.cpp:
+ Fixed variable not used warning
+
+Fri Mar 17 08:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/TP_Reactor.{h,cpp,inl}:
+ Fixed bugzilla #2395. This was about a race condition in the
+ TP_Reactor, when the handle_x method returns -1 the handler
+ is removed and after that we try to resume. Normally this resume
+ is a noop because for the handle there is no event handler anymore.
+ But to resume the handle we need to reacquire the lock on the
+ reactor, in the time between the remove and the reacquire we could
+ have received a new connection for which the handle is used which
+ we already freed and then we can resume this handle but then for
+ a new eventhandler. The fix is to do the remove and resume as atomic
+ operation. Thanks to Bala Natarajan and Steve Huston for reviewing
+ the patches and Kees van Marle for debugging and analyzing this
+ problem.
+
+Thu Mar 16 21:54:29 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Timer_Heap_T.cpp (grow_heap): Reset timer_ids_min_free_ after
+ growing the heap. Fixes Bugzilla #2447 where timer IDs may be
+ improperly duplicated under certain conditions.
+
+ * tests/Timer_Queue_Test.cpp: Added a new function,
+ test_unique_timer_heap_ids(), as supplied in Bugzilla #2447 to
+ verify the fix.
+
+ Thank you very much to Dan Pozdol <dpozdol at wolve dot com> and
+ Paxton Mason <pmason at wolve dot com> for identifying the bug,
+ its conditions and causes, supplying the test program and supplying
+ the fix!
+
+ * THANKS: Added Dan Pozdol to the Hall of Fame.
+
+Thu Mar 16 16:30:00 UTC 2006 simon massey <sma@prismtech.com>
+
+ * tests/run_test.lst
+ Add !DISABLE_ToFix_LynxOS_* marks to failing ACE tests
+
+Thu Mar 16 15:53:55 UTC 2006 jiang,shanshan <shanshan.jiang@vanderbilt.edu>
+
+ * ace/UUID.cpp
+ * protocols/ace/RMCast/Simulator.cpp
+ Updated these files to solve some potential static-cast errors.
+
+Thu Mar 16 13:47:56 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-vxworks6.2.h:
+
+ In kernel mode, VxWorks 6.2 lacks suseconds_t.
+
+Thu Mar 16 12:27:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/ciao_DAnCE.doxygen:
+ Fixed incorrect links to the location of the documentation of the
+ other ACE/TAO libraries
+
+Thu Mar 16 12:20:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/index.html:
+ Added CIAO Config Handlers
+
+Thu Mar 16 12:14:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/*.doxygen:
+ Set GENERATE_HTMLHELP to YES. This generates a few extra files
+ which our users can use to convert the generated htlm documentation
+ easily to a windows help file
+
+Thu Mar 16 12:05:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/*.doxygen:
+ Set DOT_MULTI_TARGETS to TRUE, this will speedup the doxygen
+ generation.
+
+Wed Mar 15 16:38:08 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_Thread.inl:
+ Only LynxOS 3.0.x has buggy pthread_cond_timedwait.
+
+ * ace/Reverse_Lock_T.h:
+ Added a workaround for buggy LynxOS 3.x compiler.
+
+Wed Mar 15 15:27:51 UTC 2006 jiang,shanshan <shanshan.jiang@vanderbilt.edu>
+
+ * ace/Capabilities.cpp
+ * ace/Codecs.cpp
+ Updated these files to solve the Capabilities_Test & Codecs_Test
+ tests errors.
+
+Wed Mar 15 12:18:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/*.doxygen:
+ Set SEARCHENGINE to YES for all doxygen config files, enables
+ the possibility to do searches in the doxygen generated
+ documentation
+
+Wed Mar 15 11:34:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Handle_Set.{cpp,inl}:
+ Use prefix increment/decrement instead of postfix
+
+Tue Mar 14 11:22:35 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/String_Base.inl (empty),
+ * ace/String_Base.h (ACE_String_Base): Added
+ an empty() method to be more like STL strings. Thanks to
+ Patrick Rabau <pr2345 at gmail dot com> for contributing this.
+
+Tue Mar 14 23:33:27 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_NS_Thread.inl (recursive_mutex_cond_unlock): Fix this for
+ WinCE. CE doesn't have a RecursionCount, and LockCount is not an
+ indicator of recursion on WinCE; instead, see when it's unlocked
+ by watching the OwnerThread, which will change to something other
+ than the current thread when it's been unlocked "enough" times.
+ Thanks to Spencer Vanroekel <Spencer dot Vanroekel at Siemens dot
+ com> for the investigations leading to this solution.
+
+ * THANKS: Added Spencer Vanroekel to the Hall of Fame.
+
+Tue Mar 14 20:58:12 UTC 2006 jiang,shanshan <shanshan.jiang@vanderbilt.edu>
+
+ * ace/WIN32_Asynch_IO.cpp
+ * ace/ACE.cpp
+ * ace/Capabilities.cpp
+ * ace/Codecs.cpp
+ * ace/FIFO.cpp
+ * ace/FIFO.h
+ * ace/FIFO_Recv.cpp
+ * ace/FIFO_Recv.h
+ * ace/FIFO_Recv_Msg.cpp
+ * ace/FIFO_Recv_Msg.h
+ * ace/FIFO_Send.cpp
+ * ace/FIFO_Send.h
+ * ace/FIFO_Send_Msg.cpp
+ * ace/FIFO_Send_Msg.h
+ * ace/Get_Opt.cpp
+ * ace/INET_Addr.cpp
+ * ace/MEM_Acceptor.cpp
+ * ace/MEM_IO.cpp
+ * ace/RB_Tree.cpp
+ * ace/Reactor.cpp
+ * ace/SOCK_Dgram_Mcast.cpp
+ * ace/SV_Semaphore_Complex.cpp
+ * ace/SV_Semaphore_Complex.h
+ * ace/SV_Semaphore_Complex.inl
+ * ace/SV_Semaphore_Simple.cpp
+ * ace/SV_Semaphore_Simple.h
+ * ace/SV_Semaphore_Simple.inl
+ * ace/TTY_IO.cpp
+ * ace/UUID.cpp
+ * ACEXML/common/FileCharStream.cpp
+ * ACEXML/common/HttpCharStream.cpp
+ * ACEXML/common/Transcode.cpp
+ * ACEXML/common/XML_Macros.h
+ * ACEXML/parser/parser/Parser.cpp
+ * ACEXML/parser/parser/Parser.i
+ * apps/gperf/src/Gen_Perf.cpp
+ * apps/gperf/src/Key_List.cpp
+ * apps/gperf/src/List_Node.cpp
+ * apps/gperf/src/Options.cpp
+ * protocols/ace/HTBP/HTBP_ID_Requestor.cpp
+ Updated these files to solve the warnings when setting up "VC level
+ 4 warnings" on Windows. These warnings include "unreachable code",
+ "assignment within conditional expression", "conversion from some
+ type to another type, possible loss of data", "local variable may be
+ used without having been initialized" and so on.
+ Thanks to Lukas Gruetzmacher <gruetzmacher at ais-dresden dot de>
+ for motivating the fix to these "VC level 4 warnings".
+
+Tue Mar 14 15:55:08 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/Task_T.h:
+ Added a workaround for buggy LynxOS 3.x compiler.
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Made debug=0 as default for LynxOS 3.x
+
+Tue Mar 14 15:50:09 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_Thread.cpp:
+ Removed the :: prefix from pthread calls that are macros
+ on LynxOS.
+
+Tue Mar 14 09:51:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_rel_manpages:
+ Updated doxygen version
+
+Mon Mar 13 22:01:23 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * tests/run_test.lst:
+ Do not run Multicast_Test and Process_Strategy_Test on LynxOS.
+
+Mon Mar 13 21:47:22 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_Thread.inl:
+ Removed the :: prefix from pthread calls that are macros
+ on LynxOS.
+
+ * ace/config-lynxos.h:
+ Do not define _POSIX_THREADS_CALLS under LynxOS 4.0.
+
+ Thanks to Abdullah Sowayan <abdullah.sowayan@lmco.com>
+ for reporting the problem and providing the initial patch.
+
+Mon Mar 13 22:21:25 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+ * ace/Process.h:
+ Changed the documentation of ACE_Process::spawn function.It
+ returns 1 if avoid_zombies option is set. does not return the
+ pid.
+
+Mon Mar 13 19:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/TP_Reactor.cpp:
+ Fixed typo in comment
+
+ * ace/OS_NS_sys_select.inl:
+ Initialize pointer with 0
+
+ * ace/ACE.cpp:
+ Use prefix decrement/increment instead of postfix. Replaced
+ several c-style casts with C++ casts
+
+Mon Mar 13 17:20:47 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * ace/os_include/sys/os_time.h:
+
+ Fixed a fuzz build error.
+
+Mon Mar 13 15:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Token.cpp:
+ Use prefix decrement/increment instead of postfix
+
+Mon Mar 13 14:59:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_Base.cpp:
+ Initialise several pointers to 0
+
+Mon Mar 13 14:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Handle_Set.h:
+ Doxygen improvements
+
+ * ace/Handle_Set.inl:
+ Use prefix increment instead of postfix
+
+Mon Mar 13 07:51:10 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * Reverted this change
+
+ Sun Mar 12 09:10:01 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ Since it was causing runtime failures. Thanks to Johnny for
+ reporting this.
+
+Mon Mar 13 13:26:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/TP_Reactor.cpp (handle_socket_events):
+ When suspend_i returns -1 return directly
+
+Mon Mar 13 12:11:52 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * ace/OS_NS_Thread.inl
+ Yank error reported by Abdullah, <abdullah.sowayan@lmco.com> fixed.
+
+Sun Mar 12 19:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Event_Handler.h:
+ Documentation improvement
+
+ * ace/UTF32_Encoding_Converter.cpp:
+ Initialise pointer with 0
+
+ * ace/Select_Reactor_T.cpp (dump):
+ Also dump the contents of the suspend set
+
+ * ace/Select_Reactor_Base.cpp (dump):
+ Improved output
+
+Sun Mar 12 09:10:01 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/TSS_T.cpp: Changed all calls of the form
+
+ if (ACE_Thread::getspecific (this->key_, (void **) &tss_adapter) == -1)
+
+ to
+
+ void *temp = tss_adapter; // Need this temp to keep G++ from complaining.
+ if (ACE_Thread::getspecific (this->key_, &temp) == -1)
+
+ to silence GCC warnings. Thanks to Lothar for this, as well.
+
+Sat Mar 11 09:09:35 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/CDR_Stream.inl: Changed all calls of the form
+
+ ACE_OutputCDR::write_float (ACE_CDR::Float x)
+ {
+ return this->write_4 (reinterpret_cast<const ACE_CDR::ULong*> (&x));
+ }
+
+ to
+
+ ACE_OutputCDR::write_float (ACE_CDR::Float x)
+ {
+ void * tmp = &x;
+ return this->write_4 (reinterpret_cast<const ACE_CDR::ULong*> (tmp));
+ }
+
+ to silence GCC warnings. Thanks to Lothar Werzinger for
+ suggesting this fix.
+
+Sun Mar 12 11:00:08 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * bin/PerlACE/Process_Win32.pm:
+
+ Don't postfix ".EXE" onto executables if they already have it and
+ IgnoreExeSubDir is set. Will make this:
+
+ $PERL_SCRIPT = new PerlACE::Process($^X);
+ $PERL_SCRIPT->Arguments("some_perl_script.pl");
+ $PERL_SCRIPT->IgnoreExeSubDir(1);
+
+ ... start working again.
+
+Sat Mar 11 12:54:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl.>
+
+ * ace/Timer_Wheel_T.h:
+ Don't split the unimplemented macros over multiple lines, fixes
+ compile problems with the Sun compilers. Thanks to Sven-Uwe
+ Sieler-Hornke
+ <sven-uwe dot sieler-hornke at investment-cybernetics dot de>
+ for reporting this
+
+Fri Mar 10 16:01:58 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ Committing the following on behalf of Adam Mitz
+ <mitza at ociweb dot com>.
+
+ * bin/tao_orb_tests.lst:
+
+ Added TAO/tests/CollocationLockup.
+
+Fri Mar 10 14:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ Don't run Multicast_Test_IPV6 in ACE_FOR_TAO builds
+
+Fri Mar 10 08:58:52 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/pkg.m4:
+
+ Add pkg.m4 from pkg-config 0.20 distribution, so configure
+ script can be regenerated on systems without it installed.
+
+Thu Mar 9 09:18:58 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * COPYING: Updated the date to include 2006.
+ Thanks to Alan Kierstead <ackierstead at fedex dot com> for
+ motivating the fix to this oversight.
+
+Thu Mar 9 15:28:53 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/config/concurrency.mpb:
+ * bin/MakeProjectCreator/config/concurrency_serv.mpb:
+ * bin/MakeProjectCreator/config/dseventlogadmin.mpb:
+ * bin/MakeProjectCreator/config/dslogadmin.mpb:
+ * bin/MakeProjectCreator/config/etcl.mpb:
+ * bin/MakeProjectCreator/config/event.mpb:
+ * bin/MakeProjectCreator/config/event_serv.mpb:
+ * bin/MakeProjectCreator/config/ftrteventchannel.mpb:
+ * bin/MakeProjectCreator/config/htiop.mpb:
+ * bin/MakeProjectCreator/config/naming.mpb:
+ * bin/MakeProjectCreator/config/naming_serv.mpb:
+ * bin/MakeProjectCreator/config/notification.mpb:
+ * bin/MakeProjectCreator/config/notification_serv.mpb:
+ * bin/MakeProjectCreator/config/property.mpb:
+ * bin/MakeProjectCreator/config/property_serv.mpb:
+ * bin/MakeProjectCreator/config/rtevent_serv.mpb:
+ * bin/MakeProjectCreator/config/rteventlogadmin.mpb:
+ * bin/MakeProjectCreator/config/rtkokyuevent.mpb:
+ * bin/MakeProjectCreator/config/rtnotify.mpb:
+ * bin/MakeProjectCreator/config/trading.mpb:
+ * bin/MakeProjectCreator/config/trading_serv.mpb:
+
+ Updated these base projects to fix the TAO_ORBSVCS GNU Make
+ macro. In many cases, I just moved the 'tagchecks' setting out of
+ the _serv.mpb into the base for both _serv.mpb and _skel.mpb
+ files. In others, I had to add the missing 'tagchecks' setting.
+
+Thu Mar 9 08:58:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ciao_deployment_svnt.mpb:
+ Removed include path that is not there anymore
+
+Wed Mar 8 20:58:39 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ACE-INSTALL.html:
+
+ Improve documentation for autoconf/automake build.
+
+Wed Mar 8 15:06:56 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Scheduled regression test for bug #2429. See ticket for status.
+
+Wed Mar 8 10:17:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Reactor/TP_Reactor/run_test.pl:
+ Both clients should start in parallel, not after each other
+
+Wed Mar 8 04:53:09 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace.m4:
+
+ Change ACE_PATH_FL to pass --enable-gl to fltk-config.
+
+Wed Mar 8 03:32:08 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace.m4:
+
+ Changed ACE_ENABLE_XT_REACTOR to AC_REQUIRE() ACE_PATH_XT
+ instead of AC_PATH_XTRA.
+
+ Changed ACE_PATH_FL to AC_REQUIRE() ACE_PATH_X11.
+
+ Add ACE_PATH_XT autoconf macro that sets ACE_XT_CPPFLAGS,
+ ACE_XT_LDFLAGS, and ACE_XT_LIBS.
+
+ Add ACE_PATH_X11 autoconf macro that sets ACE_X11_CPPFLAGS,
+ ACE_X11_LDFLAGS, and ACE_X11_LIBS.
+
+Tue Mar 7 18:57:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/DLL/Newsweek.cpp:
+ Fixed compile error
+
+Tue Mar 7 18:48:31 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Event_Handler.cpp (read_adapter): Never pass the handler's
+ handle value to handle_input(). The handle_input() call is being
+ made on behalf of stdin, not any other handle. It also mimics
+ the behavior of the non-Windows case, where ACE_STDIN is registered
+ with the reactor, regardless of the handler's handle value.
+ Thanks to Aaron Scamehorn <aaron dot scamehorn at cogcap dot com>
+ for noticing this problem.
+
+ * THANKS: Added Aaron Scamehorn to the Hall of Fame.
+
+Tue Mar 7 13:57:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Reactor.h:
+ Doxygen improvements
+
+Tue Mar 7 09:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Don't run Bug_2417_Regression in ST builds
+
+Tue Mar 7 08:45:26 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Makefile.am:
+ * tests/Makefile.am:
+
+ Regenerate.
+
+ * bin/MakeProjectCreator/config/automake.features:
+
+ Set athena and motif to 1
+
+ * bin/MakeProjectCreator/config/ace_fl.mpb:
+
+ For autoconf build:
+
+ Change @ACE_FLTK_CPPFLAGS@ and @ACE_FLTK_LIBS@ to
+ $(ACE_FLTK_CPPFLAGS) and $(ACE_FLTK_LIBS)
+
+ Add $(ACE_FLTK_LDFLAGS) to linkflags.
+
+ Subtract '$(ACE_X11_CPPFLAGS)' from compile_flags.
+ Subtract '$(ACE_X11_LDFLAGS)' from libpaths.
+ Subtract '$(ACE_X11_LIBS)' from macros.
+
+ * bin/MakeProjectCreator/config/ace_qt.mpb:
+
+ For autoconf build:
+
+ Change @ACE_QT_CPPFLAGS@ and @ACE_QT_LIBS@ to
+ $(ACE_QT_CPPFLAGS) and $(ACE_QT_LIBS)
+
+ Add $(ACE_QT_LDFLAGS) to linkflags.
+
+ * bin/MakeProjectCreator/config/ace_tk.mpb:
+
+ For autoconf build:
+
+ Change @ACE_TK_CPPFLAGS@ and @ACE_TK_LIBS@ to
+ $(ACE_TK_CPPFLAGS) and $(ACE_TK_LIBS)
+
+ Add $(ACE_TK_LDFLAGS) to linkflags.
+
+ * bin/MakeProjectCreator/config/ace_xt.mpb:
+
+ For autoconf build:
+ Add $(ACE_XT_CPPFLAGS) to compile_flags.
+ Add $(ACE_XT_LDFLAGS) to linkflags.
+ Add $(ACE_XT_LIBS) to pure_libs.
+
+ * bin/MakeProjectCreator/config/ace_11.mpb:
+
+ For autoconf build:
+ Add $(ACE_X11_CPPFLAGS) to compile_flags.
+ Add $(ACE_X11_LDFLAGS) to linkflags.
+ Add $(ACE_X11_LIBS) to pure_libs.
+
+Tue Mar 7 08:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/DLL/Newsweek.cpp:
+ * examples/DLL/Today.cpp:
+ * examples/Shared_Malloc/test_persistence.cpp:
+ Fixed compile errors
+
+Tue Mar 7 07:19:06 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Makefile.am:
+ * tests/Makefile.am:
+
+ Regenerated.
+
+Tue Mar 7 07:16:40 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ace.m4:
+
+ Add Truncate.h to Header_Files section.
+
+Tue Mar 7 07:12:39 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/ace_qt.mpb:
+
+ For autoconf build:
+ Subtract '$(QTDIR)/include' from includes.
+ Subtract '$(QTDIR)/lib' from libpaths.
+ Subtract 'QT_THREAD_SUPPORT' from macros.
+
+Tue Mar 7 05:50:31 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Regenerate.
+
+ * bin/MakeProjectCreator/config/ace_fl.mpb:
+
+ For autoconf build:
+ Add @ACE_FLTK_CPPFLAGS@ to compile_flags.
+ Add @ACE_FLTK_LIBS@ to pure_libs.
+
+ * bin/MakeProjectCreator/config/ace_qt.mpb:
+
+ For autoconf build:
+ Subtract 'qt-mt$(QT_VERSION)' from lit_libs.
+ Add @ACE_QT_CPPFLAGS@ to compile_flags.
+ Add @ACE_QT_LIBS@ to pure_libs.
+
+ * m4/ace.m4:
+
+ Implement ACE_PATH_FL.
+ Implement ACE_PATH_QT.
+ Implement ACE_ENABLE_FL_REACTOR.
+ Implement ACE_ENABLE_QT_REACTOR.
+
+ Thanks to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for these fixes.
+
+Mon Mar 6 18:25:41 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS_NS_Thread.inl:
+ * ace/os_include/os_semaphore.h:
+
+ Added an implementation for timed semaphore wait provided by
+ Gottwald Port Technology. It is very similar to the emulated
+ semphore in the event that ACE_HAS_POSIX_SEM is not defined.
+ Previously, this was not supported at all when ACE_HAS_POSIX_SEM
+ was defined.
+
+ * ace/os_include/sys/os_time.h:
+
+ Added sys to the file name to avoid Doxygen warnings.
+
+ * bin/MakeProjectCreator/config/ace_qt.mpb:
+
+ This change coincides with a change in MPC where the qt library
+ setting was changed.
+
+ * bin/tao_other_tests.lst:
+
+ I added !DISABLE_INTERCEPTORS to all the Security tests as
+ both the TAO_Security library and TAO_SSLIOP library require
+ interceptors.
+
+ * include/makeinclude/rules.local.GNU:
+
+ Removed an extra dollar sign, that GNU Make apparently didn't
+ care about but shouldn't have been there anyway.
+
+ * bin/MakeProjectCreator/config/global.mpb:
+
+ Removed this file. It is redundant to the global.mpb found in
+ MPC.
+
+Mon Mar 06 15:44:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/DLL/Newsweek.{h,cpp}:
+ * examples/DLL/Today.{h,cpp}:
+ * examples/Shared_Malloc/test_persistence.cpp:
+ Added operator delete, fixes warnings with icc 9.1
+
+ * ace/CDR_Stream.cpp:
+ * tests/Thread_Pool_Test.cpp:
+ Initialise pointer with 0
+
+ * ace/Pipe.inl:
+ Replaced c-style casts with C++ casts
+
+ * ace/Svc_Handler.h:
+ Made the closing_ member an int, it is used that way, not as
+ char.
+
+Mon Mar 06 15:13:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added Bug_2417_Regression
+
+Sun Mar 05 11:10:32 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * ACE version 5.5 released.
+
+Sun Mar 5 15:35:54 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * bin/make_release:
+
+ Corrected a warning when generating WinCE projects.
+
+Sat Mar 4 14:09:44 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * ace/ATM_Acceptor.h:
+
+ Added a missing semicolon. Thanks to Felix Li <fengli at
+ gmail dot com> for reporting this.
+
+Thu Mar 2 02:01:12 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated this file with more inputs.
+
+Thu Mar 2 00:51:18 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * NEWS: Added Win64 and WinCE notes.
+
+Wed Mar 1 23:47:13 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * bin/make_release: Added "wince=1" to the MPC -features option for
+ the WinCE file generation; helps prevents WinCE-hostile projects
+ from being generated.
+
+ * ace/config-win32-msvc-8.h: VC8 still lacks sigatomic_t for WinCE 5.
+
+ * ace/config-WinCE.h: Removed some compiler-specific settings that
+ were moved to compiler-specific configs previously but not updated
+ for CE. Updated things that are now available.
+
+ * tests/CDR_File_Test.cpp:
+ * tests/CE_fostream.{h cpp}: CE iostream hack not needed for CE when
+ iostreams are available (VC 8, included).
+
+ * examples/Reactor/TP_Reactor/client.cpp:
+ * examples/Reactor/TP_Reactor/server.cpp:
+ * examples/Reactor/TP_Reactor/AcceptHandler.cpp:
+ * examples/Reactor/TP_Reactor/ReadHandler.cpp:
+ * netsvcs/servers/main.cpp:
+ * tests/Array_Map_Test.cpp: Use ACE_TEXT around all pieces of
+ concatenated string; VC8 WinCE misses the line ending.
+ Removed ACE_TEXT around ACE_TRACE's argument; ACE_TRACE adds it.
+
+ * netsvcs/lib/Token_Handler.{h cpp} (init, parse_args): Changed argv
+ from char*[] to ACE_TCHAR*[]. Also fixed some missing ACE_TEXTs.
+
+ * protocols/ace/RMCast/Acknowledge.cpp:
+ * protocols/ace/RMCast/Link.cpp:
+ * protocols/ace/RMCast/Protocol.h:
+ * protocols/ace/RMCast/Retransmit.cpp:
+ * protocols/ace/RMCast/Socket.cpp:
+ * protocols/ace/TMCast/LinkListener.hpp:
+ * protocols/ace/TMCast/TransactionController.hpp:
+ * protocols/ace/TMCast/Group.cpp: ACEified naked system calls abort()
+ and perror().
+
+ * examples/APG/ThreadSafety/Tokens_Deadlock.cpp:
+ * examples/APG/Processes/Spawn.cpp:
+ * examples/APG/Processes/Process_Mutex.cpp: Add missing ACE_TEXT around
+ string args.
+
+ * examples/NT_Service/NT_Service.mpc: Add avoids += wince - CE doesn't
+ do services.
+
+ * examples/Web_Crawler/main.cpp: Don't try SIGFPE protection if
+ on WinCE.
+
+ * examples/Web_Crawler/URL_Status.h: Changed STATUS_NOT_FOUND to
+ STATUS_ITEM_NOT_FOUND and STATUS_NOT_IMPLEMENTED to
+ STATUS_OP_NOT_IMPLEMENTED. CE apparantly has macros with these
+ names that messes this up.
+
+ * examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc: Added wince to the
+ "avoids" clause for APC, Registry_Changes, Talker and
+ Window_Messages; WinCE doesn't the necessary features.
+
+ * examples/Reactor/WFMO_Reactor/Window_Messages.cpp: Add missing
+ #include "ace/Auto_Event.h"
+
+ * tests/MT_SOCK_Test.cpp: Remove the #if ACE_WIN64 from the check
+ for first send causes reset. This happens with 32-bit as well,
+ at least on Win XP-64 SP2. It's unrelated to the functionality under
+ test, and if there's an actual sending side botch that causes the
+ socket to be closed prematurely, it should show up as another error
+ in the server side.
+
+Wed Mar 1 16:12:50 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Added !BAD_AIO to the Proactor_Test and
+ Proactor_Test_IPV6. This makes it possible to avoid this test on
+ platforms that simply aren't capable of performing decent AIO.
+
+Wed Mar 1 10:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/MT_SOCK_Test.cpp:
+ Fixed compile problem
+
+Wed Mar 1 09:48:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Env_Value_T.h:
+ First to all template specializations before the generic one and
+ use template<> for the specializations, this fixes the compile
+ errors with GCC 4.1
+
+Wed Mar 1 07:36:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Reactor/TP_Reactor/AcceptHandler.cpp:
+ * examples/Reactor/TP_Reactor/server.cpp:
+ Fixed warnings in vc6 builds
+
+Wed Mar 1 00:16:26 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Recursive_Thread_Mutex.cpp (get_nesting_level): On Win64 with
+ AMD64/EM64T, use the CRITICAL_SECTION's RecursionCount member, not
+ LockCount, as was changed in this entry:
+ Tue May 6 11:50:18 2003 Chad Elliott <elliott_c@ociweb.com>
+ It remains to be seen under what conditions LockCount is used (it
+ may be for Itanium, for example) but for now, use of RecursionCount
+ is conditional to AMD64.
+
+ * tests/Reactor_Dispatch_Order_Test.cpp: Print some useful order info
+ rather than ACE_ASSERT everywhere. Also fixed some ACE_TEXT stuff.
+
+Tue Feb 28 23:28:57 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Makefile.am:
+
+ Add DEFAULT_INCLUDES definition that got lost during regeneration.
+ Fixes autoconf builds on case-insensitive filesystems.
+
+Tue Feb 28 19:46:16 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * tests/MT_SOCK_Test.cpp: Add a special-case check for Win64. It
+ appears that Win64 listen/accept side has some changed behavior
+ but I haven't found any Windows docs to state this; just observed
+ behavior. It appears that WinXP-64 will appear to accept connections
+ at the TCP level past the listen backlog but if data arrives before
+ the actual application-level accept() occurs, the connection is
+ reset. I can see where this would be sensible for a web server or
+ something like that, but it causes a problem for this use case where
+ the test client side connects and starts sending.
+ Note I also tried modifying the checks in the connect path (in
+ ACE.cpp, handle_timed_complete()), but the connection really does
+ appear to be accepted clean; a peek recv will complete without
+ the reset being noticed, hence my speculation that Microsoft
+ "enhanced" the behavior at the server side.
+ Also, fixed a lot of bad indentation and some missing ACE_TEXTs.
+
+Tue Feb 28 11:12:12 UTC 2006 Johnny Willemsen <jwilemsen@remedy.nl>
+
+ * ace/Connector.cpp:
+ Initialise several pointers explicitly with 0
+
+Tue Feb 28 00:21:53 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/config-WinCE.h: Don't set ACE_LACKS_IOSTREAM_TOTALLY for
+ MSVC 8 and up.
+
+ * ace/CDR_Stream.cpp (grow_and_adjust):
+ * ace/CDR_Base.cpp (consolidate): Avoid losing data when
+ comparing ptrdiff_t values.
+
+ * ace/Event_Handler.{h cpp}: Allow
+ ACE_Event_Handler:register_stdin_handler to build on WinCE.
+
+ * ace/FILE_IO.cpp (send, recv): Truncate the number of iovec tuples
+ down to range of an int.
+
+ * ace/OS_NS_stropts.{h cpp}:
+ * ace/OS_NS_sys_socket.{h cpp}: Allow QoS-enabled operations on WinCE
+ 5.0 and up.
+
+ * ace/OS_NS_unistd.inl: 64-bit adjustments.
+
+ * ace/Time_Value.{cpp inl}:
+ * tests/Time_Value_Test.cpp: Add ACE_WIN64 to the platforms that use
+ LONG_MAX/LONG_MIN rather than std::numeric_limits<time_t> for the
+ time bounds. On Win64, time_t is 64 bits, yet the timeval members
+ used internally to ACE_Time_Value are still long. This makes time
+ values outside the LONG_MAX, LONG_MIN range very broken and many
+ tests start failing in odd ways. Thanks to J.T. Conklin for this fix.
+
+ * ace/Token_Request_Reply.{cpp inl}: 32/64 bit adjustments.
+
+ * netsvcs/lib/Token_Handler.{h cpp} (ACE_TS_Mutex, ACE_TS_WLock,
+ ACE_TS_RLock): Changed the name argument from char* to ACE_TCHAR*
+ to build clean on wchar systems. The classes that use this and that
+ this uses already were ACE_TCHAR.
+
+Mon Feb 27 22:36:20 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * tests/SSL/Makefile.am: Hand-corrected the addition of
+ ACE_TLS_CPPFLAGS, ACE_TLS_LDFLAGS, ACE_TLS_LIBS needed to pick up
+ user's specification of where the SSL libraries are.
+
+Mon Feb 27 08:17:49 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/Dev_Poll_Reactor.cpp (acquire_quietly): Moved the error message
+ so that it only is printed if it's a real error, not just a
+ timeout. Thanks to Oh Yoon Sik <boom at estsoft dot com> for
+ reporting this.
+
+Sun Feb 26 19:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SOCK_IO.{cpp,inl}:
+ Fixed compile errors, it is ACE_Utils::Truncate, not ACE_Truncate
+
+Sun Feb 26 13:05:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Reactor_Timer_Test.cpp:
+ Replaced asserts with ace_error to fix warnings in release builds
+
+Sat Feb 25 22:57:32 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * tests/Process_Manual_Event_Test.cpp: On Windows, use a complete
+ path name to spawn the child process with, else it doesn't work when
+ the test is in a subdir of ACE_wrappers/tests, as it is with
+ Win XP64 and WinCE.
+
+ * ace/SOCK_IO.h: Clarify that on recvv() and sendv(), the number of
+ iovecs handled will be limited to the maximum value of an int.
+ * ace/SOCK_IO.inl (sendv, recvv): ACE_Truncate the 'n' number of
+ iovecs passed down to the ACE level.
+ * ace/SOCK_IO.cpp (send, recv): Reduce the size_t n iovec count to an
+ int range after dividing by 2 to fit it into the ACE_OS level.
+
+Sat Feb 25 12:45:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Removed Security Policies tests, it has been removed from the repo
+
+Fri Feb 24 23:43:04 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tests/Time_Value_Test.cpp:
+
+ use std::numeric_limits<time_t>::max()
+ and std::numeric_limits<time_t>::min() (or LONG_MAX and LONG_MIN
+ for those platforms that lack std::numeric_limits<T>) instead of
+ ACE_INT32_MAX and ACE_INT32_MIN for time bounds.
+
+Fri Feb 24 21:16:48 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_config_handlers.mpb
+
+ Add a verbatim to disable hidden_visibility for project
+ dependent on Config_Handlers
+
+Fri Feb 24 19:08:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/auto_run_tests.pl:
+ If we can't chdir to the directory then don't die, but just continue
+ with the next test
+
+Fri Feb 24 17:29:47 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Truncate.h: Include all needed code inline here and mark the
+ function and specialization inline.
+ * ace/Truncate.{inl cpp}: Removed. All code for ACE_Truncate is inlined
+ and included in the Truncate.h file.
+
+ * ace/ace.mpc:
+ * ace/Makefile.am: Removed Truncate.cpp and Truncate.inl.
+
+Fri Feb 24 16:31:36 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Connector.{h cpp}: Changed the non_blocking_handles_ member
+ used to remember handles currently in-progress with a non-blocking
+ connect from ACE_Handle_Set to ACE_Unbounded_Set. This enables
+ ACE_Connector to be used with handle values outside the range
+ that select() can deal with (FD_SETSIZE) and is needed to run
+ large numbers of handles as is now possible with the
+ ACE_Dev_Poll_Reactor.
+ Removed the deprecated internal-only
+ SVC_HANDLER* ACE_NonBlocking_Connect_Handler::close (void)
+ method. There was already a replacement close() with more
+ sensible arguments that performed close operations in the correct
+ order, avoiding accesses to event handlers that were deleted.
+ Don't ACE_ASSERT when seeing a ACE_Connector::close() error; log
+ an error and keep going.
+
+ * ace/Container_Instantiations.cpp: Added instantiations for
+ ACE_Unbounded_Set<ACE_HANDLE>, used in ACE_Connector.
+
+ * ace/Dev_Poll_Reactor.cpp (find_handler): Increment the found
+ handler's reference count, as the other reactor implementations do.
+
+ * ace/Dev_Poll_Reactor.h: Fix typos.
+
+Fri Feb 24 15:38:20 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace.m4:
+
+ Fix typo in last change:
+ Thu Feb 23 23:00:45 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+Fri Feb 24 15:26:07 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * ace/config-lynxos.h
+ * ace/Log_Msg.cpp:
+
+ Back out code dealing with system's that have a
+ BROKEN_THREAD_KEYFREE after Olli Savia <ops@iki.fi> pointed
+ out that it breaks Task_Ex_Test.
+
+Fri Feb 24 15:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Message_Block.h:
+ Doxygen improvements
+
+Fri Feb 24 14:34:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Process_Manager.cpp:
+ Initialize pointer with 0
+
+ * ace/Process_Manager.h:
+ Tag the reap() method as deprecated
+
+Fri Feb 24 14:10:06 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm:
+
+ Modified the 'vpath' code so that it does not require knowlege of
+ how MPC internally stores filename lists. It does not change any
+ functionality.
+
+Fri Feb 24 13:55:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Reactor/TP_Reactor/client.cpp:
+ * examples/Reactor/TP_Reactor/server.cpp:
+ Made these compiling with wchar enabled
+
+Fri Feb 24 11:51:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ACE_export.h:
+ Also for borland changed ACE_INLINE_TEMPLATE_FUNCTION to
+ ACE_Export
+
+Fri Feb 24 11:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Fixed casing of Bug_2289_Regression
+
+Fri Feb 24 00:19:22 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/ACE_export.h: Changed ACE_INLINE_TEMPLATE_FUNCTION to use
+ ACE_Export instead of "extern" for Visual C++. Fixes missing
+ ACE_Truncate symbols outside of the ACE library on Windows.
+
+Thu Feb 23 23:22:18 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * examples/APG/Logging/Callback.h:
+ * examples/APG/Logging/Callback-2.h:
+ * examples/APG/Logging/Callback-3.h: Add conditional areas for
+ platforms lacking IOStream support.
+
+Thu Feb 23 23:00:45 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace.m4:
+
+ Use "eval" when setting ACE_TCL_LIB to expand any variables in
+ ${TCL_LIB_SPEC}. Thanks to Thomas Girard <thomas dot g dot
+ girard at free dot fr>.
+
+Thu Feb 23 19:53:51 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tests/DLL_Test_Impl.cpp:
+
+ Changed so nothrow operator delete has same exception
+ specification in declaration and definition.
+
+Thu Feb 23 17:01:15 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Scheduled test for bug #2186. This will fail until fixed.
+
+Thu Feb 23 15:56:24 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Svc_Handler.cpp:
+
+ Fix typo (identifier-name) introduced in:
+ Thu Feb 23 09:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+Thu Feb 23 14:44:54 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * ace/Log_Msg.cpp:
+
+ Add code to ensure cleanup in ACE_Log_Msg::close (void).
+ For some systems, e.g. LynxOS, we need to ensure that
+ any registered thread destructor action for this thread
+ is disabled.
+
+Thu Feb 23 14:54:52 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace.m4:
+
+ Tweak how ACE_TCL_CPPFLAGS, ACE_TCL_LIBS, ACE_TK_CPPFLAGS,
+ and ACE_TK_LIBS are defined.
+
+ * tests/Makefile.am:
+
+ Fix regeneration bug.
+
+Thu Feb 23 10:05:22 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Scheduled regression tests for bugs #2289 and #2134.
+
+Thu Feb 23 09:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Reactor/TP_Reactor/*:
+ Example program demonstrating the TP_Reactor. This is also a
+ test program for bugzilla bug 2395. For reproducing start
+ the perl script but also do other activity on the system,
+ then it can happen that the same event handler is invoked
+ from multiple threads. Thanks to Martin Kolleck and Tino
+ Riethmueller for creating this example program.
+
+Thu Feb 23 08:35:09 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * ace/config-lynxos-pthread.h:
+ Remove this file. Change handling for LynxOS' use of macros
+
+ * include/makeinclude/platform_lynxos.GNU:
+ * ace/config-lynxos.h:
+ Revert changes for building dynamic libraries
+
+ * ace/os_include/os_pthread.h:
+ Remove inclusion of ace/config-lynxos-pthread.h
+
+ * ace/OS_NS_Thread.inl:
+ If it's a macro we can't say "::pthread_cancel"
+
+Thu Feb 23 09:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/DLL_Test_Impl.{h,cpp}:
+ Added nothrow operator delete
+
+ * ace/TP_Reactor.h:
+ * ace/Signal.h:
+ Documentation improvement
+
+ * ace/Time_Value.cpp (operator*):
+ Use correct type for usec
+
+ * ace/Svc_Handler.cpp:
+ Use casts in operator delete
+
+Thu Feb 23 08:08:26 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Makefile.am:
+ * tests/Makefile.am:
+
+ Regenerate for TK Reactor changes.
+
+Thu Feb 23 06:47:26 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/ace_tk.mpb:
+
+ Add automake specific section for TCL and TK CPPFLAGS and LIBS.
+
+ * m4/ace.m4:
+
+ Change ace_enable_{fl,qt,tk,xt}_reactor to
+ ace_user_enable_{fl,qt,tk,xt}_reactor for consistency.
+
+ Implement ACE_PATH_TCL.
+
+ Implement ACE_PATH_TK.
+
+ Implement ACE_ENABLE_TK_REACTOR.
+
+ Thanks to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for these fixes.
+
+Wed Feb 22 20:56:17 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/ACE_export.h: Added another macro, ACE_INLINE_TEMPLATE_FUNCTION,
+ to take care of the compiler differences when an inlineable
+ function template can be out-lined. Some compilers (e.g. Microsoft)
+ like an extern storage class to prevent multiple instances; others
+ (practically all others) refuse the extern storage class and
+ resolve the multiples at link time.
+
+ * ace/Truncate.{h inl}: Change ACE_NAMESPACE_INLINE_FUNCTION use to
+ ACE_INLINE_TEMPLATE_FUNCTION.
+
+Wed Feb 22 22:18:56 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * tests/run_test.lst:
+ Run some more tests on LynxOS.
+
+Wed Feb 22 21:30:35 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/Truncate.inl:
+ Added include "ace/os_include/os_limits.h" to pull INT_MAX.
+
+ * ace/config-lynxos.h:
+ Define ACE_LACKS_NUMERIC_LIMITS when compiling with GCC 2.x.
+ Define ACE_HAS_POSIX_SEM on LynxOS 4.0.
+
+Wed Feb 22 19:16:32 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/ACE_export.h: Add __HP_aCC 06.05 and up to the list of compilers
+ that don't like "extern inline".
+
+Wed Feb 22 16:50:16 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/String_Base.{h cpp}: Add operator= to set string from a
+ CHAR*. Optimizes performance in this case by removing the need
+ for a temporary object. Thanks to Kelly Hickel <kfh at mqsoftware
+ dot com> for this improvement.
+
+ * tests/SString_Test.cpp: Added test for new operator=.
+
+Wed Feb 22 17:26:01 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.h:
+ Changed type of dtrdisable from int to bool.
+
+ * examples/IPC_SAP/DEV_SAP/reader/reader.cpp:
+ * examples/IPC_SAP/DEV_SAP/writer/writer.cpp:
+ Changed to reflect recent changes in TTY_IO.h.
+
+Wed Feb 22 16:31:28 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/config/vcl.mpb:
+
+ Added the 'bmake' type in order to support VCL.
+
+ * bin/mpc.pl:
+ * bin/mwc.pl:
+
+ Simplified these scripts by using FindBin. Also, made a
+ modification to preserve @ARGV so that when it is used by the
+ workspace creators, it contains the original arguments provided by
+ the user.
+
+Wed Feb 22 16:26:43 GMT 2006 Rich Seibel <seibel_r@ociweb.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU:
+ * THANKS
+ Added templates=manual to set manually instantiated
+ templates (without setting ACE_HAS_EXPLICIT_TEMPLATE_
+ INSTANTIATION) and determining that -qeh=v6 is needed
+ to get the more general exception behavior.
+
+ Thanks to Marc Brown and Andrew Keane for suggesting
+ these changes.
+
+Wed Feb 22 15:48:15 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Timer_Heap_T.cpp: Fixed mismatch signed/unsigned compare warning.
+
+Wed Feb 22 08:33:03 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * include/makeinclude/platform_lynxos.GNU
+ * ace/config-lynxos.h
+ change settings for building dynamic libraries
+
+ * ace/config-lynxos-pthread.h
+ new file for handling LynxOS' use of macros
+
+ * ace/Log_Msg.cpp
+ * ace/os_include/os_pthread.h
+ Handle broken thread key free on LynxOS
+
+Tue Feb 21 23:49:20 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Truncate.{h inl cpp}: New function template, ACE_Utils::Truncate,
+ for truncating types to int. Compares the value to the maximum int
+ value and, if passed value is greater, returns the max int; else
+ returns the original value cast to int. Useful for the many places
+ that return int but maintain larger types (such as size_t)
+ internally. There's a specialization for size_t since it's used so
+ much.
+
+ * ace/ace.mpc: Add Truncate.cpp
+
+ * ace/Makefile.am: Added Truncate.{h inl cpp}
+
+ * ace/Message_Queue_T.cpp:
+ * ace/Message_Queue.cpp: Use ACE_Utils::Truncate() to return size/count
+ related values that may overflow the range of an int. Prevents odd
+ conditions that may appear as failures when dealing with very large
+ numbers of items in a queue. And, resolves compile warnings.
+
+ * ace/Timer_Heap_T.cpp: In constructor, add checks to see if max_size_
+ is outside the range of a long and reduce it if so. This ensures we
+ can cast size_t values to a long as a timer ID (pop_freelist).
+ NOTE!!! In grow_heap(), the size is doubled and there's no check for
+ failures in range or in allocation. This a problem that should be
+ looked at.
+
+ * ace/Service_Manager.cpp (reconfigure_services):
+ * ace/WIN32_Asynch_IO.cpp:
+ * ace/UPIPE_Connector.cpp (connect): Fix compiler warnings.
+
+Tue Feb 21 23:08:38 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_NS_time.cpp: Add missing close brace for blank namespace
+ in ACE_HAS_WINCE case.
+
+Tue Feb 21 20:20:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * protocols/ace/TMCast/MTQueue.hpp:
+ Initialise pointer to 0 to fix gcc4.1 warning
+
+Tue Feb 21 19:26:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Fixed typo in this file
+
+ * bin/generate_compile_stats.sh:
+ Improved this script, print date/time after the Detail in html, also
+ when we can't find the footprint size of an object file, just list it
+ with ? as size, that way we can at least see all objects and don't
+ miss any.
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Default use_dep_libs to 1
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ Only when use_dep_libs is set to 1 (which is the default) set DEPLIBS.
+ In the footprint builds we set use_dep_libs to 0 because it causes
+ problems when interpreting the map files generated by the linker.
+
+Tue Feb 21 19:14:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Process_Manual_Event_Test.cpp:
+ Fixed this test
+
+Fri Feb 17 08:15:57 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/Asynch_Acceptor.h: Used ACE_DEFAULT_ASYNCH_BACKLOG instead
+ of ACE_DEFAULT_BACKLOG since the latter is set to a huge value
+ on Windows. Thanks to Alex Libman and Daniel <__daniel___ at icg
+ do tu-graz dot ac dot at> for their help.
+
+ * ace/Default_Constants.h: Added a new macro called
+ ACE_DEFAULT_ASYNCH_BACKLOG that defaults to 5.
+
+Mon Feb 20 15:03:01 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * ACE version 5.4.10 released.
+
+Sun Feb 19 13:38:32 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release:
+ Fixed bug in excluding of mwc files
+
+Fri Feb 17 19:16:32 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated this file with more inputs.
+
+Thu Feb 16 13:38:39 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * bin/generate_rel_manpages:
+
+ Updated the script with latest info at naboo.dre.
+
+Thu Feb 16 13:38:00 UTC Simon Massey <sma@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+ Added regression test for Bugzilla 2403
+
+Thu Feb 16 09:23:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release:
+ Changed the exclude of mwc files, use TAO_* and CIAO_*
+
+Thu Feb 16 08:33:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/performance_stats.sh:
+ Added AMI to the combined performance figure
+
+Wed Feb 15 20:06:42 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * ace/Timer_Heap_T.cpp: Fixed cancel() so that it doesn't miss any
+ nodes due to reheapifying during a remove. Thanks to Oh Yoon
+ Sik <boom at estsoft dot com> for this fix.
+
+Wed Feb 15 20:04:13 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ #include <sys/time.h> in ACE_HAS_POSIX_TIME feature test (if
+ supported by platform). Thanks to Vladimir Panov <gbr at
+ voidland dot org> for reporting this bug.
+
+Wed Feb 15 19:58:36 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/fuzz.pl:
+
+ Modified the check_for_long_file_names function to correctly deal
+ with the length of the MPC project names instead of the length of
+ the .mpc file itself. The length of the .mpc file name does not
+ necessarily indicate the length of the generated project name.
+
+Wed Feb 15 18:16:02 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Time_Value.cpp:
+
+ Adding/subtracting 0.999999 from max and min is required to really
+ represent a saturated time value.
+
+Wed Feb 15 12:32:37 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Svc_Conf_Lexer.cpp:
+
+ Changed two instances of memcpy() to memmove(). The areas being
+ copied could possibly overlap.
+
+Wed Feb 16 11:40:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added new AdvSlotExt PI test
+
+Wed Feb 16 07:54:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+ Disabled visibility by default, seems to cause some issues in the
+ builds at this moment
+
+Tue Feb 14 22:56:39 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * include/makeinclude/rules.local.GNU:
+
+ Added *.core to list of files to clean.
+
+Tue Feb 14 22:04:46 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/security.mpb
+ * bin/MakeProjectCreator/config/ssliop.mpb
+
+ Fixes for linking errors/warnings in OS X.
+
+Tue Feb 14 21:43:01 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ #include <sys/types.h> before <sys/mman.h> in
+ ACE_LACKS_MADVISE_PROTOTYPE feature test. Thanks to Vladimir
+ Panov <gbr at voidland dot org> for reporting and providing a
+ patch for this bug.
+
+Tue Feb 14 18:36:16 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Time_Value.cpp:
+
+ Changed operator *= to use std::numeric_limits<time_t>::max()
+ and std::numeric_limits<time_t>::min() (or LONG_MAX and LONG_MIN
+ for those platforms that lack std::numeric_limits<T>) instead of
+ ACE_INT32_MAX and ACE_INT32_MIN when saturating the results.
+
+ This uses the correct limits for whatever underlying type time_t
+ is when std::numeric_limits<T> is available, and uses the limits
+ for the traditional type, long, when it is not.
+
+ Removed call to normalize(), as set() already normalizes results.
+
+Tue Feb 14 14:47:00 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/fuzz.pl:
+
+ When checking for maximum length of mpc files, ensure that only
+ .mpc files are checked.
+
+Tue Feb 14 08:34:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-lynxos.h:
+ Added ACE_HAS_CHARPTR_SHMDT
+
+Tue Feb 14 08:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Svc_Handler.{h cpp}: Add ACE_LACKS_PLACEMENT_OPERATOR_DELETE
+ around the operator delete with nothrow. This fixes the compile
+ errors with Borland C++
+
+Mon Feb 13 17:50:49 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Svc_Handler.{h cpp}: Add placement operator delete to match
+ the nothrow variant placement operator new. This ensures proper
+ cleanup if the constructor throws an exception.
+
+ * ace/config-hpux-11.00.h: Only set ACE_LACKS_PLACEMENT_OPERATOR_DELETE
+ for aC++ versions earlier than A.03.55.02. Fixes Bugzilla #2394.
+
+Mon Feb 13 18:23:27 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Fix typos in ACE_HAS_CHARPTR_SHMAT and ACE_HAS_CHARPTR_SHMDT
+ feature tests.
+
+Mon Feb 13 09:33:20 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * ace/config-sunos5.5.h (ACE_IMPORT_SINGLETON_DECLARATION):
+ (ACE_IMPORT_SINGLETON_DECLARE):
+
+ Comment out these macro definitions. The "extern template"
+ extension available in MSVC++ and g++ doesn't work for Sun
+ Studio C++ compilers. An alternative may need to be found.
+
+Mon Feb 13 14:51:10 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Svc_Conf_Lexer.cpp:
+
+ Catch the possible situation where we were unable to allocate a
+ converter and mark it as a conversion failure.
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+
+ If we are compiling for a PPC, we need to add the -mlongcall
+ option for many TAO tests (and some user applications).
+
+Mon Feb 13 11:49:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/servers/svc.conf:
+ * netsvcs/servers/svc.conf.xml:
+ Use port 20006 for the Name_Server, is the same port as we
+ default to in ACE. Fixes a problem that the Name_Server and
+ Logging Server both use the same port as default
+
+Mon Feb 13 11:40:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Service_Manager.h:
+ * ace/Service_Repository.h:
+ Doxygen improvements
+
+Mon Feb 13 10:08:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Obstack_T.h:
+ Doxygen improvement
+
+Mon Feb 13 10:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Proactor_Test.cpp:
+ Don't test certain functionality when ACE_HAS_WINNT4 is 0
+
+ * tests/Future_Test.cpp:
+ * tests/Future_Set_Test.cpp:
+ Moved real code out of ACE_ASSERT, fixes crashing of these
+ tests in release builds
+
+Mon Feb 13 08:57:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-borland-common.h:
+ Readded ACE_SIZEOF_LONG_DOUBLE 10 again
+
+Mon Feb 13 08:41:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_shm.inl (shmat):
+ Added const_cast to get rid of compile errors with LynxOS
+
+Mon Feb 13 08:28:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macosx-panther.h:
+ Removed ACE_LACKS_USECONDS_T
+
+Mon Feb 13 08:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-aix-4.x.h:
+ * ace/config-hpux-11.00.h:
+ Added ACE_LACKS_SYS_SYSCTL_H
+
+Mon Feb 13 08:17:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.cpp (num_processors_online):
+ Made the HPUX specific implementation the last option to use
+
+Mon Feb 13 08:12:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks5.x.h:
+ Added ACE_LACKS_NUMERIC_LIMITS
+
+Mon Feb 13 08:09:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-cygwin32.h:
+ Added ACE_LACKS_SYS_SYSCTL_H
+
+Mon Feb 13 05:12:51 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/config-netbsd.h:
+ * configure.ac:
+
+ Revert:
+ Sun Feb 12 19:07:39 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ Caused build failures because NetBSD doesn't support
+ pthread_attr_{get,set}schedpolicy(). It's not clear what
+ ACE_HAS_PTHREAD_SCHEDPARAM actually means.
+
+Sun Feb 12 19:48:19 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove AH_TEMPLATE for ACE_HAS_SIN_LEN.
+
+Sun Feb 12 19:43:42 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+ * configure.ac:
+
+ Removed AH_TEMPLATEs for ACE_HAS_PTHREADS_DRAFT4,
+ ACE_HAS_PTHREADS_DRAFT6, ACE_HAS_PTHREADS_DRAFT7, and
+ ACE_HAS_PTHREADS_STD from m4/config_h.m4; and add the
+ descriptions as the third arguments in the AC_DEFINEs
+ in configure.ac.
+
+Sun Feb 12 19:07:39 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/config-netbsd.h:
+
+ Define ACE_HAS_PTHREAD_SCHEDPARAM.
+
+ * configure.ac:
+
+ Define ACE_HAS_PTHREAD_SCHEDPARAM if platform supports
+ pthread_getschedparam() and pthread_setschedparam().
+
+Sun Feb 12 19:01:47 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/config-macosx-panther.h:
+ * ace/config-macosx-tiger.h:
+ * ace/config-macosx.h:
+ * ace/config-mit-pthread.h:
+ * ace/config-qnx-neutrino.h:
+ * ace/config-qnx-rtp-62x.h:
+ * ace/config-qnx-rtp-pre62x.h:
+ * ace/config-unixware-7.1.0.h:
+ * ace/config-unixware-7.1.0.udk.h:
+
+ Remove ACE_HAS_PTHREAD_SIGMASK definition. This feature test
+ macro was deprecated and replaced with ACE_LACKS_PTHREAD_SIGMASK
+ some ~5 years ago.
+
+Sun Feb 12 13:31:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-linux-common.h:
+ Check for icc as the first compiler, when icc is used in gcc
+ compatibility mode we else incorrectly use gcc.
+
+Sun Feb 12 13:20:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-sunos5.5.h:
+ Added ACE_LACKS_SYS_SYSCTL_H
+
+Sun Feb 12 13:18:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_shm.inl (shmdt):
+ Added a const cast when ACE_HAS_CHARPTR_SHMDT is defined
+
+Sun Feb 12 13:08:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-sunos5.5.h:
+ Fixed typo in this file
+
+Sun Feb 12 13:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks5.x.h:
+ Added ACE_LACKS_SYS_SYSCTL_H
+
+Sun Feb 12 08:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-cygwin32.h:
+ Removed ACE_LACKS_USECONDS_T, Cygwin does deliver useconds_t
+
+Sat Feb 11 19:54:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-lynxos.h:
+ Added ACE_LACKS_SUSECONDS_T and ACE_LACKS_USECONDS_T
+
+ * ace/config-hpux-11.00.h:
+ Added ACE_LACKS_SUSECONDS_T
+
+Sat Feb 11 19:48:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.cpp:
+ Also undef min when defined and do it before including limits,
+ should fix our MingW build
+
+Sat Feb 11 19:09:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-cygwin32.h
+ * ace/config-vxworks5.x.h:
+ * ace/config-macosx-panther.h:
+ Added ACE_LACKS_SUSECONDS_T and ACE_LACKS_USECONDS_T
+
+Sat Feb 11 10:37:04 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/ace_wchar.inl (convert): Fixed a bug where the character
+ conversion was getting improperly sign converted. Thanks to
+ Olivier Brunet <o dot brunet at free dot fr> for this fix.
+
+Fri Feb 10 22:49:07 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+ * ace/config-sunos5.5.h:
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+
+ Added Sun Studio 8 or better symbol visibility/scope support.
+ Provides improved shared libraries by reducing footprint
+ (e.g. 17% reduction for ACE), reducing symbol clashes with
+ third party libraries and increasing run-time performance.
+ [Bug 2378]
+
+Fri Feb 10 21:26:42 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Added ACE_HAS_CHARPTR_SHMAT and ACE_HAS_CHARPTR_SHMDT
+ feature tests. Fixes bug 2388.
+
+Fri Feb 10 19:24:10 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/config/trading_serv.mpb:
+
+ Added iortable as a base project as the TAO_CosTrading_Serv
+ library now utilizes the TAO_IORTable library.
+
+Fri Feb 10 16:00:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+ Removed "Request_Interceptor_Flow" Portable Interceptors test
+ when configuration HAS_EXTENDED_FT_INTERCEPTORS as it will
+ fail.
+
+Fri Feb 10 15:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Dirent_Test.cpp:
+ Made this test compiling with Borland C++ with wchar enabled
+
+Fri Feb 10 14:25:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ Disable visibility by default, seems the Intel C++ compiler
+ has some issues which we reported to Intel
+
+Fri Feb 10 14:23:06 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/PerlACE/Run_Test.pm:
+
+ Fixed the add_path() method to work on both Windows and UNIX.
+
+ * bin/depgen.pl:
+
+ If the -i option is passed, create a dependency file even if there
+ are no source files. This will allow NMake files to proceed
+ without warning.
+
+ * bin/generate_export_file.pl:
+
+ Changed to always emit the static library code unless the -n is
+ used. There is no reason not to support static libraries by
+ default.
+
+Fri Feb 10 14:20:54 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * bin/ciao_tests.lst
+
+ Reverse a previous change to ciao_tests due to concerns
+ for autobuild logging.A smaller test will be added instead.
+
+Fri Feb 10 13:22:34 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * bin/ciao_tests.lst
+
+ Added Bug_2130_Regression test
+
+Fri Feb 10 13:07:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.inl (write):
+ Use another const cast when ACE_HAS_CHARPTR_SOCKOPT is defined
+
+Fri Feb 10 12:51:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release:
+ Use *.mwc to exclude any mwc files instead of listing them
+ explicitly, prevents the problems which we had with x.4.9 when
+ we had some new mwc files which caused an overwrite of
+ GNUmakefiles.
+
+Fri Feb 10 12:42:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ Removed OCFLAGS += -axK, this flag is really dependent on the CPU
+ that is targeted, it is just not a good idea to do this in general
+ when optimization is enabled
+
+Fri Feb 10 12:00:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Message_Queue.cpp:
+ * ace/WIN32_Proactor.cpp:
+ Applied workarounds for broken vc6 header files
+
+Fri Feb 10 11:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Set exceptions default to 1
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ Set optimize to 1 again now Intel has fixed a bug in their IA64
+ compiler, also added support for visibility
+
+Fri Feb 10 10:53:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Updated link to tenermerx code
+
+ * ace/Asynch_IO.h:
+ Fixed problem when ACE_HAS_WINNT4 has been set to 0. Thanks to
+ Karl Schmitt <Karl dot Schmitt at dfs dot de> for reporting this.
+
+ * ace/ACE.cpp:
+ * ace/Select_Reactor_T.cpp:
+ Fixed incorrect comment after endif
+
+ * ace/Auto_Event.h:
+ * ace/Based_Pointer_Repository.h:
+ * ace/Based_Pointer_T.h:
+ * ace/Default_Constants.h:
+ * ace/Dev_Poll_Reactor.h:
+ * ace/Event_Handler.h:
+ * ace/File_Lock.h:
+ * ace/Framework_Component.h:
+ * ace/Free_List.h:
+ * ace/Future.h:
+ * ace/Future_Set.h:
+ * ace/Guard_T.h:
+ * ace/Handle_Gobbler.h:
+ * ace/Handle_Set.h:
+ * ace/Hash_Map_Manager_T.h:
+ * ace/Hash_Map_With_Allocator_T.h:
+ * ace/Local_Tokens.h:
+ * ace/Map_Manager.h:
+ * ace/MEM_IO.h:
+ * ace/MEM_SAP.h:
+ * ace/MEM_Stream.h:
+ * ace/Message_Block.h:
+ * ace/Message_Queue.h:
+ * ace/Msg_WFMO_Reactor.h:
+ * ace/Node.h:
+ * ace/Null_Mutex.h:
+ * ace/Null_Semaphore.h:
+ * ace/Object_Manager.h:
+ * ace/Process_Manager.h:
+ * ace/Reactor.h:
+ * ace/Reactor_Notification_Strategy.h:
+ * ace/Proactor.h:
+ * ace/Recursive_Thread_Mutex.h:
+ * ace/Service_Object.h:
+ * ace/WFMO_Reactor.h:
+ * ace/Reactor_Impl.h:
+ * ace/Proactor_Impl.h:
+ * ace/Signal.h:
+ * ace/Svc_Handler.h:
+ * ace/SOCK_SEQPACK_Association.h:
+ * ace/Test_and_Set.h:
+ * ace/Thread_Mutex.h:
+ * ace/Timer_Heap_T.h:
+ * ace/TP_Reactor.h:
+ * ace/Timer_Queue_Adapters.h:
+ * ace/Timer_Hash_T.h:
+ * ace/Timer_Queue_T.h:
+ * ace/Unbounded_Set.h:
+ * ace/Select_Reactor_T.h:
+ * ace/Service_Config.h:
+ Doxygen improvements
+
+ * ace/Auto_IncDec_T.h:
+ Removed incorrect comment
+
+ * ace/config-aix-4.x.h:
+ * ace/config-borland-common.h:
+ * ace/config-cray.h:
+ * ace/config-cxx-common.h:
+ * ace/config-doxygen.h:
+ * ace/config-g++-common.h:
+ * ace/config-hpux-10.x-hpc++.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-icc-common.h:
+ * ace/config-integritySCA.h:
+ * ace/config-irix6.x-sgic++.h:
+ * ace/config-kcc-common.h:
+ * ace/config-lynxos.h:
+ * ace/config-netbsd.h:
+ * ace/config-openvms.h:
+ * ace/config-osf1-4.0.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-sunos5.6.h:
+ * ace/config-tandem-nsk-mips-v2.h:
+ * ace/config-tandem-nsk-mips-v3.h:
+ * ace/config-unixware-7.1.0.udk.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-win32-dmc.h:
+ * ace/config-win32-ghs.h:
+ * ace/config-win32-msvc-6.h:
+ * ace/config-win32-msvc-7.h:
+ * ace/config-win32-msvc-8.h:
+ * ace/config-win32-visualage.h:
+ * ace/README:
+ Removed ACE_HAS_USING_KEYWORD, all our compilers have it so need
+ for a seperate define anymore
+
+ * ace/config-borland-common.h:
+ Removed ACE_LACKS_INLINE_ASSEMBLY, ACE_NEW_THROWS_EXCEPTIONS, and
+ ACE_SIZEOF_LONG_DOUBLE and added ACE_HAS_NEW_NOTHROW
+
+ * ace/config-doxygen.h:
+ Fixed define of __ACE_INLINE__
+
+ * ace/config-icc-common.h:
+ Added custom export macros, the ICC compiler does support the
+ visibility attribute
+
+ * ace/config-lynxos.h:
+ Added ACE_HAS_CHARPTR_SHMAT
+
+ * ace/config-macros.h:
+ Always expand ACE_USING to using
+
+ * ace/config-psos-diab-mips.h:
+ * ace/config-psos-diab-ppc.h:
+ * ace/config-psos-diab.h:
+ * ace/config-psos-tm.h:
+ * ace/config-psosim-g++.h:
+ Added ACE_LACKS_ENV
+
+ * ace/config-sunos5.5.h:
+ Added ACE_HAS_CHARPTR_SHMDT
+
+ * ace/config-win32-borland.h:
+ Removed ACE_LACKS_STDINT_H, ACE_LACKS_DIRENT_H, undef the
+ following defines, borland has them, ACE_LACKS_STRUCT_DIR,
+ ACE_LACKS_CLOSEDIR, ACE_LACKS_OPENDIR, ACE_LACKS_READDIR,
+ ACE_LACKS_REWINDDIR, added ACE_HAS_WOPENDIR, ACE_HAS_WCLOSEDIR,
+ ACE_HAS_WREADDIR, ACE_HAS_WREWINDDIR
+
+ * ace/config-WinCE.h:
+ Added ACE_LACKS_PIPE
+
+ * ace/Dirent.{h,inl}:
+ * ace/Dirent_Selector.{h,cpp,inl}:
+ * ace/os_include/os_dirent.h:
+ * ace/OS_NS_dirent.{h,cpp,inl}:
+ Borland delivers wopendir, wclosedir for wchar_t directory names
+ but also wdirent instead of dirent. Added a ACE_DIRENT macro that
+ normally expands to dirent but with Borland it can expand to
+ wdirent when build with ACE_USES_WCHAR
+
+ * ace/DLL_Manager.h:
+ No need to export ACE_DLL_Handle, internal class
+
+ * ace/Framework_Component.h:
+ Declare private copy constructor/assignment operator,
+ should allow making a copy
+
+ * ace/INET_Addr.cpp:
+ Changed some tests for VxWorks, only a specific implementation
+ should be used when ACE_LACKS_GETHOSTBYNAME and
+ ACE_LACKS_GETHOSTBYADDR are set, with newer VxWorks version we
+ don't have these defines set, so we don't need to use a different
+ code path for VxWorks
+
+ * ace/Local_Name_Space.cpp:
+ * ace/Name_Space.cpp:
+ * ace/Parse_Node.cpp:
+ Initialize all members, fixes GCC warnings
+
+ * ace/MEM_SAP.h:
+ Don't export ACE_MEM_SAP_Node, it is an internal class
+
+ * ace/Message_Queue.cpp:
+ * ace/WIN32_Proactor.cpp:
+ Removed win32 bit specific code, the 64bit case is the one also to
+ use for 32bit.
+
+ * ace/Time_Value.h:
+ * ace/os_include/os_time.h:
+ Moved timespec to os_time, it belongs there. Fixes bugzilla
+ bug [2380].
+
+ * ace/Node.h:
+ Declare private assignment operator
+
+ * ace/OS_NS_stdlib.inl (getenv):
+ Removed psos specific part, solved by adding a define to the
+ psos confi files
+
+ * ace/OS_NS_sys_utsname.cpp:
+ Merged the two uname implementations to one method to make
+ the maintenance easier
+
+ * ace/OS_NS_Thread.inl:
+ Replaced VXWORKS with ACE_VXWORKS
+
+ * ace/Select_Reactor_Base.h:
+ Added forward declaration of ACE_Sig_Handler, this class is
+ used in the interfaces as pointer
+
+ * ace/OS_NS_sys_shm.{h,inl}:
+ Changed the void* argument of shmdt and shmat to a const void*,
+ introduced ACE_HAS_CHARPTR_SHMAT and ACE_HAS_CHARPTR_SHMDT for
+ the platforms that have a char* version of these methods.
+
+ * ace/TP_Reactor.{h,cpp}:
+ Don't export ACE_EH_Dispatch_Info and ACE_TP_Token_Guard, it are
+ internal classes. Renamed grab_token to acquire_read_token as the
+ todo mentioned, addded private copy constructor and assignment
+ operator for ACE_TP_Token_Guard, no copying should be allowed
+
+ * ace/Unbounded_Queue.cpp:
+ * ace/Unbounded_Set.cpp:
+ Use prefix increment/decrement
+
+ * ace/OS_NS_unistd.inl:
+ Merged the two pipe methods to one and replaced some c-style casts
+ with C++ casts.
+
+ * ace/OS_NS_unistd.cpp:
+ Refactored num_processors, use sysconf when _SC_NPROCESSORS_CONF is
+ defined, when ACE_HAS_SYSCTL has been set we use sysctl
+ Refactored num_processors_online, use sysconf when
+ _SC_NPROCESSORS_ONLN is defined, when ACE_HAS_SYSCTL has been
+ set we use sysctl.
+
+ * ace/Time_Value.{h,cpp,inl}:
+ Use suseconds_t as type for usec
+
+ * ace/Select_Reactor_T.inl:
+ Added include of Signal.h to fix compile error in the solaris
+ autoconf build
+
+ * bin/tao_other_tests.lst:
+ Also run EC_MT_MCast in a static configuration
+
+ * bin/tao_orb_tests.lst:
+ Added AMH_Oneway and Bug_2319_Regression
+
+ * bin/perltest2cpp.pl:
+ Removed this file
+
+Thu Feb 9 20:07:59 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Time_Value.cpp:
+
+ Some platforms pollute the namespace with a max() macro, which
+ makes it impossible to invoke std::numeric_limits<T>::max().
+ #undef max after all the headers have been #included.
+
+Thu Feb 9 18:51:16 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ #include <sys/types.h> in the ACE_HAS_2_PARAM_SCHED_GETAFFINITY
+ and ACE_HAS_2_PARAM_SCHED_SETAFFININTY feature tests. Thanks to
+ Doug McCorkle <mccdo at iastate dot edu> for reporting this bug.
+
+Thu Feb 9 20:05:00 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+
+ Added the new secure policies test.
+
+Thu Feb 9 17:40:17 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/OS_NS_string.cpp (ACE_OS::strerror):
+
+ Don't use strlen() to see if length is zero, check if the
+ first char is null (O(1) vs. O(N)).
+
+Thu Feb 9 16:59:40 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * test/MEM_Stream_Test.cpp:
+
+ Align test_reactive() and test_concurrent() so the same
+ error/warnings are emitted.
+
+ * Flag_Manip.cpp:
+ * IPC_SAP.cpp
+ * MEM_IO.cpp:
+ * SOCK_Dgram.cpp:
+ * SSL/SSL_SOCK_Stream.cpp:
+
+ Change type of FIONBIO and FIONREAD ioctl from u_long,
+ ACE_INT32, etc. to int for portability.
+
+ * ace/Time_Value.cpp:
+
+ Use std::numeric_limits<time_t>::max () instead of LONG_MAX
+ as ctor's first argument when initializing ACE_Time_Value::
+ max_time if !ACE_LACKS_NUMERIC_LIMITS, as time_t may not be
+ a long. Fixes Timer_Queue_Reference_Counting_Test on NetBSD/amd64.
+
+ * configure.ac:
+
+ Added ACE_LACKS_NUMERIC_LIMITS feature test.
+
+ * ace/README:
+
+ Document new ACE_LACKS_NUMERIC_LIMITS feature test macro, which
+ should be defined to 1 if platform lacks std::numeric_limits<>.
+
+ * ace/Cached_Connect_Strategy_T.cpp (cached_connect):
+
+ Handle ETIMEDOUT as we do for EWOULDBLOCK. Fixes
+ Cached_Conn_Test on NetBSD systems.
+
+ * ace/config-freebsd.h:
+ * ace/config-netbsd.h:
+ * ace/config-openbsd.h:
+ * ace/config-macosx-panther.h:
+ * ace/config-macosx-tiger.h:
+ * ace/config-macosx.h:
+
+ Define ACE_HAS_SOCKADDR_IN6_SIN6_LEN.
+ This may be needed for other canned configs.
+
+ * ace/config-aix-4.x.h:
+ * ace/config-cray.h:
+ * ace/config-freebsd.h:
+ * ace/config-macosx-panther.h:
+ * ace/config-macosx-tiger.h:
+ * ace/config-macosx.h:
+ * ace/config-mvs.h:
+ * ace/config-netbsd.h:
+ * ace/config-openbsd.h:
+ * ace/config-qnx-neutrino.h:
+ * ace/config-qnx-rtp-62x.h:
+ * ace/config-qnx-rtp-pre62x.h:
+ * ace/config-unixware-7.1.0.h:
+ * ace/config-unixware-7.1.0.udk.h:
+ * ace/config-win32-interix.h:
+
+ Change ACE_HAS_SIN_LEN to ACE_HAS_SOCKADDR_IN_SIN_LEN.
+
+ * ace/README:
+
+ Document new feature test macros ACE_HAS_SOCKADDR_IN_SIN_LEN and
+ ACE_HAS_SOCKADDR_IN6_SIN6.
+
+ Removed description of ACE_HAS_SIN_LEN. This macro was defined,
+ but not used anywhere in ACE, TAO, or CIAO. It's being removed
+ rather than used because the new macros follow our feature test
+ naming conventions.
+
+ * ace/INET_Addr.cpp:
+ * ace/INET_Addr.inl:
+
+ Set the sockaddr_in.sin_len and sockaddr_in6.sin6_len members if
+ new ACE_HAS_SOCKADDR_IN_SIN_LEN or ACE_HAS_SOCKADDR_IN6_SIN6_LEN
+ feature test macros are defined.
+
+Tue Feb 7 23:28:29 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/SPIPE_Acceptor.cpp (close): On Windows, wait for completion
+ (cancellation) of an outstanding ConnectNamedPipe operation. If
+ left outstanding and the ACE_SPIPE_Acceptor object is deleted, the
+ OS will write into deleted memory. Thanks to Nathan Bamford
+ <nbamford at datalever dot com> for reporting this.
+
+ * THANKS: Added Nathan Bamford to the Hall of Fame.
+
+Wed Feb 08 15:46:51 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * ACE version 5.4.9 released.
+
+Mon Feb 6 18:39:20 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated with info from Doug Schmidt.
+
+Mon Feb 6 15:49:57 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated with info from Steve Huston.
+
+Mon Feb 6 14:44:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Improved documentation for the BCBVER environment setting which
+ is required for building with the Borland C++ compilers
+
+Fri Feb 3 23:48:32 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Barrier.h: Noted shutdown() was added for 5.4.9.
+
+ * ace/Message_Queue_T.{h cpp}: Changed enqueue_head(), enqueue_tail()
+ to recognize that the ACE_Message_Block passed may have other
+ block(s) connected to it via the next() pointers. This allows a
+ caller to pre-connect a series of ACE_Message_Blocks and coalesce
+ the enqueueing of the series into a single method call.
+ Thanks to Guy Peleg <guy dot peleg at amdocs dot com> for suggesting
+ this enhancement.
+ Also revamped the Doxygenization of ACE_Message_Queue's
+ documentation.
+
+ * tests/Message_Queue_Test.cpp: Added chained_block_test() to test
+ the new functionality above.
+
+Fri Feb 3 14:47:53 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * ace/Cleanup_Strategies_T.h:
+
+ Added missing versioned namespace declarations.
+
+ * ace/Guard_T.h:
+
+ Fixed versioned namespace related errors in single-threaded
+ builds with that feature enabled.
+
+ * ace/WFMO_Reactor.h:
+
+ Forward declare the ACE_WFMO_Reactor_Test class outside of the
+ versioned namespace. This test class is actually declared in
+ the global namespace of a standalone test.
+
+Fri Feb 3 07:53:16 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/OS_NS_sys_socket.inl (setsockopt): Make sure to
+ map WSAEOPNOTSUPP to the ENOTSUP errno value so the code is
+ portable across versions of sockets! Thanks to David Hauck
+ <davidh at netacquire dot com> for this fix.
+
+ * ace/OS_NS_sys_socket.inl (setsockopt): Only check for
+ WSAEOPNOTSUPP on platforms that actually support this macro!
+ Thanks to Wallace Zhang for reporting this.
+
+Thu Feb 2 23:59:37 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * html/index.html
+
+ Removed the XML_helpers link, as that documentation is no
+ longer generated.
+
+Thu Feb 2 23:41:39 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb
+
+ Added zlib to the feature inherits to resolve linking errors
+ on Windows.
+
+Thu Feb 2 13:35:18 Pacific Standard Time 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * ace/OS_NS_Thread.h:
+
+ Fixed versioned namespace related errors in single-threaded
+ builds with that feature enabled.
+
+Thu Feb 2 17:49:42 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/OS_NS_string.h:
+
+ Add ACE_Export decoration to ACE_OS::fast_memcpy() declaration.
+
+Thu Feb 2 15:47:35 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * examples/Map_Manager/Map_Manager.mpc:
+
+ Added an mpc file to create the right kind of project. The
+ symptoms of bad or missing mpc files are stray library symbolic
+ links.
+
+Thu Feb 2 14:48:03 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+
+ Build examples and tests subdirectories after building
+ protocols. I think all of the HTBP, RMCast and TMCast examples
+ and tests should be moved underneath protocols eventually , but
+ it's too close to the release to do it safely.
+
+Thu Feb 2 11:19:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Naming_Test.cpp:
+ Moved some real test code out of ACE_ASSERT calls
+
+Thu Feb 2 06:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ Fixed another error in this file
+
+Wed Feb 1 20:33:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Event_Handler.h:
+ Doxygen improvement
+
+Wed Feb 1 20:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/msvc_static_order.lst:
+ Added CosConcurrency_IDL
+
+Wed Feb 1 18:00:06 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/ace_for_tao.mpc
+
+ Added Dirent_Selector.cpp to fix the Dirent test.
+
+Wed Feb 1 08:17:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_shm.inl:
+ Reverted another part of my changes
+
+Wed Feb 1 07:52:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/run_test.lst:
+ Fixed !ACE_FOR_TAO additions
+
+Tue Jan 31 22:08:57 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Barrier.{h cpp}: Added a new shutdown () method which aborts all
+ waiting on the barrier. Thanks to John Lilley <jlilley at datalever
+ dot com> for contributing this method.
+ Also note that the wait() method can now return -1 with errno
+ ESHUTDOWN if the barrier is shut down while waiting for it.
+
+ * tests/Barrier_Test.cpp: Added a test for barrier shutdown.
+
+ * THANKS: Added John Lilley to the Hall of Fame.
+
+Tue Jan 31 21:34:34 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/ciao_tests.lst
+
+ Added the hello test *without* naming service so we get results
+ even on platforms with a broken/nonextant Naming Service.
+
+Tue Jan 31 16:51:27 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/ciao_tests.lst
+ * bin/tao_other_tests.lst
+ * tests/run_test.lst
+
+ Added a bunch of !ACE_FOR_TAO qualifiers to tests that are not
+ built/runnable when the ACE_FOR_TAO feature is used.
+
+ * tests/run_test.lst
+
+ Removed the avoid of ace_for_tao from the Dirent test, as Dirent.cpp
+ is now built as part of ace_for_tao.
+
+Tue Jan 31 09:44:10 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_shm.{h,inl}:
+ Reverted my change below, removed the const, it causes problems with
+ solaris, have to add a special case for solaris, but will do that
+ after x.4.9 is out
+
+ Fri Jan 27 12:36:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_shm.{h,inl}:
+ Changed for the shmdt and shmat methods the void* argument to
+ const void*, this is the way posix defines these methods.
+
+Mon Jan 30 17:53:10 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/ciao_tests.lst
+
+ Added a !NOXERCES qualifier so it is possible to run only tests
+ that do not require xerces.
+
+Sat Jan 28 18:40:30 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Array_Base.h (class ACE_Array_Base): Changed private to
+ protected to enable access to certain members in derived
+ classes. Thanks to luxi78@gmail.com for suggesting this.
+
+Fri Jan 27 23:29:44 UTC 2006 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * docs/ace_guidelines.vsmacros:
+
+ Re-added the Visual Studio macros as a binary file.
+
+Fri Jan 27 23:21:49 UTC 2006 James H. Hill <hillj@isis.vanderbilt.edu>
+
+
+ * docs/ace_guidelines.vsmacros:
+
+ Removed this file since it's a binary file.
+
+Fri Jan 27 18:47:34 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/ace_for_tao.mpc
+
+ Added Dirent.cpp to resolve linking errors in TAO_IDL on Windows.
+
+Fri Jan 27 14:53:03 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/PerlACE/Run_Test.pm:
+
+ Added a method to get a random port number within the range of
+ 10002 - 32767.
+
+Fri Jan 27 14:10:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Reactor_Performance_Test.cpp:
+ Initialise some pointers with 0
+
+Fri Jan 27 13:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/DLL_Manager.h:
+ Doxygen improvements
+
+Fri Jan 27 13:43:50 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/msvc_static_order.lst:
+
+ More tweaks for split of CosConcurrency library --- build tests
+ after building the library.
+
+Fri Jan 27 13:42:03 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Fix typo in last change.
+
+Fri Jan 27 12:36:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_shm.{h,inl}:
+ Changed for the shmdt and shmat methods the void* argument to
+ const void*, this is the way posix defines these methods.
+
+Fri Jan 27 11:31:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_T.cpp:
+ Forgot this file to commit, only include the .inl file when
+ inlining is disabled
+
+Fri Jan 27 11:06:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Connector.h:
+ Improved doxygen
+
+Fri Jan 27 10:43:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Swap.h:
+ Added a deprecated tag to this file, std::swap can be used without
+ problems on all platforms, we do it in TAO without problems
+
+Fri Jan 27 10:36:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_wait.h:
+ Improved doxygen
+
+Fri Jan 27 10:11:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Thread_Manager_Test.cpp:
+ Updated this test for VxWorks with pthread support
+
+Fri Jan 27 09:45:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/performance.shtml:
+ Changed picture to 800*600
+
+ * bin/performance_stats.sh:
+ Copy the contents of html/Stats to the destination directory, this
+ way any change in this directory is automatically published on
+ the webserver. The old contents of the webserver has been checked
+ to make sure we don't loose any data.
+
+Fri Jan 27 09:14:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-osf1-4.0.h:
+ Doxygen improvements
+
+ * ace/Select_Reactor_T.{h,inl}:
+ Doxygen improvements and enabled inlining in the inline file again,
+ this was disabled and I could find that someone disable this 7 years
+ ago because of a bug in the Sun compiler at that moment. The current
+ supported versions don't have a problem with this, so enabled
+ inlining again in this core part of ACE.
+
+Fri Jan 27 03:09:01 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ If examples and/or tests have been disabled, don't bother
+ generating subdirectory hierarchies or Makefiles for them.
+
+Fri Jan 27 02:43:53 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+ * m4/ace.m4:
+
+ Remove support for --{enable,disable}-ace-perftests. The
+ performance tests are now enabled/disabled with the plain
+ --{enable,disable}-ace-tests option. We decided this as
+ flags for each type of example and test gets a unwieldly
+ once we factor in TAO (and sometime in the future CIAO).
+
+Thu Jan 26 18:53:10 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * Makefile.am (SUBDIRS):
+ * m4/ace.m4: Added support to enable/disable building the ACE tests,
+ performance tests, and examples. Thanks to Thomas E Lackey
+ <telackey at bozemanpass dot com> for contributing this.
+
+Thu Jan 26 20:25:39 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * examples/APG/Streams/BasicTask.h:
+ * examples/APG/Streams/EndTask.h: Fixed ACE_Message_Block memory leaks.
+
+Thu Jan 26 17:59:16 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/dance_extension_stub.mpb
+
+ Added a new MPC base project for DAnCE.
+
+Thu Jan 26 15:38:38 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * protocols/ace/RMCast/Template_Instantiations.cpp: Replace the
+ separate long and long long instantiations with u64 instantiations.
+ This is what the code says, and avoids issues with 64-bit
+ explicit instantiations builds.
+
+Thu Jan 26 15:20:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Singleton.h:
+ Doxygen improvements
+
+Thu Jan 26 15:05:04 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * protocols/ace/RMCast/Template_Instantiations.cpp: Add missing
+ template instantiations.
+
+Thu Jan 26 14:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Message_Block_Test.cpp:
+ * tests/Process_Manual_Event_Test.cpp:
+ * tests/Process_Mutex_Test.cpp:
+ Moved real code out of ACE_ASSERT macro's, this functionality
+ wasn't executed in release mode builds. Found this because of
+ warnings in the Intel release build that a variable was used
+ before it was assigned a value.
+
+Thu Jan 26 13:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/performance_stats.sh:
+ Increased size of pictures to 800x600 and also put linux and
+ gcc version into a file which is used by the other html files
+
+ * bin/generate_performance_chart.sh:
+ * bin/generate_topinfo_charts.sh:
+ Generate pictures of 800x600
+
+Thu Jan 26 13:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/configuration.shtml:
+ Get linux and gcc version from the file instead of hardcoding
+ it in this file
+
+ * html/Stats/simple_footprint.shtml:
+ Removed the smart proxies lib, it is always 0 size, added PI
+ and PI_Server
+
+Thu Jan 26 13:06:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_compile_stats.sh:
+ Extended this script to generate a seperate page for the CIAO
+ footprint stats. Also made the generated png images the size
+ of 800x600 and get the gcc version from gcc itself instead of
+ generating it hardcoded
+
+Thu Jan 26 13:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/generate_footprint_chart.sh:
+ Generate the png images of size 800x600, little bit bigger, makes
+ it more easier to read
+
+Thu Jan 26 11:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Registry.h:
+ * ace/Token_Request_Reply.h:
+ * ace/Semaphore.h:
+ * ace/Hash_Map_Manager_T.h:
+ * ace/Sched_Params.h:
+ Doxygen improvements
+
+Thu Jan 26 10:47:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/detailed_footprint.shtml:
+ Updated header page to also mention that we gather CIAO stats
+
+Wed Jan 25 20:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.h:
+ * ace/config-linux-common.h:
+ * ace/config-macros.h:
+ * ace/RB_Tree.h:
+ Doxygen improvements
+
+ * ace/config-freebsd.h:
+ * ace/config-macosx.h:
+ * ace/config-netbsd.h:
+ * ace/config-openbsd.h:
+ * ace/config-vxworks6.2.h:
+ Added ACE_HAS_SYSCTL, will be used in some new code that will
+ be added after x.4.9
+
+Wed Jan 25 19:57:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ Added ACE_LACKS_SUSECONDS_T and ACE_LACKS_USECONDS_T
+
+ * ace/WIN32_Asynch_IO.h:
+ * ace/TSS_T.h:
+ * ace/Timer_Queue_T.h:
+ * ace/String_Base.h:
+ * ace/iosfwd.h:
+ * ace/High_Res_Timer.h:
+ * ace/Configuration.h:
+ * ace/Log_Msg.h:
+ * ace/Message_Queue.h:
+ * ace/Process.h:
+ * ace/SOCK_Dgram_Mcast.h:
+ * ace/Managed_Object.h:
+ * ace/Map_Manager.h:
+ * ace/Containers_T.h:
+ * ace/SString.h:
+ * ace/IOStream.h:
+ Doxygen improvements
+
+Wed Jan 25 19:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm:
+ Don't use the directory group sorting with borland
+
+Wed Jan 25 19:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/sys/os_types.h:
+ If ACE_LACKS_SUSECONDS_T is defined then define suseconds_t as
+ long. If ACE_LACKS_USECONDS_T is defined then define useconds_t
+ as unsigned long.
+
+Wed Jan 25 15:05:27 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Added feature test for ACE_LACKS_SUSECONDS_T and
+ ACE_LACKS_USECONDS_T.
+
+Wed Jan 25 15:00:05 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Added feature tests for ACE_LACKS_SYS_SYSCTL_H and
+ ACE_HAS_SYSCTL.
+
+Wed Jan 25 14:38:10 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/SSL/SSL_Asynch_BIO.h:
+ * include/makeinclude/platform_lynxos.GNU:
+ Fixed compile error on LynxOS when ssl=1.
+
+Wed Jan 25 13:06:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Array.h:
+ * ace/Asynch_IO.h:
+ * ace/Asynch_IO_Impl.h:
+ * ace/Atomic_Op_T.h:
+ * ace/Basic_Types.h:
+ * ace/Caching_Utility_T.h:
+ * ace/CDR_Size.h:
+ * ace/CDR_Stream.h:
+ * ace/Cleanup_Strategies_T.h:
+ Improved documentation by using @note doxygen tag
+
+Wed Jan 25 12:48:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/TP_Reactor.{h,cpp}:
+ Improved doxygen
+
+Wed Jan 25 12:34:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_Base.h:
+ Improved doxygen
+
+Wed Jan 25 12:13:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/vcl.mpb:
+ Add compile_flags that are needed to build vcl apps
+
+ * bin/MakeProjectCreator/templates/bor.mpd:
+ If compile_flags is set, then add them to the CFLAGS
+
+Wed Jan 25 11:36:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/footprint.shtml:
+ Added link for CIAO footprint we are going to gather
+
+Wed Jan 25 10:43:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ Added ACE_LACKS_SYS_SYSCTL_H
+
+Wed Jan 25 10:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/sys/os_sysctl.h:
+ New os_include system header include file, will be used after x.4.9
+ is out because using it now can break to much builds
+
+Tue Jan 24 18:07:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ Readded ACE_LACKS_MKTEMP again, the function is declared but can't
+ be resolved during linking, reported this to WindRiver
+
+Tue Jan 24 16:56:51 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_NS_signal.inl: Removed explicit ACE_OS from sigaction
+ function - left over from trying to work around HP issues yesterday.
+
+Tue Jan 24 16:28:11 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Added feature tests for ACE_LACKS_KILL and ACE_LACKS_SIGACTION.
+
+Tue Jan 24 16:08:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_dlfcn.inl:
+ The symFindByName is only working with VxWorks in kernel mode
+
+Tue Jan 24 14:44:35 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Activation_Queue.h: Corrected @retval for enqueue(). Returns
+ >0 (number of requests now queued) on success, not 0. Thanks to
+ Guy Peleg for this correction.
+
+Tue Jan 24 14:00:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdlib.cpp:
+ Only with VxWorks 5.5.1 don't use limits, newer versions to have this
+
+Tue Jan 24 13:43:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ Removed ACE_LACKS_MKTEMP, VxWorks 6.2 delivers this function
+
+Tue Jan 24 13:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ Removed ACE_LACKS_MMAP and ACE_LACKS_MPROTECT, VxWorks 6.2 delivers
+ these functions
+
+Tue Jan 24 13:08:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_resource.inl:
+ Use the ACE_UNUSED_ARG macro for arguments that are not used
+
+Tue Jan 24 12:54:35 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm:
+
+ Choosed a non-group sorting method if the MPC_GNUACE_NAMED_TARGETS
+ environment variable is set.
+
+Tue Jan 24 12:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_netdb.{h,cpp,inl}:
+ * ace/config-vxworks5.x.h:
+ Simplified the vxworks specific code, VxWorks 6.2 does deliver several
+ of the API's we don't had with VxWorks 5.5.1.
+
+ * ace/config-psos-diab-mips.h:
+ * ace/config-psos-diab-ppc.h:
+ * ace/config-psos-diab.h:
+ * ace/config-psos-tm.h:
+ * ace/config-psosim-g++.h:
+ Added ACE_LACKS_GETHOSTBYNAME
+
+Tue Jan 24 12:12:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_netdb.h:
+ * ace/OS_NS_netdb.inl:
+ Use ACE_VXWORKS instead of VXWORKS and introduced
+ ACE_LACKS_GETHOSTBYADDR, ACE_LACKS_GETPROTOBYNUMBER and
+ ACE_LACKS_GETPROTOBYNAME to make maintenance easier
+
+ * ace/config-chorus.h:
+ * ace/config-psos-diab-mips.h:
+ * ace/config-psos-diab-ppc.h:
+ * ace/config-psos-diab.h:
+ * ace/config-psos-tm.h:
+ * ace/config-psosim-g++.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-WinCE.h:
+ Added the new defines to the correct files
+
+Tue Jan 24 11:48:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_arpa_inet.cpp (inet_aton):
+ Use ACE_VXWORKS instead of VXWORKS and made it dependent on the
+ VxWorks version number
+
+Tue Jan 24 10:33:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * OS_NS_signal.inl:
+ Introduced ACE_LACKS_SIGACTION and ACE_LACKS_KILL to make things
+ easier to maintain
+
+ * ace/config-chorus.h:
+ * ace/config-psos-diab-mips.h:
+ * ace/config-psos-diab-ppc.h:
+ * ace/config-psos-diab.h:
+ * ace/config-psos-tm.h:
+ * ace/config-psosim-g++.h:
+ * ace/config-win32-common.h:
+ * ace/config-WinCE.h:
+ Added ACE_LACKS_SIGACTION, ACE_LACKS_KILL
+
+Mon Jan 23 22:08:56 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_NS_signal.{h inl}:
+ * ace/OS_TLI.h: The method-name-same-as-struct-name hack for HP aC++
+ needs to go up through version 03.65. This compiler version is used
+ on HP-UX 11iv2 on PA-RISC, so the hack can't be expunged when
+ removing HP-UX 11.00 support. The hack does not appear to be needed
+ for aC++ on HP-UX on Integrity (aC++ v06.xx). Also see
+ Mon Jan 23 16:35:40 UTC 2006 Steve Huston <shuston@riverace.com>
+
+Mon Jan 23 20:19:25 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/ciao_tests.lst
+
+ Removed the "Exceptions" qualifier from the CIAO tests, as we
+ no longer support emulated exceptions, and we want these
+ tests to run everywhere.
+
+Mon Jan 23 18:07:00 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * apps/Gateway/Gateway/Event_Channel.cpp: Put the ACE_INET_Addr
+ setup on separate lines to help aC++ optimizer get it right.
+
+Mon Jan 23 16:35:40 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/OS_TLI.{h inl}: HP aC++ 03.56 (last aC++ for HP-UX 11.00) gets
+ confused with struct t_optmgmt being defined as extern "C" by the OS
+ and referenced in namespace ACE_OS by ACE. To help this compiler
+ deal, typedef ACE_TOPTMGMT appropriately, with extern "C" for
+ aC++ less than 03.60 and normally for all other compilers. This
+ should take care of the odd t_optmgmt errors.
+
+ When we remove support for HP-UX 11.00, this hack should be removed
+ as well.
+
+ * apps/JAWS3/jaws3/Reactive_IO.cpp: Replace #include "ace/OS.h" with
+ #include "ace/OS_NS_unistd.h". Leaving OS.h gets HP aCC into a state
+ where it gets confused about methods and types with the same name,
+ in this case t_optmgmt.
+
+Mon Jan 23 15:51:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ATM_Acceptor.h:
+ * ace/OS_NS_stdio.h:
+ Doxygen improvements
+
+Mon Jan 23 15:43:56 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/msvc_static_order.lst:
+
+ Update for split of CosConcurrency, CosProperty, and
+ RTEventLogAdmin libraries.
+
+Mon Jan 23 08:02:08 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Pipe.cpp: Added static_cast<u_short> (0) rather than
+ (u_short) 0 to the ACE_INET_Addr local_any in ACE_Pipe::open().
+
+Sat Jan 21 08:19:34 UTC 2006 James H. Hill <hillj@isis.vanderbilt.edu>
+
+ * docs/ACE-guidelines.html:
+ * docs/ace_guidelines.vsmacros:
+
+ Added Visual Studio .NET macros project that helps with formatting
+ according to ACE guidelines. Also noted the macros project in the
+ documentation file.
+
+Fri Jan 20 22:51:09 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * apps/JAWS/server/IO.h:
+ * apps/JAWS/server/IO.cpp:
+
+ Fixed unused paramerer warnings.
+
+ * apps/JAWS2/JAWS/IO.h:
+ * apps/JAWS2/JAWS/IO.cpp:
+
+ tried to fix the 'cast to pointer from interger of different size'
+ warning. It had to do with the fact that x86_64 void* are 8 bytes and
+ the cast was from an int which 4 bytes. When James Hu wrote that
+ code there were no 64 bit archs so the error is showing up now.
+
+Fri Jan 20 15:05:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/WIN32_Proactor.h:
+ No need to export ACE_WIN32_Asynch_Timer
+
+Fri Jan 20 14:55:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/*.doxygen:
+ Updated EXPAND_AS_DEFINED so that we generate documentation with
+ exceptions in the interfaces
+
+Fri Jan 20 13:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-macros.h:
+ Replace VXWORKS with ACE_VXWORKS and guarded the following
+ macros with ACE_LACKS_DEPRECATED_MACROS so that usage of these
+ deprecated macros within ACE/TAO is prevented: ACE_USING,
+ ACE_SYNCH_1, and ACE_SYNCH_2
+
+Fri Jan 20 11:29:54 UTC 2006 Boris Kolpackov <boris@kolpackov.net>
+
+ * protocols/ace/RMCast/Protocol.h:
+
+ Fixed a race condition.
+
+ * protocols/ace/TMCast/FaultDetector.hpp:
+
+ Added a flag to prevent a single group member from terminating
+ until data is received from other members.
+
+Fri Jan 20 11:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added new PI AdvSlot test
+
+Wed Jan 18 19:40:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added new PI Slot test
+
+Wed Jan 18 19:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/WFMO_Reactor.cpp:
+ Replace c-style cast with reinterpret_cast
+
+ * ACE-INSTALL.html:
+ Small cygwin update
+
+ * ace/Mem_Map.h:
+ Doxygen improvements
+
+ * ace/Mem_Map.cpp:
+ ACE_OS::filesize returns off_t
+
+Wed Jan 18 18:22:13 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * apps/Gateway/Gateway/Event_Channel.cpp:
+
+ Updated because constructors of ACE_INET_Addr are now explicit.
+
+Wed Jan 18 06:55:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-cygwin32.h:
+ Added ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+
+Tue Jan 17 20:37:05 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/rteventlogadmin.mpb:
+ * bin/MakeProjectCreator/config/rteventlogadmin_serv.mpb:
+ * bin/MakeProjectCreator/config/rteventlogadmin_skel.mpb:
+
+ Split RTEventLogAdmin Service into three libraries:
+ RTEventLogAdmin, RTEventLogAdmin_Skel, and RTEventLogAdmin_Serv
+ for client stubs, servant skeletons, and service implementation
+ respectively.
+
+Tue Jan 17 20:28:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Module.h:
+ Doxygen improvement
+
+Tue Jan 17 19:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-cygwin32.h:
+ Added ACE_HAS_P_READ_WRITE and removed ACE_LACKS_READDIR_R, this
+ is for Cywin 1.5.19
+
+Tue Jan 17 18:50:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/INET_Addr.{h,cpp}:
+ Improved doxygen, changed VXWORKS to ACE_VXWORKS and make one
+ of the constructors that has two arguments, one has to be passed
+ the other has a default value explicit
+
+Tue Jan 17 17:38:46 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv2/display_logfile.cpp: In the Logrec_Module
+ constructor, don't use base-class initialization to pass &task_
+ to ACE_Module. Doing so passes &task_ before task_ has been
+ constructed. Thus, when ACE_Module sets the task's module
+ pointer, it gets overwritten when task_ is constructed after
+ return from ACE_Module's constructor. Calling task_'s module()
+ method in this case will yield a 0 pointer, which is not correct.
+ To remedy this, call ACE_Module::open() directly from within
+ the Logrec_Module constructor.
+ Also see Stroustrup pg 307.
+ Thanks to David Hawkins for pointing this out.
+
+Tue Jan 17 16:27:47 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/OS_NS_dlfcn.inl:
+ Fixed compile error on LynxOS 3.x.
+
+Tue Jan 17 15:37:29 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/config/taodefaults.mpb:
+
+ If the corba_messaging feature is disabled, then add the
+ TAO_HAS_CORBA_MESSAGING=0 macro to ensure that TAO is built
+ properly.
+
+Tue Jan 17 14:03:14 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Module.h: Change ~ACE_Module to be virtual so that derived
+ classes can be cleaned up properly. Thanks to David Hawkins
+ <dwh at ovro dot caltech dot edu> for this fix.
+
+ * THANKS: Added David Hawkins to the Hall of Fame.
+
+Tue Jan 17 01:12:35 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Pipe.cpp (open): Added a cast to u_short for the first
+ parameter to ACE_INET_Addr to avoid complaints on certain
+ compilers. Thanks to Wallace Zhang for reporting this.
+
+Mon Jan 16 06:59:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_dlfcn.inl:
+ Fixed compile errors with VxWorks 5.5
+
+Mon Jan 16 15:17:22 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Pipe.cpp (open): Changed
+
+ ACE_INET_Addr local_any ("localhost:0");
+
+ to
+
+ ACE_INET_Addr local_any (0, ACE_LOCALHOST);
+
+ so that it will work more portably. Thanks to Steve Huston for
+ suggesting this fix.
+
+Mon Jan 16 20:43:26 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/README:
+ Removed ACE_HAS_PREDEFINED_THREAD_CANCELLED_MACRO, it is
+ no longer used.
+
+ * ace/config-lynxos.h:
+ Minor updates for LynxOS 4.0.
+
+ * tests/run_test.lst:
+ Run a few more tests on LynxOS.
+
+Mon Jan 16 20:08:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Record.h:
+ Doxygen improvement
+
+Mon Jan 16 19:52:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_errno.h:
+ Replaced VXWORKS with ACE_VXWORKS
+
+Mon Jan 16 19:44:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SOCK_IO.cpp:
+ When using FIONREAD the 3rd argument should be of type int. This
+ fixes bugzilla bug 2360. Thanks to Michael Klein
+ <michael dot klein at fazi dot de> for reporting this.
+
+ * ace/SV_Semaphore_Complex.h:
+ Instead of ACE_USING just use "using"
+
+ * ace/Sched_Params.cpp:
+ * ace/ACE.cpp:
+ * ace/INET_Addr.cpp:
+ * ace/OS_NS_netdb.cpp:
+ Replaced VXWORKS with ACE_VXWORKS
+
+ * ace/Read_Buffer.h:
+ * ace/Reactor.h:
+ Doxygen improvement
+
+ * ace/Flag_Manip.inl:
+ Removed remark about VxWorks, not valid anymore with
+ newer versions
+
+ * ace/OS_NS_dlfcn.inl:
+ Removed ACE_HAS_CHARPTR_DL, is not defined in any config file
+
+ * ace/config-all.h:
+ Removed old vxworks specific part
+
+Mon Jan 16 17:23:42 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Added ACE_HAS_POSIX_REALTIME_SIGNALS.
+
+Mon Jan 16 17:20:50 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Do not use mmap() emulation on LynxOS 4.0.
+
+Mon Jan 16 17:00:26 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * apps/JAWS/server/HTTP_Handler.h:
+ * apps/JAWS/server/HTTP_Handler.cpp:
+ * apps/JAWS/server/HTTP_Server.h:
+ * apps/JAWS/server/HTTP_Server.cpp:
+ * apps/JAWS/server/IO.h:
+ * apps/JAWS/server/IO.cpp:
+ * apps/JAWS/server/README:
+ * apps/JAWS/server/svc.conf:
+
+ Checking the some changes to JAWS. This is the code that adds the ability
+ to start the server without file caching. This functionality is necessary
+ for the proper coordination of file creations and deletions between JAWS
+ and the RepositoryManager in CIAO. The changes are explained in the README.
+ I have added a line in the svc.conf file which shows how to enable this new
+ functionality.
+
+Mon Jan 16 16:53:38 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Removed ACE_HAS_PREDEFINED_THREAD_CANCELLED_MACRO, it is
+ no longer used.
+
+Mon Jan 16 14:35:10 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ * include/makeinclude/platform_lynxos.GNU:
+ Improved shared library support for LynxOS 4.0.
+
+Mon Jan 16 05:54:44 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Timer_Queue_Adapters.cpp (svc): Added a fix so that
+ this code will work for both regular timers and high-resolution
+ timers. Thanks to Eric Tiangang <tgliu@utstar.com> and Robert
+ Iakobashvili <coroberti at gmail dot com> for this fix. This
+ fixes bugid 2348.
+
+ * include/makeinclude/platform_linux.GNU (LD):
+ Pass -O3 to GNU-linker to reduce footprint due to ld
+ optimizations. Thanks to Robert Iakobashvili <coroberti at
+ gmail dot com> for this enhancement.
+
+Sun Jan 15 19:20:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SOCK_IO.{cpp,inl}:
+ Removed several casts which where not needed and only cause
+ problems with 64bit builds
+
+Sun Jan 15 18:57:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Service_Config.h:
+ Fixed ACE_DYNAMIC_SERVICE_DIRECTIVE macro when unicode is
+ enabled. Thanks to Jan Ohlenburg <jan dot ohlenburg at
+ fit dot fraunhofer dot de>.
+
+Sun Jan 15 06:06:38 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/avstreams.mpb:
+
+ Update to inherit from property_serv. as this project uses a
+ collocated property service --- property.mpb now only brings
+ in the client stubs.
+
+ * bin/MakeProjectCreator/config/concurrency.mpb:
+ * bin/MakeProjectCreator/config/concurrency_serv.mpb:
+ * bin/MakeProjectCreator/config/concurrency_skel.mpb:
+
+ Split CosConcurrency Service into three libraries:
+ CosConcurrency, CosConcurrency_Skel, and CosConcurrency_Serv for
+ client stubs, servant skeletons, and service implementation
+ respectively.
+
+ * bin/MakeProjectCreator/config/property.mpb:
+ * bin/MakeProjectCreator/config/property_serv.mpb:
+ * bin/MakeProjectCreator/config/property_skel.mpb:
+
+ Split CosProperty Service into three libraries:
+ CosProperty, CosProperty_Skel, and CosProperty_Serv for client
+ stubs, servant skeletons, and service implementation
+ respectively.
+
+Sat Jan 14 12:59:39 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Pipe.cpp (open): Added a workaround so that "localhost:0"
+ is used rather than sap_any to avoid triggering firewall rules
+ on Windows. Thanks to Paul Felix <pef@fluent.com> for this fix.
+
+ * ace/ACE.h (ACE): Updated the documentation for ACE::fork() to
+ indicate that -1 or 1 are returned if avoid_zombies != 0. This
+ is a bug that needs to be fixed at some point. Thanks to Tobias
+ Herzke <tobias.herzke@uni-oldenburg.de> for reporting this.
+
+Fri Jan 13 19:06:33 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Reorder some function feature tests so they're closer to
+ alphabetical order. This makes it easier to maintain.
+
+Fri Jan 13 17:56:53 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Added ACE_LACKS_SYSTEM feature test.
+
+Fri Jan 13 09:38:21 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * docs/ACE-bug-process.html (HREF): Updated this document to
+ explain the process for submitting a patch. Thanks to Rick
+ Taylor <rick@tropicalstormsoftware.com> for motivating this.
+
+Fri Jan 13 12:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp (~TSS_Cleanup_Instance):
+ Set the members to zero after a delete because it are static
+ ones.
+
+Fri Jan 13 11:47:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdlib.inl:
+ Changed ACE_OS::system to use ACE_LACKS_SYSTEM
+
+ * ace/config-chorus.h:
+ * ace/config-psos-diab-mips.h:
+ * ace/config-psos-diab-ppc.h:
+ * ace/config-psos-diab.h:
+ * ace/config-psos-tm.h:
+ * ace/config-psosim-g++.h:
+ * ace/config-WinCE.h:
+ Added ACE_LACKS_SYSTEM
+
+Fri Jan 13 08:34:18 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * test/test_config.h:
+
+ Changed so the very first thing we do is #undef ACE_NDEBUG.
+
+ * test/OS_Test.cpp:
+
+ Changed to make "test_config.h" the first header to be
+ #included, as it #undef's ACE_NDEBUG. This ensures ACE_ASSERT()
+ will be defined so it validates its expression even for debug=0
+ builds. Without this, all the checks in this file are compiled
+ out. Fortunately unreferenced symbol warnings made us aware of
+ this problem.
+
+Fri Jan 13 07:53:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-lynxos.h:
+ Added ACE_LACKS_SETEGID
+
+Fri Jan 13 04:49:41 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Changed to use AC_SEARCH_LIBS for the -lsocket and -lnsl
+ libraries before calling ACE_CONFIGURATION_OPTIONS. Third party
+ libraries may those libraries, and if they haven't been added to
+ $LIBS, the feature tests will fail.
+
+Thu Jan 12 20:30:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_time.inl:
+ * ace/README:
+ Added ACE_HAS_CLOCK_GETTIME_MONOTONIC, this is the patch from
+ bugzilla bug 2358. Not closing that one yet, have to see how
+ to autoconf this and where this new macro should be set. Thanks
+ to Robert Iakobashvili <coroberti at gmail dot com> for these
+ patches
+
+Thu Jan 12 19:50:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Assert.h:
+ Export the __ace_assert function to resolve link errors on
+ Windows
+
+Thu Jan 12 16:44:40 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Functor.{h inl}: Using ACE_LACKS_LONGLONG_T wasn't good enough
+ for deciding when to do an ACE_Hash<[unsigned] long long>. MSVC6
+ can't hack it. So, do the specialization for the 64-bit types if
+ ACE_SIZEOF_LONG < 8, avoiding a duplication of ACE_Hash<long>.
+ Also, since the way "unsigned long long" is declared varies across
+ compilers, use ACE_[U]INT64 rather than the native C++ type.
+
+ * ace/INET_Addr.cpp (string_to_addr): u_short always compares >= 0,
+ so rely on the indicated end of successful scan from ACE_OS::strtol()
+ to say whether it scanned all digits or stopped short of the end of
+ the string.
+
+Thu Jan 12 12:59:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ For rtp mode, set PIC correctly
+
+Thu Jan 12 12:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ When building for rtp also set DLD
+
+Thu Jan 12 11:51:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ For rtp model we don't need to make sure the shared object
+ directory is the same as static
+
+Thu Jan 12 11:45:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.inl:
+ Fixed some comments after endif
+
+ * ace/config-lynxos.h:
+ Added ACE_LACKS_SETUID and ACE_LACKS_SETEUID
+
+Thu Jan 12 10:34:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ Improved building executables for rtp
+
+Thu Jan 12 10:10:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Removed all support for VxWorks 6.1, this version wa just an
+ intermediate step from 5.5 to 6.2. The port never completed and
+ we are aimin at 6.2 at this moment, so to not give false
+ impressions removed all the support for 6.1.
+
+ * include/makeinclude/platform_vxworks6.1.GNU:
+ * ace/config-vxworks6.1.h:
+ Removed these files
+
+ * ace/Sock_Connect.cpp:
+ * ace/OS_NS_unistd.inl:
+ * ace/os_include/os_time.h:
+ * ace/os_include/os_stdio.h:
+ * ace/os_include/sys/os_wait.h:
+ Removed references to VxWorks 6.1
+
+Thu Jan 12 09:51:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks5.x.h:
+ Added ACE_LACKS_GETPGID
+
+Thu Jan 12 01:08:32 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/ACE.pc.in:
+
+ Added @LIBS@ to Libs.
+
+ * ace/SSL/ACE_SSL.pc.in:
+
+ Added @ACE_TLS_LDFLAGS@ and @ACE_TLS_LIBS@ to Libs.
+
+ Added @ACE_TLS_CPPFLAGS@ to Cflags.
+
+Wed Jan 11 22:17:39 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * protocols/ace/RMCast/Template_Instantiations.cpp: Added missing
+ explicit instantiations.
+
+Wed Jan 11 21:19:21 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Functor.{h inl}: Remove the ACE_* type specializations and
+ add specializations for ACE_Hash for [unsigned] short,
+ [unsigned] int, [unsigned] long, [unsigned] long long. This
+ should resolve the compile errors on some platforms resulting
+ from the changes in:
+ Tue Jan 10 23:04:06 UTC 2006 Steve Huston <shuston@riverace.com>
+ and still allow everything to work regardless of what integral types
+ are used.
+
+Wed Jan 11 11:43:42 2006 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ From Richard Ward <richard_ward at symantec dot com>
+ * ace/Auto_Ptr.h (ACE_AUTO_PTR_RESET):
+
+ Assign "NEWPTR" macro argument to a temporary "TYPE" pointer,
+ and use that pointer in place of "NEWPTR" to force "NEWPTR" to
+ be expanded only once. Prevents a memory leak from occuring
+ when "NEWPTR" is an expression such as "new foo".
+
+ Delete the object released from the auto_ptr<>. Previously it
+ was ignored, resulting in a memory leak. Fixes a memory leak.
+
+ * THANKS:
+
+ Added Richard to the Hall of Fame.
+
+Wed Jan 11 18:58:15 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Assert.cpp:
+ * ace/Assert.h:
+
+ Added const qualifier to __ace_assert() "expression" parameter.
+
+Wed Jan 11 17:36:44 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Assert.h:
+
+ Use ACE_VERSIONED_NAMESPACE_NAME prefix for __ace_assert()
+ invocation.
+
+Wed Jan 11 14:24:20 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+
+ Updated.
+
+ * ace/ace.mpc:
+ * ace/ace_for_tao.mpc:
+
+ Added Assert.cpp to Source_Files section.
+
+ * ace/Global_Macros.h:
+
+ Changed to #include "ace/Assert.h", as the ACE_FACTORY_DEFINE
+ macro uses ACE_ASSERT.
+
+ * ace/Log_Msg.h:
+
+ Changed to #include "ace/Assert.h" for backwards compatibilty
+ with earlier ACE releases.
+
+ * ace/Assert.cpp:
+ * ace/Assert.h:
+
+ Factor ACE_ASSERT() macro out of Log_Msg.h into new files
+ Assert.h, with a helper-function in Assert.cpp. This reduces
+ the footprint of an ACE_ASSERT() invocation to a single call.
+
+Wed Jan 11 13:14:52 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/rules.local.GNU:
+
+ Corrected a problem in determining if depgen.pl is the dependency
+ generator. The logic can now handle the instance where the script
+ is preceded by /usr/bin/perl (or something similar).
+
+Wed Jan 11 06:47:04 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/OS_NS_Thread.cpp (~TSS_Cleanup_Instance): Delete the mutex and condition
+ variable to prevent memory leaks. Thanks to Domingos Monteiro
+ <d dot monteiro at netia dot net> for this fix.
+
+Tue Jan 10 23:04:06 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/Functor.{h inl}: Added specialization for ACE_Hash<unsigned long>
+ to help the explicit instantiation build get along.
+
+Tue Jan 10 22:30:21 UTC 2006 Steve Huston <shuston@riverace.com>
+
+ * ace/INET_Addr.cpp (string_to_addr): Correctly identify a specified
+ port number of "0". Thanks to Guy Peleg <guy dot peleg at amdocs
+ dot com> for this fix.
+
+ * THANKS: Added Guy Peleg to the Hall of Fame.
+
+Tue Jan 10 20:05:54 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/rules.local.GNU:
+
+ Ensure that the correct object files get cleaned up when doing a
+ make clean. Logic was duplicated in this file (but did not
+ correspond to the correct logic found in the gnu.mpd or
+ rules.lib.GNU).
+
+Tue Jan 10 17:45:10 UTC 2006 Scott Harris <harris_s@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+
+ Added TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/run_test.pl.
+
+Tue Jan 10 17:09:26 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add feature tests for ACE_LACKS_CHDIR, ACE_LACKS_DUP2,
+ ACE_LACKS_GETPID, ACE_LACKS_ISATTY, ACE_LACKS_SETPGID, and
+ ACE_LACKS_UNLINK. Re-arrange some things so the tests are
+ closer to alphabetical order -- this makes the file easier
+ to maintain.
+
+Tue Jan 10 16:35:35 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/ChangeLogEditor/ChangeLogEdit.pm:
+ * bin/cle.pl:
+
+ Removed references to the name "CVS". At this layer, the revision
+ control system is unknown.
+
+Tue Jan 10 13:36:55 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Svc_Conf_Lexer.cpp:
+
+ Modified GNU specific code to compile with the -pedantic option.
+
+Tue Jan 10 13:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ Compilation for rtp mode is now the default
+
+Tue Jan 10 13:14:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.1.h:
+ * ace/config-vxworks6.2.h:
+ Only define ACE_MAIN in kernel mode
+
+Tue Jan 10 11:36:43 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Added feature tests for ACE_LACKS_DUP, ACE_LACKS_GETEGID,
+ ACE_LACKS_GETEUID, ACE_LACKS_GETGID, ACE_LACKS_GETUID,
+ ACE_LACKS_PIPE, ACE_LACKS_SETEGID, ACE_LACKS_SETEUID,
+ ACE_LACKS_SETSID, ACE_LACKS_SETGID, and ACE_LACKS_SETUID.
+
+Tue Jan 10 10:10:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-hpux-10.x.h:
+ * ace/config-hpux-11.00.h:
+ Added ACE_LACKS_SETEGUID and ACE_LACKS_SETEUID
+
+Tue Jan 10 10:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.inl:
+ Simplified a lot of methods in this file by adding new ACE_LACKS
+ macros. For VxWorks and psos we now also return -1 with notsup
+ for the uid methods, these methods just don't work on these
+ platforms because they are not there and we don't have multiple
+ users. This will make this file much easier to maintain
+
+ * ace/config-chorus.h:
+ * ace/config-integritySCA.h:
+ * ace/config-psos-diab-mips.h:
+ * ace/config-psos-diab-ppc.h:
+ * ace/config-psos-diab.h:
+ * ace/config-psos-tm.h:
+ * ace/config-psosim-g++.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.1.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-win32-common.h:
+ Added the new ACE_LACKS macros from OS_NS_unistd.inl
+
+Tue Jan 10 07:21:19 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/C++NPv2/Makefile.am:
+ * examples/C++NPv2/README:
+ * examples/C++NPv2/Reactor_Logging_Server.cpp:
+ * examples/C++NPv2/Reactor_Logging_Server_Adapter.h:
+ * examples/C++NPv2/Select_Reactor_Logging_Server.cpp:
+ * examples/C++NPv2/TP_Logging_Server.h:
+ * examples/C++NPv2/TP_Reactor_Logging_Server.cpp:
+ * examples/C++NPv2/WFMO_Reactor_Logging_Server.cpp:
+
+ Update for change below.
+
+ * examples/C++NPv2/Reactor_Logging_Server.h:
+ * examples/C++NPv2/Reactor_Logging_Server_T.h:
+
+ Renamed Reactor_Logging_Server.h to Reactor_Logging_Server_T.h.
+ When ACE_TEMPLATES_REQUIRES_SOURCE is not defined (as is so in
+ the automake build), the Sun Studio 11 C++ compiler associates
+ Reactor_Logging_Server.h with Reactor_Logging_Server.cpp instead
+ of Reactor_Logging_Server_T.cpp when instantiating templates.
+ This results in interesting (and difficult to track down) errors.
+
+Mon Jan 9 20:20:14 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace.m4:
+
+ Explicitly automake conditional BUILD_ACE_FOR_TAO to false
+ (at least for now).
+
+ * ace/Makefile.am:
+
+ Small tweaks to fix errors introduced by MPC generation.
+
+Mon Jan 9 20:19:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/makeicc.pl:
+ Removed this file, it is ancient
+
+Mon Jan 9 19:08:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ace_wchar.h:
+ VxWorks rtp has int_t
+
+ * ace/config-vxworks6.2.h:
+ Rtp has wchar.h and wctype.h
+
+ * ace/OS_NS_String.{h,inl,cpp}:
+ Updated the wchar_t methods that has a int_t argument to use wchar_t
+ instead. That matches the opengroup definition and resolved the
+ compile errors with VxWorks. Also replaced some c-style and static
+ casts with const_casts.
+
+ * ace/config-vxworks6.2.h:
+ VxWorks 6.2 in rtp mode has a lot of wchar_t functionality, use it!
+
+Mon Jan 9 18:32:55 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Makefile.am:
+
+ Regenerated for Service Configurator parser changes:
+ Mon Jan 9 15:18:49 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/ace.mpc:
+
+ Added Hash_Map_Manager.h to Header_Files section.
+
+Mon Jan 9 18:03:50 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Added ACE_LACKS_GETOPT and ACE_LACKS_SYSCONF feature tests.
+
+Mon Jan 9 15:18:49 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Encoding_Converter.h:
+ * ace/Encoding_Converter.cpp:
+ * ace/Encoding_Converter_Factory.h:
+ * ace/Encoding_Converter_Factory.cpp:
+ * ace/Svc_Conf.h:
+ * ace/Svc_Conf_Lexer.h:
+ * ace/Svc_Conf_Lexer.cpp:
+ * ace/UTF16_Encoding_Converter.h:
+ * ace/UTF16_Encoding_Converter.inl:
+ * ace/UTF16_Encoding_Converter.cpp:
+ * ace/UTF32_Encoding_Converter.h:
+ * ace/UTF32_Encoding_Converter.cpp:
+ * ace/UTF8_Encoding_Converter.h:
+ * ace/UTF8_Encoding_Converter.cpp:
+ * ace/svcconf.mpb:
+
+ Added Unicode support to the Service Configurator by hand-coding
+ the lexer portion to properly take into account non-US UTF8,
+ UTF16 and UTF32 encodings. Some of the UFT16 and UTF32 conversion
+ code came directly from Unicode, Inc.
+
+ This is a drop-in replacement for the flex generated lexer and
+ heap allocates the encoding converters. However, this version
+ performs less heap allocations and has a smaller footprint than
+ the flex generated lexer.
+
+ * tests/Service_Config_Test.UTF-16.conf:
+ * tests/Service_Config_Test.WCHAR_T.conf:
+
+ Added byte order marks to ensure that they are interpreted
+ properly on all machines.
+
+ * ace/Svc_Conf.l:
+ * ace/Svc_Conf_Lexer_Guard.h:
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+ * ace/Svc_Conf_l.cpp:
+
+ * etc/Svc_Conf_l.cpp.diff:
+
+ Removed these files.
+
+Mon Jan 9 14:38:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unisth.{h,cpp}:
+ Integrated patches of bugzilla bug 2357, thanks to Volker Lukas
+ <vlukas at gmx dot de> for delivering this. This adds setuid(uid_t),
+ setgid(gid_t), getuid() and getgid().
+ Also introduced ACE_LACKS_SYSCONF and ACE_LACKS_GETOPT to make
+ the VxWorks 6.2 port cleaner
+
+ * ace/config-integritySCA.h:
+ * ace/config-psos-diab-mips.h:
+ * ace/config-psos-diab-ppc.h:
+ * ace/config-psos-diab.h:
+ * ace/config-psos-tm.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.1.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-win32-common.h:
+ Added ACE_LACKS_SYSCONF and ACE_LACKS_GETOPT to the appropriate
+ config files
+
+Mon Jan 9 14:14:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_main.cpp.{h,cpp}:
+ The VxWorks specific way of handling main shouldn't be used
+ when building for the rtp model, then the normal main should
+ be used
+
+Mon Jan 9 13:44:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added TAO/tests/Bug_2349_Regression/run_test.pl
+
+Mon Jan 9 11:27:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ * ace/OS_NS_stdlib.inl:
+ Added ACE_LACKS_PUTENV. VxWorks 6.2 seems to have this method
+ declared, but when linking in rtp model we get an unresolved
+ external. So, just disable it for the moment, send a test
+ case for this to WindRiver
+
+Mon Jan 9 10:47:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ Improved build rules for the rtp model
+
+Mon Jan 9 09:36:29 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Fix typo in ACE_LACKS_NAMED_POSIX_SEM feature test.
+
+Mon Jan 9 09:30:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/PI_Malloc.h:
+ Doxygen improvements
+
+Mon Jan 9 09:16:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_stat.{h,inl}:
+ Changed the return type of filesize to off_t, that is the type to
+ be used for filesizes
+
+Mon Jan 9 07:59:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_limits.h:
+ VxWorks 6.2 defines PIPE_BUF as -1, this is not correct, undef it
+ when it is defined as -1.
+
+Sun Jan 8 19:34:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ Updated some more to reflect the OS correctly.
+
+ * ace/Sock_Connect.cpp:
+ Updated for vxworks 6.2
+
+ * ace/POSIX_Asynch_IO.cpp:
+ * ace/POSIX_CB_Proactor.h:
+ * ace/POSIX_Proactor.{h,cpp}:
+ Added ACE_OPCODE_ for the OpCode enums READ and WRITE, READ is also
+ a define under VxWorks making this problematic to enable
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ Improved rtp building rules
+
+Sat Jan 7 13:34:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.{h,inl}:
+ For the sec accessor methods use time_t as type, that is also the
+ type used to store the number of seconds.
+
+Sat Jan 7 13:29:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc-8.h:
+ Added ACE_HAS_NEW_NOTHROW. Msvc8 throws std::bad_alloc by default,
+ for the ACE_NEW macros we disable this, we just get a zero back on
+ out of memory. This fixes bugzilla bug 2333
+
+Sat Jan 7 13:17:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-mingw.h:
+ Added ACE_HAS_NONCONST_WCSDUP
+
+Fri Jan 6 21:20:58 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Process_Manager.cpp:
+ * ace/Process_Manager.h:
+
+ There can be a race condition if a process exits between the
+ time it is spawned and the time its handler is registered.
+ Changed the spawn() methods to take an optional handler so
+ it can be registered atomically.
+
+Thu Jan 5 15:37:32 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add ACE_LACKS_UNAME feature test.
+
+Thu Jan 5 11:48:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/README:
+ * ace/config-chorus.h:
+ * ace/config-integritySCA.h:
+ * ace/config-psosim-g++.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.1.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-win32-common.h:
+ * ace/OS_NS_sys_utsname.{h,cpp}:
+ Introduced ACE_LACKS_UNAME and refactored ACE_OS::uname a
+ little bit. VxWorks 6.2 does deliver uname in the new rtp model,
+ this file explicitly checked for some OS defines, adding there
+ the new rtp check was making it real complex, so added this new
+ define and set it in the appropriate config files. Also handle
+ some new processor architecture defines windows now has.
+
+ * ace/OS_NS_sys_utsname.inl:
+ Removed this file, was empty
+
+ * ace/Makefile.am:
+ Updated because of removed file
+
+Thu Jan 5 09:52:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.2.GNU:
+ Improved rtp model support
+
+Wed Jan 4 21:25:11 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Changed "add-log-time-format" to a really ugly lambda expression
+ that formats changelog timestamps in UTC and works with both GNU
+ Emacs and XEmacs.
+
+Wed Jan 4 19:50:27 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/ChangeLogEditor/ChangeLogEntry.pm:
+
+ Modified this to use UTC instead of local time.
+
+Wed Jan 4 18:44:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ Fixed 64bit conversion warning
+
+Wed Jan 4 11:04:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ Generate LIBNAME and PRJ_TYPE, needed for VxWorks rtp support
+
+Wed Jan 4 10:49:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ In rtp mode we can't access the WIND_TCB struct anymore, meaning
+ that the TSS emulation can't work anymore.
+
+ * ace/OS_NS_Thread.{h,cpp,inl}:
+ Only call the native tss methods when they are available
+
+Wed Jan 4 09:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/sys/os_time.h:
+ Added workaround for VxWorks 6.2 that defines timeval in time.h
+
+ * ace/High_Res_Timer.cpp:
+ * ace/OS_NS_time.inl:
+ * ace/README:
+ * ace/Time_Value.inl:
+ Removed checks for !ACE_HAS_BROKEN_TIMESPEC_MEMBERS, this define
+ is not set in any config file, so zapped it
+
+Wed Jan 4 08:30:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ Improved support for the diab compiler
+
+ * ace/TTY_IO.cpp:
+ Only define the const char arrays when they are going to be
+ used. Fixes unused variable warnings with vxworks
+
+ * ace/OS_NS_dlfcn.inl:
+ * ace/OS_NS_stropts.inl:
+ * ace/OS_NS_sys_socket.inl:
+ * ace/OS_NS_Thread.h:
+ * ace/os_include/os_dirent.h:
+ * ace/os_include/os_fcntl.h:
+ * ace/os_include/os_limits.h:
+ * ace/os_include/os_netdb.h:
+ * ace/os_include/os_stropts.h:
+ * ace/os_include/sys/os_socket.h:
+ * ace/os_include/sys/os_un.h:
+ Made VxWorks specific includes dependent on the VxWorks version.
+ VxWorks is getting more and more posix compliance which means we
+ don't have to include special VxWorks header files. Also use
+ ACE_VXWORKS to check for this
+
+Tue Jan 3 21:31:29 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Add "indent-tabs-mode: nil" to Local Variables at end of file.
+ Untabify.
+ Delete-trailing-whitespace.
+
+Tue Jan 3 14:26:12 UTC 2006 Johnny Willemsen <jwilemsen@remedy.nl>
+
+ * ace/ACE.cpp:
+ Don't use maxFiles with VxWorks 6.2
+
+Tue Jan 3 13:03:12 UTC 2006 Johnny Willemsen <jwilemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ Renamed MAX_ARGS to ACE_MAX_ARGS because VxWorks 6.2 has also a
+ define MAX_ARGS
+
+ * ace/config-vxworks6.2.h:
+ Updated based on first testing
+
+ * ace/os_include/sys/os_select.h:
+ * ace/os_include/os_netdb.h:
+ * ace/os_include/os_signal.h:
+ * ace/os_include/os_unistd.h:
+ * ace/os_include/os_unistd.h:
+ * ace/OS_NS_unistd.inl:
+ Minor updated for vxworks 6.1
+
+Mon Jan 2 10:56:57 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/OS_NS_string.cpp:
+
+ Fix conditionals around ACE_OS::strdup_emulation(const wchar*).
+ Remove code that was moved to ACE_OS::strdup(const wchar*).
+
+Mon Jan 2 18:58:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * protocols/ace/RMCast/Protocol.h:
+ Initialise pointer with 0
+
+Mon Jan 2 13:45:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ Only use the spa methods in non rtp model
+
+ * ace/os_include/sys/os_wait.h:
+ VxWorks 6.1 defines wait and waitpid in wait.h
+
+Mon Jan 2 12:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_stdio.h:
+ Added workaround for vxworks6.1 and rtp for cuserid
+
+ * ace/os_include/os_time.h:
+ VxWorks 6.1 defines in kernel mode timeval in sys/times.h
+
+ * ace/OS_NS_string.cpp:
+ Fixed compile error with Borland
+
+ * ace/os_include/os_signal.h:
+ Don't include sigLib.h when building for rtp model
+
+ * ace/OS_NS_Thread.{h,inl}:
+ Don't include special VxWorks header files when building for rtp
+
+ * ace/Sock_Connect.cpp:
+ Made workaround for VxWorks dependent on version umber
+
+Mon Jan 2 12:04:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ * include/makeinclude/platform_vxworks6.1.GNU:
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ Made it possible to build for rtp and kernel mode
+
+ * ace/config-vxworks6.1.h:
+ * ace/config-vxworks6.2.h:
+ Improved mapping
+
+ * ace/Sock_Connect.cpp:
+ Reverted removal of VxWorks specific code, this is needed
+ for VxWorks 5.5, for 6 we have to develop a new section
+
+ * ace/os_include/os_stdlib.h:
+ Only include envLib.h when not building for rtp
+
+ * ace/os_include/os_dlfcn.h:
+ Only include specific VxWorks files when not building for rtp
+
+Sun Jan 1 00:00:00 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * Happy New Year!!!
+
+Fri Dec 30 16:39:46 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/OS_NS_string.cpp:
+ * ace/OS_NS_string.h:
+ * ace/OS_NS_string.inl:
+
+ Make ACE_OS::strdup(const char *) and ACE_OS::strdup(const
+ wchar_t *) inline. Provide ACE_OS::strdup_emulation(const
+ char *) and ACE_OS::strdup_emulation(const wchar_t *) for
+ systems that don't have a native (or type-safe equivalent)
+ strdup() and wcsdup() functions.
+
+ * configure.ac:
+
+ Replace scattered feature tests with calls to new
+ ACE_FUNC_STRCASECMP, ACE_FUNC_STRNCASECMP, ACE_FUNC_STRDUP,
+ ACE_FUNC_WCSCASECMP, ACE_FUNC_WCSNCASECMP, ACE_FUNC_WCSDUP
+ autoconf macros.
+
+ * m4/ace_func.m4:
+
+ New file.
+
+ Feature tests for related features (e.g does function exist,
+ does it have a prototype, does it have const/non-const args,
+ etc.) are scattered all over configure.ac. This file is for
+ ACE_FUNC_FOO macros (similar to autoconf's own AC_FUNC_FOO),
+ which bring all these feature tests together in once place.
+ This clean-up makes the configure.ac easier to maintain at
+ the same time.
+
+ Provide ACE_FUNC_STRCASECMP, ACE_FUNC_STRNCASECMP,
+ ACE_FUNC_STRDUP, ACE_FUNC_WCSCASECMP, ACE_FUNC_WCSNCASECMP,
+ ACE_FUNC_WCSDUP macros to start things off.
+
+Fri Dec 30 17:52:41 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.cpp (work_pending_i): Upon return from
+ epoll_wait(), don't blindly set start_pevents_ to events_. If
+ epoll_wait() returns -1, this erroneously sets start_pevents_ to
+ a value that may not make sense.
+
+Fri Dec 30 12:17:17 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/C++NPv2/AC_Client_Logging_Daemon.cpp:
+ Fixed compile error due to expected implicit conversion
+
+Fri Dec 30 15:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks6.1.GNU:
+ Added rtp and pthread flags, when rtp is set to 1 we are building
+ for real time process model, when pthread is set to 1 we are
+ building with the pthread support
+
+Fri Dec 30 15:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.inl:
+ Added workaround for incorrect swab include for vxworks 6.1
+
+Fri Dec 30 15:00:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.1.h:
+ * ace/config-vxworks6.2.h:
+ Updated after first testing with the RTP model
+
+Fri Dec 30 14:50:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/C++NPv2/Client_Logging_Daemon.cpp:
+ Fixed compile error due to expected implicit conversion
+
+Fri Dec 30 14:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.{h,inl}:
+ Added assignment operator for a time_t
+
+Fri Dec 30 12:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_time.inl:
+ Instead of return -1 return ACE_Time_Value(-1)
+
+Fri Dec 30 12:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added Bug_2345_Regression
+
+Fri Dec 30 11:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Reactor/Misc/pingpong.cpp:
+ * examples/Reactor/Misc/pingpong.cpp:
+ Updated because the constructors of ACE_Time_Value are now explicit
+
+Fri Dec 30 11:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/Gateway/Gateway/Connection_Handler.{h,cpp}:
+ * apps/Gateway/Gateway/Event_Channel.cpp:
+ * apps/Gateway/Gateway/Gateway.cpp:
+ * apps/Gateway/Gateway/Options.{h,cpp}:
+ * netsvcs/lib/TS_Clerk_Handler.{h,cpp}:
+ * examples/APG/Timers/Timers.cpp:
+ * examples/APG/Timers/Upcall.cpp:
+ Updated timeouts to be a long and updated some code because
+ the constructors of ACE_Time_Value are now explicit
+
+Fri Dec 30 10:47:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.{h,inl}:
+ Added += and -= for a time_t
+
+ * examples/APG/ThreadManagement/Priorities.cpp:
+ * examples/APG/ThreadManagement/Signals2.cpp:
+ * examples/APG/ThreadManagement/Signals.cpp:
+ * examples/APG/ThreadManagement/Coop_Cancel.cpp:
+ Initialise pointers with 0
+
+Fri Dec 30 10:47:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.h:
+ Made all single argument constructors explicit to prevent implicit
+ conversions.
+
+Fri Dec 30 10:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Profile_Timer.cpp (elapsed_rusage):
+ Use ACE_Time_Value to calculate the time difference. The type
+ of time could be FILETIME on Windows and it is not safe to just
+ use the - operator on that. This did compile because the
+ ACE_Time_Value seems to be used because of implicit conversions
+
+Fri Dec 30 10:05:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Reference_Counted_Event_Handler_Test.cpp:
+ Explicit create ACE_Time_Value's when scheduling timers
+
+Fri Dec 30 09:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Proactor.cpp:
+ When setting a ACE_Time_Value to zero use ACE_Time_Value::zero
+ instead of 0
+
+Thu Dec 29 11:55:39 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/DLL.h: Further Doxygen-ized and expanded the documentation.
+
+ * ace/config-macros.h: Add __HP_aCC to the compilers that need to have
+ unreachable statements suppressed to avoid a compile diagnostic.
+
+ * ace/config-hpux-11.00.h: Add ACE_LACKS_PERFECT_MULTICAST_FILTERING
+ for HP-UX 11iv2 (11.23).
+
+Thu Dec 29 11:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ * include/makeinclude/platform_vxworks6.1.GNU:
+ Changed the way we set TAO_IDL
+
+Thu Dec 29 09:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_sched.h:
+ Another update to the way we detect if we have to define cpu_set_t,
+ older linux versions do have glibc2.3 but not this type.
+
+Wed Dec 28 11:47:17 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/acinclude.m4:
+
+ Remove some long commented-out macros that reimplemented core
+ autoconf functionality.
+
+Wed Dec 28 19:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ Another update for the changes in 6.2
+
+Wed Dec 28 19:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.2.h:
+ Removed some lacks macros which 6.2 should deliver according
+ to the documentation
+
+Wed Dec 28 11:21:55 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add ACE_LACKS_SCHED_H feature test. Use it in other tests
+ that #include <sched.h>.
+
+Wed Dec 28 11:08:18 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove ACE_HAS_3_PARAM_WCSTOK autoconf header template.
+
+ * configure.ac:
+
+ Added description to AC_DEFINE for ACE_HAS_3_PARAM_WCSTOK.
+
+Wed Dec 28 19:00:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ Rearranged some code to make the autoconf checks for set/get
+ affinity easier
+
+Wed Dec 28 10:56:42 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Change ACE_HAS_CPU_SET_T feature test to look in <sched.h>.
+
+ Add ACE_HAS_2_PARAM_SCHED_{GET,SET}AFFINITY feature tests.
+
+Wed Dec 28 16:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ Introduced ACE_HAS_2_PARAM_SCHED_SETAFFINITY and
+ ACE_HAS_2_PARAM_SCHED_GETAFFINITY. Some glibc versions ship with
+ a two param version.
+
+ * ace/config-linux-common.h:
+ Removed the setting for setaffinity/getaffinity based on
+ glibc version. Found that even with glibc 2.3 some systems had a
+ two param version, some 3.
+
+Wed Dec 28 12:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_sched.h:
+ Improved cpu_set_t typedef
+
+Wed Dec 28 11:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Message_Block.h:
+ Doxygen improvements
+
+Wed Dec 28 10:24:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-linux-common.h:
+ Glicc 2.3 and newer also have sched_getaffinity and
+ sched_setaffinity.
+
+Wed Dec 28 10:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-linux-common.h:
+ Glibc 2.3 seems to have cpu_set_t
+
+Wed Dec 28 09:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/os_unistd.h:
+ Made some workarounds dependent on BCB version
+
+ * ace/os_include/os_sched.h:
+ If ACE_HAS_CPU_SET_T is not defined then typedef cpu_set_t.
+ If your platforms has the type cpu_set_t, then set this define
+ in the config file
+
+ * ace/OS_NS_Thread.{h,cpp}:
+ Added thr_set_affinity and thr_get_affinity to bind a thread
+ to a certain CPU. This is part of the extensions proposed in
+ bugzilla 2342. Thanks to Robert Iakobashvili
+ <coroberti at gmail dot com> for these extensions.
+
+ This will probably break some builds, where we have to add
+ ACE_HAS_CPU_SET_T to the config file.
+
+ * ace/README:
+ Documented ACE_HAS_CPU_SET_T
+
+Tue Dec 27 19:21:19 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace.m4:
+
+ Add ACE_ENABLE_CDR_SWAP_ON_READ, ACE_ENABLE_CDR_SWAP_ON_WRITE,
+ ACE_ENABLE_CDR_ALIGNMENT, ACE_ENABLE_STRDUP_EMULATION, and
+ ACE_ENABLE_WCSDUP_EMULATION to support --enable options of
+ the same name. Allows users to configure these aspects of
+ ACE without editing the generated config.h header.
+
+ * configure.ac:
+
+ Fix typo in ACE_LACKS_MADVISE_PROTOTYPE feature test.
+
+Tue Dec 27 15:14:05 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * THANKS: Added Vladimir Panov to the Hall of Fame.
+
+Tue Dec 27 14:49:20 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove ACE_HAS_STRDUP_EMULATION autoconf header template.
+
+ * configure.ac:
+
+ Changed strdup feature test to set ACE_LACKS_STRDUP instead
+ of ACE_HAS_STRDUP_EMULATION.
+
+ Added (missing) ACE_LACKS_STRCHR feature test.
+
+ * ace/README:
+
+ Update ACE_HAS_STRDUP_EMULATION description. Added
+ ACE_HAS_WCSDUP_EMULATION, ACE_LACKS_STRCHR, ACE_LACKS_WCSCHR,
+ ACE_LACKS_STRDUP, and ACE_LACKS_WCSDUP descriptions.
+
+ * ace/OS_Memory.h:
+
+ Updated comment explaining that users may want to set
+ ACE_HAS_STRDUP_EMULATION if they need to control what memory
+ allocator is used to include ACE_HAS_WCSDUP_EMULATION.
+
+ * ace/OS_NS_string.cpp:
+
+ The ACE_HAS_STRDUP_EMULATION feature test macro was being used
+ for two purposes. One is for systems which don't have a native
+ strdup(). The other is for when the user needs to control/
+ override what memory allocator is used.
+
+ I've separated these options by adding a new ACE_LACKS_STRDUP
+ feature test macro. ACE's emulated strdup() implementation is
+ used if either ACE_LACK_STRDUP or ACE_HAS_STRDUP_EMULATION is
+ set.
+
+ Added ACE_HAS_WCSDUP_EMULATION, similar to the above, for
+ symmetry with the wide character version.
+
+Tue Dec 27 14:17:56 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove ACE_HAS_SET_T_ERRNO autoconf header template.
+
+ * configure.ac:
+
+ Change ACE_HAS_SET_T_ERRNO feature test to use "standard"
+ ACE_CHECK_HAS_FUNC() macro.
+
+Tue Dec 27 13:36:22 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/os_include/sys/os_mman.h:
+
+ Provide madvise prototype if ACE_LACKS_MADVISE_PROTOTYPE.
+
+ * configure.ac:
+
+ Added ACE_LACKS_MADVISE_PROTOTYPE feature test.
+
+ This should fix bugzilla bug 2274. Thanks to Steve Williams
+ < steve at telxio dot com > for reporting this and providing
+ an initial patch.
+
+Tue Dec 27 13:29:27 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * apps/gperf/Makefile.am:
+
+ Regenerated.
+
+ * apps/gperf/gperf.mpc:
+
+ New file. Adds rule for building/installing gperf.1 manpage.
+ Partially addresses bugzilla bug 2280.
+
+Tue Dec 27 12:45:37 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Fix typo in last change.
+
+Tue Dec 27 12:41:00 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add ACE_HAS_CPU_SET_T, ACE_HAS_PTHREAD_GETAFINITY_NP,
+ ACE_HAS_PTHREAD_SETAFFINITY_NP, ACE_HAS_SCHED_GETAFFINITY,
+ and ACE_HAS_SCHED_SETAFFINITY feature tests for a patch
+ Johnny is preparing.
+
+Tue Dec 27 11:11:15 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/config_h.m4:
+
+ Remove ACE_LACKS_SYSTEM_H autoconf header template.
+
+ * configure.ac:
+
+ Remove ACE_LACKS_SYSTIME_H feature test, and the use of
+ ACE_LACKS_SYSTIME_H in other feature test macros. C.f.
+
+ Tue Dec 27 14:50:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+Tue Dec 27 11:06:00 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add ACE_LACKS_ALARM feature test.
+
+Tue Dec 27 15:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.1.h:
+ * ace/config-vxworks6.2.h:
+ Removed ACE_LACKS_DUP2
+
+Tue Dec 27 14:50:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-cygwin32.h:
+ * ace/config-dgux-4.11-epc.h:
+ * ace/config-dgux-4.x-ghs.h:
+ * ace/config-freebsd.h:
+ * ace/config-irix5.3-g++.h:
+ * ace/config-irix5.3-sgic++.h:
+ * ace/config-irix6.x-common.h:
+ * ace/config-linux-common.h:
+ * ace/config-macosx-panther.h:
+ * ace/config-macosx-tiger.h:
+ * ace/config-macosx.h:
+ * ace/config-mvs.h:
+ * ace/config-openbsd.h:
+ * ace/config-psos-diab-mips.h:
+ * ace/config-psos-diab-ppc.h:
+ * ace/config-psos-diab.h:
+ * ace/config-psos-tm.h:
+ * ace/config-psosim-g++.h:
+ * ace/config-qnx-neutrino.h:
+ * ace/config-qnx-rtp-62x.h:
+ * ace/config-qnx-rtp-pre62x.h:
+ * ace/config-sco-5.0.0-mit-pthread.h:
+ * ace/config-sco-5.0.0.h:
+ * ace/config-sunos4-g++.h:
+ * ace/config-sunos4-sun4.1.4.h:
+ * ace/config-sunos4-sun4.x.h:
+ * ace/config-tandem-nsk-mips-v2.h:
+ * ace/config-tandem-nsk-mips-v3.h:
+ * ace/config-tandem.h:
+ * ace/config-tru64.h:
+ * ace/config-unixware-2.1.2-g++.h:
+ * ace/config-unixware-7.1.0.h:
+ * ace/config-unixware-7.1.0.udk.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.2.h:
+ * ace/config-win32-interix.h:
+ * ace/README:
+ Removed ACE_LACKS_SYSTIME_H, it is not used anymore in ACE
+
+Tue Dec 27 14:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.1.h:
+ * ace/config-vxworks6.2.h:
+ Added initial version of VxWorks 6.2 config file. This is updated
+ based on the documentation, no testing has been done
+
+Tue Dec 27 13:27:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/sys/os_select.h:
+ Only include selectLib for VxWorks when VxWorks doesn't deliver
+ sys/select.h
+
+ * ace/OS_NS_unistd.inl:
+ Introduced ACE_LACKS_ALARM to make it easier to determine which
+ platform has alarm and which not
+
+ * ace/config-chorus.h:
+ * ace/config-psos-diab.h:
+ * ace/config-win32-common.h:
+ Added ACE_LACKS_ALARM
+
+ * ace/config-vxworks6.1.h:
+ Added some documentation about defines which we could drop for
+ VxWorks 6.2 according to the documentation
+
+Tue Dec 27 11:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.1.h:
+ VxWorks 6.1 has two models, kernel and real time process (rtp).
+ Based on the model some API's are not available.
+
+Tue Dec 27 09:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.{h,inl}:
+ Changed the first argument of the constructor accepting two
+ longs to time_t to fix 64bit conversion warnings
+
+Sun Dec 25 09:04:50 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * Merry Christmas, 2005!!!!
+
+Fri Dec 23 13:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-common.h:
+ Added ACE_LACKS_SCHED_H, windows doesn't have sched.h
+
+Fri Dec 23 13:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/INET_Addr.inl:
+ Fixed warning about unreachable code when ipv6 is enabled
+
+Fri Dec 23 11:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ Added missing defined
+
+Fri Dec 23 08:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Buffer_Stream_Test.cpp:
+ Fixed ambiguity errors with vc6
+
+Fri Dec 23 07:55:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.{h,inl}:
+ Removed the set with time_t and changed the set with two longs to
+ pass seconds as time_t. This should work on all platforms fine.
+ Thanks to JT for the ideas.
+
+ * ace/System_Time.cpp:
+ Use the set with two arguments
+
+Thu Dec 22 18:33:29 2005 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU: Change Visual Age 6 to use
+ -qtemplateregistry also. It's faster and doesn't require the same
+ strict source organization of templates that -qtempinc does.
+ Also stop using the aixshr hack to strip warnings out of the
+ linker output - it's not needed with -qtemplateregistry.
+ Try removing -qstaticinline - this was an attempt to stop some of
+ the duplicate symbol warnings that -qtempinc triggered; hopefully,
+ removing this will let the linker/compiler unify singleton instances.
+
+Thu Dec 22 14:35:12 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/rtcorbacommon.mpb:
+
+ Add $(srcdir) relative include path.
+
+Thu Dec 22 14:06:07 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Added Portable_Interceptors/Processing_Mode_Policy/Collocated and
+ Portable_Interceptors/Processing_Mode_Policy/Remote to the list.
+
+Thu Dec 22 19:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Reactor/Misc/notification.cpp:
+ * examples/Reactor/Misc/test_signals_1.cpp:
+ Fixed ambiguity warnings
+
+ * ace/Time_Value.{h,cpp,inl}:
+ Don't pass time_t as reference to set, just by value, moved the
+ method to the inline file and set tv_usec to 0, thanks to JT
+ for this suggestions.
+
+Thu Dec 22 10:43:23 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/cle.pl:
+ * bin/ChangeLogEditor/CVSFileLocator.pm:
+ * bin/ChangeLogEditor/ChangeLogEntry.pm:
+ * bin/ChangeLogEditor/FileLocator.pm:
+ * bin/ChangeLogEditor/FileLocatorFactory.pm:
+ * bin/ChangeLogEditor/SVNFileLocator.pm:
+
+ Added support for Subversion. It will automatically switch to
+ svn if it detects that it is being run in a directory
+ controlled by Subversion.
+
+ * bin/DependencyGenerator/GNUObjectGenerator.pm:
+ * bin/DependencyGenerator/MakeObjectGenerator.pm:
+
+ Switch to actual arrays inside the process() method and return the
+ reference. It is faster to push onto an array than an array
+ reference.
+
+ * bin/MakeProjectCreator/config/cidlc.mpb:
+
+ Added nmake to the specific section for compile_flags.
+
+ * bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm:
+
+ Added .PHONY when creating named targets to avoid problems with
+ target executables that have the same name as the project.
+
+ * bin/depgen.pl:
+
+ Added a -i option to not print an error if no source files are
+ provided.
+
+ * include/makeinclude/rules.local.GNU:
+
+ Modified to pass the -i option to depgen.pl and to pass the -n
+ option to depgen.pl if inline=1.
+
+Thu Dec 22 12:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp:
+ Use taskName to get the task name under VxWorks instead of directly
+ using the TCB struct
+
+ * ace/Sock_Connect.cpp:
+ Use for VxWorks also the unix way of retrieving the interfaces, the
+ VxWorks specific way doesn't work with VxWorks 6.1 anymore
+
+Thu Dec 22 12:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.{h,cpp}:
+ Added set that accepts time_t, time_t is a 64bit type under
+ Windows64.
+
+ * ace/System_Time.cpp:
+ Use the new Time_Value::set method that accepts time_t
+
+Thu Dec 22 12:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/WIN32_Proactor.cpp:
+ Added workarounds for vc6 which doesn't have ULONG_PTR
+
+Wed Dec 21 06:40:29 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Asynch_Acceptor.cpp (set_handle): Added return 0 to success case.
+ Also see:
+ Fri Dec 16 12:38:27 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+Thu Dec 22 06:12:39 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_SOCK_Stream.cpp: Add missing #include "ace/OS_Memory.h"
+ to see ACE_NEW_RETURN. Also changed the type used with
+ ioctl (, FIONREAD, ) from u_long to ACE_UINT32 for portability.
+
+ * apps/JAWS2/JAWS/Headers.cpp: Add missing
+ #include "ace/OS_NS_stdlib.h" to see ACE_OS::free().
+
+ * apps/JAWS2/JAWS/IO.cpp: Add missing #include "ace/OS_NS_string.h"
+ to see ACE_OS::memcpy(). Add missing #include "ace/Min_Max.h" to see
+ ACE_MIN.
+
+ * apps/JAWS2/JAWS/Server.cpp: Add missing #include "ace/OS_NS_string.h"
+ to see ACE_OS::strcpy().
+
+ * apps/JAWS2/JAWS/Parse_Headers.cpp: Add missing
+ #include "ace/Log_Msg.h".
+
+ * examples/APG/Containers/Map_Manager.cpp:
+ * examples/APG/Containers/Map_Manager_Specialization.cpp: Add missing
+ #include "ace/Log_Msg.h".
+
+ * examples/IPC_SAP/SSL_SAP/SSL-server-poll.cpp: Add missing
+ #include "ace/OS_NS_stdlib.h" for ACE_OS::malloc()/free().
+
+Wed Dec 21 12:44:19 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * THANKS: Add Jonathan Sprinkle to the Hall of Fame.
+
+ * configure.ac:
+
+ Define ACE_LACKS_NAMED_POSIX_SEM if platform lacks any of
+ sem_open(), sem_close(), or sem_unlink() are undefined. This
+ should help automake builds on Cygwin, which does not provide
+ sem_unlink(). Thanks to Jonathan Sprinkle who provided the
+ failing config.log.
+
+Wed Dec 21 12:32:10 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Time_Value.inl:
+
+ Use g++'s __builtin_constant_p() predicate to avoid calling
+ ::normalize() if both arguments to ACE_Time_Value::set(long,
+ long) are already "normalized". This avoids an unnecessary
+ method call when initializing ACE_Time_Value constants.
+
+Wed Dec 21 11:40:53 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/OS_NS_Thread.cpp (ACE_OS::thr_create):
+
+ If ACE_HAS_PTHREAD_ATTR_SETCREATESUSPEND_NP and THR_SUSPENDED
+ is set, use pthread_attr_setcreatesuspend_np() and set thread
+ creation attributes so thread is started in "suspended" state.
+
+ * configure.ac:
+
+ Add feature test for ACE_HAS_PTHREAD_ATTR_SETCREATESUSPSEND_NP.
+
+ * ace/README:
+
+ Document ACE_HAS_PTHREAD_ATTR_SETCREATESUSPEND_NP.
+
+Wed Dec 21 19:17:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/clients/Naming/Client/Client_Test.cpp:
+ Replaced assert with ACE_ERROR
+
+Wed Dec 21 19:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/vc8nmake.mpb:
+ With vc8 and nmake we have to pass different compiler flags then
+ with vc6 and vc71. To make it easier to use, you can regenerate
+ the nmake files for vc8 using: -type nmake -base vc8nmake -recurse
+ This way you get the needed flags for vc8
+
+Wed Dec 21 18:45:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/WFMO_Reactor.cpp:
+ * protocols/ace/HTBP/HTBP_Session.cpp:
+ Initialise pointer with 0
+
+ * include/makeinclude/platform_vxworks6.1.GNU:
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ Use EXEEXT instead of .exe when setting TAO_IDL
+
+Wed Dec 21 18:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added bug_2328_regression
+
+Tue Dec 20 17:24:39 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/config-aix-4.x.h: Define ACE_TEMPLATES_REQUIRE_SOURCE if
+ compiling with an IBM compiler and __TEMPINC__ is not defined.
+ This covers -qnotempinc and -qtemplateregistry cases (for XL C++ 7).
+ Define ACE_TEMPLATES_REQUIRE_PRAGMA if compiling with an IBM
+ compiler and -qtempinc was specified on the command line. This
+ unifies proper handling and covers both ACE+TAO builds and users'
+ inclusion of ACE+TAO in user projects regardless of which template
+ model chosen.
+
+ * ace/Local_Name_Space.cpp: Add #include "ace/ACE.h" to see
+ ACE::hash_pjw().
+
+ * ace/Malloc_T.h: Add #include "ace/Malloc_Base.h" to see
+ ACE_Allocator.
+
+ * ace/POSIX_CB_Proactor.cpp: Add #include "ace/OS_NS_sys_time.h" to see
+ ACE_OS::gettimeofday().
+
+ * ace/Sock_Connect.cpp: Removed hack at this compiler version.
+
+ * ace/SString.inl: Add #include "ace/OS_NS_stdlib.h" to see
+ ACE_OS::free().
+
+ * ace/SString.cpp: Add #include "ace/OS_Memory.h" to see
+ ACE_NEW_RETURN. Change #include "ace/Malloc.h" to "ace/Malloc_T.h"
+ to pick up needed symbols.
+
+ * include/makeinclude/platform_aix_ibm.GNU: Added compiler-specific
+ section for XL C++ 7. Also removed the explicit setting of
+ ACE_TEMPLATES_REQUIRE_[PRAGMA|SOURCE]. The proper one to use is
+ determined by whether or not -qtempinc is specified to the compiler.
+ Since this is knowable at compile time and what a user does may
+ not match what the ACE/TAO build does, proper selection of the
+ correct setting is moved to config-aix-4.x.h.
+
+ * include/makeinclude/rules.local.GNU: Add templateregistry.* to the
+ file cleanup list. XL C/C++ 7 builds use -qtemplateregistry and
+ specify a name templateregistry.$(MAKEFILE).
+
+Tue Dec 20 20:24:39 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/UUID.cpp (ACE_Utils): Move the lock to the top of the
+ UUID_Generator::get_timestamp() method to avoid subtle race
+ conditions. Thanks to Howard Finer <hfiner@sonusnet.com> for
+ this fix.
+
+Fri Dec 16 12:38:27 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Asynch_Acceptor.{h,cpp}: Added an int return value to
+ set_handle() so that errors can be propagated back to callers.
+ Thanks to Eyal Car <eyal_car at hotmail dot com> for this fix.
+ This closes bugid 2261.
+
+Wed Dec 21 16:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/CDR_Base.cpp:
+ * ace/CDR_Stream.cpp:
+ Fixed 64bit conversion warnings from int to long
+
+ * ace/config-vxworks6.1.h:
+ VxWorks 6.1 defines MAP as CPU type, if it is defined,
+ undef it so that we can use MAP as typedef throughout ACE/TAO
+
+ * ace/Configuration_Import_Export.cpp:
+ Fixed 64bit conversion warning from u_int to u_long
+
+ * ace/Malloc_T.cpp:
+ Added some checks for valid pointers before calling memset.
+ Thanks to Oh Yoon Sik <boom at estsoft dot com> for reporting
+ this.
+
+ * ace/OS_NS_sys_stat.inl (mkdir):
+ Replaced c-style cast with C++ cast
+
+ * ace/Basic_Types.h:
+ Removed ptr_arith_t, it is not used anymore
+
+ * ace/OS_NS_time.cpp:
+ Fixed the month calculation for WinCE.
+ Thanks to Oh Yoon Sik <boom at estsoft dot com> for reporting
+ this.
+
+ * ace/WIN32_Proactor.cpp:
+ The code for ACE_WIN64 should also be used for ACE_WIN32 so
+ zapped the ACE_WIN32 specific case
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ When optimizations are disabled pass -O2 to the compiler. Always
+ disable the floating point optimizations to get correct floats
+ in the IDL compiler.
+
+ * examples/Reactor/Misc/test_demuxing.cpp:
+ Instead of an ACE_ASSERT, use ACE_ERROR_RETURN
+
+ * tests/Basic_Types_Test.cpp:
+ Use ptr_diff_t instead of ptr_arith_t
+
+ * tests/Buffer_Stream_Test.cpp:
+ Initialise pointers with 0
+
+ * etc/tao.doxygen:
+ Expand all emulated exception macros, that will improve our
+ documentation. I will recheck doxygen later and if things look
+ correct I will apply the same change to the other configuration
+ files.
+
+ * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm:
+ Updated because of changes to MPC.
+
+Tue Dec 20 08:02:03 2005 Simon McQueen <sm@prismtech.com>
+
+ * ACE version 5.4.8 released.
+
+Mon Dec 20 09:58:00 UTC 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * bin/make_release:
+ Removed the $0 from the "Generated by " comment inserted into
+ the Version.h files.
+
+Mon Dec 19 16:50:00 UTC 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * bin/make_release:
+ Removed the extra end of line inserted into the
+ Id: ChangeLog,v 4.9518 2005/12/20 10:03:35 bugzilla Exp
+ comment from all of the Version.h generators. (Around the same
+ line as before.)
+
+Mon Dec 19 14:40:00 UTC 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * bin/make_release:
+ Removed the #include "ace/Versioned_Namespace.h" generator
+ from line 643 (it wasn't adding the correct end of line
+ and concensous was that it was actually in error anyway).
+
+Thu Dec 15 08:08:31 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Asynch_IO.h: Clarified arguments and return value for
+ ACE_Asynch_Read_Stream::open.
+
+Thu Dec 15 08:06:29 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Service_Templates.cpp: Only #include headers if we need to
+ instantiate templates; i.e., if using either form of explicit
+ template instantiation. This avoids the sigaction issue with
+ HP aC++ A.03.56.
+
+Tue Dec 13 12:13:26 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * COPYING: Updated this file to mention compliance issues wrt the
+ new "The Energy Policy Act of 2005". Thanks to Malcolm Spence
+ for providing this.
+
+Tue Dec 13 18:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/tao_cosnotification.doxygen:
+ Also parse the subdirectories below Notify and also add inline
+ files, the generated doxygen docu was not complete
+
+Tue Dec 13 00:54:04 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/tao_versioning_idl_defaults.mpb:
+
+ New MPC base project containing necessary versioned namespace
+ related TAO_IDL flags for PIDL and IDL files in core TAO
+ libraries and TAO orbsvcs libraries.
+
+Mon Dec 12 15:31:50 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/ace_for_tao.mpc:
+
+ Added "nmake" to the list of Windows-based build types that
+ should be considered when adding Windows-specific sources to the
+ ace_for_tao subset.
+
+Mon Dec 12 15:23:29 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/tests.mpc (UPIPE_SAP_Test):
+
+ Disable this test in the ace_for_tao configuration. It depends
+ on features not found in the ace_for_tao subset.
+
+Mon Dec 12 14:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/compiler.bor:
+ Only when we build without VCL support add _NO_VCL to the compiler
+ flags
+
+Mon Dec 12 13:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/vcl.mpb:
+ Added verbatim VCL=1 to this base project. This way the correct
+ startup objects are linked with the application when vcl is
+ used
+
+Sun Dec 11 18:03:05 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/UPIPE_Stream.h (MT_Stream):
+
+ Moved this typedef out of the global namespace to the
+ ACE_UPIPE_Stream class. It is only used within this class.
+ Doing so also addresses global namespace pollution issues.
+
+ * examples/ASX/Event_Server/Event_Server/event_server.cpp:
+ * examples/ASX/UPIPE_Event_Server/event_server.cpp:
+
+ Reinstated local MT_Stream typedefs. The global namespace
+ pollution fix described above allows this. Fixes compile-time
+ error in single threaded builds.
+
+Thu Dec 8 07:20:25 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Dynamic.h:
+ * ace/OS_main.cpp:
+ * ace/OS_main.h:
+ * ace/TSS_Adapter.h:
+ * ace/QoS/QoS_Decorator.cpp:
+ * ace/QoS/QoS_Decorator.h:
+ * ace/QoS/QoS_Manager.cpp:
+ * ace/QoS/QoS_Manager.h:
+ * ace/QoS/QoS_Session.h:
+ * ace/QoS/QoS_Session_Factory.cpp:
+ * ace/QoS/QoS_Session_Factory.h:
+ * ace/QoS/QoS_Session_Impl.cpp:
+ * ace/QoS/QoS_Session_Impl.h:
+ * ace/QoS/QoS_Session_Impl.i:
+ * ace/QoS/SOCK_Dgram_Mcast_QoS.cpp:
+ * ace/QoS/SOCK_Dgram_Mcast_QoS.h:
+ * ace/QoS/SOCK_Dgram_Mcast_QoS.i:
+
+ Fixed versioned namespace support. The versioning macros calls
+ were missing.
+
+Thu Dec 8 08:28:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/APG/ThreadSafety/threadsafety.mpc:
+ Fixed error in this mpc project which caused build errors with
+ borland
+
+Wed Dec 7 05:50:01 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * apps/JAWS/clients/Caching/caching.mpc:
+ * apps/JAWS2/JAWS/jaws2.mpc:
+ * bin/MakeProjectCreator/config/winregistry.mpb:
+ * examples/APG/Containers/containers.mpc:
+ * examples/APG/Svc_Config/svc_config.mpc:
+ * examples/APG/ThreadSafety/threadsafety.mpc:
+ * examples/C++NPv2/C++NPv2.mpc:
+ * examples/QOS/Diffserv/QOS_Diffserv.mpc:
+ * examples/Reactor/Proactor/Proactor.mpc:
+ * examples/Reactor/WFMO_Reactor/WFMO_Reactor.mpc:
+ * tests/tests.mpc:
+
+ Disable some projects in these MPC files when "ace_for_tao" is
+ enabled.
+
+Tue Dec 6 21:34:03 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * examples/ASX/Event_Server/Event_Server/event_server.cpp:
+ * examples/ASX/UPIPE_Event_Server/event_server.cpp:
+
+ Removed duplicate "MT_Stream" typedef that made the same typedef
+ in `ace/UPIPE_Stream.h' ambiguous. Fixes a versioned namespace
+ build error.
+
+Tue Dec 6 18:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ For vc8 set ExceptionHandling to 2. This enabled the structured
+ exception handling. Normally vc8 doesn't catch structured exceptions
+ but we except so for some tests and else the disabling of the
+ win32 error windows doesn't work. This fixes bugzilla [BUG:2290]
+ See also http://www.codecomments.com/archive292-2005-8-578262.html
+ for backgroup. Thanks to Steve Huston and Chad Elliott for
+ proposing to handle this in this mpb file instead of in the vc8
+ base mpc template
+
+Tue Dec 6 01:55:12 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/config-macros.h:
+
+ Removed "#pragma once" directive. The necessary preprocessor
+ symbol definitions necessary to disable this directive
+ are generally C++ preprocessor/compiler-specific. This
+ prevents proper configuration of this #pragma in the
+ presence of a C compiler.
+
+Mon Dec 5 14:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.inl:
+ With Borland also just use tempnam instead of _tempname
+
+Mon Dec 5 08:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ * ace/config-win32-dmc.h:
+ * ace/OS_NS_stdio.inl:
+ Introduced new macros ACE_HAS_NONCONST_TEMPNAM and
+ ACE_HAS_NONCONST_FDOPEN. Borland C++ Builder 6 and previous had
+ non compliant non const methods but this is now corrected in
+ BDS2006, so instead of hacking also a version check in the
+ OS_NS_stdio.inl just check for a define and set this in the borland
+ config file. Also DMC seems to have one incorrect signature
+ so also set it there.
+
+Sun Dec 4 06:49:59 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/SSL/SSL_Context.cpp:
+
+ Use an ACE_Thread_Mutex instead of ACE_Mutex. The former is
+ faster and lighter weight.
+
+Sat Dec 3 17:56:04 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+ * ace/SSL/SSL_Asynch_Stream.h:
+
+ Replaced ACE_SSL_bio_{read,write} functors with a single
+ structure containing static read() and write() methods.
+ Functors are overkill in this case.
+
+ Documented why a structure is used instead of a free
+ function.
+
+ * ace/SSL/SSL_Context.h:
+
+ Removed obsolete comment.
+
+Sat Dec 3 11:51:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Base_Thread_Adapter.h:
+
+ Removed unnecessary "ace/Global_Macros.h" include directive in
+ versioned namespace case.
+
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+
+ Fixed versioned namespace support for free functions in this
+ file.
+
+ (BIO_s_Asynch):
+
+ Removed this unnecessary function. It simply returned the
+ address of a global object. Just take the address directly in
+ the calling code.
+
+ (BIO_new_ACE_Asynch, ACE_SSL_make_BIO):
+
+ Renamed BIO factory function to "ACE_SSL_make_BIO", which is
+ more consistent with ACE naming conventions. Removed extern "C"
+ declaration, as well, since there's no need for it to be so.
+
+ (ACE_SSL_bio_read, ACE_SSL_bio_write):
+
+ New functors that that make the necessary calls on the
+ ACE_SSL_Asynch_Stream object.
+
+ (ACE_Asynch_BIO_read, ACE_Asynch_BIO_write):
+
+ Use new ACE_SSL_bio_{read,write} functors instead of making
+ direct calls on the ACE_SSL_Asynch_Stream object.
+
+ * ace/SSL/SSL_Asynch_BIO.h:
+
+ Moved extern "C" BIO callback function prototypes to
+ SSL_Asynch_BIO.cpp. There's no need for them to be visibile to
+ the user.
+
+ Renamed BIO factory function to "ACE_SSL_make_BIO", which is
+ more consistent with ACE naming conventions. Removed extern "C"
+ declaration, as well, since there's no need for it to be so.
+
+ * ace/SSL/SSL_Asynch_Stream.cpp (open):
+
+ Updated name of BIO factory function.
+
+ * ace/SSL/SSL_Asynch_Stream.h:
+
+ Removed unnecessary free function prototypes.
+
+ (ACE_SSL_Asynch_Stream):
+
+ Replaced friend function declarations with friend structure
+ (used as functors) declarations. Works around scope qualifier
+ problems in Sun compilers when used on free functions.
+
+Fri Dec 2 10:27:47 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/msvc_static_order.lst:
+
+ Add RTEventLogAdmin project.
+
+Fri Dec 2 13:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Task.inl:
+ Replaced c-style casts with C++ const_cast
+
+Fri Dec 2 11:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/os_include/sys/os_stat.h:
+ * ace/os_include/sys/os_timeb.h:
+ Made some workarounds for Borland specific on the BCB version.
+ That way we can remove them easier in the future when we
+ deprecated certain releases
+
+Fri Dec 2 01:25:52 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Versioned_Namespace.h:
+
+ Update preprocessor check to use new config-macros.h specific
+ include guard preprocessor symbol.
+
+ * ace/config-macros.h:
+ * ace/config-lite.h:
+
+ Moved all macros, preprocessor symbols and some non-C++-specific
+ typedefs to the new `config-macros.h' header. Allows
+ configuration macros/values to be used in C sources.
+
+ * ace/config-all.h:
+
+ Removed redundant "ace/ace_wchar.h" include directive. It's
+ already included by `config-lite.h'.
+
+ * ace/config-aix-4.x.h:
+ * ace/config-chorus.h:
+ * ace/config-cygwin32.h:
+ * ace/config-linux-common.h:
+ * ace/config-osf1-4.0.h:
+ * ace/config-rtems.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-vxworks5.x.h:
+ * ace/config-vxworks6.1.h:
+
+ Relaxed unsupported compiler preprocessor error for non-C++
+ compilers. Simplifies use of configuration macros/values in
+ presence of C compiler.
+
+ * ace/Makefile.am:
+ * ace/ace.mpc:
+
+ Added new config-macros.h header to the appropriate header
+ lists.
+
+Fri Dec 2 00:43:12 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Module.h:
+ * apps/JAWS/server/HTTP_Request.h:
+ * apps/JAWS/server/IO.h:
+ * apps/JAWS2/JAWS/Cache_Object.h:
+ * apps/JAWS2/JAWS/IO.h:
+ * apps/JAWS2/JAWS/IO_Acceptor.h:
+ * apps/JAWS2/JAWS/IO_Handler.h:
+ * apps/soreduce/Obj_Module.h:
+ * examples/APG/Containers/Hash_Map_Hash.h:
+ * examples/APG/Containers/RB_Tree_Functors.h:
+ * examples/APG/ThreadPools/Request_Handler.h:
+ * examples/ASX/Event_Server/Event_Server/Options.h:
+ * examples/ASX/Event_Server/Event_Server/event_server.cpp:
+ * examples/C++NPv1/Iterative_Logging_Server.h:
+ * examples/C++NPv1/Logging_Handler.h:
+ * examples/C++NPv1/Logging_Server.h:
+ * examples/C++NPv2/Logging_Handler.h:
+ * examples/Shared_Malloc/Malloc.h:
+
+ More versioned namespace build fixes.
+
+Thu Dec 1 08:07:23 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Service_Config.cpp (open_i):
+ * ace/Service_Config.h (ACE_Service_Config): Don't try to
+ register a signal handler if the signal number is < 0! Thanks
+ to Brian Raven <brianr at liffe dot com> for this fix.
+
+Wed Nov 30 13:37:59 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/cidlc.mpb
+
+ Updated to make thie base project consistent with the semantics
+ of the boost base projects from MPC.
+
+Tue Nov 29 11:20:12 UTC 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Parse_Node.cpp (make_func_name):
+
+ Do not use a stack instantiated variable length array. Use a
+ dynamically allocated array instead. Saves us a copy, and
+ fixes g++ build errors when using its "-pedantic" command line
+ option.
+
+ Fixed string length calculation. Addresses Service
+ Configurator failures when versioned namespace support is
+ enabled.
+
+Wed Nov 30 00:33:21 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ACEXML/parser/parser/parser.mpc:
+ * bin/MakeProjectCreator/config/avstreams.mpb:
+ * bin/MakeProjectCreator/config/rmcast.mpb:
+ * netsvcs/clients/Logger/Logger.mpc:
+ * netsvcs/servers/servers.mpc:
+
+ Disable these projects when "ace_for_tao" is enabled.
+
+Wed Nov 30 08:58:35 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * html/index.html
+
+ Removed obsolete CIAO components, cleaned up the HTML a bit.
+
+Tue Nov 29 11:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Timer_Queue_T.cpp:
+ Use prefix increment operator instead of postfix
+
+Tue Nov 29 07:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Malloc.{h,cpp}:
+ Removed copy constructor and name assign methods from ACE_Name_Node,
+ these where implemented with an assert saying not implemented. This
+ is not a good thing to do and also fixes some warnings in our
+ Intel 9.1 beta build. If someone used these methods they would get
+ an assert in runtime, now they get a compile error meaning we
+ have to implement them
+
+Mon Nov 28 07:26:31 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * protocols/ace/HTBP/HTBP.mpc:
+
+ Added missing "avoids += ace_for_tao".
+
+Mon Nov 28 06:50:04 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/ACE_Init_Test.cpp (run_main):
+
+ Removed unnecessary versioned namespace related "using"
+ keyword.
+
+Sun Nov 27 22:37:44 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * ace/Array_Map.h:
+
+ Included the Sun CC 5.8, as an additional CC compiler that
+ requires complete specification for a trait declaration.
+
+ Just for information. Sun CC 5.8 comes with Studio 11, which is
+ free (as in FREE BEER!!).
+
+Sun Nov 27 04:05:52 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/ace.mpc:
+ * ace/ace_for_tao.mpc:
+ * bin/MakeProjectCreator/config/aceexe.mpb:
+ * bin/MakeProjectCreator/config/acelib.mpb:
+ * bin/MakeProjectCreator/config/versioned_namespace.mpb:
+
+ Added versioned namespace MPC support. Disabled by default.
+ Add "versioned_namespace=1" to default.features to enable.
+
+ * Kokyu/Kokyu_defs.h:
+ * ace/Asynch_Connector.h:
+ * ace/Cleanup.cpp:
+ * ace/Cleanup.h:
+ * ace/If_Then_Else.h:
+ * ace/OS.h:
+ * ace/Object_Manager.cpp:
+ * ace/Object_Manager.inl:
+ * ace/Value_Ptr.h:
+ * ace/SSL/SSL_Asynch_Stream.h:
+ * ace/SSL/SSL_SOCK_Acceptor.cpp:
+ * protocols/ace/HTBP/HTBP_Addr.cpp:
+ * protocols/ace/HTBP/HTBP_Addr.h:
+ * protocols/ace/HTBP/HTBP_Channel.cpp:
+ * protocols/ace/HTBP/HTBP_Channel.h:
+ * protocols/ace/HTBP/HTBP_Channel.inl:
+ * protocols/ace/HTBP/HTBP_Environment.cpp:
+ * protocols/ace/HTBP/HTBP_Environment.h:
+ * protocols/ace/HTBP/HTBP_Filter.cpp:
+ * protocols/ace/HTBP/HTBP_Filter.h:
+ * protocols/ace/HTBP/HTBP_Filter.inl:
+ * protocols/ace/HTBP/HTBP_Filter_Factory.cpp:
+ * protocols/ace/HTBP/HTBP_Filter_Factory.h:
+ * protocols/ace/HTBP/HTBP_ID_Requestor.cpp:
+ * protocols/ace/HTBP/HTBP_ID_Requestor.h:
+ * protocols/ace/HTBP/HTBP_Inside_Squid_Filter.cpp:
+ * protocols/ace/HTBP/HTBP_Inside_Squid_Filter.h:
+ * protocols/ace/HTBP/HTBP_Inside_Squid_Filter.inl:
+ * protocols/ace/HTBP/HTBP_Notifier.cpp:
+ * protocols/ace/HTBP/HTBP_Notifier.h:
+ * protocols/ace/HTBP/HTBP_Outside_Squid_Filter.cpp:
+ * protocols/ace/HTBP/HTBP_Outside_Squid_Filter.h:
+ * protocols/ace/HTBP/HTBP_Outside_Squid_Filter.inl:
+ * protocols/ace/HTBP/HTBP_Session.cpp:
+ * protocols/ace/HTBP/HTBP_Session.h:
+ * protocols/ace/HTBP/HTBP_Session.inl:
+ * protocols/ace/HTBP/HTBP_Stream.cpp:
+ * protocols/ace/HTBP/HTBP_Stream.h:
+ * tests/ACE_Init_Test.cpp:
+ * tests/Process_Strategy_Test.h:
+
+ Corrected build errors in versioned namespace builds.
+
+ * bin/MakeProjectCreator/config/acexml.mpb:
+
+ Disable ACEXML libraries when "ace_for_tao" is enabled.
+
+Fri Nov 25 19:04:10 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * NEWS:
+
+ Updated with latest versioned namespace information.
+
+ * ace/ACE_Codecs_export.h:
+ * ace/ACE_Memory_export.h:
+ * ace/ACE_Reactor_export.h:
+ * ace/ACE_Sockets_export.h:
+ * ace/ACE_Threads_export.h:
+ * ace/ace.mwc:
+ * ace/ace_codecs_for_tao.mpc:
+ * ace/ace_configuration_for_tao.mpc:
+ * ace/ace_memory_for_tao.mpc:
+ * ace/ace_reactor_for_tao.mpc:
+ * ace/ace_sockets_for_tao.mpc:
+ * ace/ace_threads_for_tao.mpc:
+ * ace/ace_timer_for_tao.mpc:
+ * bin/MakeProjectCreator/config/acecodecslib_for_tao.mpb:
+ * bin/MakeProjectCreator/config/acememorylib_for_tao.mpb:
+ * bin/MakeProjectCreator/config/acereactorlib_for_tao.mpb:
+ * bin/MakeProjectCreator/config/acesocketslib_for_tao.mpb:
+ * bin/MakeProjectCreator/config/acethreadslib_for_tao.mpb:
+ * bin/MakeProjectCreator/config/acetimerlib_for_tao.mpb:
+
+ Removed smaller ace_for_tao subsets. Only a single ace_for_tao
+ subset library was originally intended.
+
+ * ace/Activation_Queue.h:
+ * ace/Barrier.h:
+ * ace/Based_Pointer_Repository.h:
+ * ace/Codecs.h:
+ * ace/Dev_Poll_Reactor.h:
+ * ace/File_Lock.h:
+ * ace/LSOCK.h:
+ * ace/LSOCK_Acceptor.h:
+ * ace/LSOCK_CODgram.h:
+ * ace/LSOCK_Connector.h:
+ * ace/LSOCK_Dgram.h:
+ * ace/LSOCK_Stream.h:
+ * ace/MEM_Acceptor.h:
+ * ace/MEM_Addr.h:
+ * ace/MEM_Connector.h:
+ * ace/MEM_IO.h:
+ * ace/MEM_SAP.h:
+ * ace/MEM_Stream.h:
+ * ace/MMAP_Memory_Pool.h:
+ * ace/Mem_Map.h:
+ * ace/Method_Request.h:
+ * ace/Msg_WFMO_Reactor.h:
+ * ace/Multihomed_INET_Addr.h:
+ * ace/PI_Malloc.h:
+ * ace/Pagefile_Memory_Pool.h:
+ * ace/Priority_Reactor.h:
+ * ace/Process.h:
+ * ace/Process_Manager.h:
+ * ace/Process_Semaphore.h:
+ * ace/RW_Process_Mutex.h:
+ * ace/SOCK_CODgram.h:
+ * ace/SOCK_Dgram_Bcast.h:
+ * ace/SOCK_Dgram_Mcast.h:
+ * ace/SOCK_SEQPACK_Acceptor.h:
+ * ace/SOCK_SEQPACK_Association.h:
+ * ace/SOCK_SEQPACK_Connector.h:
+ * ace/SV_Shared_Memory.h:
+ * ace/Sbrk_Memory_Pool.h:
+ * ace/Shared_Memory.h:
+ * ace/Shared_Memory_MM.h:
+ * ace/Shared_Memory_Pool.h:
+ * ace/Shared_Memory_SV.h:
+ * ace/Thread_Semaphore.h:
+ * ace/UNIX_Addr.h:
+
+ Removed ace_for_tao subset-specific export macro calls and
+ include directives. They are no longer needed.
+
+ * ace/ace_for_tao.mpc:
+
+ Added a number of source files required to build the
+ Notification Service and its tests.
+
+ * Kokyu/tests/DSRT_MIF/DSRT_MIF.mpc:
+ * ace/QoS/qos.mpc:
+ * apps/soreduce/soreduce.mpc:
+ * bin/MakeProjectCreator/config/ftclientorb.mpb:
+ * bin/MakeProjectCreator/config/htbp.mpb:
+ * bin/MakeProjectCreator/config/ifrservice.mpb:
+ * bin/MakeProjectCreator/config/naming_serv.mpb:
+ * bin/MakeProjectCreator/config/portablegroup.mpb:
+ * bin/MakeProjectCreator/config/rtevent_serv.mpb:
+ * bin/MakeProjectCreator/config/ssl.mpb:
+ * bin/MakeProjectCreator/config/strategies.mpb:
+ * bin/MakeProjectCreator/config/tmcast.mpb:
+ * examples/APG/Active_Objects/active_objects.mpc:
+ * examples/APG/Config/config.mpc:
+ * examples/APG/Misc_IPC/misc_ipc.mpc:
+ * examples/APG/Naming/naming.mpc:
+ * examples/APG/Proactor/proactor.mpc:
+ * examples/APG/Processes/processes.mpc:
+ * examples/APG/Shared_Memory/shared_memory.mpc:
+ * examples/APG/Streams/streams.mpc:
+ * examples/APG/Svc_Config/svc_config.mpc:
+ * examples/APG/ThreadPools/threadpools.mpc:
+ * examples/APG/ThreadSafety/threadsafety.mpc:
+ * examples/ASX/Event_Server/Event_Server/Event.mpc:
+ * examples/ASX/UPIPE_Event_Server/UPIPE_Event.mpc:
+ * examples/C++NPv1/C++NPv1.mpc:
+ * examples/C++NPv2/C++NPv2.mpc:
+ * examples/Connection/blocking/Connection_Blocking.mpc:
+ * examples/Connection/misc/Connection_Misc.mpc:
+ * examples/Connection/non_blocking/Connection_Non_Blocking.mpc:
+ * examples/IPC_SAP/DEV_SAP/reader/dev_sap_reader.mpc:
+ * examples/IPC_SAP/DEV_SAP/writer/dev_sap_writer.mpc:
+ * examples/IPC_SAP/FIFO_SAP/fifo_sap.mpc:
+ * examples/IPC_SAP/FILE_SAP/file_sap_client.mpc:
+ * examples/IPC_SAP/SOCK_SAP/sock_sap.mpc:
+ * examples/IPC_SAP/UPIPE_SAP/UPIPE_SAP.mpc:
+ * examples/Mem_Map/IO-tests/Mem_Map_IO_Tests.mpc:
+ * examples/Mem_Map/file-reverse/Mem_Map_File_Reverse.mpc:
+ * examples/Misc/Misc.mpc:
+ * examples/Naming/Naming.mpc:
+ * examples/OS/Process/OS_Process.mpc:
+ * examples/Reactor/Dgram/Reactor_Dgram.mpc:
+ * examples/Reactor/FIFO/Reactor_FIFO.mpc:
+ * examples/Reactor/Proactor/Proactor.mpc:
+ * examples/Service_Configurator/IPC-tests/client/Svc_Cfg_IPC_Client.mpc:
+ * examples/Shared_Malloc/Shared_Malloc.mpc:
+ * examples/Shared_Memory/Shared_Memory.mpc:
+ * examples/Synch/Synch.mpc:
+ * examples/System_V_IPC/SV_Message_Queues/SV_Message_Queues.mpc:
+ * examples/System_V_IPC/SV_Semaphores/SV_Semaphores.mpc:
+ * examples/Threads/Threads.mpc:
+ * performance-tests/SCTP/SCTP.mpc:
+ * tests/tests.mpc:
+
+ Added "avoids += ace_for_tao" to projects that require features
+ of ACE not found in the ace_for_tao subset. Addresses link-time
+ errors.
+
+Fri Nov 25 12:45:20 2005 Steve Huston <shuston@riverace.com>
+
+ * tests/Proactor_Test.cpp:
+ * tests/Proactor_Test_IPV6.cpp: Corrected ACE_Atomic_Op instantiations
+ for size_t.
+
+Fri Nov 25 10:00:21 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/POSIX_Proactor.cpp (ACE_POSIX_Asynch_Timer): Don't explicitly
+ call ACE_Asynch_Result_Impl() - it's pointless and isn't listed
+ as an ancestor of this class.
+ (create_asynch_timer): Use a ACE_POSIX_Asynch_Timer * to match
+ the created object type.
+
+ * ace/POSIX_Asynch_IO.cpp: Remove explicit calls to base-class
+ constructors from all constructors. It's not needed and seems to
+ cause problems on 64-bit code, at least on AIX.
+
+ * include/makeinclude/platform_aix_ibm.GNU: AIX now uses the XPG4 tail
+ command syntax, requiring "-n 1" to read the last line; refuses "-1".
+ Thanks to Mike Knight <mike dot knight at compuware dot com> for
+ alerting us to this.
+
+ * THANKS: Added Mike Knight to the Hall of Fame.
+
+Thu Nov 24 20:00:37 2005 Simon McQueen <sm@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+
+ Scheduled bug #2316 regression.
+
+Thu Nov 24 14:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ For Intel C++ 9.1 also disable warning 1684
+
+Thu Nov 24 01:38:57 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * bin/fuzz.pl:
+
+ Added a test that flags common versioned namespace related
+ errors/misuses.
+
+ * bin/MakeProjectCreator/config/global.features:
+
+ Disable versioned namespace support by default.
+
+ * ace/Atomic_Op.h:
+ * ace/Auto_Ptr.h:
+ * ace/Barrier.h:
+ * ace/Base_Thread_Adapter.h:
+ * ace/CDR_Stream.h:
+ * ace/Cleanup_Strategies_T.cpp:
+ * ace/Dev_Poll_Reactor.h:
+ * ace/Functor_String.h:
+ * ace/High_Res_Timer.cpp:
+ * ace/LSOCK_Connector.inl:
+ * ace/Local_Name_Space_T.h:
+ * ace/Log_Msg.h:
+ * ace/Malloc.h:
+ * ace/Malloc_Allocator.h:
+ * ace/Message_Queue.h:
+ * ace/OS_Memory.h:
+ * ace/OS_NS_Thread.cpp:
+ * ace/OS_NS_Thread.h:
+ * ace/OS_NS_errno.h:
+ * ace/OS_NS_math.inl:
+ * ace/OS_NS_netdb.cpp:
+ * ace/OS_NS_netdb.h:
+ * ace/OS_NS_sys_msg.h:
+ * ace/OS_NS_time.h:
+ * ace/OS_main.cpp:
+ * ace/Object_Manager.h:
+ * ace/Parse_Node.cpp:
+ * ace/Ping_Socket.cpp:
+ * ace/Proactor.cpp:
+ * ace/Proactor.h:
+ * ace/Profile_Timer.cpp:
+ * ace/Profile_Timer.inl:
+ * ace/SOCK_Dgram_Mcast.cpp:
+ * ace/SOCK_Dgram_Mcast.h:
+ * ace/SOCK_Dgram_Mcast.inl:
+ * ace/SPIPE_Stream.h:
+ * ace/Select_Reactor_T.cpp:
+ * ace/Service_Config.h:
+ * ace/Service_Templates.cpp:
+ * ace/Sock_Connect.cpp:
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+ * ace/Thread_Manager.cpp:
+ * ace/Time_Value.h:
+ * ace/Timeprobe.h:
+ * ace/Timer_Hash_T.h:
+ * ace/Timer_List.cpp:
+ * ace/Timer_Queue.cpp:
+ * ace/config-lite.h:
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+ * ace/SSL/SSL_Context.cpp:
+
+ Corrected build errors in versioned namespace builds.
+
+Wed Nov 23 19:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Set xerces to 1 by default if it is not set
+
+Wed Nov 23 11:00:46 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: Updated the guidelines to explain how
+ TAO binary options should be specified, i.e. as the integral
+ values 0 or 1.
+
+Wed Nov 23 09:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ When optimize=0, disable floating point optimizations. This way we
+ don't get floating point overflows in the TAO IDL test. If someone
+ enables optimize then we just let the compiler optimize things and
+ we could get overflows.
+
+Tue Nov 22 17:42:13 2005 Kobi Cohen-Arazi <kobi.cohenarazi at gmail dot com>
+
+ * ace/Select_Reactor_T.cpp (dispatch):
+ Fixed a bug which derived from bug #1890. active_handle_count
+ must be updated when state is changed. Every time some handler
+ remove add or suspend itself of another handle, state is
+ changed, and that should be reflected in the
+ active_handle_count. Thanks for Vadim Iosevich <viosevich at
+ gmail dot com>.
+
+Tue Nov 22 18:27:30 2005 Steve Huston <shuston@riverace.com>
+
+ * m4/tls.m4: Correct botched assignment to ace_TLS_CPPFLAGS when
+ additional Kerberos directory is needed.
+
+Tue Nov 22 03:33:14 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * ace/ace_configuration_for_tao.mpc:
+
+ Some groups require ACE_Configuration. This MPC should probably
+ help those groups with a smaller library to use instead of
+ pulling in the whole ACE library.
+
+Tue Nov 22 01:43:52 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/portablegroup.mpb:
+
+ Rather than disable this project in the ACE_FOR_TAO
+ configuration, inherit from acesocketslib_for_tao to allow it to
+ be used.
+
+Tue Nov 22 09:40:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * NEWS:
+
+ Added Stoyan Paunov and Arvind S. Krishna entries.
+
+Mon Nov 21 23:56:06 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/ace_for_tao.mpc:
+ * ace/ace_threads_for_tao.mpc:
+
+ Moved ACE_crc32.cpp to ace_threads_for_tao subset within
+ Windows compiler conditional. It is only needed by the
+ SV_Semaphore_Simple listed within that conditional block.
+
+ * ace/ace_timer_for_tao.mpc:
+ * bin/MakeProjectCreator/config/acetimerlib_for_tao.mpb:
+
+ New ACE_FOR_TAO timer library subset.
+
+ * ace/Obchunk.cpp:
+ * ace/Obchunk.h:
+ * ace/Obchunk.inl:
+ * ace/Object_Manager.cpp:
+ * ace/Object_Manager.h:
+ * ace/Object_Manager.inl:
+ * ace/Object_Manager_Base.cpp:
+ * ace/Object_Manager_Base.h:
+ * ace/Obstack.cpp:
+ * ace/Obstack.h:
+ * ace/Obstack_T.cpp:
+ * ace/Obstack_T.h:
+ * ace/Obstack_T.inl:
+
+ Added missing versioned namespace support.
+
+ * ace/SSL/SSL_Context.h:
+
+ Removed ACE_SSL_locking_callback prototype since it is not part
+ of the public interface, and since a prototype (and definition)
+ already exists in the SSL_Context.cpp implementation file.
+
+ Removed static class members and placed them in anonymous
+ namespace in the implementation file.
+
+ * ace/SSL_Context.cpp:
+
+ Static class members are now in an anonymous namespace. There's
+ no need to expose them in the corresponding header.
+
+ Mangle global SSL callback functions with the appropriate
+ versioned namespace name, if enabled.
+
+ Improved exception safety of lock memory management and
+ lock acquisition/release by taking advantage of an
+ ACE_Auto_Basic_Array_Ptr and ACE_Mutex, respectively.
+
+ * Kokyu/tests/DSRT_MIF/DSRT_MIF.mpc:
+ * apps/drwho/drwho.mpc:
+ * apps/soreduce/soreduce.mpc:
+ * examples/APG/Active_Objects/active_objects.mpc:
+ * examples/APG/Misc_IPC/misc_ipc.mpc:
+ * examples/APG/Shared_Memory/shared_memory.mpc:
+ * examples/APG/ThreadPools/threadpools.mpc:
+ * examples/APG/ThreadSafety/threadsafety.mpc:
+ * examples/ASX/Event_Server/Event_Server/Event.mpc:
+
+ Inherit from the appropriate ACE_FOR_TAO subset MPC base
+ project. Addresses unresolved symbol errors.
+
+Tue Nov 22 09:33:30 (IST) 2005 Bala Natarajan <bala_natarajan@symantec.com>
+
+ * bin/MakeProjectCreator/config/portablegroup.mpb:
+
+ Do not build in ACE_FOR_TAO configuration.
+
+Tue Nov 22 09:27:30 (IST) 2005 Bala Natarajan <bala_natarajan@symantec.com>
+
+ * ace/OS_NS_sys_utsname.cpp:
+ * ace/OS_NS_sys_utsname.h:
+ * ace/OS_NS_sys_utsname.inl:
+
+ Uninlined uname (). Compiling it on Solaris 9 with Studio9,
+ and inline enabled is a pain. DOC's scoreboard uses inline=0
+ on corona, and hence doesn't show the error. Uninlining solves
+ the problem.
+
+ * ace/ace_for_tao.mpc:
+
+ Added a few files to be built in ACE_FOR_TAO config. This fixes
+ many errors in gperf and orbsvcs on Solaris.
+
+Mon Nov 21 19:16:30 2005 Steve Huston <shuston@riverace.com>
+
+ * m4/tls.m4: Make sure we don't lose the user's specified OpenSSL
+ location when searching for Kerberos files.
+
+Mon Nov 21 13:26:53 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * NEWS:
+
+ Updated NEWS file to reflect additions to the latest beta.
+
+Mon Nov 21 11:00:02 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/cidlc.mpb
+
+ Added a verbatim section for gnuace targets to pull in the
+ boost_filesystem and boost_regex libraries.
+
+Mon Nov 21 08:16:29 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/SSL/SSL_Context.h: Removed "::" from friend declaration to
+ fix compile errors on Solaris, Forte 6 Update 2. (Sun C++ 5.4).
+
+Fri Nov 18 23:07:09 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Applied a syntax submitted by Martin Corino <mcorino@rememdy.nl>
+ to the setting of $LEX and $YACC. The existing syntax set
+ these variables only if they were not already set, but
+ unfortunately, GNU make sets them by default. For DOC
+ Group purposes, they need to be set to 'flex' and
+ 'bison' respectively.
+
+Fri Nov 18 17:22:19 2005 Steve Huston <shuston@riverace.com>
+
+ * protocols/ace/RMCast/Template_Instantiations.cpp: Completed
+ template instantiations.
+
+ * protocols/ace/RMCast/Makefile.am:
+ * protocols/ace/TMCast/Template_Instantiations.cpp: Explicit
+ instantiations needed for TMCast.
+
+ * tests/Based_Pointer_Test.cpp: Added explicit instantiation for
+ ACE_Malloc_T<ACE_MMAP_MEMORY_POOL, ACE_Null_Mutex,
+ ACE_PI_Control_Block>.
+
+ * tests/DLList_Test.cpp: #include "ace/Malloc_T.h" rather than
+ "ace/Malloc.h" to pick up ACE_Allocator<> before the explicit
+ instantiation needs it.
+
+Fri Nov 18 14:16:45 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/WIN32_Asynch_IO.cpp (shared_read): Added a new case for
+ ERROR_MORE_DATA, which isn't actually an error after all.
+ Thanks to Yongming Wang <wangym@gmail.com> for contributing
+ this.
+
+Fri Nov 18 10:39:01 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/cidlc.mpb
+
+ Added rest of change intended for:
+ Thu Nov 17 18:08:45 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Thu Nov 17 18:08:45 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/cidlc.mpb:
+
+ Fix submitted by Will Otte <wotte@dre.vanderbilt.edu> intended
+ to be part of
+
+ Tue Nov 15 12:44:37 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+Thu Nov 16 13:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/compiler.bor:
+ When VCL is defined, set different startup obj and also define
+ PACKAGES
+
+ * include/makeinclude/build_exe.bor:
+ Added PACKAGES to the compiler flags
+
+Thu Nov 16 12:36:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/compiler.bor:
+ Added extra linker paths
+
+ * bin/MakeProjectCreator/config/vcl.mpb:
+ New base project, usable for building VCL application with Borland
+ C++ Builder
+
+ * bin/MakeProjectCreator/config/global.features:
+ Disable vcl by default
+
+Wed Nov 16 15:48:29 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Hash_Map_Manager_T.h: For Sun CC 5.4 and earlier with explicit
+ template instantiation, can't prevent seeing operator= or
+ ACE_Hash_Map_Manager explicit templates won't compile. Ick.
+
+ * apps/JAWS3/jaws3/Templates.cpp: Adjusted ACE_Reactor_Token_T type
+ usage. Follow-up change to match those in:
+ Fri Aug 26 18:01:31 2005 Steve Huston <shuston@riverace.com>
+
+ * protocols/ace/RMCast/Template_Instantiations.cpp: Added more needed
+ instantiations.
+
+Wed Nov 16 14:12:08 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * bin/tao_orb_tests.lst:
+
+ Disabled CSD tests on VxWorks builds.
+
+Tue Nov 15 23:41:39 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Service_Config.cpp (ACE_FACTORY_DEFINE):
+
+ Moved this macro call outside of the versioned namespace. It
+ should be in the global namespace.
+
+ * ace/Svc_Conf.h:
+ * ace/Svc_Conf.l:
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+ * ace/Svc_Conf_Lexer_Guard.h:
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+
+ Added missing versioned namespace macros.
+
+Tue Nov 15 15:41:19 2005 Steve Huston <shuston@riverace.com>
+
+ * NEWS: Added WinCE, VC8, ACE_Dev_Poll_Reactor, and ACE_RB_Tree notes.
+
+ * bin/make_release: Generate VC8 files for both Win32 and WinCE.
+ Since VC8 uses the same suffixes as VC71, the Win32 files have
+ _vc8 appended, and WinCE files have _WinCE appended. WinCE files
+ are generated with feature uses_wchar=1, vc8 uses defaults.
+
+ * docs/CE-status.txt: Added some info on CE support under VC8.
+
+Tue Nov 15 12:44:37 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/cidlc.mpb
+
+ Added a directive to remove runtime dependancy on VC71
+ runtime libraries on Windows. Thanks to Kitty for suggesting
+ the fix.
+
+Tue Nov 15 11:31:41 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Atomic_Op.{h inl} (ACE_Atomic_Op (TYPE c)): Changed the signature
+ to be const TYPE& for long and unsigned long. This aligns it with the
+ ACE_Atomic_Op template's (const TYPE&) constructor signature and
+ resolves undefined references to it in the explicit template builds.
+
+ * ace/Event_Handler.cpp: Added explicit instantiation of
+ ACE_Atomic_Op<ACE_SYNCH_MUTEX,long> when ACE_HAS_BUILTIN_ATOMIC_OP
+ is not defined. This covers the event handler reference counting
+ use of ACE_Atomic_Op.
+
+ * ace/Malloc_Instantiations.cpp: Corrected header file inclusions.
+
+ * protocols/ace/RMCast/Makefile.am:
+ * protocols/ace/RMCast/Template_Instantiations.cpp: New file to
+ hold all explicit template instantiations needed for RMCast.
+ This is a temporary file, only for the ACE 5.5 release. Then it
+ can be expunged with the test of the explicit template
+ instantiation support.
+
+Tue Nov 15 09:31:29 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.{h cpp}: Add an optional decr_refcnt parameter
+ to ACE_Dev_Poll_Rector_Repository::unbind () to control whether or
+ not the unbound event handler's refcount is to be decremented.
+ When registering a handler, remember to increment its refcount if
+ needed; conversely, decrement it when all events are removed.
+ Be sure to initialize epoll_event structs.
+
+ * tests/Dev_Poll_Reactor_Test.cpp (handle_input): Fix buffer overrun.
+
+Tue Nov 15 13:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.{cpp.inl}:
+ Fixed compile errors in BCB Unicode build
+
+Tue Nov 15 07:28:35 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Service_Config.cpp (initialize): Added a check to avoid
+ overwriting a service that's already installed without having it
+ explicitly removed first. Thanks to Domingos Monteiro <d dot
+ monteiro at netia dot net> for this fix.
+
+Mon Nov 14 08:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/WIN32_Asynch_IO.cpp:
+ * ace/Asynch_Acceptor.cpp:
+ Removed check for >= BCB3
+
+ * ace/OS_NS_sys_stat.inl:
+ BCB has the normal umask
+
+ * ace/OS_NS_stdio.inl:
+ Replaced c-style cast with C++ cast
+
+ * ace/os_include/os_string.h:
+ Some BCB specific defines are not needed with BCB6 or newer
+
+Mon Nov 14 07:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/boost_unit_test.mpb:
+ Removed this file, not used anymore
+
+ * bin/MakeProjectCreator/config/cidlc.mpb:
+ Use base projects for boost_filesystem, boost_regex and
+ exceptions, will resolve the link errors in the icc
+ linux build
+
+Fri Nov 11 16:04:44 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Emit "idl_stubs" target for IDL projects defining MPC's
+ custom_only variable. Fixes problems with some of the
+ scoreboard statistics builds.
+
+Fri Nov 11 11:06:31 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ACEXML/common/common.mpc:
+ * ace/ACE_Codecs_export.h:
+ * ace/Codecs.h:
+ * ace/ace.mwc:
+ * ace/ace_codecs_for_tao.mpc:
+ * apps/JAWS/server/server.mpc:
+ * apps/JAWS3/jaws3/jaws3.mpc:
+ * examples/Service_Configurator/IPC-tests/server/Svc_Cfg_IPC_Server.mpc:
+ * examples/Threads/Threads.mpc:
+ * examples/Web_Crawler/Web_Crawler.mpc:
+ * netsvcs/clients/Naming/Client/Client.mpc:
+ * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.mpc:
+ * netsvcs/lib/lib.mpc:
+ * performance-tests/Misc/Misc.mpc:
+ * performance-tests/SCTP/SCTP.mpc:
+ * performance-tests/Server_Concurrency/Leader_Follower/Svr_Conc_Leader_Follower.mpc:
+ * performance-tests/Server_Concurrency/Queue_Based_Workers/Svr_Conc_Queue_Based_Workers.mpc:
+ * performance-tests/Synch-Benchmarks/Base_Test/Synch_Benchmarks_Base_Test.mpc:
+ * performance-tests/Synch-Benchmarks/Perf_Test/Synch_Benchmarks_Perf_Test.mpc:
+ * performance-tests/TCP/TCP.mpc:
+ * performance-tests/UDP/UDP.mpc:
+ * tests/tests.mpc:
+
+ Addressed some "ace_for_tao" link-time failures.
+
+Fri Nov 11 09:21:53 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Added missing "ace_for_tao" support. Addresses "ace_for_tao"
+ build errors in GNU Make based builds.
+
+Fri Nov 11 12:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_sunos5_g++.GNU:
+ Removed very old note
+
+Thu Nov 10 09:05:58 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Added a template variable, libname_prefix, that can be set to
+ prefix all library names (sharedname, staticname and libs). Note
+ that lit_libs and pure_libs are not affected.
+
+Thu Nov 10 07:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.1.h:
+ Added ACE_HAS_SNPRINTF
+
+Wed Nov 9 19:44:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/acecodecslib_for_tao.mpb:
+ * ace/ace_codecs_for_tao.mpc:
+ * ace/QoS/qos.mpc:
+ * ACEXML/common/common.mpc:
+
+ Fixed "ace_for_tao" subset related unresolved symbol errors.
+
+Wed Nov 9 17:05:59 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-macosx-tiger.h
+
+ Corrected wchar support for Tiger.
+
+ * include/makeinclude/platform_macosx_tiger_gcc3.3.GNU
+ * include/makeinclude/platform_macosx_tiger_gcc4.GNU
+
+ Removed the versioned platform_macros because there were no
+ significant changes needed to support GCC3.3 on OS X.
+
+ * include/makeinclude/platform_macosx_tiger.GNU
+
+ Merged platform_macros file. Set CC and CXX to the desired
+ compiler if you wish to use the non-default compiler.
+
+Tue Nov 8 15:27:25 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-macosx-tiger.h
+
+ Fixed size of long double for Mac OS X Tiger with GCC 3.3.
+
+Mon Nov 7 16:27:12 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/csd_framework.mpb
+ * bin/MakeProjectCreator/config/notifytest.mpb
+ * bin/MakeProjectCreator/config/rteventlogadmin.mpb
+
+ Fixes for linking errors on OS X.
+
+Mon Nov 7 15:24:30 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * include/makeinclude/platform_macosx_tiger_gcc3.3.GNU
+
+ Added a macros file for Tiger with GCC 3.3.
+
+Mon Nov 7 14:45:05 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Stats.h:
+
+ Made private section of class ACE_Stats protected, for
+ convenient subclassing.
+
+Mon Nov 7 09:21:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/compiler.bor:
+ Added -L$(BCB)\lib\psdk always to the linker flags
+
+Sun Nov 6 21:19:44 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * ace/ace_sockets_for_tao.mpc:
+
+ Fixed another bug with the MPC file.
+
+ * protocols/ace/HTBP/HTBP.mpc:
+
+ Reverted the avoids declaration.
+
+Sun Nov 6 21:02:17 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * ace/ace_for_tao.mpc:
+ * ace/ace_threads_for_tao.mpc:
+ * protocols/ace/HTBP/HTBP.mpc:
+ * protocols/ace/RMCast/RMCast.mpc:
+ * protocols/ace/TMCast/TMCast.mpc:
+ * protocols/examples/RMCast/Send_Msg/Send_Msg.mpc:
+ * protocols/tests/RMCast/RMCast.mpc:
+
+ Fixed subtle errors with ace_for_tao builds.
+
+Sat Nov 5 13:28:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/APG/Shared_Memory/Hash_Map.cpp:
+ Replaced MAP with HASH_MAP to fix compile problems with VxWorks 6.1
+
+Sat Nov 5 13:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Cache_Map_Manager_T.{h,cpp,inl}:
+ Replaced MAP_TYPE with CMAP_TYPE, MAP_TYPE is also used on some
+ platforms already
+
+ * include/makeinclude/compiler.bor:
+ Fixed typo
+
+Fri Nov 4 09:18:17 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Dev_Poll_Reactor.h (Token_Guard):
+
+ Fixed incorrect unimplemented constructor related error that was
+ introduced when removing ACE_UNIMPLEMENTED_FUNC macro usage.
+
+Fri Nov 4 14:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/compiler.bor:
+ Make sure that we always add $(BCB)\lib to the linker flags
+
+Fri Nov 4 12:28:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Lazy_Map_Manager_Test.cpp:
+ Changed MAP to LAZY_MAP
+
+ * tests/Map_Test.cpp:
+ Changed MAP to TEST_MAP
+
+Fri Nov 4 12:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Cache_Map_Manager_T.{h,cpp,inl}:
+ Changed MAP to MAP_TYPE to resolve conflicts with VxWorks 6.1
+ MAP define
+
+Fri Nov 4 11:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.inl:
+ For VxWorks 6.1 also include os_string.h to get swab
+
+Fri Nov 4 10:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Capabilities.{h,cpp}:
+ Changed MAP to CAPABILITIES_MAP. VxWorks 6.1 defines the cpu
+ type MAP which results in a compile error
+
+ * ace/os_include/sys/os_un.h:
+ Only define the struct sockaddr_un with VxWorks versions older
+ then 6.1
+
+Fri Nov 4 10:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-vxworks6.1.h:
+ * include/makeinclude/platform_vxworks6.1.GNU:
+ New files for VxWorks 6.1. This is just a first draft version, a lot
+ of porting work has to be done
+
+ * ace/OS_NS_stdlib.cpp:
+ Fixed variable not used warning with VxWorks 6.1
+
+Fri Nov 4 10:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.h:
+ Only define VX_FP_TASK when it is not defined yet
+
+Fri Nov 4 08:50:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Global_Macros.h:
+ Removed check for BCB3, that is ancient
+
+Thu Nov 3 12:34:30 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Service_Config.h (ACE_DYNAMIC_SERVICE_DIRECTIVE): Added a
+ missing '\' at near the end of a macro. Thanks to Lothar
+ Werzinger for this fix.
+
+Thu Nov 3 09:16:23 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Activation_Queue.h:
+ * ace/Atomic_Op.h:
+ * ace/Condition_Recursive_Thread_Mutex.h:
+ * ace/DLL.h:
+ * ace/DLL_Manager.h:
+ * ace/Dev_Poll_Reactor.h:
+ * ace/Framework_Component.h:
+ * ace/Get_Opt.h:
+ * ace/Mem_Map.h:
+ * ace/Message_Queue.cpp:
+ * ace/Message_Queue.h:
+ * ace/Method_Request.h:
+ * ace/Null_Mutex.h:
+ * ace/PI_Malloc.h:
+ * ace/Process.h:
+ * ace/Read_Buffer.h:
+ * ace/Select_Reactor.h:
+ * ace/Stats.h:
+ * ace/TP_Reactor.h:
+
+ Removed unnecessary uses of ACE_UNIMPLEMENTED_FUNC macro. It is
+ only meant to be used for private unimplemented member functions
+ in class templates.
+
+ * ace/Versioned_Namespace.h:
+
+ Clarified preprocessor error message.
+
+Wed Nov 2 09:19:04 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/ACE.h (strdelete):
+
+ Declare wchar version of ACE::strdelete() with
+ ACE_NAMESPACE_INLINE_FUNCTION macro since it is now inlined.
+ Addresses duplicate definition errors in wchar-enabled builds.
+
+Wed Nov 2 08:51:29 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * ace/CDR_Stream.h:
+ * ace/CDR_Stream.inl:
+
+ Removed ACE_OutputCDR_Auto_Reset. Firstly
+ ACE_Utils::Auto_Functor should be used and secondly such classes
+ don't serve any purpose beyond Output_CDR.
+
+Tue Nov 1 22:19:03 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Makefile.am (nobase_include_HEADERS):
+
+ Added missing "Versioned_Namespace.h" header.
+
+ * ace/Versioned_Namespace.h:
+
+ Clarified preprocessor error message.
+
+Tue Nov 1 14:28:51 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-macosx-tiger.h
+
+ Some changes to fix compile errors in JAWS. Thanks to Johnny for
+ suggesting a fix.
+
+Tue Nov 1 15:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Updated supported platforms
+
+Tue Nov 1 12:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ * bin/tao_other_tests.lst:
+ Moved Bug_2074_Regression to orbsvcs
+
+Mon Oct 31 13:38:07 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * bin/msvc_static_order.lst:
+
+ Moved the TAO/tests/CSD_Strategy_Tests/TP_Common/CSD_TP_Test_Lib
+ before TAO/tests/Collocation/Collocation_Test_Stub. This should
+ resolve the TP_Foo_* libs compilation errors on static build.
+
+Mon Oct 31 09:54:18 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Makefile.am:
+ Removed Synch_Options.inl and TSS_Adapter.inl.
+
+Mon Oct 31 07:55:57 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Registry.cpp (STRING_SEPARATOR):
+ * ace/Registry.h (STRING_SEPARATOR):
+
+ Reintroduced this string as a static class member. It is also
+ used outside of the ACE_Registry class in
+ ACE_Registry_Name_Space. Fixes an unresolved symbol error in
+ Borland builds.
+
+Mon Oct 31 14:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Makefile.am:
+ Removed Service_Manager.inl
+
+Mon Oct 31 13:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added Bug_2084_Regression
+
+Mon Oct 31 12:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added TAO/tests/Bug_2074_Regression/run_test.pl to the list
+
+Mon Oct 31 10:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/pre.h:
+ Reverted change below, makes it much easier to use ACE from
+ application projects
+ Fri Oct 28 10:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+Mon Oct 31 09:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/gethrtime.cpp:
+ * ace/Base_Thread_Adapter.cpp:
+ Fixed fuzz errors
+
+Mon Oct 31 08:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/msvc_static_order.lst:
+ Moved CSD test lib down, let us see the impact on the vc build
+
+Mon Oct 31 06:55:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/UPIPE_Connector.cpp:
+ Added missing include for Linux builds
+
+Sun Oct 30 08:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Task.h:
+ Fixed gcc4 compile error
+
+Fri Oct 28 16:07:45 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/SSL/SSL_Context.cpp (ACE_SSL_locking_callback):
+ (ACE_SSL_thread_id):
+
+ Removed duplicate definitions.
+
+Fri Oct 28 16:42:12 2005 Don Busch <busch_d@ociweb.com>
+
+ * bin/MakeProjectCreator/config/messaging_optional.mpb
+
+ Add "after += Messaging" to ensure that CosNaming_Serv and
+ CosEvent_Serv always build after Messaging
+
+Fri Oct 28 14:28:13 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Map_Manager.h:
+
+ Include "ace/Default_Constants.h" to pull in
+ ACE_DEFAULT_MAP_SIZE definition.
+
+Fri Oct 28 10:42:32 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Copy_Disabled.cpp
+ * ace/Copy_Disabled.h:
+ * ace/Makefile.am (libACE_la_SOURCES):
+ * ace/ace.mpc:
+
+ Reinstituted Copy_Disabled.cpp. Addresses unresolved symbol
+ link-time errors.
+
+Fri Oct 28 09:23:11 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Reverse_Lock_T.h (ACE_Acquire_Method):
+
+ Fixed typo.
+
+Fri Oct 28 14:05:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_Base.cpp:
+ Fixed possible unitialized warning
+
+Fri Oct 28 10:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/pre.h:
+ Removed several arguments for the option push, these are passed
+ from the commandline already
+
+Fri Oct 28 07:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-linux-common.h:
+ Added ACE_HAS_UALARM
+
+Fri Oct 28 00:01:06 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/ACE.cpp:
+ * ace/ACE.h:
+ * ace/ACE.inl:
+ * ace/ACE_crc32.cpp:
+ * ace/ACE_crc_ccitt.cpp:
+ * ace/ARGV.cpp:
+ * ace/ARGV.h:
+ * ace/ARGV.inl:
+ * ace/ATM_Acceptor.cpp:
+ * ace/ATM_Acceptor.h:
+ * ace/ATM_Acceptor.inl:
+ * ace/ATM_Addr.cpp:
+ * ace/ATM_Addr.h:
+ * ace/ATM_Addr.inl:
+ * ace/ATM_Connector.cpp:
+ * ace/ATM_Connector.h:
+ * ace/ATM_Connector.inl:
+ * ace/ATM_Params.cpp:
+ * ace/ATM_Params.h:
+ * ace/ATM_Params.inl:
+ * ace/ATM_QoS.cpp:
+ * ace/ATM_QoS.h:
+ * ace/ATM_QoS.inl:
+ * ace/ATM_Stream.cpp:
+ * ace/ATM_Stream.h:
+ * ace/ATM_Stream.inl:
+ * ace/Acceptor.cpp:
+ * ace/Acceptor.h:
+ * ace/Activation_Queue.cpp:
+ * ace/Activation_Queue.h:
+ * ace/Activation_Queue.inl:
+ * ace/Active_Map_Manager.cpp:
+ * ace/Active_Map_Manager.h:
+ * ace/Active_Map_Manager.inl:
+ * ace/Active_Map_Manager_T.cpp:
+ * ace/Active_Map_Manager_T.h:
+ * ace/Active_Map_Manager_T.inl:
+ * ace/Addr.cpp:
+ * ace/Addr.h:
+ * ace/Addr.inl:
+ * ace/Arg_Shifter.cpp:
+ * ace/Arg_Shifter.h:
+ * ace/Argv_Type_Converter.cpp:
+ * ace/Argv_Type_Converter.h:
+ * ace/Argv_Type_Converter.inl:
+ * ace/Array_Base.cpp:
+ * ace/Array_Base.h:
+ * ace/Array_Base.inl:
+ * ace/Array_Map.cpp:
+ * ace/Array_Map.h:
+ * ace/Array_Map.inl:
+ * ace/Asynch_Acceptor.cpp:
+ * ace/Asynch_Acceptor.h:
+ * ace/Asynch_Connector.cpp:
+ * ace/Asynch_IO.cpp:
+ * ace/Asynch_IO.h:
+ * ace/Asynch_IO_Impl.cpp:
+ * ace/Asynch_IO_Impl.h:
+ * ace/Asynch_IO_Impl.inl:
+ * ace/Asynch_Pseudo_Task.cpp:
+ * ace/Asynch_Pseudo_Task.h:
+ * ace/Atomic_Op.cpp:
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+ * ace/Atomic_Op_T.cpp:
+ * ace/Atomic_Op_T.h:
+ * ace/Atomic_Op_T.inl:
+ * ace/Auto_Event.cpp:
+ * ace/Auto_Event.h:
+ * ace/Auto_Event.inl:
+ * ace/Auto_Functor.cpp:
+ * ace/Auto_Functor.h:
+ * ace/Auto_Functor.inl:
+ * ace/Auto_IncDec_T.cpp:
+ * ace/Auto_IncDec_T.h:
+ * ace/Auto_IncDec_T.inl:
+ * ace/Auto_Ptr.cpp:
+ * ace/Auto_Ptr.h:
+ * ace/Auto_Ptr.inl:
+ * ace/Barrier.cpp:
+ * ace/Barrier.h:
+ * ace/Barrier.inl:
+ * ace/Base_Thread_Adapter.cpp:
+ * ace/Base_Thread_Adapter.h:
+ * ace/Base_Thread_Adapter.inl:
+ * ace/Based_Pointer_Repository.cpp:
+ * ace/Based_Pointer_Repository.h:
+ * ace/Based_Pointer_T.cpp:
+ * ace/Based_Pointer_T.h:
+ * ace/Based_Pointer_T.inl:
+ * ace/Basic_Stats.cpp:
+ * ace/Basic_Stats.h:
+ * ace/Basic_Stats.inl:
+ * ace/Basic_Types.cpp:
+ * ace/Basic_Types.h:
+ * ace/Basic_Types.inl:
+ * ace/Bound_Ptr.h:
+ * ace/Bound_Ptr.inl:
+ * ace/CDR_Base.cpp:
+ * ace/CDR_Base.h:
+ * ace/CDR_Base.inl:
+ * ace/CDR_Size.cpp:
+ * ace/CDR_Size.h:
+ * ace/CDR_Size.inl:
+ * ace/CDR_Stream.cpp:
+ * ace/CE_Screen_Output.cpp:
+ * ace/CE_Screen_Output.h:
+ * ace/Cache_Map_Manager_T.cpp:
+ * ace/Cache_Map_Manager_T.h:
+ * ace/Cache_Map_Manager_T.inl:
+ * ace/Cached_Connect_Strategy_T.cpp:
+ * ace/Cached_Connect_Strategy_T.h:
+ * ace/Caching_Strategies_T.cpp:
+ * ace/Caching_Strategies_T.h:
+ * ace/Caching_Strategies_T.inl:
+ * ace/Caching_Utility_T.cpp:
+ * ace/Caching_Utility_T.h:
+ * ace/Capabilities.cpp:
+ * ace/Capabilities.h:
+ * ace/Capabilities.inl:
+ * ace/Cleanup.cpp:
+ * ace/Cleanup.h:
+ * ace/Cleanup.inl:
+ * ace/Cleanup_Strategies_T.cpp:
+ * ace/Codecs.cpp:
+ * ace/Codecs.h:
+ * ace/Codeset_IBM1047.cpp:
+ * ace/Codeset_IBM1047.h:
+ * ace/Codeset_Registry.inl:
+ * ace/Condition_Recursive_Thread_Mutex.cpp:
+ * ace/Condition_Recursive_Thread_Mutex.h:
+ * ace/Condition_T.cpp:
+ * ace/Condition_T.h:
+ * ace/Condition_T.inl:
+ * ace/Condition_Thread_Mutex.cpp:
+ * ace/Condition_Thread_Mutex.h:
+ * ace/Condition_Thread_Mutex.inl:
+ * ace/Configuration.cpp:
+ * ace/Configuration.h:
+ * ace/Configuration_Import_Export.cpp:
+ * ace/Configuration_Import_Export.h:
+ * ace/Connection_Recycling_Strategy.cpp:
+ * ace/Connection_Recycling_Strategy.h:
+ * ace/Connector.cpp:
+ * ace/Connector.h:
+ * ace/Container_Instantiations.cpp:
+ * ace/Containers.cpp:
+ * ace/Containers.h:
+ * ace/Containers.inl:
+ * ace/Containers_T.cpp:
+ * ace/Containers_T.h:
+ * ace/Containers_T.inl:
+ * ace/Copy_Disabled.h:
+ * ace/Countdown_Time.cpp:
+ * ace/Countdown_Time.h:
+ * ace/DEV.cpp:
+ * ace/DEV.h:
+ * ace/DEV.inl:
+ * ace/DEV_Addr.cpp:
+ * ace/DEV_Addr.h:
+ * ace/DEV_Addr.inl:
+ * ace/DEV_Connector.cpp:
+ * ace/DEV_Connector.h:
+ * ace/DEV_Connector.inl:
+ * ace/DEV_IO.cpp:
+ * ace/DEV_IO.h:
+ * ace/DEV_IO.inl:
+ * ace/DLL.cpp:
+ * ace/DLL.h:
+ * ace/DLL_Manager.cpp:
+ * ace/DLL_Manager.h:
+ * ace/Date_Time.h:
+ * ace/Date_Time.inl:
+ * ace/Dev_Poll_Reactor.cpp:
+ * ace/Dev_Poll_Reactor.h:
+ * ace/Dev_Poll_Reactor.inl:
+ * ace/Dirent.h:
+ * ace/Dirent.inl:
+ * ace/Dirent_Selector.cpp:
+ * ace/Dirent_Selector.h:
+ * ace/Dirent_Selector.inl:
+ * ace/Dump.cpp:
+ * ace/Dump.h:
+ * ace/Dump_T.cpp:
+ * ace/Dump_T.h:
+ * ace/Dynamic.cpp:
+ * ace/Dynamic.h:
+ * ace/Dynamic.inl:
+ * ace/Dynamic_Service.cpp:
+ * ace/Dynamic_Service.h:
+ * ace/Dynamic_Service.inl:
+ * ace/Dynamic_Service_Base.cpp:
+ * ace/Dynamic_Service_Base.h:
+ * ace/Env_Value_T.cpp:
+ * ace/Env_Value_T.h:
+ * ace/Env_Value_T.inl:
+ * ace/Event.cpp:
+ * ace/Event.h:
+ * ace/Event.inl:
+ * ace/Event_Handler.cpp:
+ * ace/Event_Handler.h:
+ * ace/Event_Handler.inl:
+ * ace/Event_Handler_T.cpp:
+ * ace/Event_Handler_T.h:
+ * ace/Event_Handler_T.inl:
+ * ace/FIFO.cpp:
+ * ace/FIFO.h:
+ * ace/FIFO.inl:
+ * ace/FIFO_Recv.cpp:
+ * ace/FIFO_Recv.h:
+ * ace/FIFO_Recv.inl:
+ * ace/FIFO_Recv_Msg.cpp:
+ * ace/FIFO_Recv_Msg.h:
+ * ace/FIFO_Recv_Msg.inl:
+ * ace/FIFO_Send.cpp:
+ * ace/FIFO_Send.h:
+ * ace/FIFO_Send.inl:
+ * ace/FIFO_Send_Msg.cpp:
+ * ace/FIFO_Send_Msg.h:
+ * ace/FIFO_Send_Msg.inl:
+ * ace/FILE.cpp:
+ * ace/FILE.h:
+ * ace/FILE.inl:
+ * ace/FILE_Addr.cpp:
+ * ace/FILE_Addr.h:
+ * ace/FILE_Addr.inl:
+ * ace/FILE_Connector.cpp:
+ * ace/FILE_Connector.h:
+ * ace/FILE_Connector.inl:
+ * ace/FILE_IO.cpp:
+ * ace/FILE_IO.h:
+ * ace/FILE_IO.inl:
+ * ace/File_Lock.cpp:
+ * ace/File_Lock.h:
+ * ace/File_Lock.inl:
+ * ace/Filecache.cpp:
+ * ace/Filecache.h:
+ * ace/FlReactor.cpp:
+ * ace/FlReactor.h:
+ * ace/Flag_Manip.cpp:
+ * ace/Flag_Manip.h:
+ * ace/Flag_Manip.inl:
+ * ace/Framework_Component.cpp:
+ * ace/Framework_Component.h:
+ * ace/Framework_Component.inl:
+ * ace/Framework_Component_T.cpp:
+ * ace/Framework_Component_T.h:
+ * ace/Free_List.cpp:
+ * ace/Free_List.h:
+ * ace/Functor.cpp:
+ * ace/Functor.h:
+ * ace/Functor.inl:
+ * ace/Functor_String.h:
+ * ace/Functor_String.inl:
+ * ace/Functor_T.cpp:
+ * ace/Functor_T.h:
+ * ace/Functor_T.inl:
+ * ace/Future.cpp:
+ * ace/Future.h:
+ * ace/Future_Set.cpp:
+ * ace/Future_Set.h:
+ * ace/Get_Opt.cpp:
+ * ace/Get_Opt.h:
+ * ace/Get_Opt.inl:
+ * ace/Global_Macros.h:
+ * ace/Guard_T.cpp:
+ * ace/Guard_T.h:
+ * ace/Guard_T.inl:
+ * ace/Handle_Gobbler.h:
+ * ace/Handle_Gobbler.inl:
+ * ace/Handle_Ops.cpp:
+ * ace/Handle_Ops.h:
+ * ace/Handle_Set.cpp:
+ * ace/Handle_Set.h:
+ * ace/Handle_Set.inl:
+ * ace/Hash_Cache_Map_Manager_T.cpp:
+ * ace/Hash_Cache_Map_Manager_T.h:
+ * ace/Hash_Cache_Map_Manager_T.inl:
+ * ace/Hash_Map_Manager.cpp:
+ * ace/Hash_Map_Manager.h:
+ * ace/Hash_Map_Manager_T.cpp:
+ * ace/Hash_Map_Manager_T.h:
+ * ace/Hash_Map_Manager_T.inl:
+ * ace/Hash_Map_With_Allocator_T.cpp:
+ * ace/Hash_Map_With_Allocator_T.h:
+ * ace/Hash_Map_With_Allocator_T.inl:
+ * ace/Hashable.cpp:
+ * ace/Hashable.h:
+ * ace/Hashable.inl:
+ * ace/High_Res_Timer.cpp:
+ * ace/High_Res_Timer.h:
+ * ace/High_Res_Timer.inl:
+ * ace/ICMP_Socket.cpp:
+ * ace/ICMP_Socket.h:
+ * ace/ICMP_Socket.inl:
+ * ace/INET_Addr.cpp:
+ * ace/INET_Addr.h:
+ * ace/INET_Addr.inl:
+ * ace/IOStream.cpp:
+ * ace/IOStream.h:
+ * ace/IOStream_T.cpp:
+ * ace/IOStream_T.h:
+ * ace/IOStream_T.inl:
+ * ace/IO_Cntl_Msg.cpp:
+ * ace/IO_Cntl_Msg.h:
+ * ace/IO_Cntl_Msg.inl:
+ * ace/IO_SAP.cpp:
+ * ace/IO_SAP.h:
+ * ace/IO_SAP.inl:
+ * ace/IPC_SAP.cpp:
+ * ace/IPC_SAP.h:
+ * ace/IPC_SAP.inl:
+ * ace/If_Then_Else.h:
+ * ace/Init_ACE.cpp:
+ * ace/Init_ACE.h:
+ * ace/Intrusive_List.cpp:
+ * ace/Intrusive_List.h:
+ * ace/Intrusive_List.inl:
+ * ace/Intrusive_List_Node.cpp:
+ * ace/Intrusive_List_Node.h:
+ * ace/Intrusive_List_Node.inl:
+ * ace/LOCK_SOCK_Acceptor.cpp:
+ * ace/LOCK_SOCK_Acceptor.h:
+ * ace/LSOCK.cpp:
+ * ace/LSOCK.h:
+ * ace/LSOCK.inl:
+ * ace/LSOCK_Acceptor.cpp:
+ * ace/LSOCK_Acceptor.h:
+ * ace/LSOCK_CODgram.cpp:
+ * ace/LSOCK_CODgram.h:
+ * ace/LSOCK_CODgram.inl:
+ * ace/LSOCK_Connector.cpp:
+ * ace/LSOCK_Connector.h:
+ * ace/LSOCK_Connector.inl:
+ * ace/LSOCK_Dgram.cpp:
+ * ace/LSOCK_Dgram.h:
+ * ace/LSOCK_Dgram.inl:
+ * ace/LSOCK_Stream.cpp:
+ * ace/LSOCK_Stream.h:
+ * ace/LSOCK_Stream.inl:
+ * ace/Lib_Find.cpp:
+ * ace/Lib_Find.h:
+ * ace/Local_Memory_Pool.cpp:
+ * ace/Local_Memory_Pool.h:
+ * ace/Local_Name_Space.cpp:
+ * ace/Local_Name_Space.h:
+ * ace/Local_Name_Space_T.cpp:
+ * ace/Local_Name_Space_T.h:
+ * ace/Local_Tokens.cpp:
+ * ace/Local_Tokens.h:
+ * ace/Local_Tokens.inl:
+ * ace/Lock.cpp:
+ * ace/Lock.h:
+ * ace/Lock.inl:
+ * ace/Lock_Adapter_T.cpp:
+ * ace/Lock_Adapter_T.h:
+ * ace/Lock_Adapter_T.inl:
+ * ace/Log_Msg.cpp:
+ * ace/Log_Msg.h:
+ * ace/Log_Msg_Backend.cpp:
+ * ace/Log_Msg_Backend.h:
+ * ace/Log_Msg_Callback.cpp:
+ * ace/Log_Msg_Callback.h:
+ * ace/Log_Msg_IPC.cpp:
+ * ace/Log_Msg_IPC.h:
+ * ace/Log_Msg_NT_Event_Log.cpp:
+ * ace/Log_Msg_NT_Event_Log.h:
+ * ace/Log_Msg_UNIX_Syslog.cpp:
+ * ace/Log_Msg_UNIX_Syslog.h:
+ * ace/Log_Priority.h:
+ * ace/Log_Record.cpp:
+ * ace/Log_Record.h:
+ * ace/Log_Record.inl:
+ * ace/Logging_Strategy.cpp:
+ * ace/Logging_Strategy.h:
+ * ace/MEM_Acceptor.cpp:
+ * ace/MEM_Acceptor.h:
+ * ace/MEM_Acceptor.inl:
+ * ace/MEM_Addr.cpp:
+ * ace/MEM_Addr.h:
+ * ace/MEM_Addr.inl:
+ * ace/MEM_Connector.cpp:
+ * ace/MEM_Connector.h:
+ * ace/MEM_Connector.inl:
+ * ace/MEM_IO.cpp:
+ * ace/MEM_IO.h:
+ * ace/MEM_IO.inl:
+ * ace/MEM_SAP.cpp:
+ * ace/MEM_SAP.h:
+ * ace/MEM_SAP.inl:
+ * ace/MEM_Stream.cpp:
+ * ace/MEM_Stream.h:
+ * ace/MEM_Stream.inl:
+ * ace/MMAP_Memory_Pool.cpp:
+ * ace/MMAP_Memory_Pool.h:
+ * ace/Makefile.am:
+ * ace/Malloc.cpp:
+ * ace/Malloc.h:
+ * ace/Malloc.inl:
+ * ace/Malloc_Allocator.cpp:
+ * ace/Malloc_Allocator.inl:
+ * ace/Malloc_Base.h:
+ * ace/Malloc_Instantiations.cpp:
+ * ace/Malloc_T.cpp:
+ * ace/Malloc_T.h:
+ * ace/Malloc_T.inl:
+ * ace/Managed_Object.cpp:
+ * ace/Managed_Object.h:
+ * ace/Managed_Object.inl:
+ * ace/Manual_Event.cpp:
+ * ace/Manual_Event.h:
+ * ace/Manual_Event.inl:
+ * ace/Map.cpp:
+ * ace/Map.h:
+ * ace/Map_Manager.cpp:
+ * ace/Map_Manager.h:
+ * ace/Map_Manager.inl:
+ * ace/Map_T.cpp:
+ * ace/Map_T.h:
+ * ace/Map_T.inl:
+ * ace/Mem_Map.cpp:
+ * ace/Mem_Map.h:
+ * ace/Mem_Map.inl:
+ * ace/Message_Block.cpp:
+ * ace/Message_Block.h:
+ * ace/Message_Block.inl:
+ * ace/Message_Block_T.cpp:
+ * ace/Message_Block_T.h:
+ * ace/Message_Block_T.inl:
+ * ace/Message_Queue.cpp:
+ * ace/Message_Queue.h:
+ * ace/Message_Queue.inl:
+ * ace/Message_Queue_T.cpp:
+ * ace/Message_Queue_T.h:
+ * ace/Method_Object.h:
+ * ace/Method_Request.cpp:
+ * ace/Method_Request.h:
+ * ace/Metrics_Cache_T.cpp:
+ * ace/Metrics_Cache_T.h:
+ * ace/Metrics_Cache_T.inl:
+ * ace/Min_Max.h:
+ * ace/Module.cpp:
+ * ace/Module.h:
+ * ace/Module.inl:
+ * ace/Msg_WFMO_Reactor.cpp:
+ * ace/Msg_WFMO_Reactor.h:
+ * ace/Msg_WFMO_Reactor.inl:
+ * ace/Multihomed_INET_Addr.cpp:
+ * ace/Multihomed_INET_Addr.h:
+ * ace/Multihomed_INET_Addr.inl:
+ * ace/Multiplexor.h:
+ * ace/Multiplexor.inl:
+ * ace/Mutex.cpp:
+ * ace/Mutex.h:
+ * ace/Mutex.inl:
+ * ace/NT_Service.cpp:
+ * ace/NT_Service.h:
+ * ace/NT_Service.inl:
+ * ace/Name_Proxy.cpp:
+ * ace/Name_Proxy.h:
+ * ace/Name_Request_Reply.cpp:
+ * ace/Name_Request_Reply.h:
+ * ace/Name_Space.cpp:
+ * ace/Name_Space.h:
+ * ace/Naming_Context.cpp:
+ * ace/Naming_Context.h:
+ * ace/Node.cpp:
+ * ace/Node.h:
+ * ace/Notification_Strategy.cpp:
+ * ace/Notification_Strategy.h:
+ * ace/Notification_Strategy.inl:
+ * ace/Null_Barrier.h:
+ * ace/Null_Condition.h:
+ * ace/Null_Mutex.h:
+ * ace/Null_Semaphore.h:
+ * ace/OS.h:
+ * ace/OS_Errno.cpp:
+ * ace/OS_Errno.h:
+ * ace/OS_Errno.inl:
+ * ace/OS_Log_Msg_Attributes.h:
+ * ace/OS_Log_Msg_Attributes.inl:
+ * ace/OS_NS_Thread.cpp:
+ * ace/OS_NS_Thread.h:
+ * ace/OS_NS_Thread.inl:
+ * ace/OS_NS_arpa_inet.cpp:
+ * ace/OS_NS_arpa_inet.h:
+ * ace/OS_NS_arpa_inet.inl:
+ * ace/OS_NS_ctype.h:
+ * ace/OS_NS_ctype.inl:
+ * ace/OS_NS_dirent.cpp:
+ * ace/OS_NS_dirent.h:
+ * ace/OS_NS_dirent.inl:
+ * ace/OS_NS_dlfcn.cpp:
+ * ace/OS_NS_dlfcn.h:
+ * ace/OS_NS_dlfcn.inl:
+ * ace/OS_NS_errno.h:
+ * ace/OS_NS_errno.inl:
+ * ace/OS_NS_fcntl.cpp:
+ * ace/OS_NS_fcntl.h:
+ * ace/OS_NS_fcntl.inl:
+ * ace/OS_NS_math.cpp:
+ * ace/OS_NS_math.h:
+ * ace/OS_NS_math.inl:
+ * ace/OS_NS_netdb.cpp:
+ * ace/OS_NS_netdb.h:
+ * ace/OS_NS_netdb.inl:
+ * ace/OS_NS_poll.cpp:
+ * ace/OS_NS_poll.h:
+ * ace/OS_NS_poll.inl:
+ * ace/OS_NS_pwd.cpp:
+ * ace/OS_NS_pwd.h:
+ * ace/OS_NS_pwd.inl:
+ * ace/OS_NS_regex.cpp:
+ * ace/OS_NS_regex.h:
+ * ace/OS_NS_regex.inl:
+ * ace/OS_NS_signal.cpp:
+ * ace/OS_NS_signal.h:
+ * ace/OS_NS_signal.inl:
+ * ace/OS_NS_stdio.cpp:
+ * ace/OS_NS_stdio.h:
+ * ace/OS_NS_stdio.inl:
+ * ace/OS_NS_stdlib.cpp:
+ * ace/OS_NS_stdlib.h:
+ * ace/OS_NS_stdlib.inl:
+ * ace/OS_NS_string.cpp:
+ * ace/OS_NS_string.h:
+ * ace/OS_NS_string.inl:
+ * ace/OS_NS_strings.cpp:
+ * ace/OS_NS_strings.h:
+ * ace/OS_NS_strings.inl:
+ * ace/OS_NS_stropts.cpp:
+ * ace/OS_NS_stropts.h:
+ * ace/OS_NS_stropts.inl:
+ * ace/OS_NS_sys_mman.cpp:
+ * ace/OS_NS_sys_mman.h:
+ * ace/OS_NS_sys_mman.inl:
+ * ace/OS_NS_sys_msg.cpp:
+ * ace/OS_NS_sys_msg.inl:
+ * ace/OS_NS_sys_resource.cpp:
+ * ace/OS_NS_sys_resource.h:
+ * ace/OS_NS_sys_resource.inl:
+ * ace/OS_NS_sys_select.cpp:
+ * ace/OS_NS_sys_select.h:
+ * ace/OS_NS_sys_select.inl:
+ * ace/OS_NS_sys_shm.cpp:
+ * ace/OS_NS_sys_shm.h:
+ * ace/OS_NS_sys_shm.inl:
+ * ace/OS_NS_sys_socket.cpp:
+ * ace/OS_NS_sys_socket.h:
+ * ace/OS_NS_sys_socket.inl:
+ * ace/OS_NS_sys_stat.cpp:
+ * ace/OS_NS_sys_stat.h:
+ * ace/OS_NS_sys_stat.inl:
+ * ace/OS_NS_sys_time.cpp:
+ * ace/OS_NS_sys_time.h:
+ * ace/OS_NS_sys_time.inl:
+ * ace/OS_NS_sys_uio.cpp:
+ * ace/OS_NS_sys_uio.h:
+ * ace/OS_NS_sys_uio.inl:
+ * ace/OS_NS_sys_utsname.cpp:
+ * ace/OS_NS_sys_utsname.h:
+ * ace/OS_NS_sys_utsname.inl:
+ * ace/OS_NS_sys_wait.cpp:
+ * ace/OS_NS_sys_wait.h:
+ * ace/OS_NS_sys_wait.inl:
+ * ace/OS_NS_time.cpp:
+ * ace/OS_NS_time.h:
+ * ace/OS_NS_time.inl:
+ * ace/OS_NS_unistd.cpp:
+ * ace/OS_NS_unistd.h:
+ * ace/OS_NS_unistd.inl:
+ * ace/OS_NS_wchar.cpp:
+ * ace/OS_NS_wchar.h:
+ * ace/OS_NS_wchar.inl:
+ * ace/OS_QoS.cpp:
+ * ace/OS_QoS.h:
+ * ace/OS_TLI.h:
+ * ace/OS_TLI.inl:
+ * ace/OS_Thread_Adapter.cpp:
+ * ace/OS_Thread_Adapter.h:
+ * ace/OS_main.cpp:
+ * ace/OS_main.h:
+ * ace/PI_Malloc.cpp:
+ * ace/PI_Malloc.h:
+ * ace/PI_Malloc.inl:
+ * ace/POSIX_Asynch_IO.cpp:
+ * ace/POSIX_Asynch_IO.h:
+ * ace/POSIX_CB_Proactor.cpp:
+ * ace/POSIX_CB_Proactor.h:
+ * ace/POSIX_Proactor.cpp:
+ * ace/POSIX_Proactor.h:
+ * ace/POSIX_Proactor.inl:
+ * ace/Pagefile_Memory_Pool.cpp:
+ * ace/Pagefile_Memory_Pool.h:
+ * ace/Pagefile_Memory_Pool.inl:
+ * ace/Pair.cpp:
+ * ace/Pair.h:
+ * ace/Pair_T.cpp:
+ * ace/Pair_T.h:
+ * ace/Pair_T.inl:
+ * ace/Parse_Node.cpp:
+ * ace/Parse_Node.h:
+ * ace/Ping_Socket.cpp:
+ * ace/Ping_Socket.h:
+ * ace/Ping_Socket.inl:
+ * ace/Pipe.cpp:
+ * ace/Pipe.h:
+ * ace/Pipe.inl:
+ * ace/Priority_Reactor.cpp:
+ * ace/Priority_Reactor.h:
+ * ace/Proactor.cpp:
+ * ace/Proactor.h:
+ * ace/Proactor.inl:
+ * ace/Proactor_Impl.cpp:
+ * ace/Proactor_Impl.h:
+ * ace/Process.cpp:
+ * ace/Process.h:
+ * ace/Process.inl:
+ * ace/Process_Manager.cpp:
+ * ace/Process_Manager.h:
+ * ace/Process_Manager.inl:
+ * ace/Process_Mutex.cpp:
+ * ace/Process_Mutex.h:
+ * ace/Process_Mutex.inl:
+ * ace/Process_Semaphore.cpp:
+ * ace/Process_Semaphore.h:
+ * ace/Process_Semaphore.inl:
+ * ace/Profile_Timer.cpp:
+ * ace/Profile_Timer.h:
+ * ace/Profile_Timer.inl:
+ * ace/QtReactor.cpp:
+ * ace/QtReactor.h:
+ * ace/RB_Tree.cpp:
+ * ace/RB_Tree.h:
+ * ace/RB_Tree.inl:
+ * ace/RW_Mutex.cpp:
+ * ace/RW_Mutex.h:
+ * ace/RW_Mutex.inl:
+ * ace/RW_Process_Mutex.cpp:
+ * ace/RW_Process_Mutex.h:
+ * ace/RW_Process_Mutex.inl:
+ * ace/RW_Thread_Mutex.cpp:
+ * ace/RW_Thread_Mutex.h:
+ * ace/RW_Thread_Mutex.inl:
+ * ace/Reactor.cpp:
+ * ace/Reactor.h:
+ * ace/Reactor.inl:
+ * ace/Reactor_Impl.cpp:
+ * ace/Reactor_Impl.h:
+ * ace/Reactor_Notification_Strategy.cpp:
+ * ace/Reactor_Notification_Strategy.h:
+ * ace/Reactor_Notification_Strategy.inl:
+ * ace/Reactor_Timer_Interface.cpp:
+ * ace/Reactor_Timer_Interface.h:
+ * ace/Reactor_Token_T.cpp:
+ * ace/Reactor_Token_T.h:
+ * ace/Read_Buffer.cpp:
+ * ace/Read_Buffer.h:
+ * ace/Read_Buffer.inl:
+ * ace/Recursive_Thread_Mutex.cpp:
+ * ace/Recursive_Thread_Mutex.h:
+ * ace/Recursive_Thread_Mutex.inl:
+ * ace/Recyclable.cpp:
+ * ace/Recyclable.h:
+ * ace/Recyclable.inl:
+ * ace/Refcountable.cpp:
+ * ace/Refcountable.h:
+ * ace/Refcountable.inl:
+ * ace/Refcounted_Auto_Ptr.cpp:
+ * ace/Refcounted_Auto_Ptr.h:
+ * ace/Refcounted_Auto_Ptr.inl:
+ * ace/Registry.cpp:
+ * ace/Registry.h:
+ * ace/Registry_Name_Space.cpp:
+ * ace/Registry_Name_Space.h:
+ * ace/Remote_Name_Space.cpp:
+ * ace/Remote_Name_Space.h:
+ * ace/Remote_Tokens.cpp:
+ * ace/Remote_Tokens.h:
+ * ace/Remote_Tokens.inl:
+ * ace/Reverse_Lock_T.cpp:
+ * ace/Reverse_Lock_T.h:
+ * ace/Reverse_Lock_T.inl:
+ * ace/SOCK.cpp:
+ * ace/SOCK.h:
+ * ace/SOCK.inl:
+ * ace/SOCK_Acceptor.cpp:
+ * ace/SOCK_Acceptor.h:
+ * ace/SOCK_Acceptor.inl:
+ * ace/SOCK_CODgram.cpp:
+ * ace/SOCK_CODgram.h:
+ * ace/SOCK_CODgram.inl:
+ * ace/SOCK_Connector.cpp:
+ * ace/SOCK_Connector.h:
+ * ace/SOCK_Connector.inl:
+ * ace/SOCK_Dgram.cpp:
+ * ace/SOCK_Dgram.h:
+ * ace/SOCK_Dgram.inl:
+ * ace/SOCK_Dgram_Bcast.cpp:
+ * ace/SOCK_Dgram_Bcast.h:
+ * ace/SOCK_Dgram_Bcast.inl:
+ * ace/SOCK_IO.cpp:
+ * ace/SOCK_IO.h:
+ * ace/SOCK_IO.inl:
+ * ace/SOCK_SEQPACK_Acceptor.cpp:
+ * ace/SOCK_SEQPACK_Acceptor.h:
+ * ace/SOCK_SEQPACK_Acceptor.inl:
+ * ace/SOCK_SEQPACK_Association.cpp:
+ * ace/SOCK_SEQPACK_Association.h:
+ * ace/SOCK_SEQPACK_Association.inl:
+ * ace/SOCK_SEQPACK_Connector.cpp:
+ * ace/SOCK_SEQPACK_Connector.h:
+ * ace/SOCK_SEQPACK_Connector.inl:
+ * ace/SOCK_Stream.cpp:
+ * ace/SOCK_Stream.h:
+ * ace/SOCK_Stream.inl:
+ * ace/SPIPE.cpp:
+ * ace/SPIPE.h:
+ * ace/SPIPE.inl:
+ * ace/SPIPE_Acceptor.cpp:
+ * ace/SPIPE_Acceptor.h:
+ * ace/SPIPE_Addr.cpp:
+ * ace/SPIPE_Addr.h:
+ * ace/SPIPE_Addr.inl:
+ * ace/SPIPE_Connector.cpp:
+ * ace/SPIPE_Connector.h:
+ * ace/SPIPE_Connector.inl:
+ * ace/SPIPE_Stream.cpp:
+ * ace/SPIPE_Stream.inl:
+ * ace/SString.cpp:
+ * ace/SString.h:
+ * ace/SString.inl:
+ * ace/SStringfwd.h:
+ * ace/SUN_Proactor.cpp:
+ * ace/SUN_Proactor.h:
+ * ace/SV_Message.cpp:
+ * ace/SV_Message.h:
+ * ace/SV_Message.inl:
+ * ace/SV_Message_Queue.cpp:
+ * ace/SV_Message_Queue.h:
+ * ace/SV_Message_Queue.inl:
+ * ace/SV_Semaphore_Complex.cpp:
+ * ace/SV_Semaphore_Complex.h:
+ * ace/SV_Semaphore_Complex.inl:
+ * ace/SV_Semaphore_Simple.cpp:
+ * ace/SV_Semaphore_Simple.h:
+ * ace/SV_Semaphore_Simple.inl:
+ * ace/SV_Shared_Memory.cpp:
+ * ace/SV_Shared_Memory.h:
+ * ace/SV_Shared_Memory.inl:
+ * ace/Sample_History.cpp:
+ * ace/Sample_History.h:
+ * ace/Sample_History.inl:
+ * ace/Sbrk_Memory_Pool.cpp:
+ * ace/Sbrk_Memory_Pool.h:
+ * ace/Sched_Params.cpp:
+ * ace/Sched_Params.h:
+ * ace/Sched_Params.inl:
+ * ace/Select_Reactor.cpp:
+ * ace/Select_Reactor.h:
+ * ace/Select_Reactor_Base.cpp:
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.inl:
+ * ace/Select_Reactor_T.cpp:
+ * ace/Select_Reactor_T.h:
+ * ace/Select_Reactor_T.inl:
+ * ace/Semaphore.cpp:
+ * ace/Semaphore.h:
+ * ace/Semaphore.inl:
+ * ace/Service_Config.cpp:
+ * ace/Service_Config.h:
+ * ace/Service_Config.inl:
+ * ace/Service_Manager.cpp:
+ * ace/Service_Manager.h:
+ * ace/Service_Manager.inl:
+ * ace/Service_Object.cpp:
+ * ace/Service_Object.h:
+ * ace/Service_Object.inl:
+ * ace/Service_Repository.cpp:
+ * ace/Service_Repository.h:
+ * ace/Service_Repository.inl:
+ * ace/Service_Templates.cpp:
+ * ace/Service_Types.cpp:
+ * ace/Service_Types.h:
+ * ace/Service_Types.inl:
+ * ace/Shared_Memory.cpp:
+ * ace/Shared_Memory.h:
+ * ace/Shared_Memory_MM.cpp:
+ * ace/Shared_Memory_MM.h:
+ * ace/Shared_Memory_MM.inl:
+ * ace/Shared_Memory_Pool.cpp:
+ * ace/Shared_Memory_Pool.h:
+ * ace/Shared_Memory_SV.cpp:
+ * ace/Shared_Memory_SV.h:
+ * ace/Shared_Memory_SV.inl:
+ * ace/Shared_Object.cpp:
+ * ace/Shared_Object.h:
+ * ace/Shared_Object.inl:
+ * ace/Signal.cpp:
+ * ace/Signal.h:
+ * ace/Signal.inl:
+ * ace/Singleton.cpp:
+ * ace/Singleton.h:
+ * ace/Singleton.inl:
+ * ace/Sock_Connect.cpp:
+ * ace/Sock_Connect.h:
+ * ace/Static_Object_Lock.h:
+ * ace/Stats.cpp:
+ * ace/Stats.h:
+ * ace/Stats.inl:
+ * ace/Strategies_T.cpp:
+ * ace/Strategies_T.h:
+ * ace/Strategies_T.inl:
+ * ace/Stream.cpp:
+ * ace/Stream.h:
+ * ace/Stream.inl:
+ * ace/Stream_Modules.cpp:
+ * ace/Stream_Modules.h:
+ * ace/String_Base.cpp:
+ * ace/String_Base.h:
+ * ace/String_Base.inl:
+ * ace/String_Base_Const.cpp:
+ * ace/String_Base_Const.h:
+ * ace/Svc_Conf.h:
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+ * ace/Svc_Conf_Lexer_Guard.h:
+ * ace/Svc_Handler.cpp:
+ * ace/Svc_Handler.h:
+ * ace/Swap.cpp:
+ * ace/Swap.h:
+ * ace/Swap.inl:
+ * ace/Synch.cpp:
+ * ace/Synch_Options.cpp:
+ * ace/Synch_Options.h:
+ * ace/Synch_Options.inl:
+ * ace/Synch_T.cpp:
+ * ace/Synch_T.h:
+ * ace/Synch_Traits.h:
+ * ace/System_Time.cpp:
+ * ace/System_Time.h:
+ * ace/TLI.cpp:
+ * ace/TLI.h:
+ * ace/TLI.inl:
+ * ace/TLI_Acceptor.cpp:
+ * ace/TLI_Acceptor.h:
+ * ace/TLI_Connector.cpp:
+ * ace/TLI_Connector.h:
+ * ace/TLI_Connector.inl:
+ * ace/TLI_Stream.cpp:
+ * ace/TLI_Stream.h:
+ * ace/TLI_Stream.inl:
+ * ace/TP_Reactor.cpp:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.inl:
+ * ace/TSS_Adapter.cpp:
+ * ace/TSS_Adapter.h:
+ * ace/TSS_Adapter.inl:
+ * ace/TSS_T.cpp:
+ * ace/TSS_T.h:
+ * ace/TSS_T.inl:
+ * ace/TTY_IO.cpp:
+ * ace/TTY_IO.h:
+ * ace/Task.cpp:
+ * ace/Task.h:
+ * ace/Task.inl:
+ * ace/Task_Ex_T.cpp:
+ * ace/Task_Ex_T.h:
+ * ace/Task_Ex_T.inl:
+ * ace/Task_T.cpp:
+ * ace/Task_T.h:
+ * ace/Task_T.inl:
+ * ace/Template_Instantiations.cpp:
+ * ace/Test_and_Set.cpp:
+ * ace/Test_and_Set.h:
+ * ace/Thread.cpp:
+ * ace/Thread.h:
+ * ace/Thread.inl:
+ * ace/Thread_Adapter.cpp:
+ * ace/Thread_Adapter.h:
+ * ace/Thread_Adapter.inl:
+ * ace/Thread_Control.cpp:
+ * ace/Thread_Control.h:
+ * ace/Thread_Control.inl:
+ * ace/Thread_Exit.cpp:
+ * ace/Thread_Exit.h:
+ * ace/Thread_Hook.cpp:
+ * ace/Thread_Hook.h:
+ * ace/Thread_Manager.cpp:
+ * ace/Thread_Manager.h:
+ * ace/Thread_Manager.inl:
+ * ace/Thread_Mutex.cpp:
+ * ace/Thread_Mutex.h:
+ * ace/Thread_Mutex.inl:
+ * ace/Thread_Semaphore.cpp:
+ * ace/Thread_Semaphore.h:
+ * ace/Thread_Semaphore.inl:
+ * ace/Time_Request_Reply.cpp:
+ * ace/Time_Request_Reply.h:
+ * ace/Time_Value.cpp:
+ * ace/Time_Value.h:
+ * ace/Time_Value.inl:
+ * ace/Timeprobe.cpp:
+ * ace/Timeprobe.h:
+ * ace/Timeprobe.inl:
+ * ace/Timeprobe_T.cpp:
+ * ace/Timeprobe_T.h:
+ * ace/Timer_Hash.cpp:
+ * ace/Timer_Hash.h:
+ * ace/Timer_Heap.cpp:
+ * ace/Timer_Heap.h:
+ * ace/Timer_Heap_T.cpp:
+ * ace/Timer_Heap_T.h:
+ * ace/Timer_List.cpp:
+ * ace/Timer_List.h:
+ * ace/Timer_Queue.cpp:
+ * ace/Timer_Queue.h:
+ * ace/Timer_Queue_Adapters.cpp:
+ * ace/Timer_Queue_Adapters.h:
+ * ace/Timer_Queue_Adapters.inl:
+ * ace/Timer_Queue_T.cpp:
+ * ace/Timer_Queue_T.h:
+ * ace/Timer_Queue_T.inl:
+ * ace/Timer_Queuefwd.h:
+ * ace/Timer_Wheel.cpp:
+ * ace/Timer_Wheel.h:
+ * ace/Timer_Wheel_T.cpp:
+ * ace/Timer_Wheel_T.h:
+ * ace/TkReactor.cpp:
+ * ace/TkReactor.h:
+ * ace/Token.cpp:
+ * ace/Token.h:
+ * ace/Token.inl:
+ * ace/Token_Collection.cpp:
+ * ace/Token_Collection.h:
+ * ace/Token_Collection.inl:
+ * ace/Token_Invariants.cpp:
+ * ace/Token_Invariants.h:
+ * ace/Token_Manager.cpp:
+ * ace/Token_Manager.h:
+ * ace/Token_Manager.inl:
+ * ace/Token_Request_Reply.cpp:
+ * ace/Token_Request_Reply.h:
+ * ace/Token_Request_Reply.inl:
+ * ace/Trace.cpp:
+ * ace/Trace.h:
+ * ace/Typed_SV_Message.cpp:
+ * ace/Typed_SV_Message.h:
+ * ace/Typed_SV_Message.inl:
+ * ace/Typed_SV_Message_Queue.cpp:
+ * ace/Typed_SV_Message_Queue.h:
+ * ace/Typed_SV_Message_Queue.inl:
+ * ace/UNIX_Addr.cpp:
+ * ace/UNIX_Addr.h:
+ * ace/UNIX_Addr.inl:
+ * ace/UPIPE_Acceptor.cpp:
+ * ace/UPIPE_Acceptor.h:
+ * ace/UPIPE_Acceptor.inl:
+ * ace/UPIPE_Addr.h:
+ * ace/UPIPE_Connector.cpp:
+ * ace/UPIPE_Connector.h:
+ * ace/UPIPE_Connector.inl:
+ * ace/UPIPE_Stream.cpp:
+ * ace/UPIPE_Stream.h:
+ * ace/UPIPE_Stream.inl:
+ * ace/UUID.cpp:
+ * ace/UUID.h:
+ * ace/UUID.inl:
+ * ace/Unbounded_Queue.cpp:
+ * ace/Unbounded_Queue.h:
+ * ace/Unbounded_Queue.inl:
+ * ace/Unbounded_Set.cpp:
+ * ace/Unbounded_Set.h:
+ * ace/Unbounded_Set.inl:
+ * ace/Value_Ptr.h:
+ * ace/Vector_T.cpp:
+ * ace/Vector_T.h:
+ * ace/Vector_T.inl:
+ * ace/WFMO_Reactor.cpp:
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.inl:
+ * ace/WIN32_Asynch_IO.cpp:
+ * ace/WIN32_Asynch_IO.h:
+ * ace/WIN32_Proactor.cpp:
+ * ace/WIN32_Proactor.h:
+ * ace/XML_Svc_Conf.cpp:
+ * ace/XML_Svc_Conf.h:
+ * ace/XTI_ATM_Mcast.cpp:
+ * ace/XTI_ATM_Mcast.h:
+ * ace/XTI_ATM_Mcast.inl:
+ * ace/XtReactor.cpp:
+ * ace/XtReactor.h:
+ * ace/ace.mpc:
+ * ace/ace_wchar.h:
+ * ace/ace_wchar.inl:
+ * ace/config-lite.h:
+ * ace/gethrtime.cpp:
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ * ace/SSL/SSL_Asynch_Stream.h:
+ * ace/SSL/SSL_Context.cpp:
+ * ace/SSL/SSL_Context.h:
+ * ace/SSL/SSL_Context.inl:
+ * ace/SSL/SSL_SOCK.cpp:
+ * ace/SSL/SSL_SOCK.h:
+ * ace/SSL/SSL_SOCK.i:
+ * ace/SSL/SSL_SOCK_Acceptor.cpp:
+ * ace/SSL/SSL_SOCK_Acceptor.h:
+ * ace/SSL/SSL_SOCK_Acceptor.i:
+ * ace/SSL/SSL_SOCK_Connector.cpp:
+ * ace/SSL/SSL_SOCK_Connector.h:
+ * ace/SSL/SSL_SOCK_Connector.i:
+ * ace/SSL/SSL_SOCK_Stream.cpp:
+ * ace/SSL/SSL_SOCK_Stream.h:
+ * ace/SSL/SSL_SOCK_Stream.i:
+
+ Added versioned namespace support.
+
+ Removed some empty and/or unnecessary `.cpp' and `.inl' files.
+
+ Hid some static class member constants declared in headers in
+ the corresponding implementation `.cpp' file.
+
+Thu Oct 27 11:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Process_Strategy_Test.cpp:
+ * tests/Reactor_Dispatch_Order_Test.cpp:
+ 64bit fixes
+
+Thu Oct 27 11:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Threads/barrier2.cpp:
+ 64bit fixes
+
+Thu Oct 27 11:58:07 2005 Simon McQueen <sm@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+
+ Three new FT regression tests.
+
+Thu Oct 27 09:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added TAO Bug_2201_Regression test
+
+Wed Oct 26 17:22:12 2005 Don Busch <busch_d@ociweb.com>
+
+ * bin/MakeProjectCreator/config/event_serv.mpb
+ * bin/MakeProjectCreator/config/messaging.mpb
+ * bin/MakeProjectCreator/config/messaging_optional.mpb
+ * bin/MakeProjectCreator/config/naming_serv.mpb
+
+ This is a footprint reduction fix, eliminating a library dependency.
+ TAO 1.4 introduced a new dependency on the Messaging, Valuetype,
+ PI, and CodecFactory libraries for the CosNaming_Serv and
+ CosEvent_Serv libraries. Turning off CORBA Messaging did not remove
+ this dependency. Thus, any application that uses CosNaming_Serv or
+ CosEvent_Serv, but not CORBA Messaging, depends on those libraries
+ anyway. This change eliminates the CosNaming_Serv and CosEvent_Serv
+ dependencies on Messaging (and thus PI, CodecFactory, and Valuetype)
+ when CORBA Messaging and Interceptors are turned off. It reduces
+ the footprint in that case by about 600K.
+ There is a TAO ChangeLog entry with the same timestamp that
+ descibes the TAO changes.
+
+Wed Oct 26 12:26:01 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Codeset_Registry.cpp (locale_to_registry_i):
+ (registry_to_locale_i):
+
+ Corrected reversed destination and source arguments in memcpy()
+ call.
+
+ Improved const correctness. Revealed the above memcpy()
+ problem.
+
+ * ace/Codeset_Registry.h:
+ * ace/Codeset_Registry_db.cpp:
+
+ Made registry entry array "const" to prevent the above memcpy()
+ problem from being potentially reintroduced in the future. Also
+ provides the compiler with additional optimization opportunities
+ (e.g. placing the array in read-only memory).
+
+ * apps/mkcsregdb/mkcsregdb.cpp (init_output, fini_output):
+
+ Updated output to generate an array of const registry entries in
+ accordance with the changes made to ace/Codeset_Registry.h.
+
+Wed Oct 26 15:45:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/msvc_cidlc.pl:
+ Print an error if no configurations have been build, at that moment
+ we just didn't build something which we have to handle as error
+
+Wed Oct 26 12:58:17 2005 Simon McQueen <sm@prismtech.com>
+
+ * ace/OS_NS_stdio.inl:
+
+ Added a ACE_WIN32 implementation for ACE_OS::vsnprintf for
+ wide chars using ::_vsnwprintf, in the style of the existing
+ ACE_OS::vsnprintf for normal chars.
+
+ This (hopefully) fixes bug #2208.
+
+Tue Oct 25 22:18:03 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/CDR_Stream.h (OutputCDR_Auto_Reset):
+ * ace/CDR_Stream.inl (OutputCDR_Auto_Reset):
+
+ Prepend "ACE_" to this class (described in ChangeLog entry "Fri
+ Aug 26 11:43:01 2005 Justin Michel <michel_j@ociweb.com>") to
+ address potential global namespace pollution issues, and to be
+ consistent with ACE naming conventions.
+
+ Adding missing ACE_Export. Addresses unresolved symbol errors
+ in Windows and g++ 4 builds when inlining is disabled and
+ TAO_RESET_OUTPUT_CDR_AFTER_SEND is defined to 1.
+
+ Use "this" pointer to reference class members, as dictated by
+ ACE coding conventions/guidelines.
+
+Tue Oct 25 09:05:47 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * bin/msvc_static_order.lst:
+
+ Rolled back
+ "Mon Oct 24 12:58:45 MST 2005 Yan Dai <dai_y@ociweb.com>" change,
+ the entry should be project file name.
+
+Tue Oct 25 08:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-qnx-rtp-62x.h:
+ Added ACE_HAS_3_PARAM_WCSTOK
+
+Tue Oct 25 08:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Pipe_Test.cpp:
+ Fixed invalid assert
+
+Mon Oct 24 12:58:45 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * bin/msvc_static_order.lst:
+
+ Corrected the entry TAO/tests/CSD_Strategy_Tests/TP_Common/CSD_TP_Test.
+ The library name should be used instead of project name.
+
+Mon Oct 24 10:21:39 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * docs/ACE-guidelines.html:
+
+ Added shared library guidelines.
+
+Mon Oct 24 14:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+
+ * ace/OS_NS_Thread.inl:
+ Fixed typo in VxWorks part
+
+ * ace/config-vxworks5.x.h:
+ Added some extra ACE_LACKS_x for VxWorks
+
+Mon Oct 24 07:19:29 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Dev_Poll_Reactor.cpp: Fixed a couple of bugs that
+ were causing core dumps. Thanks to Oh Yoon Sik
+ <boom@estsoft.com> for these fixes.
+
+Sun Oct 23 13:05:33 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * tests/Pipe_Test.cpp (run_main): Updated this test to be a bit
+ cleaner.
+
+ * tests/Dirent_Test.cpp: Fixed a typo in the comments - this test
+ exericses the ACE_Dirent class, not the ACE_OS_Dirent class.
+
+Fri Oct 21 07:46:47 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Dev_Poll_Reactor.cpp (open): Set notification pipe into
+ non-blocking mode to prevent deadlock. Thanks to Oh Yoon Sik
+ <boom at estsoft dot com> for this fix.
+
+Mon Oct 24 10:55:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ Corrected the way we pass the include paths to windres
+
+Mon Oct 24 08:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Pass RCFLAGS to the resource compiler
+
+Mon Oct 24 08:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.{h,inl}:
+ 64bit fixes
+
+Mon Oct 24 08:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+ Generate includes for the resource compiler, this fixes compile
+ problems of the resource file when it contains includes that
+ expect an include path being set
+
+Mon Oct 24 06:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ace_qt.mpb:
+ Update to enable to define specific versions of the
+ QT library(-ies) needed to be linked for Windows based
+ builds as with *nix based builds.
+
+Sun Oct 23 22:27:45 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Global_Macros.h:
+ * ace/Versioned_Namespace.h:
+
+ Disable versioned namespace support for MSVC++ 6. It's
+ preprocessor can't handle the required macro expansions.
+
+Sun Oct 23 21:48:15 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/README:
+
+ Added documentation that describes how to override the default
+ versioned namespace name when ACE_HAS_VERSIONED_NAMESPACE is
+ defined.
+
+ * ace/Version.h:
+
+ Removed "ace/Versioned_Namespace.h" include directive. It
+ caused some resource compilers on Windows some grief.
+
+ * ace/Versioned_Namespace.h:
+
+ Updated required header filename in preprocessor error message.
+ This header should now be included through "ace/config-lite.h".
+
+ * ace/config-lite.h:
+
+ Include "ace/Version.h" and "ace/Versioned_Namespace.h" to pull
+ in versioned namespace support (disabled by default).
+
+ * ace/post.h:
+ * ace/pre.h:
+
+ Removed versioned namespace support. Versioned namespace
+ declarations must now be added directly to the appropriate ACE
+ library headers. Addresses premature closure of versioned
+ namespace.
+
+Sun Oct 23 06:47:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/bor.mpd:
+ Generate new RC_FLAGS with the includes that need to be passed to
+ the resource compiler
+
+ * include/makeinclude/build_dll.bor:
+ * include/makeinclude/build_exe.bor:
+ Use the new RC_FLAGS
+
+Sat Oct 22 11:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Codeset_Registry.h:
+ Doxygen improvements
+
+Fri Oct 21 14:28:54 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * bin/MakeProjectCreator/config/csd_pt_test_exe.mpb:
+
+ Added dependency on pi base project since the PI.h is included
+ in the test application for the static initialization.
+
+Fri Oct 21 10:54:44 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * bin/msvc_static_order.lst:
+
+ Added TAO/tests/CSD_Strategy_Tests/TP_Common/CSD_TP_Test_Lib.
+
+Fri Oct 21 11:44:33 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * ace/CDR_Stream.h
+
+ Fixed a typo in the optimization description of
+ ACE_LACKS_CDR_ALIGNMENT flag.
+
+Fri Oct 21 07:09:57 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/msvc_static_order.lst:
+
+ Add CosEvent_IDL project before CosEvent, CosEvent_Skel, and
+ CosEvent_Serv.
+
+Fri Oct 21 12:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Proactor.h:
+ Added virtual destructor to the dummy ACE_Proactor that is
+ enabled when the ACE_Proactor can't be used
+
+Fri Oct 21 12:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg.cpp:
+ Fixed compile problem in Linux builds
+
+Fri Oct 21 12:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.{h,inl} (sbrk):
+ Use ptrdiff_t as argument type to fix 64bit conversions
+
+Fri Oct 21 12:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Message_Queue_T.{h,cpp}:
+ Changed cur_count to size_t and use prefix operators instead
+ of postfix
+
+Fri Oct 21 11:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/compiler.bor:
+ BCBVER must be explicitly defined by the end user and must
+ be set to a supported value, else just don't build.
+
+Fri Oct 21 10:24:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg.cpp (log)
+ Check for passing of NULL pointers to %C and %w
+ formatting strings and replace them with "(null)" to avoid
+ crashes. Thanks to Scooter <im-scooter at yandex dot ru> for
+ reporting this. Fixes bugzilla bug 2276
+
+Thu Oct 20 22:20:26 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Dev_Poll_Reactor.cpp (open): Disabling the notify pipe was
+ failing, but now it works. Thanks to Oh Yoon Sik <boom at
+ estsoft dot com> for this fix.
+
+Thu Oct 20 14:36:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/CDR_Base.cpp:
+ Removed character before #include
+
+Thu Oct 20 08:53:47 2005 Arvind S. Krishna <arvindk@doc.dre.vanderbilt.edu>
+
+ * ace/CDR_Base.cpp:
+ * ace/CDR_Stream.h:
+ * ace/CDR_Stream.cpp:
+ * ace/CDR_Stream.inl:
+ * ace/Message_Block.cpp:
+
+ CORBA specification mandates alignment of basic types to their
+ natural boundaries. However, in certain situations (1) where
+ such alignment is not needed by the platform and/or (2)
+ homogeneous systems exists on the client and server sides, this
+ alignment can be ignored to improve (de)marshaling
+ efficiency. This commit adds the ACE_LACKS_CDR_ALIGNMENT flag to
+ the CDR streams that enables applications to ignore alignment
+ during (de)marshaling. This macro should be used when ACE_CDR is
+ both the (de)marshaler. Additionally, use this option only when
+ byte orders of the two machines are the same. This restriction
+ is temporary and will be removed in a subsequent commit.
+
+Thu Oct 29 11:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_unistd.{h,inl}:
+ Changed the return value and arguments of ualarm from u_int
+ to u_long to fix 64bit problems
+
+Wed Oct 19 18:57:53 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/OS_NS_stdio.inl (flock_init): Only allocate the
+ memory for the name if the call to ACE_OS::open() succeeds.
+ This fixes a subtle memory leak. Thanks to Sandeep Deshpande
+ <sandeep dot bvb at gmail dot com> for this fix!
+
+Wed Oct 19 09:56:31 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * include/makeinclude/platform_macosx_tiger_gcc4.GNU:
+
+ Disable symbol visibility support by default. Apple's g++ 4
+ compiler doesn't appear to correctly support visibility
+ attributes, at least as well as the vanilla g++. Thanks to
+ Will, Kitty and J.T. for testing and tracking the problem.
+
+Wed Oct 19 09:26:34 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/ACE.h (strdelete):
+
+ Declare this function with the ACE_NAMESPACE_INLINE_FUNCTION.
+ Addresses case where this method is inlined, and should not be
+ marked "extern".
+
+Wed Oct 19 09:23:13 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/pre.h:
+
+ Moved include directive for "ace/Version.h" before existing
+ pragmas in this file. Addresses Borland preprocessor warnings
+ regarding duplicate "pushed" options. Thanks to Johnny for
+ suggesting this fix.
+
+Wed Oct 19 08:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/CDR_File_Test.cpp:
+ Fixed compile error
+
+Wed Oct 19 07:43:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Reactor_Token_T.h:
+ Removed code for including the .inl file, it is not there, just
+ a waste of bytes ;-)
+
+Wed Oct 19 00:23:02 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Global_Macros.h (ACE_FACTORY_DEFINE):
+ (ACE_FACTORY_NAMESPACE_DEFINE):
+
+ Don't bother qualifying the SERVICE_CLASS name with
+ ACE_VERSIONED_NAMESPACE_NAME scope. That scoped is already
+ pulled in by a "using" clause. Addresses compile-time errors
+ caused by calling the ACE_FACTORY_{NAMESPACE_}DEFINE macro
+ within a namespace and passing the locally scoped name of the
+ SERVICE_CLASS rather than the fully qualified one.
+
+Tue Oct 18 23:23:14 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ The following changes comprise the core implementation of
+ "versioned namespace" support in ACE. When enabled, all ACE
+ library code will be wrapped within a namespace, such as
+ "ACE_5_4_7", to prevent symbol conflicts with other versions of
+ ACE shared libraries in third party libraries. This feature is
+ disabled by default to preserve backward compatibility.
+
+ * ace/Global_Macros.h:
+
+ Updated ACE Service Configurator macros to take into account
+ versioned namespace when enabled.
+
+ * ace/Parse_Node.cpp (ACE_Function_Node, make_func_name):
+ * ace/Parse_Node.h:
+
+ Check if factory function is using the ACE naming convention.
+ If so, it is likely that the ACE factory function macros
+ (e.g. ACE_FACTORY_DECLARE) were used to declare and define it,
+ so mangle the function name to include the ACE versioned
+ namespace name as is done in the ACE macros. Otherwise, leave
+ the function name as is.
+
+ * ace/README:
+
+ Added description for new ACE_HAS_VERSIONED_NAMESPACE
+ preprocessor symbol.
+
+ * ace/Version.h:
+
+ Include "ace/Versioned_Namespace.h" to pull in versioned
+ namespace macros.
+
+ * ace/Versioned_Namespace.h:
+
+ New header containing core versioned namespace macros.
+
+ * ace/ace.mpc (Header_Files):
+
+ Added "Versioned_Namespace.h" to list of headers.
+
+ * ace/pre.h:
+
+ Include "ace/Version.h" to pull in versioned namespace support.
+
+ * ace/post.h:
+
+ End versioned namespace block, if enabled.
+
+ * bin/make_release (update_version_files):
+
+ Generate include directive for "ace/Versioned_Namespace.h" when
+ creating "ace/Version.h".
+
+Tue Oct 18 23:08:34 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/ACE.cpp (strdelete):
+ * ace/ACE.inl (strdelete):
+
+ Inlined this function. It simply calles operator delete[] on a
+ pointer to char or wchar_t. Reduces footprint if it is never
+ called, and optimizes the call at run-time slightly if it is
+ called.
+
+Tue Oct 18 20:51:19 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/csd_framework.mpb:
+
+ Remove "core" from list of base projects. Just because
+ we use the CSD framework, doesn't necessarily mean that
+ the project should be installed. It needs to explictly
+ inherit from core (or install, install-bin, install-lib,
+ or install-headers) for that.
+
+Tue Oct 18 18:06:43 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/kokyu_dsrt_schedulers.mpb:
+
+ Add $(TAO_BUILDDIR)/examples/Kokyu_dsrt_schedulers to
+ includes for automake builds.
+
+Tue Oct 18 17:24:26 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ Merged in the CSD (Custom Servant Dispatching) feature from OCI.
+
+ * bin/tao_orb_tests.lst:
+
+ Added CSD tests.
+
+ * bin/MakeProjectCreator/config/csd_framework.mpb:
+ * bin/MakeProjectCreator/config/csd_threadpool.mpb:
+ * bin/MakeProjectCreator/config/csd_tp_test_lib.mpb:
+ * bin/MakeProjectCreator/config/csd_tp_test_exe_c.mpb:
+ * bin/MakeProjectCreator/config/csd_tp_test_exe_b.mpb:
+ * bin/MakeProjectCreator/config/csd_tp_test_exe_a.mpb:
+ * bin/MakeProjectCreator/config/csd_tp_foo_c_lib.mpb:
+ * bin/MakeProjectCreator/config/csd_tp_foo_b_lib.mpb:
+ * bin/MakeProjectCreator/config/csd_tp_foo_a_lib.mpb:
+ * bin/MakeProjectCreator/config/csd_pt_testservant_lib.mpb:
+ * bin/MakeProjectCreator/config/csd_pt_testinf_lib.mpb:
+ * bin/MakeProjectCreator/config/csd_pt_test_exe.mpb:
+
+ Added base projects for the CSD strategies and tests.
+
+Tue Oct 18 22:24:11 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.h:
+ Changed type of readmincharacters from int to unsigned int.
+ Fixes compile time warning.
+
+Tue Oct 18 09:53:29 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ From Mickael P. Golovin <migel at garant dot ru>
+ * ace/Argv_Type_Converter.cpp:
+
+ Fixed strdup()/operator delete() mismatches. Strings allocated
+ by strdup() should be deallocated using free().
+
+Mon Oct 17 22:05:37 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ Removed :: qualifiers from terminal interface
+ function calls. This should fix compile problems
+ on Cygwin.
+
+Mon Oct 17 13:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/notifytest.mpb:
+ Added notication_serv as base project, needed for collocated
+ tests
+
+Mon Oct 17 10:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/FILE_IO.inl:
+ Removed some not needed c-style casts
+
+ * tests/CDR_File_Test.cpp:
+ Explicitly initialise memory with 0 when we are using a
+ profiler.
+
+Mon Oct 17 09:21:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Time_Value.{h,inl}:
+ * ace/UUID.cpp:
+ Fixed 64bit conversion problems. Added a to_usec method
+ to ACE_Time_Value that returns the total of sec and usec
+ as ACE_UINT64 and use that in UUID.cpp.
+ Thanks to James Megquier <jmegq at radiance dot com>.
+ This fixes bugzilla 2263
+
+Sun Oct 16 13:01:12 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * protocols/ace/RMCast/Acknowledge.cpp:
+
+ Fix typo in last change.
+
+Sun Oct 16 12:05:45 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/config-netbsd.h:
+
+ Define ACE_HAS_TERMIOS.
+
+Sun Oct 16 11:59:05 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Updated tty feature checks to define ACE_HAS_TERMIO and/or
+ ACE_HAS_TERMIOS.
+
+Sun Oct 16 19:39:10 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.h:
+ Fixed Doxygen tags.
+
+Sun Oct 16 09:27:25 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * protocols/ace/RMCast/Acknowledge.{h,cpp}
+ * protocols/ace/RMCast/Parameters.h:
+ Added some fixes so that the default size of the hash map won't
+ be so huge. Thanks to Felix Li <fengli at gmail dot com> for
+ these fixes.
+
+Sun Oct 16 17:17:50 2005 Olli Savia <ops@iki.fi>
+
+ * ace/OS.h:
+ * ace/config-cray.h:
+ * ace/config-cygwin32.h:
+ * ace/config-dgux-4.11-epc.h:
+ * ace/config-dgux-4.x-ghs.h:
+ * ace/config-freebsd.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-irix6.x-common.h:
+ * ace/config-linux-common.h:
+ * ace/config-lynxos.h:
+ * ace/config-m88k.h:
+ * ace/config-macosx-panther.h:
+ * ace/config-macosx-tiger.h:
+ * ace/config-macosx.h:
+ * ace/config-openbsd.h:
+ * ace/config-qnx-neutrino.h:
+ * ace/config-qnx-rtp-62x.h:
+ * ace/config-qnx-rtp-pre62x.h:
+ * ace/config-rtems.h:
+ * ace/config-sco-5.0.0-mit-pthread.h:
+ * ace/config-sco-5.0.0.h:
+ * ace/config-sunos5.4-centerline-2.x.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-tandem.h:
+ * ace/config-unixware-2.01-g++.h:
+ * ace/config-unixware-2.1.2-g++.h:
+ * ace/config-unixware-7.1.0.h:
+ * ace/config-unixware-7.1.0.udk.h:
+ * ace/config-win32-interix.h:
+ Replaced old TTY_IO related macros with the new
+ ACE_HAS_TERMIOS macro.
+
+ * ace/TTY_IO.cpp:
+ Added include "ace/config-lite.h" to pull feature macro
+ definitions.
+
+Sun Oct 16 16:14:48 2005 Olli Savia <ops@iki.fi>
+
+ * ace/README:
+ * ace/TTY_IO.cpp:
+ Introduce new macros ACE_HAS_TERMIO and ACE_HAS_TERMIOS to
+ select between old ioctl based interface and POSIX terminal
+ interface. The old macros ACE_HAS_TERM_IOCTLS and
+ ACE_HAS_NEW_TERMIOS_STRUCT are not used anymore. Thanks
+ to J.T. Conklin for motivating this change.
+
+Sun Oct 16 12:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Don't run Big_AMI test in minimum builds
+
+Sat Oct 15 00:57:19 2005 Steve Totten <totten_s@ociweb.com>
+
+ * bin/tao_other_tests.lst:
+
+ Added TAO/orbsvcs/examples/CosEC/TypedSimple/run_test.pl to
+ the nightly tests.
+
+Fri Oct 14 22:30:40 2005 Krishnakumar B <kitty@nospam.invalid.domain>
+
+ * ace/config-macosx-tiger.h (ACE_HAS_NEW_TERMIOS_STRUCT): Defined
+ the macro ACE_HAS_NEW_TERMIOS_STRUCT to fix compilation errors
+ on Mac OS X Tiger.
+
+Fri Oct 14 14:56:16 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * ace/ACE.cpp:
+ * ace/SOCK_Connector.cpp:
+
+ Reverted the change from Fri Sep 2 15:08:27 2005 Justin Michel
+ due to suspicions that it might be inadvertently responsible for
+ observed additional jitter in TAO performance tests. The
+ motivation for the original change and a patch to restore the
+ original change is documented in Bugzilla #2246.
+
+Fri Oct 14 11:49:29 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ACEXML/apps/svcconf/Makefile.am:
+
+ Tweak to use pkgconfigdir and @libdir@/pkgconfig instead of
+ pkgconfdatadir and ${prefix}/lib/pkgconfig to be consistent with
+ all our other Makefile.am's. This will hold until we regenerate
+ all the ACE Makefile.am's from MPC. [Bug 2266]
+
+Fri Oct 14 14:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Reverted the change below, causes compile problems
+
+ Fri Oct 14 10:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+ * ace/SSL/SSL_Asynch_BIO.{h,cpp}:
+ Fixed 64bit conversion warnings
+
+Fri Oct 14 12:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/soreduce/Library.cpp:
+ Fixed 64bit problem
+
+Fri Oct 14 11:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SOCK_IO.{h,inl}:
+ 64bit fix
+
+Fri Oct 14 10:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SSL/SSL_Asynch_BIO.{h,cpp}:
+ Fixed 64bit conversion warnings
+
+ * ace/OS_NS_unistd.{h,inl}:
+ Let getpagesize return a long
+
+Fri Oct 14 08:05:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * protocols/ace/HTBP/HTBP_Session.cpp:
+ Fixed signed/unsigned warning
+
+Thu Oct 13 17:39:31 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/TTY_IO.cpp: Changed ACE_TTY_IO_{ODD EVEN MARK SPACE} to
+ char* from ACE_TCHAR* since the strings they're compared to (from
+ Serial_Params) are char* always.
+
+ * ace/config-win32-common.h: Removed the check for UNDER_CE >= 0x400
+ && UNDER_CE < 0x500 when deciding whether or not to define E...
+ symbols. Windows Mobile 5 requires them as well.
+
+Thu Oct 13 13:58:44 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/config-g++-common.h (ACE_IMPORT_SINGLETON_DECLARE):
+ (ACE_IMPORT_SINGLETON_DECLARATION):
+
+ Suppress "-pedantic" error caused by use of g++ "extern
+ template" extension by preceding the expression with
+ "__extension__".
+
+Thu Oct 13 15:38:29 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/RB_Tree.{cpp h}: Follow-up to:
+ Fri Jul 9 21:23:13 2004 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ Don't include a tree pointer in each RB_Tree_Node just to be able to
+ get back to the tree to retrieve the allocator. Leave the allocator
+ pointer in ACE_RB_Tree_Base, and add a ACE_RB_Tree::remove_children_i
+ method that uses the allocator to release memory. Thank you to
+ Sergei Kuchin <skuchin at mqsoftware dot com> for this improvement.
+
+Thu Oct 13 20:42:00 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ Enable noncanonical input processing on POSIX systems.
+
+Thu Oct 13 19:18:44 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ Oops. Use tcsetattr() instead of tcgetattr() to set terminal
+ parameters.
+
+Thu Oct 13 18:49:15 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ TTY_IO class now uses POSIX terminal interface if it is
+ available. Should fix compile problems on various
+ platforms.
+
+Thu Oct 13 15:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Threads/task_four.cpp:
+ * examples/Reactor/Proactor/post_completions.cpp:
+ Fixed warning in MinGW build
+
+Thu Oct 13 17:51:04 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ Fixed wchar issues.
+
+Thu Oct 13 14:36:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Don't run the Hang_Shutdown test in a single threaded build
+
+Thu Oct 13 14:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_arpa_inet.cpp:
+ * ace/Pipe.cpp:
+ 64bit fixes
+
+Thu Oct 13 13:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Threads/tss2.cpp:
+ Fixed warning in MinGW build
+
+Thu Oct 13 13:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/msvc_static_order.lst:
+ Added tests/DLL_Test_Parent
+
+Thu Oct 13 13:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Configuration.{h,cpp}:
+ * ace/FILE_IO.cpp:
+ 64bit fixes
+
+Thu Oct 13 13:21:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Message_Queue.{h,cpp,inl}:
+ * ace/Message_Queue_T.{h,cpp}:
+ Changed message_count to be a size_t to fix 64bit conversion warnings
+ in code that uses this.
+
+Thu Oct 13 13:05:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.{h,inl}:
+ Changed return type of priority_control from int to long to fix
+ 64bit issues.
+
+ * ace/Mem_Map.{h,inl}:
+ * ace/OS_NS_sys_shm.{h,inl}:
+ Fixed 64bit conversion warnings
+
+Thu Oct 13 11:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdlib.{h,cpp,inl}:
+ Let readline return ssize_t instead of int to fix 64bit
+ conversion issues
+
+Thu Oct 13 07:49:37 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ Include OS_NS_string.h to fix compile error on various platforms.
+
+Wed Oct 12 23:55:23 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ Rearranged includes to fix compile error on LynxOS.
+
+Wed Oct 12 23:08:43 2005 Olli Savia <ops@iki.fi>
+
+ * ace/CDR_Stream.inl:
+ * ace/CDR_Stream.cpp:
+ * ace/SString.cpp:
+ Fixed might be unitialized warning in FC4 build.
+
+Wed Oct 12 22:50:39 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.cpp:
+ * ace/config-freebsd.h:
+ * ace/config-irix6.x-common.h:
+ * ace/config-linux-common.h:
+ * ace/config-openbsd.h:
+ * ace/config-win32-interix.h:
+ Changed ACE_USES_NEW_TERMIOS_STRUCT to ACE_HAS_NEW_TERMIOS_STRUCT
+ to better follow ACE naming conventions.
+
+Wed Oct 12 22:32:33 2005 Olli Savia <ops@iki.fi>
+
+ * ace/TTY_IO.h:
+ * ace/TTY_IO.cpp:
+ TTY_IO class overhaul. See NEWS for more information.
+
+ * NEWS:
+ Added TTY_IO changes.
+
+Wed Oct 12 12:02:46 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Based_Pointer_Test.cpp:
+ * tests/dll_test_parent_lib.mpb:
+ * tests/tests.mpc:
+
+ Fixed project dependencies for tests with an accompanying shared
+ library.
+
+Wed Oct 12 12:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/APG/Sockets/Basic.cpp:
+ * examples/APG/Streams/Util.h:
+ * examples/APG/Streams/CommandTasks.cpp:
+ * examples/APG/Threads/Message_Queue.cpp:
+ * examples/Reactor/Misc/notification.cpp:
+ * examples/Reactor/Misc/test_timer_queue.cpp:
+ * examples/Reactor/Multicast/server.cpp:
+ Fixed 64bit conversion warnings
+
+Wed Oct 12 09:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/ipv6.mpb:
+ Also for cbx we need to add an extra lib
+
+Wed Oct 12 08:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Also raised the level for the rir check
+
+Wed Oct 12 08:10:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Raised the level for the environment macro check to >= 6. This way
+ the check is there but we don't run it by default in our daily
+ fuzz build
+
+Wed Oct 12 08:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ Changed the default for exceptions to 1
+
+Tue Oct 11 17:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/CDR_Stream.cpp (skip_wchar):
+ When having a 1.1 stream, we must use
+ ACE_OutputCDR::wchar_maxbytes_ instead of sizeof (ACE_CDR::WChar)
+ to determine whether we have to read 2 or 4 bytes for a
+ ACE_CDR::WChar. This fixes the failing of the TAO Codec test
+ under fe linux
+
+Tue Oct 11 08:28:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/INET_Addr{.h .inl}:
+ Added additional "is_xx' method for IPv6 address testing.
+
+Tue Oct 11 01:17:10 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ From James Megquier <jmegq at radiance dot com>
+ * tests/DLL_Test.cpp (basic_test):
+ * tests/tests.mpc:
+
+ Rename DLL_Test library to avoid MPC name conflict with DLL_Test
+ executable. [Bug 2258]
+
+ * ace/config-g++-common.h:
+
+ Sadly, G++ 4.x silently ignores visibility attributes on
+ template instantiations, which breaks singletons. As a
+ workaround, we use the GCC visibility pragmas. And to make them
+ fit in a macro, we use C99's _Pragma() (see
+ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17470). [Bug 2260]
+
+ * ace/Based_Pointer_Repository.h:
+ * ace/Obstack.h:
+ * ace/Timeprobe.h:
+ * examples/Export/dll.h:
+
+ Declare exported (i.e. default visibility) singleton templates
+ prior to typedefs that reference them. Prevents g++ 4.0 from
+ silently making their visibility hidden. [Bug 2260]
+
+ * include/makeinclude/platform_g++_common.GNU:
+
+ Added "no_hidden_visibility" make flag/variable. Setting to "1"
+ in a platform_macros.GNU file will disable g++ 4.0 visibility
+ attribute support. [Bug 2259]
+
+Tue Oct 11 06:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Guard_T.cpp:
+ When ACE_HAS_DUMP is defined include Log_Msg.h to get ACE_DEBUG.
+ Thanks to James Megquier <jmegq at radiance dot com> for reporting
+ this. This fixes bugzilla bug 2257
+
+ * ACE-INSTALL.html:
+ Updated Remedy IT support platforms and added
+ Borland C++ Builder 2006 as new support platform. This is now
+ publicly announced by Borland.
+
+Mon Oct 10 15:45:17 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_config_handlers.mpb:
+
+ Updated to reflect changes in config handles.
+
+Mon Oct 10 19:12:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_dirent.cpp:
+ Fixed 64bit conversion
+
+Mon Oct 10 13:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Reactor_Timer_Test.cpp:
+ Timers are of type long, so update this test to use long for timer
+ ids, not int.
+
+Mon Oct 10 10:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added new Big_AMI test
+
+Sun Oct 9 21:34:08 2005 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Do not define ACE_LACKS_SETREGID ACE_LACKS_SETREUID
+ on LynxOS 4.x
+
+Fri Oct 7 17:52:38 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Fix typo in recently added TAO_IDL_DEP definition.
+
+Fri Oct 7 17:35:42 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Service_Configurator/IPC-tests/server/Makefile.am:
+ * tests/Makefile.am:
+
+ Regenerate to account for recent changes.
+
+Fri Oct 7 13:31:10 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/taoidldefaults.mpb:
+
+ Changed to add -Sa and -St flags to idlflags variable instead of
+ tao_idlflags. This ensures they will be emitted (unless they're
+ suppressed by anytypecode.mpb) in the automake build, where the
+ value of TAO_IDLFLAGS is set in AutomakeWorkspaceHelper.pm.
+
+ This would have cought recent problems I introduced in TAO when
+ splitting out IDL compilation into separate projects.
+
+Fri Oct 7 09:32:06 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Define TAO_IDL_DEP if TAO_IDL is found in the any per-project
+ Makefile.am as they are aggregated into the final Makefile.am.
+
+Fri Oct 7 12:36:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Upgradable_RW_Test.cpp:
+ Fixed might be unitialized warning in MinGW build
+
+Fri Oct 7 08:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ Removed ACE_LACKS_MODE_MASKS, it is in config-win32-common.h.
+
+Fri Oct 7 07:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * protocols/ace/HTBP/HTBP_Stream.{h,cpp,inl}:
+ * protocols/ace/HTBP/HTBP_Notifier.{h,cpp,inl}:
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.{h,cpp,i}:
+ * apps/JAWS/clients/Caching/URL_Locator.{h,cpp,i}:
+ Removed empty inline files
+
+ * protocols/ace/HTBP/Makefile.am:
+ * examples/Service_Configurator/IPC-tests/server/Makefile.am:
+ * apps/JAWS/clients/Caching/Makefile.am:
+ Removed inline files we zapped above
+
+Thu Oct 6 15:42:29 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/DLL_Test.cpp:
+ * tests/DLL_Test.h:
+ * tests/DLL_Test_Impl.cpp:
+ * tests/DLL_Test_Parent.cpp:
+ * tests/DLL_Test_Parent.h:
+ * tests/DLL_Test_Parent_Export.h:
+ * tests/dll_test_parent_lib.mpb:
+
+ Moved "Parent" base class to a separate DSO/DLL to break a
+ cyclic dependency, in turn allowing its virtual methods to be
+ moved out of line. Addresses dynamic_cast<> failures in g++ 4.0
+ builds. Thanks to Carlos for suggesting this change. [Bug 2143]
+
+ Moved "Child" subclass virtual methods out of line to address
+ RTTI related problems when using g++ 4.0's
+ -fvisibility-inlines-hidden command line option. [Bug 2143]
+
+ * tests/tests.mpc:
+
+ Added new DLL_Test_Parent_Lib project.
+
+ Updated DLL_Test project dependencies to reflect new DLL test
+ library layout.
+
+ Corrected MPC "dynamicflags" variable for "Based Pointer Test
+ Lib" and "DLL Test Lib" projects. "ACE_SVC_BUILD_DLL" not
+ "ACE_BUILD_SVC_DLL".
+
+Thu Oct 6 17:56:19 2005 Steve Huston <shuston@riverace.com>
+
+ Added support for Windows Mobile 5 and Pocket PC 2003 using
+ Visual Studio 2005 (Beta 2). Reorganized some of the config-win32-*
+ files to ensure OS things are in config-win32-common.h and compiler
+ things are in the various compiler files.
+
+ * ace/config-win32-common.h: Now #includes config-WinCE.h. It's
+ possible that config-WinCE.h may get chopped down further and/or
+ subsumed into config-win32-common.h as config-WinCE.h gets refined.
+
+ Added ACE_LACKS_MODE_MASKS. It's needed on all variants of
+ Windows and all compilers.
+
+ Turn on both ACE_USES_WCHAR and UNICODE if either is set. Removed
+ this setting from config-WinCE.h.
+
+ * ace/config-win32-borland.h:
+ * ace/config-win32-dmc.h:
+ * ace/config-win32-ghs.h:
+ * ace/config-win32-mingw.h:
+ * ace/config-win32-msvc-6.h:
+ * ace/config-win32-msvc-7.h:
+ * ace/config-win32-msvc-8.h:
+ * ace/config-win32-visualage.h: Removed ACE_LACKS_MODE_MASKS.
+ Removed ACE_ENDTHREADEX (moved to config-win32-msvc.h).
+
+ * ace/config-win32-msvc.h: Added ACE_ENDTHREADEX with proper
+ setting depending on Windows PC vs. Mobile.
+
+ * ace/config-win32.h: Doesn't include config-WinCE.h any longer.
+
+ * ace/config-WinCE.h: Moved the errno value definitions to
+ config-win32-msvc-6.h. They're only needed for the eVC 3 and 4
+ compilers, which report themselves using the same versions as
+ MSVC 6.
+
+ * ace/Object_Manager.cpp (init): Only act on config.h's
+ ACE_DISABLE_WIN32_ERROR_WINDOWS setting if on Windows, but not CE.
+
+ * ace/OS_NS_time.h: Only define struct tm for WinCE if compiling
+ on something less than Visual Studio 2005.
+
+ * ace/OS_NS_unistd.inl (rmdir, unlink):
+ * ace/OS_NS_sys_stat.inl (mkdir, stat): For wchar_t version on WinCE,
+ specify the ...W() form of the system call rather than assume
+ the call maps to the W form. WinCE can do either A or W now.
+
+ * ace/OS_NS_time.(cpp h) (day_of_week_name[], month_name[]):
+ * ace/OS_NS_sys_socket.cpp (socket_init, socket_fini):
+ Changed char array from wchar_t to ACE_TCHAR. WinCE can do either
+ narrow or wide and this allows it to adjust. Everything was
+ initialized using ACE_LIB_TEXT already.
+
+ * ace/OS_NS_stdio.inl (fdopen, rename, freopen): For WinCE, need to
+ convert the ACE_TCHAR string to wchar always. There's no char*
+ version of fdopen, et al that I can see.
+
+ * ace/Service_Config.(h inl): Only define the alternate
+ intialize/resume/suspend/remove methods for WinCE if ACE_USES_WCHAR
+ is set. Else there's already a char* version.
+
+ * ace/TSS_T.cpp (ctor): Use ACE_LIB_TEXT around strings for the
+ MessageBox() call on CE. This resolves properly depending on the
+ build. CE doesn't always use unicode any more.
+
+ * tests/Logging_Strategy_Test.cpp (get_statistics): Use time_t
+ instead of int to return the modified time. Makes it portable to
+ 64 bits.
+
+Thu Oct 6 10:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Extended empty inline files to also ignore lines starting
+ with /* as real contents. Will propobly reveal another few files
+ we should zap
+
+Thu Oct 6 08:24:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Base_Optimizer.h:
+ * netsvcs/lib/Client_Logging_Handler.h:
+ * netsvcs/lib/Log_Message_Receiver.h:
+ * netsvcs/lib/Name_Handler.h:
+ * netsvcs/lib/Server_Logging_Handler.h:
+ * netsvcs/lib/Server_Logging_Handler_T.h:
+ * netsvcs/lib/Token_Handler.h:
+ * netsvcs/lib/TS_Clerk_Handler.h:
+ * netsvcs/lib/TS_Server_Handler.h:
+ Converted documentation to doxygen style
+
+Thu Oct 6 08:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Message_Queue_Test.cpp:
+ * tests/Message_Queue_Test_Ex.cpp:
+ Fixed might be unitialized warning in MinGW build
+
+Thu Oct 6 08:12:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/ACE-netsvcs.html:
+ Fixed small typo
+
+Wed Oct 5 22:07:19 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add check for ACE_HAS_PTHREAD_GETCONCURRENCY and
+ ACE_HAS_PTHREAD_SETCONCURRENCY.
+
+ * ace/OS_NS_Thread.inl:
+
+ Changed ACE_OS::getconcurrency () to use ::pthread_getconcurrency()
+ if ACE_HAS_PTHREAD_GETCONCURRENCY is set.
+
+ Changed ACE_OS::setconcurrency () to use ::pthread_setconcurrency()
+ if ACE_HAS_PTHREAD_SETCONCURRENCY is set.
+
+ * ace/README:
+
+ Define ACE_HAS_PTHREAD_GETCONCURRENCY and
+ ACE_HAS_PTHREAD_SETCONCURRENCY feature test macros.
+
+Wed Oct 5 13:18:26 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * examples/Shared_Malloc/Malloc.cpp:
+ * examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp:
+ * examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp:
+ * examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp:
+ * tests/SV_Shared_Memory_Test.cpp:
+
+ More include directive additions/fixes.
+
+Wed Oct 5 13:00:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/CDR_Base.h:
+ Doxygen fixes and removed some checks for very old msvc and borland
+ versions
+
+Wed Oct 5 12:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/svcconf.mpb:
+ Replaced some spaces with a tab, should fix our Cygwin build
+
+Wed Oct 5 10:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/APG/Processes/Spawn.cpp:
+ Fixed 64bit conversion warnings
+
+Wed Oct 5 11:11:21 2005 Simon McQueen <sm@prismtech.com>
+
+ * bin/MakeProjectCreator/config/core_anytypecode.mpb:
+
+ Add new base MPC base project that links with the TAO_AnyTypeCode
+ library but does not inherit from taoidldefaults or set any IDL
+ compiler flags. To be used as an alternative to anytypecode.mpb
+ for all projects under $ACE_ROOT/TAO/tao.
+
+Wed Oct 5 02:11:28 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/ace_os.mpc:
+
+ Removed this file. It was inadvertently committed.
+
+Wed Oct 5 01:57:37 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * apps/JAWS2/JAWS/Cache_Manager.cpp:
+ * examples/APG/Active_Objects/AO.cpp:
+ * examples/APG/Active_Objects/AO2.cpp:
+ * examples/APG/Shared_Memory/Hash_Map.cpp:
+ * tests/Bound_Ptr_Test.cpp:
+
+ Include appropriate headers to address incomplete type
+ definition related compile-time errors. Necessitated by header
+ dependency reductions in ACE.
+
+Wed Oct 5 08:18:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ Fixed bug 1770 and 1805. Yoav Borer
+ Thanks to <yoav dot borer at data-pod dot com> for reporting
+ these.
+
+Wed Oct 5 00:41:18 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Activation_Queue.cpp:
+ * ace/Activation_Queue.h:
+
+ Moved "ace/Method_Request.h" include directive to implementation
+ file. A forward request in the header will suffice.
+
+ * ace/SOCK_CODgram.h:
+
+ Support export macros specific to ACE subset libraries.
+
+ * ace/ace.mwc:
+
+ Added missing "ace_for_tao" subset MPC files.
+
+ * ace/ace_memory_for_tao.mpc:
+ * ace/ace_reactor_for_tao.mpc:
+ * ace/ace_sockets_for_tao.mpc:
+ * ace/ace_threads_for_tao.mpc:
+
+ New TAO-specific ACE subset MPC files that were not committed
+ in initial "ace_for_tao" commit.
+
+Tue Oct 4 14:21:26 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * netsvcs/lib/TS_Clerk_Handler.h:
+
+ More include directive fixes/additions now necessary due to
+ header dependency reductions in ACE.
+
+Tue Oct 4 11:12:31 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * apps/JAWS2/JAWS/Cache_Object.h:
+ * apps/JAWS2/JAWS/Cache_Object.cpp:
+
+ Include appropriate headers to address incomplete type
+ definition related compile-time errors. Necessitated by header
+ dependency reductions in ACE.
+
+ Declare lock members that are meant to be mutable in all cases
+ as "mutable", and remove casts that worked around the
+ unnecessary "constness" of those members.
+
+Tue Oct 4 10:39:24 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Service_Config.cpp:
+
+ Include "ace/Signal.h" when ACE_LACKS_UNIX_SIGNALS is
+ undefined. Addresses build errors in non-Windows builds.
+ Necessitated by header dependency reductions in ACE.
+
+Tue Oct 4 10:00:00 UTC 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * ace/Obstack_T.h:
+
+ Fix warning about nested comments.
+
+Mon Oct 3 13:30:58 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * examples/APG/Containers/Hash_Map.cpp:
+ * examples/APG/Shared_Memory/Malloc.cpp:
+ * examples/APG/Shared_Memory/PI_Malloc.cpp:
+ * examples/APG/Shared_Memory/Pool_Growth.cpp:
+ * examples/Shared_Malloc/Malloc.cpp:
+ * examples/Shared_Malloc/Malloc.h:
+ * examples/Shared_Malloc/test_malloc.cpp:
+ * examples/Shared_Malloc/test_multiple_mallocs.cpp:
+ * examples/Shared_Malloc/test_persistence.cpp:
+ * examples/Shared_Malloc/test_position_independent_malloc.cpp :
+
+ Include appropriate headers to address incomplete type
+ definition related compile-time errors. Necessitated by header
+ dependency reductions in ACE.
+
+Mon Oct 3 18:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SSL/SSL_Context.cpp:
+ Use prefix increment/decrement instead of postfix
+
+Mon Oct 3 10:48:23 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/ACE_Memory_export.h:
+ * ace/ACE_Reactor_export.h:
+ * ace/ACE_Sockets_export.h:
+ * ace/ACE_Threads_export.h:
+
+ New export headers for a number of ACE subset libraries.
+
+ * ace/Activation_Queue.cpp:
+ * ace/Configuration.h:
+ * ace/Malloc.cpp:
+ * ace/Obstack_T.h:
+ * ace/Obstack_T.cpp:
+ * ace/Svc_Conf_l.cpp:
+ * ace/Timer_Hash_T.cpp:
+ * tests/Based_Pointer_Test.cpp:
+ * tests/Malloc_Test.cpp:
+ * tests/Message_Block_Test.cpp:
+
+ Include appropriate headers to address incomplete type
+ definition related compile-time errors. Necessitated by header
+ dependency reductions in ACE.
+
+ * ace/Activation_Queue.h:
+ * ace/Barrier.h:
+ * ace/Based_Pointer_Repository.h:
+ * ace/Dev_Poll_Reactor.h:
+ * ace/File_Lock.h:
+ * ace/LSOCK.h:
+ * ace/LSOCK_Acceptor.h:
+ * ace/LSOCK_CODgram.h:
+ * ace/LSOCK_Connector.h:
+ * ace/LSOCK_Dgram.h:
+ * ace/LSOCK_Stream.h:
+ * ace/MEM_Acceptor.h:
+ * ace/MEM_Addr.h:
+ * ace/MEM_Connector.h:
+ * ace/MEM_IO.h:
+ * ace/MEM_SAP.h:
+ * ace/MEM_Stream.h:
+ * ace/MMAP_Memory_Pool.h:
+ * ace/Mem_Map.h:
+ * ace/Method_Request.h:
+ * ace/Msg_WFMO_Reactor.h:
+ * ace/Multihomed_INET_Addr.h:
+ * ace/PI_Malloc.h:
+ * ace/Pagefile_Memory_Pool.h:
+ * ace/Priority_Reactor.h:
+ * ace/Process.h:
+ * ace/Process_Manager.h:
+ * ace/Process_Semaphore.h:
+ * ace/RW_Process_Mutex.h:
+ * ace/SOCK_Dgram_Bcast.h:
+ * ace/SOCK_Dgram_Mcast.h:
+ * ace/SOCK_SEQPACK_Acceptor.h:
+ * ace/SOCK_SEQPACK_Association.h:
+ * ace/SOCK_SEQPACK_Connector.h:
+ * ace/SV_Shared_Memory.h:
+ * ace/Sbrk_Memory_Pool.h:
+ * ace/Shared_Memory.h:
+ * ace/Shared_Memory_MM.h:
+ * ace/Shared_Memory_Pool.h:
+ * ace/Shared_Memory_SV.h:
+ * ace/Thread_Semaphore.h:
+ * ace/UNIX_Addr.h:
+
+ Support export macros specific to ACE subset libraries.
+
+ * ace/Array_Map.h:
+
+ Comment cleanup.
+
+ * ace/High_Res_Timer.h:
+
+ Removed trailing whitespace.
+
+ * ace/Malloc.h:
+
+ Removed extraneous headers unnecessary for the types declared in
+ this header.
+
+ * ace/OS_NS_Thread.inl (ACE_Thread_ID):
+
+ Prefer initialization of thread_id_ member in base member
+ initializer list rather than constructor body.
+
+ * ace/ace.mpc:
+ * ace/ace.mwc:
+ * ace/ace_for_tao.mpc:
+ * ace/ace_os.mpc:
+
+ Add support ACE subsets (predominantly TAO-specific).
+
+ * ace/svcconf.mpb:
+
+ Moved Svc_Conf parser and lexer generation Make rules to this
+ MPC base project. Allows subset projects to inherit these
+ rules.
+
+ * bin/MakeProjectCreator/config/ace_for_tao.mpb:
+ * bin/MakeProjectCreator/config/acememorylib_for_tao.mpb:
+ * bin/MakeProjectCreator/config/acenosubsets.mpb:
+ * bin/MakeProjectCreator/config/acereactorlib_for_tao.mpb:
+ * bin/MakeProjectCreator/config/acesocketslib_for_tao.mpb:
+ * bin/MakeProjectCreator/config/acethreadslib_for_tao.mpb:
+
+ New TAO-specific ACE subset MPC support. Enabled when
+ "ace_for_tao" is set to "1" in an MPC features file.
+
+ * bin/MakeProjectCreator/config/aceexe.mpb:
+ * bin/MakeProjectCreator/config/acelib.mpb:
+
+ Support "ace_for_tao" subset.
+
+ * bin/MakeProjectCreator/config/global.features:
+
+ Disabled "ace_for_tao" feature by default.
+
+ * bin/MakeProjectCreator/config/taolib.mpb:
+
+ Inherit "ace_for_tao" feature project. Causes TAO-based
+ projects to use the "ace_for_tao" subset libraries when that
+ feature is enabled.
+
+Mon Oct 3 12:50:00 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * ace/Asynch_IO.h:
+
+ Remove some more Doxygen warnings from the scoreboard.
+
+Mon Oct 3 13:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Server_Concurrency/Leader_Follower/leader_follower.cpp:
+ Fixed might be unitialized warning in Cygwin build
+
+Mon Oct 3 12:50:00 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * ace/ACE.h:
+ * ace/Acceptor.h:
+ * ace/Stats.h:
+ * ace/Containers_T.h:
+
+ Remove some Doxygen warnings from the scoreboard.
+
+Mon Oct 3 11:27:13 2005 Simon McQueen <sm@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+
+ Scheduled TAO/orbsvcs/tests/Bug_2248_Regression.
+
+Mon Oct 3 09:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_gnuwin32_common.GNU:
+ Changed the default of exceptions to be 1
+
+Mon Oct 3 06:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg.{h,cpp}:
+ Changed type of msg_off_ from int to long to fix 64bit
+ conversion warnings
+
+Sun Oct 2 19:18:01 2005 Olli Savia <ops@iki.fi>
+
+ * ace/config-lynxos.h:
+ Added contents from config-lynxos4.0.0.h to this file.
+ config-lynxos4.0.0.h is no longer needed.
+
+ * ace/config-lynxos4.0.0.h:
+ Removed this file.
+
+Sat Oct 1 11:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.cpp:
+ Fixed _open_osfhandle call
+
+Fri Sep 30 14:00:36 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * bin/fuzz.pl:
+
+ Added a new test, check_for_refcountservantbase, that will
+ report occurrences of PortableServer::RefCountServantBase in
+ code. This is good because the default is now changed in TAO to
+ reflect the change in the CORBA spec.
+
+ Changed all error and warning messages to be consistently
+ printed with the keyword "Error: " or "Warning: " followed by
+ the filename and line number where the problem occurred, then
+ followed by a text description of the problem. This makes the
+ messages' format consistent with that output by grep and
+ compilers so that one can use tools like emacs' 'compile' mode
+ to step through the fuzz errors and easily fix things.
+
+Fri Sep 30 10:34:24 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add feature checks for ACE_LACKS_INTMAX_T, ACE_LACKS_INTPTR_T,
+ ACE_LACKS_UINTMAX_T, and ACE_LACKS_UINTPTR_T.
+
+ * ace/README:
+
+ Define ACE_LACKS_INTMAX_T, ACE_LACKS_UINTMAX_T, and
+ ACE_LACKS_UINTPTR_T feature test macros.
+
+Fri Sep 30 13:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm:
+ Corrected the directory changing code to take 2 or more deep
+ relative paths into account. Merged this fix from the MPC
+ templates bmake. Thanks to Chad Elliott for fixing these.
+
+Fri Sep 30 08:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-borland.h:
+ * ace/config-win32-msvc-6.h:
+ * ace/OS_NS_stdio.cpp:
+ * ace/OS_NS_stdio.inl:
+ * ace/OS_NS_unistd.inl:
+ * ace/README:
+ Added new ACE_LACKS_INTPTR_T and use this. This type is used to call
+ _open_osfhandle on windows. It seems not to be available with BCB6
+ and earlier and msvc6. Thanks to Simon McQueen for notifying me that
+ msvc6 also lacks this.
+
+Fri Sep 30 07:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SOCK_IO.cpp:
+ * ace/SOCK_Dgram_Bcast.cpp:
+ * ace/SOCK_Dgram.cpp:
+ * ace/OS_NS_unistd.inl:
+ * ace/OS_NS_stdio.inl:
+ * ace/OS_NS_stdio.cpp:
+ * ace/MEM_IO.cpp:
+ * ace/ACE.cpp:
+ Fixed 64bit conversion warnings when building on win32 with 64bit
+ warnings enabled
+
+Thu Sep 29 16:07:02 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * bin/FOCUS:
+ Directory where FOCUS related work will be added.
+
+ * bin/FOCUS/ChangeLog:
+ * bin/FOCUS/FOCUS.pl:
+ * bin/FOCUS/NEWS:
+ * bin/FOCUS/PROBLEM-REPORT-FORM:
+ * bin/FOCUS/Parser:
+ * bin/FOCUS/README:
+ * bin/FOCUS/VERSION:
+ * bin/FOCUS/docs:
+ * bin/FOCUS/specializations:
+
+ FOCUS related files and directories. Please read the Changelog
+ in FOCUS for more details on each component.
+
+ * bin/FOCUS/specializations/Context-Specific-Optimizations:
+ * bin/FOCUS/specializations/Flushing_Strategy:
+ * bin/FOCUS/specializations/Messaging_Strategy:
+ * bin/FOCUS/specializations/Protocol_Family:
+ * bin/FOCUS/specializations/README:
+ * bin/FOCUS/specializations/Reactor_Family:
+ * bin/FOCUS/specializations/Wait_Strategy:
+
+ Specializations for the different components in ACE+TAO. Each
+ directory contains the specialization files for specializing the
+ appropriate component/strategy.
+
+ * bin/FOCUS/Parser/FOCUSParser.pm:
+
+ Parser/weaver that reads the specialization description and
+ performs the transformations.
+
+ * bin/FOCUS/docs/FOCUS.html:
+
+ Start at the documentation effort.
+
+ The Changelogs within the FOCUS directory will capture the
+ different changes henceforth.
+
+Thu Sep 29 13:28:29 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * bin/fuzz.pl (check_for_refcountservantbase):
+
+ Added a new fuzz check to catch derivations to
+ PortableServer::RefCountServantBase. Obviously, this check only
+ applied to TAO, and the test itself isn't very discriminating as
+ it simply looks for the presence of
+ "PortableServer::RefCountServantBase" in a file and doesn't
+ attempt to detect derivation. There are also no means to turn
+ off the check in comments. But it's better than nothing.
+
+Thu Sep 29 15:18:24 2005 Simon McQueen <sm@prismtech.com>
+
+ * bin/tao_other_tests.lst:
+
+ Scheduled TAO/orbsvcs/tests/Bug_2247_Regression.
+
+Thu Sep 29 12:18:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/footprint_stats.sh:
+ Fixed codeset library name
+
+Thu Sep 29 09:03:00 UTC 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * apps/JAWS2/JAWS/IO_Acceptor.cpp:
+ Fixed unused parameters
+
+Thu Sep 29 09:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/Stats/footer.html:
+ * html/Stats/configuration.shtml:
+ * html/Stats/navigation.html:
+ * html/Stats/index.shtml:
+ * html/Stats/detailed_footprint.shtml:
+ I have taken the files currently on the webserver and updated
+ cvs with these versions. This way we can update these files
+ in cvs and update the webserver automatically. I will reconfigure
+ the stats build to copy all the files in this directory to
+ the webserver when the build is ready
+
+ * html/Stats/footprint.shtml:
+ * html/Stats/img.html:
+ * html/Stats/simple_footprint.shtml:
+ * html/Stats/performance.shtml:
+ * html/Stats/compilation.shtml:
+ New files
+
+ * bin/footprint_stats.sh:
+ Also generate the footprint of the new core TAO libs we added
+ the last months
+
+Thu Sep 29 08:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * html/index.html:
+ Fixed typo
+
+Thu Sep 29 07:59:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_fcntl.cpp:
+ Use C++ cast instead of c-style cast
+
+ * ace/FILE_Connector.cpp:
+ Small layout fix
+
+Wed Sep 28 11:38:07 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ Committing the following change on behalf of Wallace Zhang
+ <zhang_w@ociweb.com>.
+
+ * bin/tao_orb_tests.lst:
+
+ Enabled a new Smart Proxy test,i.e.,
+ $TAO_ROOT/tests/Smart_Proxies/dtor/run_test.pl
+
+Wed Sep 28 07:46:57 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Atomic_Op.cpp:
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+ * ace/Object_Manager.cpp:
+
+ Revert change:
+ Fri Sep 16 19:54:20 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ As the new ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>
+ template specialization was not found responsible for the
+ TAO performance regressions.
+
+Wed Sep 28 11:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Small updates to Borland documentation
+
+Wed Sep 28 07:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/compiler.bor:
+ At the moment BCBVER is not set, we default to BCB6.
+
+Tue Sep 27 13:40:45 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_config_handlers.mpb
+ * bin/MakeProjectCreator/config/ciao_xml_utils.mpb
+
+ Added files that should have been part of the previous commit.
+
+Tue Sep 27 13:12:28 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_client.mpb
+
+ Removed another obsolete ciao base project.
+
+ * bin/MakeProjectCreator/config/ciao_client_dnc.mpb
+ * bin/MakeProjectCreator/config/ciao_component_dnc.mpb
+ * bin/MakeProjectCreator/config/ciao_servant_dnc.mpb
+ * bin/MakeProjectCreator/config/ciao_server_dnc.mpb
+
+ Revamped the CIAO base project structure to fix deficiencies
+ exposed by the especially strict linker on MacOS.
+
+Tue Sep 27 10:29:49 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_component.mpb
+ * bin/MakeProjectCreator/config/ciao_servant.mpb
+ * bin/MakeProjectCreator/config/ciao_server.mpb
+
+ Removed obsolete CIAO base projects.
+
+Tue Sep 27 13:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/ciao_DAnCE.doxygen:
+ Removed zapped XML_Helpers directory
+
+Tue Sep 27 10:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Also detect ACE_THROW in an ACE_TRY block
+
+Mon Sep 26 10:36:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/fuzz.pl:
+ Extended fuzz check to detect ACE_THROW_RETURN in an ACE_TRY block,
+ in that case ACE_TRY_THROW should be used.
+
+Mon Sep 26 10:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/ciao_xml_helpers.doxygen:
+ * etc/ciao_config_handlers.doxygen:
+ Renamed ciao_xml_helpers to ciao_config_handlers. Corrected also
+ paths, fixes errors in the doxygen build
+
+ * bin/generate_doxygen.pl:
+ Updated change above
+
+Sat Sep 24 12:56:20 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * ace/Acceptor.cpp:
+ * ace/Strategies_T.cpp (accept_svc_handler):
+
+ Errno of failed accept() call is potentially not preserved due
+ to unguarded call of svc_handler->close(). Thus when
+ accept_svc_handler() returns -1 the errno value may be due to a
+ subsequent failure in the svc_handler->close() method rather
+ than the original accept() failure, making handling of the
+ accept() failures difficult. Thanks to Russell Mora
+ <russell_mora at symantec dot com> for the patch.
+
+Fri Sep 23 10:07:25 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-macosx-tiger.h
+ * include/makeinclude/platform_macosx_tiger_gcc4.GNU
+
+ Updates for Tiger compatibility. Thanks to Michael van der
+ Westhuizen (r1mikey at gmail dot com) for help with tracking
+ down some troublesome issues in the platform_macros.
+
+Thu Sep 22 12:40:20 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/ace.m4:
+
+ Set BUILD_TAO_FLRESOURCE, BUILD_TAO_QTRESOURCE,
+ BUILD_TAO_TKRESOURCE, and BUILD_TAO_XTRESOURCE automake
+ conditionals if --enable-fl-reactor, --enable-qt-reactor,
+ --enable-tk-reactor, or --enable-xt-reactor are specified
+ at configure time.
+
+Thu Sep 22 08:40:00 UTC 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * tests/run_test.lst:
+ Stop based_pointer_test running on VxWorks and Static builds.
+
+Thu Sep 22 08:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/ASX/Event_Server/Event_Server/event_server.cpp:
+ * performance-tests/Synch-Benchmarks/Perf_Test/Performance_Test_Options.h:
+ 64bit fix
+
+ * bin/fuzz.pl:
+ Extended fuzz check to detect several corba calls without an
+ ACE_CHECK in between
+
+ * ace/SOCK_Dgram.cpp:
+ Small layout fixes
+
+ * ace/Service_Config.h:
+ Added missing ACE_LIB_TEXT to some macros
+
+Tue Sep 20 10:37:24 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Pipe.inl: Added #include of "ace/ACE.h" to get the
+ right class definition for the ACE:: methods. Thanks to Simon
+ Massey for reporting this.
+
+Tue Sep 20 15:20:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added new TAO/tests/CallbackTest/*.pl tests.
+
+Tue Sep 20 10:10:00 UTC 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * tests/Based_Pointer_Test.cpp:
+ Attempt to fix bug 2232 (Implimented the diffs found there).
+
+Tue Sep 20 08:43:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * bin/tao_other_tests.lst:
+ Added new IPV6 specific tests.
+
+Tue Sep 20 08:29:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added new TAO/tests/BiDirectional/run_test_ipv6.pl
+ IPV6 test.
+
+Mon Sep 19 11:43:59 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: Added a guideline that disallows the use of
+ assert() macros et al. in core ACE, TAO, and CIAO
+ library/framework code. Thanks to Dave Giovannini <giovanninid
+ at ociweb dot com> and Carlos O'Ryan for motivating this.
+
+ * protocols/ace/RMCast/Socket.cpp: Replaced the use of ACE_OS::write()
+ and ACE_OS::read() with the new ACE_Pipe::send() and
+ ACE_Pipe::recv() methods thanks to Felix's enhancements.
+
+ * ace/Pipe.{h,inl,cpp}: Added a full complement of send*() and recv*()
+ methods so that the code is portable across different operating
+ systems without requiring user-level #ifdefs. Thanks to Felix
+ Li <fengli@gmail.com> for submitting these enhancements.
+
+Mon Sep 19 12:35:39 2005 Justin Michel <michel_j@ociweb.com>
+
+ * tests/MT_SOCK_Test.cpp:
+
+ Fix use of ACE_static_cast from my Fri Sep 2 checkin.
+
+Mon Sep 19 10:51:26 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/generate_doxygen.pl
+
+ Removed obsolete CIAO projects from Doxygen generation.
+
+ * etc/ciao_xml_helpers.doxygen
+
+ Updated path to new config_handlers.
+
+ * etc/ciao_assembly_deployer.doxygen
+ * etc/ciao_componentserver.doxygen
+ * etc/ciao_daemon.doxygen
+ * etc/ciao_serveractivator.doxygen
+
+ Removed obsolete ciao doxygen files.
+
+Sun Sep 18 17:28:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/INET_Addr.cpp:
+ Fixed bug in ACE_INET_Addr::string_to_addr().
+
+Sun Sep 18 17:26:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/Log_Msg.cpp:
+ Fixed compile error in latest addition to code.
+
+Sun Sep 18 10:08:05 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (log): Check for passing of NULL pointers to %s
+ formatting strings and replace them with "(null") to avoid
+ crashes. Thanks to Steven Xie <steven.xie@mpathix.com> for
+ reporting this and to J.T. for suggesting the fix.
+
+ * protocols/ace/RMCast/Acknowledge.cpp (ACE_RMCast):
+ made the default ACE_Hash_Map_Manager size be 10 rather than
+ 1024. Thanks to Felix Li <fengli@gmail.com> for reporting
+ this.
+
+Fri Sep 16 19:54:20 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Atomic_Op.cpp:
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+ * ace/Object_Manager.cpp:
+
+ #if 0 ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>
+ specialization to see if it's responsible for recent
+ TAO performance degradation.
+
+Fri Sep 16 10:57:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+
+ Added new TAO/tests/IPV6 test to runlist (only when config
+ IPV6 defined).
+
+Thu Sep 15 12:35:27 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * THANKS:
+
+ Added Jin Zhi Ye.
+
+ * ace/os_include/os_stdio.h:
+
+ #undef fgetc and fputc if they are defined, as macro expansion
+ conflicts with our use of the same names in the ACE_OS wrapper
+ functions. Reported by Jin Zhi Ye <jinzhiye at kedacom dot com>.
+
+Thu Sep 15 18:55:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/Atomic_Op.inl:
+
+ Small fix to get rid of annoying warning on Windows concerning
+ unary '-'.
+
+Wed Sep 14 13:36:34 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Changed ACE_HAS_MEMCPY_LOOP_UNROLL feature test code such that
+ smemcpy() correctly returns it's first argument.
+
+ Added third argument to ACE_HAS_MEMCPY_LOOP_UNROLL's AC_DEFINE
+ to provide the description for config.h.
+
+Tue Sep 13 14:38:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+
+ Changed munching step for VxWorks SIMPC builds to generate asm
+ output to circumvent compiler output problem in certain files.
+
+ * include/makeinclude/rules.lib.GNU:
+
+ Small change to make output of prelink step visible for static
+ libraries build for VxWorks with -frepo.
+
+Tue Sep 13 09:30:03 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * ace/OS_NS_string.{h,cpp,inl}:
+ Updated the loop unrolled memcpy version name to fast_memcpy
+ rather than smemcpy.
+
+Tue Sep 13 09:18:54 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * configure.ac:
+
+ Fixed the autoconf test that checks for memcpy loop unrolling
+ optimization, by (1) removing the testit function and replacing
+ it with a function pointer, (2) by properly setting the right
+ ACE macro when the test succeeds and (3) enabling the flag only
+ when the test produces a result > 10% for all sizes between
+ 1..16.
+
+Tue Sep 13 14:10:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tests/Cached_Accept_Conn_Test.cpp:
+ * tests/Cached_Conn_Test.cpp:
+ * tests/Message_Block_Test.cpp:
+
+ Fixed problems with explicit template instantiations and
+ VxWorks builds.
+
+Tue Sep 13 11:52:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * apps/JAWS2/JAWS/Cache_Manager_T.cpp:
+ * examples/APG/Logging/LogManager.h:
+ * examples/APG/Logging/Use_Multiple_Sinks.cpp:
+ * examples/APG/Logging/Use_Ostream.cpp:
+ * examples/C++NPv1/Logging_Client.cpp:
+ * examples/C++NPv2/Select_Reactor_Logging_Server.cpp:
+ * examples/C++NPv2/Server_Shutdown.cpp:
+ * examples/C++NPv2/TP_Reactor_Logging_Server.cpp:
+ * examples/Export/test.cpp:
+
+ Fixed for environments defining ACE_USES_OLD_IOSTREAMS
+ (which unfortunately is the case for Windows x64 at the
+ moment due to shortcomings in the Platform SDK).
+
+Tue Sep 13 10:30:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * bin/tao_orb_tests.lst:
+ Added Bug_2234_Regression test.
+
+Tue Sep 13 10:11:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Excluded a few tests based on 'IPV6' configuration because
+ they use features which are not IPv6 compatible (yet) like
+ SHMIOP.
+
+Fri Sep 9 18:57:31 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Sock_Connect.cpp (bind_port): Replace variable s_addr with
+ addr_p. s_addr is a macro on some systems (in this case, Solaris 8)
+ and caused problems.
+
+Fri Sep 9 11:05:27 2005 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * ace/config-lynxos4.0.0.h:
+ Added new config file to accomodate new version of LynxOS.
+
+Thu Sep 8 16:33:38 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/tls.m4:
+
+ Added support for --with-openssl, --with-openssl-include, and
+ --with-openssl-libdir options so users can select or override
+ the location of the OpenSSL libraries.
+
+Thu Sep 8 18:43:12 2005 Steve Huston <shuston@riverace.com>
+
+ * tests/Based_Pointer_Test.cpp (mmap_remap_test): Don't keep increasing
+ the allocation until the base pointer changes without checking for
+ an allocation failure. This caused all memory to be absorbed on AIX
+ without remapping the base, then the log file was so big that
+ the log processor for the scoreboard ran out of memory processing it.
+
+Thu Sep 8 06:47:11 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm:
+
+ Allow files with .. in the path to count in the VPATH setting.
+
+Wed Sep 7 14:44:58 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/SSL/Makefile.am:
+ * examples/C++NPv2/Makefile.am:
+ * examples/IPC_SAP/SSL_SAP/Makefile.am:
+
+ Regenerated.
+
+ * bin/MakeProjectCreator/config/ace_openssl.mpb:
+
+ Use 'compile_flags' instead of 'includes' to set compile flags
+ to @ACE_TLS_CPPFLAGS@. Thanks to Chad Elliot for this hint.
+
+ Uncomment automake "specific" block.
+
+Tue Sep 6 22:02:16 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/ace_openssl.mpb:
+
+ Subtract /usr/kerberos/includes from includes for automake
+ builds.
+
+ Changed ${ACE_TLS_FOO} to @ACE_TLS_FOO@ so variables will be
+ substituted by the values obtained by the configure script.
+
+Tue Sep 6 21:56:43 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * m4/tls.m4:
+
+ Changed to substitute ACE_TLS_CPPFLAGS and ACE_TLS_LDFLAGS like
+ was done with ACE_TLS_LIBS.
+
+Tue Sep 6 19:43:47 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/automake.features:
+
+ New features file for automake build.
+
+Tue Sep 6 17:37:15 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/ssl.mpb:
+ * ace/SSL/ssl.mpc:
+
+ Changed to inherit from ace_openssl.mpb instead of openssl.mpb.
+
+ * bin/MakeProjectCreator/config/ace_openssl.mpb:
+
+ New file, similar to other ace_*.mpb files, so we can
+ override values inherited from MPC's openssl.mpb.
+
+Tue Sep 6 12:20:22 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Object_Manager.cpp:
+
+ Changed to invoke ACE_Atomic_Op<ACE_Thread_Mutex, unsigned
+ long>::init_functions () to initialize function pointers.
+
+ * ace/Atomic_Op.cpp:
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+
+ Added ACE_Atomic_Op<ACE_Thread_mutex, unsigned long> template
+ specialization using the existing atomic operations for longs
+ with judicious use of casts. The implementation isn't ideal,
+ since two sets of function pointers need to be set. This can
+ be revisited when we add specializations for int and unsigned
+ int.
+
+Tue Sep 6 10:32:23 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ Change the position of the use of custom 'output_option' setting.
+ Ensure that the input file is the last thing on the command line.
+
+Tue Sep 6 12:51:19 UTC 2005 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * apps/JAWS2/JAWS/IO.h
+ Small fix to counter LynxOS' defining ERROR_MESSAGE
+
+Tue Sep 6 08:46:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ Small fix for '-frepo' builds with shared libs.
+
+Mon Sep 5 14:56:53 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * protocols/ace/RMCast/Socket.cpp:
+
+ Reverted this change: "Replaced calls to read/write with
+ recv_n/send_n to make things work with BCB on Windows".
+ It breaks VC6.
+
+Sun Sep 4 22:27:19 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * protocols/ace/RMCast/Link.cpp:
+
+ Aligned receiving buffer manually. This is necessary because
+ some of the broken compilers (like BCB) do not adhere to the
+ standard when it some to the alignment of the buffers returned
+ by operator new. Thanks to Vladislav Zverev <vladislav at gtss
+ dot spb dot ru> for reporting this.
+
+ * protocols/ace/RMCast/Socket.cpp:
+ * protocols/ace/RMCast/Socket.h:
+
+ Added the from argument to the recv() function. Made the Reactor
+ interface code executed only when it is actually used. Replaced
+ calls to read/write with recv_n/send_n to make things work with
+ BCB on Windows. Thanks to Vladislav Zverev <vladislav at gtss
+ dot spb dot ru> for suggestions.
+
+Fri Sep 2 08:29:38 2005 Arvind S. Krishna <arvindk@tango.dre.vanderbilt.edu>
+
+ * ace/OS_NS_string.h:
+ * ace/OS_NS_string.cpp:
+ * ace/OS_NS_string.inl:
+
+ Updated the ACE_OS::memcpy optimization to factor out the loop
+ unrolled code into a separate function. This should enable
+ memcpy function itself to be inlined. Thanks to JT jtc at
+ acorntoolworks dot com.
+
+Fri Sep 2 10:44:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/SOCK_Dgram{.h .cpp}:
+ * ace/SOCK_Dgram_Mcast{.h .cpp}:
+ Added IPv6 multicast support for Win32 (>= XP Pro/Server 2003).
+
+ * tests/Multicast_Test_IPV6.cpp:
+ Changed to do IPv6 multicast for non-linux systems as well.
+
+ * bin/MakeProjectCreator/config/ipv6.mpb:
+ Added new feature config for IPv6 support.
+ Adds additional link library Iphlpapi.lib for windows projects
+ (MPC types vc6, vc7, vc71, vc8, nmake, borland and bmake)
+ and sets macro ACE_HAS_IPV6.
+
+ * bin/MakeProjectCreator/config/global.features:
+ * bin/MakeProjectCreator/config/acedefaults.mpb:
+ Introduced 'ipv6' feature.
+
+Fri Sep 2 15:08:27 2005 Justin Michel <michel_j@ociweb.com>
+
+ * ace/ACE.cpp:
+
+ The code that waited for connections to complete had problems
+ with some Windows machines. The code now doesn't trust the write
+ bit in select() to indicate an accepted connection.
+
+ * ace/SOCK_Connector.cpp:
+
+ There was a workaround for ACE_WIN32 that would wait 35ms and
+ retry after the first connection failure. It wouldn't retry the
+ connect(), but would just retry select(). This workaround
+ appears to be unnecessary for current Windows machines, so I
+ changed the #ifdef ACE_WIN32 to #ifdef ACE_HAS_NON_BLOCKING_BUG.
+
+ * ace/config-win32-common.h:
+
+ ACE would always default to a ACE_DEFAULT_BACKLOG of 5. Changed
+ to default to SOMAXCONN on Win32. This special value is used by
+ Winsock listen() to indicate that the machine should
+ automatically pick a suitable default.
+
+ * tests/MT_SOCK_Test.cpp:
+
+ This test is really to verify that the listen() backlog feature
+ works correctly. Updated the code to make this testable and
+ consistent. The code now sleeps in the server thread to give the
+ 30 client threads time to attempt to connect. Only 5-9 clients
+ should succeed, because the Acceptor is created with a listen()
+ backlog=5.
+
+Thu Sep 1 17:28:25 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/Atomic_Op.cpp:
+ * ace/Atomic_Op.h:
+
+ Added ACE_Atomic_Op<ACE_Thread_Mutex, long> template
+ specialization for AMD64 when compiled with GCC.
+
+Thu Sep 1 17:38:10 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/ciao_tests.lst
+
+ Corrected the path to the hello test.
+
+Thu Sep 1 18:00:31 2005 Steve Huston <shuston@riverace.com>
+
+ * tests/Based_Pointer_Test.cpp: Corrected to build on MSVC 6,
+ lacking template typedefs. Thanks to Johnny Willemsen for
+ this fix.
+
+Thu Sep 1 15:05:55 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/MakeProjectCreator/config/ciao_client_dnc.mpb
+ * bin/MakeProjectCreator/config/ciao_servant_dnc.mpb
+
+ Updates to support the CIAO reorganization.
+
+Thu Sep 1 19:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/templates/bor.mpd:
+ For MPC projects that are custom_only and only have IDL
+ build rules the install target didn't work anymore. If the project
+ is not an dll or exe, we generate an include of install.bor
+ and set the install types to includes. This way the install
+ target works for the generate borland makefiles
+
+Thu Sep 1 11:55:39 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ace/OS_NS_unistd.cpp (num_processors, num_processors_online):
+
+ Provide implementation for *BSD and MacOSX.
+
+Thu Sep 01 10:42:17 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * ace/config-tandem-nsk-mips-v3.h:
+ Defined ACE_SIZEOF_WCHAR
+
+Thu Sep 1 15:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SV_Message_Queue.h:
+ Fixed copy/paste error
+
+Thu Sep 1 14:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/POSIX_Proactor.cpp:
+ * ace/SV_Message_Queue.{h,inl}:
+ Fixed 64bit warnings
+
+ * ace/UPIPE_Connector.cpp:
+ Fixed formatting
+
+Thu Sep 1 14:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Timer_Heap_T.cpp:
+ Fixed 64bit conversion error
+
+Thu Sep 1 10:10:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/ACE.cpp:
+ * ace/LSOCK.{h,cpp}:
+ Fixed 64bit conversion problems
+
+Thu Sep 1 10:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ Suppress warning 1684 with Intel 9. This is:
+ Conversion from pointer to same-sized integral type
+ (potential portability problem)
+
+Thu Sep 1 09:27:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_sys_socket.{h,inl}:
+ Updated return value of send/recv methods from int to ssize_t to
+ fix problems on 64bit systems. On 32bit systems int is size of
+ ssize_t so no backward compatibility issues. This is part of
+ bug 2203
+
+ * ace/OS_NS_unistd.inl:
+ Replaced c-style cast with C++ cast
+
+Thu Sep 1 08:20:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * include/makeinclude/platform_vxworks5.5.x.GNU:
+ Added missing library searchpath for '-frepo' builds.
+
+Thu Sep 1 07:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Service_Config.h:
+ Added ACE_REMOVE_SERVICE_DIRECTIVE that works with plain svc.conf
+ and the xml version. Thanks to
+ Lothar Werzinger <lothar at xcerla dot com> for creating this new
+ macro
+
+Wed Aug 31 14:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/DLL_Manager.cpp:
+ Initialize pointer to zero
+
+Wed Aug 31 14:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/MEM_Stream.{h,inl}:
+ * ace/OS_NS_sys_msg.{h,inl}:
+ 64bit fixes
+
+ * ace/Framework_Component.cpp:
+ Initialize pointer to zero
+
+Wed Aug 31 08:48:19 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * configure.ac:
+ Added a test to see if memcpy unrolling improves performance as
+ opposted to a vanilla memcpy. This optimization is thanks to
+ Mike Martinez martinez_m at oci dot com.
+
+ * OS_NS_string.inl:
+ Updated ACE_OS::memcpy to use the corresponding loop unrolling
+ based on a flag set by configure.
+
+Wed Aug 31 10:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Get_Opt.cpp:
+ Fixed 64bit conversion warning
+
+Wed Aug 31 10:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/LSOCK.{h,cpp} (recv_handle):
+ Changed the type of the len argument from int to ssize_t to
+ fix 64bit conversion problems
+
+Wed Aug 31 10:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Log_Msg_UNIX_Syslog.{h,cpp}:
+ * ace/Log_Record.{h,inl}:
+ Fixed 64bit conversion problems
+
+Wed Aug 31 10:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Timer_Heap_T.{h,cpp}:
+ Fixed 64bit conversion problems
+
+Wed Aug 31 07:39:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ Fixed WChar problem.
+
+Wed Aug 31 06:10:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Based_Pointer_Test_Lib.cpp:
+ Fixed GCC 4 error
+
+Tue Aug 30 14:50:18 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/OS_NS_Thread.inl (ACE_Thread_ID):
+
+ Moved small functions out-of-line. Reduces footprint and
+ improves performance slightly.
+
+ From Patrick Bennett <Patrick.Bennett@inin.com>
+ * ace/OS_NS_Thread.cpp (operator==):
+ * ace/Thread_Manager.inl (operator=-):
+
+ Corrected thread id/handle equality logic. It was previously
+ inverted.
+
+Tue Aug 30 18:50:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Based_Pointer_Test.cpp:
+ Corrected remap test, some platforms grow the mmap area
+ downwards. This fixes bugzilla bug 2226. Thanks to
+ James Megquier <jmegquier at gmail dot com> for reporting this and
+ Steve Williams <steve at telxio dot com> for validating this.
+
+Tue Aug 30 18:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ Use -fPIC instead -KPIC
+
+Tue Aug 30 18:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Based_Pointer_Test.cpp:
+ Some more wchar fixes
+
+Tue Aug 30 18:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.{h,cpp}:
+ Made the methods id, handle and to_string of the ACE_Thread_Id
+ class const. Thanks to Felix Wyss <FelixW at inin dot com>
+ for reporting this.
+
+Tue Aug 30 18:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ Use icpc as C++ compiler.
+
+Tue Aug 30 14:49:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/README:
+ Added description for new ACE_HAS_IPV6_V6ONLY macro.
+
+Tue Aug 30 13:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_win32_icc.GNU:
+ First version of Intel C++ compiler on Windows using GNU make
+
+ * ace/config-win32-msvc-7.h:
+ Only define ACE_HAS_EXCEPTIONS when it is not defined yet
+
+Tue Aug 30 12:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Array_Map.h:
+ The 64bit version of the Intel C++ compiler can only work together
+ with the latest Platform SDK (June 2005). This SDK ships with an
+ old version of the system header files, this is not the same as
+ shipped with Visual C++ 2003. This SDK has the old STL implementation
+ as shipped with VC6, so we need the workaround for the VC6 compiler
+ also with the latest SDK. It seems newer system header files define
+ _CPPLIB_VER, when this is not defined we have old header file, so
+ made another check, when _MSC_VER is defined, but not _CPPLIB_VER
+ we assume older header files and use the vc6 way of reverse
+ iterator usage. Hopefully Microsoft ships a platform SDK soon which
+ has updated header files
+
+Tue Aug 30 12:22:17 2005 Simon McQueen <sm@prismtech.com>
+
+ * apps/JAWS2/JAWS/IO.cpp:
+ * apps/JAWS2/JAWS/IO.h:
+
+ Removed mispelled message type 'CONFORMATION'.
+
+Tue Aug 30 10:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Process_Manager.cpp:
+ * ace/WFMO_Reactor.cpp:
+ Fixed incorrect checks for MSC_VER, it should be _MSC_VER
+
+Tue Aug 30 10:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Based_Pointer_Test.cpp:
+ Fixed compile error
+
+Tue Aug 30 09:00:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/Default_Constants.h:
+ Added some new default macros for IPv6.
+
+ * ace/INET_Addr{.cpp .h .inl}:
+ Added more (IPv6 specific) functionality (is_xxx methods).
+ Changed get_host_addr() to return IPv6 formatted string for
+ IPv4 mapped IPv6 addresses (argumentation inside:).
+ Changed string_to_addr() to recognize and handle extended
+ IPv6 textual address format, i.e. '[' <ipv6> ']'.
+
+ * ace/Sock_Connect.cpp:
+ Added support for retrieval of IPv6 local interfaces to
+ ACE::get_ip_interfaces().
+ Supported for Windows XP (and newer) and Linux (possibly other
+ *nixes as well).
+
+Tue Aug 30 06:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * include/makeinclude/platform_linux_icc.GNU:
+ When inlining is disabled, add -fno-inline to the compiler flags.
+ This should fix the assembler errors the Intel 9 compiler on
+ linux gives
+
+Mon Aug 29 17:26:49 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Reactor_Token_T.h: Set the default queueing policy to
+ ACE_Token::FIFO, instead of ACE_TOKEN_TYPE::FIFO to work around
+ MSVC 6's inability to deal with the definition inside a
+ template class argument. This hack can be removed after
+ ACE 5.5 is released.
+
+Mon Aug 29 19:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Based_Pointer_Test.cpp:
+ Wchar fixes
+
+Mon Aug 29 14:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Based_Pointer_Test.cpp:
+ Fixed GCC compile error
+
+Mon Aug 29 14:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Object_Manager.cpp:
+ Also for Intel C++ call the _CrtSetReportMode
+
+Mon Aug 29 10:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/nmake.features:
+ New features file for the nmake project type
+
+Mon Aug 29 09:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/MMAP_Memory_Pool.cpp:
+ Fixed bugzilla bug 2218, when an ACE_MMAP_Memory_Pool memory
+ segment base address is moved due to a remapping operation,
+ the ACE_Based_Pointer_Repository is updated with the new
+ base address, but the old mapping was not removed.
+
+ Thanks to Steve Williams <steve at telxio dot com> for reporting
+ this and supplying the fix and regression test below.
+
+Mon Aug 29 09:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/MMAP_Memory_Pool.cpp:
+ Fixed bugzilla bug 2216, when an ACE_MMAP_Memory_Pool is created
+ using an existing backing store, the ACE_Based_Pointer_repository
+ was not updated with the mapped segment information.
+
+ Thanks to Steve Williams <steve at telxio dot com> for reporting
+ this and supplying the fix and regression test below.
+
+Mon Aug 29 09:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Based_Pointer_Repository.h:
+ Export the based pointer repository from the dll as singleton.
+ Fixes bugzilla bug 1919.
+
+ * tests/Based_Pointer_Test.cpp:
+ * tests/Based_Pointer_Test_Lib.cpp:
+ New test for bugzilla bug 1919. Thanks to Steve Williams
+ <steve at telxio dot com> for creating this test
+
+ * tests/run_test.lst:
+ Added Based_Pointer_Test
+
+ * tests/tests.mpc:
+ Added Based_Pointer_Test
+
+Sun Aug 28 14:25:07 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * ace/Reactor.h:
+ * ace/Reactor.cpp:
+ * ace/Reactor.inl:
+ * ace/Select_Reactor.h:
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_T.cpp:
+ * ace/Select_Reactor_T.h:
+ * ace/TP_Reactor.cpp:
+
+ The reactor framework in ACE allows plug and play of different
+ reactors such as Select, TP, Devpoll etc. The TAO middleware
+ implementation and applications that run atop TAO typically use
+ one particular implementation of the Reactor. For example, a
+ single-threaded application might use select_* reactors. The
+ Reactor framework uses the bridge pattern to transparently
+ invoke operations on the right reactors. When the concrete
+ Reactor is known, it should be possible to specialize the
+ framework to use the concrete reactor directly rather than use
+ the bridge.
+
+ As a part of the Feature Oriented Customizer (FOCUS) tool being
+ developed in my research, we are trying to specialize frameworks
+ when the concrete implementation type is known a priori. FOCUS
+ provides an XML based transformation engine, where the
+ specialization transformations are captured in XML file and a
+ weaver specializes the code.
+
+ To help in this transformation process, this commit adds markers
+ within the source code. These markers are added as special
+ comments. For example, //@@
+ REACTOR_SPL_INCLUDE_FORWARD_DECL_ADD_HOOK represents a hook
+ where forward declarations and include files are added by the
+ weaver. As these markers are comments therefore should not
+ affect normal applications in *any* manner. Additionally,
+ applications that use multiple reactor implementations not be
+ affected/do not need any change. Currently, these
+ specializations are targeted for TAO middleware, where
+ applications know the target reactor a priori and want to
+ leverage the specialization to improve performance.
+
+Sun Aug 28 14:13:25 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * ace/Object_Manager.cpp:
+ * ace/Naming_Context.cpp:
+ * ace/Log_Msg.cpp:
+
+ When ACE_HAS_TRACE flag is defined, the aforementioned files did
+ not include the Trace.h include. This commit fixes the
+ resulting compilation problems.
+
+Fri Aug 26 18:01:31 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Select_Reactor.cpp:
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_T.(h cpp):
+ * ace/Reactor_Token_T.(h cpp): Moved the definition/implementation of
+ ACE_Select_Reactor_Token_T and its associated token-type selection
+ macros to new file Reactor_Token_T.(h cpp); retargeted
+ ACE_Select_Reactor_Token_T to call the ACE_Reactor_Impl interface
+ rather than ACE_Select_Reactor. Renamed the class
+ ACE_Reactor_Token_T to reflect this refactoring. This allows the
+ token to be used in reactor implementations that are not derived
+ from ACE_Select_Reactor.
+
+ * ace/ace.mpc:
+ * ace/Makefile.am: Added the new files Reactor_Token_T.cpp and .h.
+
+ * ace/Dev_Poll_Reactor.(h cpp): Replace the use of ACE_SYNCH_MUTEX with
+ ACE_Reactor_Token_T for the reactor's internal-protecting lock.
+ Allows threads wishing to twiddle with the registrations or run the
+ event loop to properly notify and synchronize with another thread
+ that's already running the event loop.
+ Also Clarified documentation on the queue-type members of
+ ACE_Dev_Poll_Reactor_Notify.
+
+ * ace/POSIX_Proactor.cpp (ACE_POSIX_SIG_Proactor::handle_events_i):
+ Retry the wait on EINTR. Previous comments said this automatically
+ happened because ACE_OSCALL_RETURN did it; it no longer does that,
+ so explicit EINTR check code was added here.
+
+ * apps/JAWS3/jaws3/Event_Dispatcher.h: Correct for the new reactor
+ token type defined, above.
+
+ * tests/MT_Reference_Counted_Event_Handler_Test.cpp: Added ACE_TEXT
+ where needed for ACE_DEBUG statements.
+
+ * tests/Multicast_Test.cpp: After stopping the reactor loop on test
+ timeout, wait for the task's thread(s) to exit or there's a race
+ between thread exit and deleting the task's memory.
+
+Fri Aug 26 10:52:38 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * ace/Array_Map.inl:
+
+ In operator[], broke complex statement into two statements.
+ Compiler got confused by the original statement and generated
+ incorrect code.
+
+Fri Aug 26 11:43:01 2005 Justin Michel <michel_j@ociweb.com>
+
+ * ace/CDR_Stream.h:
+ * ace/CDR_Stream.inl:
+ * ace/CDR_Stream.cpp:
+
+ Add a new simple class using RAII to call reset on an output CDR
+ when it goes out of scope. This is used to implement a new TAO
+ option that will reset() output CDRs after sending each request.
+
+ Add an optional ACE_Lock* to one of the input CDR
+ constructors. This is used by one of the TAO Any_Impl derived
+ classes to provide thread safety for its internal CDR.
+
+Fri Aug 26 11:02:21 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/fuzz.pl:
+
+ Enhanced the check_for_ace_check function to detect the use of
+ ACE_CHECK/ACE_CHECK_RETURN from within an ACE_TRY block.
+
+Fri Aug 26 09:40:08 2005 Justin Michel <michel_j@ociweb.com>
+
+ * ace/OS_NS_Thread.cpp:
+
+ Add missing ACE_ADAPT_RETVAL functions for calls to ::pthread*
+ routines. This allows the caller to check the errno to find out
+ what went wrong.
+
+Fri Aug 26 09:06:32 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/fuzz.pl:
+
+ Fixed the detection of missing ACE_CHECK/ACE_TRY_CHECK. It was
+ missing most ACE_ENV_ARG_PARAMETER's due to a fouled up regular
+ expression.
+
+Fri Aug 26 13:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Reactor.cpp (schedule_timer):
+ Fixed implicit conversion from long to int to long, found
+ by 64bit warnings
+
+ * ace/POSIX_Asynch_IO.cpp:
+ Fixed 64bit bit conversion warning
+
+Thu Aug 25 18:53:31 2005 Steve Huston <shuston@riverace.com>
+
+ * tests/Array_Map_Test.cpp: Don't attempt to build this test if
+ using explicit template instantiation. It's hopeless trying STL
+ code with explicit templates, especially portably.
+
+ * tests/Time_Value_Test.cpp: Fixed typo.
+
+Thu Aug 25 11:40:36 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * ace/Task.cpp (activate): Corrected misuse of the argument
+ 'grp_id' rather than the data member 'grp_id_'. This prevented
+ activate() from being able to join existing group. Thanks to
+ Kevin Heifner <heifner_k at ociweb dot com> for catching this.
+
+Thu Aug 25 12:32:18 2005 Steve Huston <shuston@riverace.com>
+
+ * tests/Process_Manual_Event_Test.cpp: Removed #if0 block put in
+ for testing and fixed compile error.
+
+Wed Aug 24 19:09:31 2005 Steve Huston <shuston@riverace.com>
+
+ * configure.ac: Copied in updated copyright paragraph from COPYING.
+
+ * ace/OS_NS_Thread.cpp: Formatting fixes.
+
+ * tests/Process_Manual_Event_Test.cpp: ACE_ERROR formatting
+ corrections (%p needs a string); code format fixes.
+
+Wed Aug 24 17:15:28 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Stream_Modules.h: Added some info about ACE_Stream_Head so
+ I don't have to keep looking it up ;-)
+
+Wed Aug 24 12:39:04 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/fuzz.pl:
+
+ Fixed this script to work with the ACE_ENV_ARG_PARAMTER and
+ ACE_ENV_SINGLE_ARG_PARAMETER macros. This will begin to check all
+ of the missing ACE_CHECK/ACE_TRY_CHECK's again.
+
+Wed Aug 24 08:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_Base.cpp:
+ Fixed possible unitialized used warning
+
+Tue Aug 23 22:56:33 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Dev_Poll_Reactor.cpp (close):
+
+ Removed unnecessary zeroing of underlying epoll data structure
+ array.
+
+ Deallocate epoll event data structure array and /dev/poll event
+ handler file descriptor array after closing the epoll and
+ /dev/poll file descriptor, respectively, to ensure consistent
+ finalization of resources, to prevent potential destruction of
+ event resources while waiting for events in another thread.
+ It's not clear whether such a scenario will occur since a lock
+ is currently held but better to be consistent.
+
+Tue Aug 23 22:35:00 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Array_Map_Test.cpp (reference_count_test):
+
+ Added some assertions to further verify correct ACE_Array_Map
+ operation.
+
+ * tests/Dev_Poll_Reactor_Test.cpp (handle_input):
+
+ Fixed loop variable increment. A for-scope variable was
+ shadowing the "bytes_read" value, preventing the loop variable
+ from being updated correctly.
+
+Tue Aug 23 22:24:16 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/Atomic_Op_T.cpp:
+ * ace/Atomic_Op_T.inl:
+
+ Moved inlined constructor to the ".inl" inline source file.
+
+Tue Aug 23 22:17:29 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * apps/JAWS2/JAWS/JAWS.h:
+
+ Fixed '"JAWS_NTRACE" is not defined' g++ 4.0 preprocessor symbol
+ warning.
+
+Tue Aug 23 19:59:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/IO_Handler.{h,cpp}:
+ Tried to fix gcc4 errors
+
+Tue Aug 23 18:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Configuration.cpp:
+ Explicitly initialize local variables
+
+ * ace/OS_NS_sys_socket.inl:
+ Removed not needed c-style casts that caused 64bit warnings
+
+Mon Aug 22 09:36:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/bmake.features
+ * bin/MakeProjectCreator/config/borland.features
+ * bin/MakeProjectCreator/config/em3.features
+ * bin/MakeProjectCreator/config/gnuace.features
+ * bin/MakeProjectCreator/config/vc6.features
+ * bin/MakeProjectCreator/config/vc71.features
+ * bin/MakeProjectCreator/config/vc8.features
+ New features file for each project type we ship in the release.
+ This files are read by MPC for the correct type when generating
+ makefiles.
+
+ * bin/make_release:
+ No need to generate multiple default.features file in the
+ release proces, this is now handled in the features file
+ per project type
+
+Mon Aug 22 08:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-unixware-7.1.0.udk.h:
+ Removed commented out define
+
+Mon Aug 22 08:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc-8.h:
+ Disable warning 4290 again
+
+Mon Aug 22 08:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Configuration.{h,cpp}:
+ Moved operator != out of header file to cpp file
+
+Mon Aug 22 11:09:07 2005 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_lynxos.GNU:
+ Improved shared library support for LynxOS 4.0
+
+Sun Aug 21 13:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Select_Reactor_T.cpp (check_handles):
+ Pass select_handles as 0 on Win32, this was now just done for
+ Win64, but it is not needed on Win32 and also causes conversion
+ warnings when 64bit checks are enabled on win32.
+
+Sun Aug 21 11:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/msvc_static_order.lst:
+ Added the new core libs
+
+Fri Aug 19 14:15:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ Reverted IPv6 related to accomodate some TAO builds which have
+ ACE_HAS_IPV6 but do not have my TAO IPv6 changes yet.
+ Will commit all at a later moment.
+
+Fri Aug 19 13:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Name_Request_Reply.cpp:
+ Fixed conversion warning
+
+Fri Aug 19 13:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/DLL_Manager.cpp
+ * ace/Log_Msg.cpp
+ * ace/MEM_Acceptor.cpp
+ * ace/MEM_IO.inl
+ * ace/Select_Reactor_Base.cpp
+ * ace/SV_Semaphore_Complex.cpp
+ * ace/UUID.cpp
+ * ace/WIN32_Asynch_IO.cpp
+ Fixed conversion warnings given by Visual C++ 2003 at warning
+ level 4. Used the correct types for intermediate variables, no
+ casts are needed.
+
+Fri Aug 19 12:28:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/CORBA_macros.h:
+ For HP aCC use the special ACE_THROW_RETURN to fix the warnings
+ that the compiler gives
+
+Fri Aug 19 09:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * etc/tao_pi.doxygen:
+ * etc/tao_pi_server.doxygen:
+ * etc/tao_anytypecode.doxygen:
+ New config files
+
+ * etc/tao_portableserver.doxygen:
+ Cleanup
+
+ * html/index.html:
+ Added new libs
+
+ * bin/generate_doxygen.pl:
+ Also generate documentation for the new projects
+
+Fri Aug 19 09:04:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ Added include of OS_NS_stdio.h since some builds otherwise miss out
+ on things like ACE_OS::fopen() and such (now for real).
+
+ * ace/SOCK_Connector.cpp:
+ Reverted change which was meant for Sock_Connect.cpp:-(
+
+Fri Aug 19 08:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc-7.h:
+ Disable 4290 again, a scoreboard build showed that we need to
+ disable it, but didn't had that problem on my local systme
+
+Fri Aug 19 08:33:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ Added include of OS_NS_stdio.h since some builds otherwise miss out
+ on things like ACE_OS::fopen() and such.
+
+Fri Aug 19 07:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Merged changes from the AnyRefactor branch as below
+
+ Wed Aug 17 07:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/anytypecode.mpb:
+ * bin/MakeProjectCreator/config/taoclient.mpb:
+ * bin/MakeProjectCreator/config/taoidldefaults.mpb:
+ By default we now suppress Any and Typecode generation with -Sa
+ and -St but when the AnyTypeCode library is used, then these
+ options are removed from the idl flags. This way simple apps
+ don't get this lib by default
+
+ Tue Aug 16 19:00:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc-7.h:
+ * ace/config-win32-msvc-8.h:
+ Removed disabling of warning 4290
+
+ * ace/CORBA_macros.h:
+ Removed special ACE_THROW_RETURN for win32 and HP aCC, this
+ is not needed and only gives a lot of warnings at level 4
+ with msvc
+
+ Thu Aug 11 10:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/orbsvcsexe.mpb:
+ Added AnyTypeCode
+
+ Wed Aug 10 11:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/orbsvcslib.mpb:
+ Added AnyTypeCode as base project.
+
+ Wed Aug 10 09:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/valuetype.mpb:
+ Added AnyTypeCode as base project
+
+ Wed Aug 10 08:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/taoclient.mpb:
+ Just for short, added anytypecode to the client. This should really be
+ dependent on the idl compiler flags
+
+ Fri Jul 29 18:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/codecfactory.mpb
+ * bin/MakeProjectCreator/config/dynamicany.mpb
+ * bin/MakeProjectCreator/config/ifr_client.mpb
+ * bin/MakeProjectCreator/config/iormanip.mpb
+ * bin/MakeProjectCreator/config/strategies.mpb
+ Added AnyTypeCode as base project
+
+ Thu Jul 28 12:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/anytypecode.mpb:
+ New base project
+
+Thu Aug 18 09:34:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * ace/Sock_Connect.cpp:
+ Added support for retrieval of IPv6 local interfaces to
+ ACE::get_ip_interfaces().
+ Supported for Windows XP (and newer) and Linux (possibly other
+ *nixes as well).
+
+Wed Aug 17 18:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Message_Block.{h,cpp,inl}:
+ In case a locking strategy is used, also make sure we use the
+ lock when accessing the reference count of the ACE_Data_Block.
+ Thanks to Viktor Chernenko
+ <viktor dot chernenko at med dot ge dot com> for reporting this
+ and supplying some patches to start with. This should fix
+ according to Viktor some crashes in the notificaion service
+ under high load.
+
+Wed Aug 17 15:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Condition_Recursive_Thread_Mutex.{h,cpp}:
+ Moved ACE_Condition_Recursive_Thread_Mutex constructor
+ implementation from header to cpp file
+
+Wed Aug 17 15:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/Waiter.cpp:
+ Call find_by_index instead of find
+
+Tue Aug 16 19:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/Assoc_Array.{h,cpp}:
+ * apps/JAWS2/JAWS/Concurrency.cpp:
+ Changed find(int) to find_by_index (int), to resolve
+ ambiguity warnings of the HP aCC compiler
+
+Tue Aug 16 11:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/Pipeline_Handler_T.cpp:
+ Replaced c-style cast with reinterpret cast
+
+Tue Aug 16 11:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-hpux-11.00.h:
+ Added ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
+
+Tue Aug 16 06:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/Assoc_Array.cpp:
+ Removed pragma once
+
+Mon Aug 15 21:55:00 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * apps/JAWS2/JAWS/IO_Handler.cpp: #include "JAWS/Filecach.h"
+ to get the definition of JAWS_Cached_FILE. Thanks to
+ Simon Massey and Steve Huston for reporting this.
+
+Mon Aug 15 11:03:42 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * bin/MakeProjectCreator/config/dslogadmin_serv.mpb:
+
+ Changed to inherit from utils.
+
+Mon Aug 15 09:12:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/DLL_Manager.cpp:
+ We first try to find the file using the decorator so that when a
+ filename with and without decorator is used, we get the file with
+ the same decorator as the ACE dll has and then as last resort
+ the one without. For example with msvc, the debug build has a "d"
+ decorator, but the release build has none and we really want to get
+ the debug version of the library in a debug application instead
+ of the release one.
+
+ Thanks to Vitaly Belekhov <vitaly at megasignal dot com> for
+ reporting this and supply the patches. This fixed bugzilla
+ 2210
+
+Sun Aug 14 11:27:54 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * apps/JAWS2/JAWS/IO_Handler.cpp (handle_transmit_file): Fixed
+ a bug where
+
+ delete (ACE_Filecache_Handle *) result.act ();
+
+ should have been
+
+ delete (JAWS_Cached_FILE *) result.act ();
+
+ Thanks to Anand Rathi <anandprathi@yahoo.co.in> for reporting
+ this.
+
+Fri Aug 12 12:00:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/Parse_Headers.{h,cpp}:
+ Changed STATUS_CODE enum to fix compile errors with VxWorks
+
+Thu Aug 11 16:04:30 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * ace/OS_NS_stdio.inl (ACE_HAS_WCHAR vsnprintf): This is an
+ actively edited file today! Fixed the name of the last
+ argument in the call so that it actually matches the name
+ of the argument in the arg list.
+
+Thu Aug 11 14:13:22 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU:
+
+ ACE will not compile with SunCC 5.6 or 5.7 if native exceptions
+ are disabled unless STLPort is used.
+
+Thu Aug 11 12:29:39 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Time_Value.inl (msec): When moving tv_sec to ACE_UINT64,
+ static cast it to the desired ACE_UINT64, not ACE_UINT32.
+
+ * ace/ace_wchar.inl (convert):
+ * ace/OS_NS_unistd.inl (read):
+ * ace/OS_NS_stdio.inl (fread, fwrite):
+ * ace/OS_NS_sys_socket.inl (sendto): Use proper types portable to
+ 64 bits.
+
+ * ace/Functor.inl (ACE_Hash<ACE_UINT64>): If unsigned long is
+ not 4 bytes, don't try to cast 64 bits down to 4 bytes.
+
+ * ace/OS_NS_stdio.inl (ACE_HAS_WCHAR vsnprintf): This is the same
+ situation as ACE_OS::vsprintf - the X/Open/XPG folks got it right
+ and added the maxlen argument when defining wide-char *printf
+ functions, so just use vswprintf() - there's no such thing as
+ vswnprintf().
+
+Thu Aug 11 06:44:44 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/depgen.pl:
+ * bin/DependencyGenerator/DependencyWriterFactory.pm:
+ * bin/DependencyGenerator/MakeDependencyWriter.pm:
+ * bin/DependencyGenerator/MakeObjectGenerator.pm:
+ * bin/DependencyGenerator/ObjectGeneratorFactory.pm:
+
+ Added a generic make dependency generator.
+
+ * bin/MakeProjectCreator/config/smart_proxies.mpb:
+
+ Switched orbsvcslib with taolib_with_idl since Smart Proxies have
+ nothing to do with orbsvcs.
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Added support for CIAO and a hook for correctly modifying the
+ library path to account for differences with the automake layout
+ of ACE and TAO.
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ If static_libs_only is set to 1, build up a list of libraries upon
+ which the BIN target will be dependent. This will cause binaries
+ to re-link in the event that a static library is updated.
+
+Thu Aug 11 09:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.inl:
+ Made the wchar vsnprintf a notsup, linux doesn't support this and
+ I don't have time to fix this.
+
+Thu Aug 11 07:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/Concurrency.cpp:
+ Fixed single threaded build
+
+Thu Aug 11 07:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_stdio.inl:
+ Added wchar vsnprintf version, was declared but not implemented
+
+Wed Aug 10 15:43:37 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * tests/run_test.lst:
+ Excluded tests inappropriate for HP-NSK platform
+
+Wed Aug 10 11:27:01 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * ace/OS_NS_stdio.inl (vsnprintf):
+
+ Fixed "no return statement in function returning non-void"
+ warning.
+
+ Removed uses of deprecated ACE_OSCALL macro.
+
+Wed Aug 10 10:03:40 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * ace/OS_NS_stdio.inl:
+ * ace/Process.cpp
+
+ Regarding change:
+ Fri Jul 22 13:29:32 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+ use vsnprintf only if the platform supports it.
+
+Wed Aug 10 07:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/IO.cpp:
+ * apps/JAWS2/JAWS/IO_Acceptor.cpp:
+ * apps/JAWS2/JAWS/IO_Handler.h:
+ Fixed compile errors in Cygwin build
+
+Wed Aug 10 07:27:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/Reaper.h:
+ Fixed compile error in single threaded builds
+
+Tue Aug 9 16:57:09 2005 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * bin/MakeProjectCreator/config/taolib.mpb:
+ Added the codeset project to the "after" list to ensure the
+ codeset library is built for any project that also depends on
+ TAO. This is necessary because there are some executables that
+ depend on libTAO and may therefore depend on libTAO_Codeset, but
+ do not include taoexe in the MPC base project list. For example
+ some of the CIAO executables have no need for the build elements
+ brought in by taoidldefaults base project.
+
+Tue Aug 9 11:11:50 2005 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * bin/MakeProjectCreator/config/negotiate_codesets.mpb:
+ Removed unused compiler macro.
+
+ * bin/MakeProjectCreator/config/orbsvcsexe.mpb:
+ * bin/MakeProjectCreator/config/rt_client.mpb:
+ * bin/MakeProjectCreator/config/rt_server.mpb:
+ Added dependency on negotiate_codesets feature so that the
+ TAO_Codeset library will be added in the correct order,
+ if desired.
+
+ * bin/MakeProjectCreator/config/taoexe.mpb:
+ Added Codeset project to the After list to ensure that the
+ Codeset library is available for dynamic linking for those
+ applications that require it.
+
+Tue Aug 9 10:48:39 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/OS_NS_stdio.cpp (snprintf): Added a wchar_t version of
+ snprintf(). Thanks to Simon Massey for reporting this.
+
+Tue Aug 9 13:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/make_release:
+ Added sxd to files that should not get crlf conversion
+
+Tue Aug 9 13:18:43 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ace/Global_Macros.h:
+
+ Added missing '#' before a 'define'.
+
+Tue Aug 9 11:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/config-win32-msvc-6.h:
+ Added ACE_HAS_NO_THROW_SPEC
+
+ * ace/Global_Macros.h:
+ Simplified ACE_THROW_SPEC specificiation. This way with vc71 and vc8
+ we get exception specifications.
+
+Tue Aug 9 10:59:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Svc_Conf_l.cpp:
+ Forced a commit of this file, will probably solve the regeneration
+ errors
+
+ * apps/JAWS2/JAWS/Waiter.h:
+ Added missing include
+
+Mon Aug 8 12:54:51 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (open): Reverted these changes:
+ Fri Apr 22 18:02:37 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (open): Fixed a problem with LOGGER and logger_key
+ and the backend_->open() call. Thanks to Jerry D. De Master
+ <jdemaste at rite-solutions dot com> for reporting this.
+
+ Tue Jan 18 08:17:10 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (open): Fixed the logic to pass prog_name
+ rather than logger_key, which fixes a bug with syslog. Thanks
+ to Robert Iakobashvili <roberti@GoNetworks.com> for this fix.
+
+ They broke a fix from:
+ Sat Dec 1 19:39:22 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.h: Improved the documentation for open() to note the
+ role of the logger_key argument when LOGGER and SYSLOG are set in
+ flags.
+ To get the progr_name used as the syslog/event log source ID, pass
+ a 0 logger_key.
+
+ * ace/SOCK_Dgram_Mcast.h: Clarified that instead of using set_option,
+ use ACE_SOCK::set_option().
+
+ * ace/DEV_Addr.{h inl cpp}: Fix non-0-terminated name possibility
+ when setting a new name. Thanks to James Damour
+ <james dot damour at request dot com> for this fix.
+ Also introduced a private enum to define the length of the name
+ buffer and use the new value to limit string copy sizes.
+
+ * THANKS: Added James Damour to the Hall of Fame.
+
+Mon Aug 8 10:44:16 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/OS_NS_stdio.inl
+ * ace/Process.cpp
+
+ Fixed a compilation problem from:
+
+ Fri Jul 22 13:29:32 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+Mon Aug 8 09:57:15 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ace/config-macosx-tiger.h
+ * include/makeinclude/platform_macosx_tiger_gcc4.GNU
+
+ Adding preliminary support for OS X 10.4
+
+Mon Aug 8 13:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * apps/JAWS2/JAWS/IO.cpp:
+ * apps/JAWS2/JAWS/Concurrency.{h,cpp}:
+ Fixed compile problems in single threaded build
+
+Sat Aug 6 17:25:04 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Svc_Conf.l: Removed the ' and " characters to avoid
+ problems with Lex. Thanks to Rohini Madhavan <ro_madhavan at
+ sify dot com> and Brian Buesker <bbuesker at qualcomm dot com>
+ for helping with this.
+
+Wed Aug 3 12:35:23 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Asynch_Acceptor.{h,cpp}:
+ * ace/Asynch_Connector.{h,cpp}: Fixed the code so it doesn't try
+ to build on Windows CE. Thanks to Alan Anderson
+ <Alan.Anderson@sdsmt.edu> for reporting this.
+
+ * ace/DEV_Addr.cpp (set): NULL-terminate the devname_ string.
+ Thanks to James Damour <james.damour@request.com> for reporting
+ this problem.
+
+Tue Aug 2 14:01:39 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * THANKS: Added Abdel Rigumye <rigumyea at ociweb dot com>,
+ who is the 2000th contributor to ACE+TAO+CIAO!!!!
+
+Fri Jul 22 13:29:32 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * ace/Process.cpp (command_line): Changed the use of
+ ACE_OS::vsprintf() to use the new ACE_OS::vsnprintf(). Thanks
+ to Xue for this suggestion, as well.
+
+ * ace/OS_NS_stdio.{h,inl}: Added support for ACE_OS::vsnprintf().
+ Thanks to Xue Yong Zhi <seclib at seclib dot com> for this
+ suggestion.
+
+Mon Aug 8 08:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/tao_orb_tests.lst:
+ Added two new collocation tests
+
+ * apps/JAWS2/JAWS/jaws2.mpc:
+ New MPC file
+
+Fri Aug 05 07:37:20 2005 Simon Massey <sma@prismtech.com>
+
+ * ACE version 5.4.7 released.
+
+
diff --git a/TAO/CIAO/CIDLC/AttributeHeaderEmitters.cpp b/TAO/CIAO/CIDLC/AttributeHeaderEmitters.cpp
new file mode 100644
index 00000000000..2442ef3f958
--- /dev/null
+++ b/TAO/CIAO/CIDLC/AttributeHeaderEmitters.cpp
@@ -0,0 +1,199 @@
+// file : CIDLC/AttributeHeaderEmitters.cpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "AttributeHeaderEmitters.hpp"
+#include "Literals.hpp"
+
+using namespace StringLiterals;
+
+WriteAttributeHeaderEmitter::WriteAttributeHeaderEmitter (Context& c)
+ : EmitterBase (c),
+ write_type_name_emitter_ (c),
+ type_name_emitter_ (c)
+{
+ write_belongs_.node_traverser (write_type_name_emitter_);
+
+ edge_traverser (set_raises_);
+ set_raises_.node_traverser (type_name_emitter_);
+}
+
+void
+WriteAttributeHeaderEmitter::pre (SemanticGraph::ReadWriteAttribute&)
+{
+ os << "void" << endl;
+}
+
+void
+WriteAttributeHeaderEmitter::name (SemanticGraph::ReadWriteAttribute& a)
+{
+ os << a.name () << " (" << endl;
+
+ Traversal::ReadWriteAttribute::belongs (a, write_belongs_);
+
+ os << " " << a.name () << endl
+ << STRS[ENV_HDR] << ")" << endl;
+}
+
+void
+WriteAttributeHeaderEmitter::get_raises (SemanticGraph::ReadWriteAttribute&)
+{
+}
+
+void
+WriteAttributeHeaderEmitter::set_raises_none (SemanticGraph::ReadWriteAttribute&)
+{
+ os << STRS[EXCP_SNGL];
+}
+
+void
+WriteAttributeHeaderEmitter::set_raises_pre (SemanticGraph::ReadWriteAttribute&)
+{
+ os << STRS[EXCP_START] << " "
+ << STRS[EXCP_SYS] << "," << endl;
+}
+
+void
+WriteAttributeHeaderEmitter::set_raises_post (SemanticGraph::ReadWriteAttribute&)
+{
+ os << "))";
+}
+
+void
+WriteAttributeHeaderEmitter::post (SemanticGraph::ReadWriteAttribute&)
+{
+ os << ";" << endl;
+}
+
+void
+WriteAttributeHeaderEmitter::comma (SemanticGraph::ReadWriteAttribute&)
+{
+ os << "," << endl;
+}
+
+// ============================================================
+
+AttributeHeaderEmitter::AttributeHeaderEmitter (Context& c)
+ : EmitterBase (c),
+ read_type_name_emitter_ (c),
+ type_name_emitter_ (c)
+{
+ read_belongs_.node_traverser (read_type_name_emitter_);
+
+ edge_traverser (get_raises_);
+ get_raises_.node_traverser (type_name_emitter_);
+}
+
+// ReadWriteAttribute
+//
+void
+AttributeHeaderEmitter::pre (SemanticGraph::ReadWriteAttribute& a)
+{
+ os << "virtual ";
+
+ Traversal::ReadWriteAttribute::belongs (a, read_belongs_);
+
+ os << endl;
+}
+
+void
+AttributeHeaderEmitter::name (SemanticGraph::ReadWriteAttribute& a)
+{
+ os << a.name () << " (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl;
+}
+
+void
+AttributeHeaderEmitter::get_raises_none (SemanticGraph::ReadWriteAttribute&)
+{
+ os << STRS[EXCP_SNGL];
+}
+
+void
+AttributeHeaderEmitter::get_raises_pre (SemanticGraph::ReadWriteAttribute&)
+{
+ os << STRS[EXCP_START] << " "
+ << STRS[EXCP_SYS] << "," << endl;
+}
+
+void
+AttributeHeaderEmitter::get_raises_post (SemanticGraph::ReadWriteAttribute&)
+{
+ os << "))";
+}
+
+void
+AttributeHeaderEmitter::set_raises (SemanticGraph::ReadWriteAttribute&)
+{
+}
+
+void
+AttributeHeaderEmitter::post (SemanticGraph::ReadWriteAttribute& a)
+{
+ os << ";" << endl;
+
+ WriteAttributeHeaderEmitter write_attribute_emitter (ctx);
+ write_attribute_emitter.traverse (a);
+}
+
+void
+AttributeHeaderEmitter::comma (SemanticGraph::ReadWriteAttribute&)
+{
+ os << "," << endl;
+}
+
+// ReadAttribute
+//
+void
+AttributeHeaderEmitter::pre (SemanticGraph::ReadAttribute& a)
+{
+ os << "virtual ";
+
+ Traversal::ReadAttribute::belongs (a, read_belongs_);
+
+ os << endl;
+}
+
+void
+AttributeHeaderEmitter::name (SemanticGraph::ReadAttribute& a)
+{
+ os << a.name () << " (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl;
+}
+
+void
+AttributeHeaderEmitter::get_raises_none (SemanticGraph::ReadAttribute&)
+{
+ os << STRS[EXCP_SNGL];
+}
+
+void
+AttributeHeaderEmitter::get_raises_pre (SemanticGraph::ReadAttribute&)
+{
+ os << STRS[EXCP_START] << " "
+ << STRS[EXCP_SYS] << "," << endl;
+}
+
+void
+AttributeHeaderEmitter::get_raises_post (SemanticGraph::ReadAttribute&)
+{
+ os << "))";
+}
+
+void
+AttributeHeaderEmitter::set_raises (SemanticGraph::ReadAttribute&)
+{
+}
+
+void
+AttributeHeaderEmitter::post (SemanticGraph::ReadAttribute&)
+{
+ os << ";" << endl;
+}
+
+void
+AttributeHeaderEmitter::comma (SemanticGraph::ReadAttribute&)
+{
+ os << "," << endl;
+}
+
diff --git a/TAO/CIAO/CIDLC/AttributeHeaderEmitters.hpp b/TAO/CIAO/CIDLC/AttributeHeaderEmitters.hpp
new file mode 100644
index 00000000000..f4318ad0073
--- /dev/null
+++ b/TAO/CIAO/CIDLC/AttributeHeaderEmitters.hpp
@@ -0,0 +1,119 @@
+// file : CIDLC/AttributeHeaderEmitters.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef ATTRIBUTEHEADEREMITTERS_HPP
+#define ATTRIBUTEHEADEREMITTERS_HPP
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+#include "CorbaTypeNameEmitters.hpp"
+#include "UtilityTypeNameEmitters.hpp"
+#include "EmitterBase.hpp"
+
+using namespace CCF::CIDL;
+using namespace CCF::CIDL::SemanticGraph;
+
+struct WriteAttributeHeaderEmitter : Traversal::ReadWriteAttribute,
+ EmitterBase
+{
+ WriteAttributeHeaderEmitter (Context& c);
+
+ virtual void
+ pre (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ name (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ get_raises (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ set_raises_none (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ set_raises_pre (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ set_raises_post (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ post (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ comma (SemanticGraph::ReadWriteAttribute&);
+
+ private:
+ INArgTypeNameEmitter write_type_name_emitter_;
+ FullTypeNameEmitter type_name_emitter_;
+ Traversal::Belongs write_belongs_;
+ Traversal::SetRaises set_raises_;
+};
+
+struct AttributeHeaderEmitter : Traversal::ReadAttribute,
+ Traversal::ReadWriteAttribute,
+ EmitterBase
+{
+ AttributeHeaderEmitter (Context&);
+
+ // ReadWriteAttribute
+ //
+ virtual void
+ pre (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ name (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ get_raises_none (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ get_raises_pre (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ get_raises_post (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ set_raises (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ post (SemanticGraph::ReadWriteAttribute&);
+
+ virtual void
+ comma (SemanticGraph::ReadWriteAttribute&);
+
+ // ReadAttribute
+ //
+ virtual void
+ pre (SemanticGraph::ReadAttribute&);
+
+ virtual void
+ name (SemanticGraph::ReadAttribute&);
+
+ virtual void
+ get_raises_none (SemanticGraph::ReadAttribute&);
+
+ virtual void
+ get_raises_pre (SemanticGraph::ReadAttribute&);
+
+ virtual void
+ get_raises_post (SemanticGraph::ReadAttribute&);
+
+ virtual void
+ set_raises (SemanticGraph::ReadAttribute&);
+
+ virtual void
+ post (SemanticGraph::ReadAttribute&);
+
+ virtual void
+ comma (SemanticGraph::ReadAttribute&);
+
+private:
+ ReturnTypeNameEmitter read_type_name_emitter_;
+ FullTypeNameEmitter type_name_emitter_;
+ Traversal::Belongs read_belongs_;
+ Traversal::GetRaises get_raises_;
+};
+
+#endif // ATTRIBUTEHEADEREMITTERS_HPP
diff --git a/TAO/CIAO/CIDLC/AttributeSourceEmitters_T.hpp b/TAO/CIAO/CIDLC/AttributeSourceEmitters_T.hpp
new file mode 100644
index 00000000000..6dc1aa1bb37
--- /dev/null
+++ b/TAO/CIAO/CIDLC/AttributeSourceEmitters_T.hpp
@@ -0,0 +1,368 @@
+// file : CIDLC/AttributeSourceEmitters_T.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef ATTRIBUTESOURCEEMITTERS_T_HPP
+#define ATTRIBUTESOURCEEMITTERS_T_HPP
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+#include "Literals.hpp"
+#include "CorbaTypeNameEmitters.hpp"
+#include "UtilityTypeNameEmitters.hpp"
+
+using namespace CCF::CIDL;
+using namespace CCF::CIDL::SemanticGraph;
+using namespace StringLiterals;
+
+template <typename T>
+struct WriteAttributeSourceEmitter : Traversal::ReadWriteAttribute,
+ EmitterBase
+{
+ WriteAttributeSourceEmitter (Context& c,
+ T& scope,
+ bool swapping,
+ bool exec_src)
+ : EmitterBase (c),
+ scope_ (scope),
+ write_type_name_emitter_ (c),
+ type_name_emitter_ (c),
+ swapping_ (swapping),
+ exec_src_ (exec_src)
+ {
+ write_belongs_.node_traverser (write_type_name_emitter_);
+ edge_traverser (set_raises_);
+ set_raises_.node_traverser (type_name_emitter_);
+ }
+
+ virtual void
+ gen_swapping_set ()
+ {
+ os << "this->activate_component (" << STRS[ENV_SNGL_ARG] << ");"
+ << "ACE_CHECK;" << endl;
+ }
+
+ virtual void
+ pre (SemanticGraph::ReadWriteAttribute&)
+ {
+ os << "void" << endl;
+ }
+
+ virtual void
+ name (SemanticGraph::ReadWriteAttribute& a)
+ {
+ os << scope_.name ()
+ << (exec_src_ ? "_exec_i::" : "_Servant::")
+ << a.name () << " (" << endl;
+
+ Traversal::ReadWriteAttribute::belongs (a, write_belongs_);
+
+ os << (exec_src_ ? " /* " : " ")
+ << a.name ()
+ << (exec_src_ ? " */" : "") << endl
+ << (exec_src_ ? STRS[ENV_SRC_NOTUSED] : STRS[ENV_SRC])
+ << ")" << endl;
+ }
+
+ virtual void
+ get_raises (SemanticGraph::ReadWriteAttribute&)
+ {
+ }
+
+ virtual void
+ set_raises_none (SemanticGraph::ReadWriteAttribute&)
+ {
+ os << STRS[EXCP_SNGL];
+ }
+
+ virtual void
+ set_raises_pre (SemanticGraph::ReadWriteAttribute&)
+ {
+ os << STRS[EXCP_START] << " "
+ << STRS[EXCP_SYS] << "," << endl;
+ }
+
+ virtual void
+ set_raises_post (SemanticGraph::ReadWriteAttribute&)
+ {
+ os << "))" << endl;
+ }
+
+ virtual void
+ post (SemanticGraph::ReadWriteAttribute& a)
+ {
+ os << "{";
+
+ if (exec_src_)
+ {
+ os << STRS[YCH];
+ }
+ else
+ {
+ if (swapping_)
+ {
+ this->gen_swapping_set ();
+ }
+
+ os << "this->executor_->" << a.name () << " (" << endl
+ << a.name () << endl
+ << STRS[ENV_ARG] << ");" << endl;
+ }
+
+ os << "}";
+ }
+
+ virtual void
+ comma (SemanticGraph::ReadWriteAttribute&)
+ {
+ os << "," << endl;
+ }
+
+protected:
+ T& scope_;
+ Traversal::Belongs write_belongs_;
+
+private:
+ INArgTypeNameEmitter write_type_name_emitter_;
+ FullTypeNameEmitter type_name_emitter_;
+ Traversal::SetRaises set_raises_;
+ bool swapping_;
+ bool exec_src_;
+};
+
+template <typename T>
+struct AttributeSourceEmitter : Traversal::ReadAttribute,
+ Traversal::ReadWriteAttribute,
+ EmitterBase
+{
+ AttributeSourceEmitter (Context& c, T& scope, bool exec_src = false)
+ : EmitterBase (c),
+ scope_ (scope),
+ read_type_name_emitter_ (c),
+ type_name_emitter_ (c),
+ return_emitter_ (c),
+ ace_check_return_emitter_ (c),
+ exec_src_ (exec_src)
+ {
+ read_belongs_.node_traverser (read_type_name_emitter_);
+ return_belongs_.node_traverser (return_emitter_);
+ ace_check_return_belongs_.node_traverser (ace_check_return_emitter_);
+ edge_traverser (get_raises_);
+ get_raises_.node_traverser (type_name_emitter_);
+ }
+
+ // ReadWriteAttribute
+ //
+
+ // Overridden by facet attribute emitter in servant source generator.
+ virtual void
+ gen_swapping_get (SemanticGraph::ReadWriteAttribute& a)
+ {
+ os << "this->activate_component (" << STRS[ENV_SNGL_ARG] << ");";
+
+ Traversal::ReadWriteAttribute::belongs (a, ace_check_return_belongs_);
+
+ os << endl;
+ }
+
+ // Overridden by facet attribute emitter in servant source generator.
+ virtual void
+ gen_write_operation (SemanticGraph::ReadWriteAttribute& a,
+ bool swapping)
+ {
+ WriteAttributeSourceEmitter<T> write_attribute_emitter (ctx,
+ scope_,
+ swapping,
+ exec_src_);
+ write_attribute_emitter.traverse (a);
+ }
+
+ virtual void
+ pre (SemanticGraph::ReadWriteAttribute& a)
+ {
+ Traversal::ReadWriteAttribute::belongs (a, read_belongs_);
+
+ os << endl;
+ }
+
+ virtual void
+ name (SemanticGraph::ReadWriteAttribute& a)
+ {
+ os << scope_.name ()
+ << (exec_src_ ? "_exec_i::" : "_Servant::")
+ << a.name () << " (" << endl
+ << (exec_src_ ? STRS[ENV_SNGL_SRC_NOTUSED] : STRS[ENV_SNGL_SRC])
+ << ")" << endl;
+ }
+
+ virtual void
+ get_raises_none (SemanticGraph::ReadWriteAttribute&)
+ {
+ os << STRS[EXCP_SNGL] << endl;
+ }
+
+ virtual void
+ get_raises_pre (SemanticGraph::ReadWriteAttribute&)
+ {
+ os << STRS[EXCP_START] << " "
+ << STRS[EXCP_SYS] << "," << endl;
+ }
+
+ virtual void
+ get_raises_post (SemanticGraph::ReadWriteAttribute&)
+ {
+ os << "))" << endl;
+ }
+
+ virtual void
+ set_raises (SemanticGraph::ReadWriteAttribute&)
+ {
+ }
+
+ virtual void
+ post (SemanticGraph::ReadWriteAttribute& a)
+ {
+ bool swapping = false;
+
+ os << "{";
+
+ if (exec_src_)
+ {
+ os << STRS[YCH] << endl;
+
+ Traversal::ReadWriteAttribute::belongs (a, return_belongs_);
+ }
+ else
+ {
+ string swap_option = ctx.cl ().get_value ("custom-container", "");
+ swapping = (swap_option == "upgradeable");
+
+ if (swapping)
+ {
+ this->gen_swapping_get (a);
+ }
+
+ os << "return this->executor_->" << a.name () << " (" << endl
+ << STRS[ENV_SNGL_ARG] << ");";
+ }
+
+ os << "}";
+
+ this->gen_write_operation (a, swapping);
+ }
+
+ virtual void
+ comma (SemanticGraph::ReadWriteAttribute&)
+ {
+ os << "," << endl;
+ }
+
+ // ReadAttribute
+ //
+
+ // Overridden by facet attribute emitter in servant source generator.
+ virtual void
+ gen_swapping_get (SemanticGraph::ReadAttribute& a)
+ {
+ os << "this->activate_component (" << STRS[ENV_SNGL_ARG] << ");";
+
+ Traversal::ReadAttribute::belongs (a, ace_check_return_belongs_);
+
+ os << endl;
+ }
+
+ virtual void
+ pre (SemanticGraph::ReadAttribute& a)
+ {
+ Traversal::ReadAttribute::belongs (a, read_belongs_);
+
+ os << endl;
+ }
+
+ virtual void
+ name (SemanticGraph::ReadAttribute& a)
+ {
+ os << scope_.name ()
+ << (exec_src_ ? "_exec_i::" : "_Servant::")
+ << a.name () << " (" << endl
+ << (exec_src_ ? STRS[ENV_SNGL_SRC_NOTUSED] : STRS[ENV_SNGL_SRC])
+ << ")" << endl;
+ }
+
+ virtual void
+ get_raises_none (SemanticGraph::ReadAttribute&)
+ {
+ os << STRS[EXCP_SNGL] << endl;
+ }
+
+ virtual void
+ get_raises_pre (SemanticGraph::ReadAttribute&)
+ {
+ os << STRS[EXCP_START] << " "
+ << STRS[EXCP_SYS] << "," << endl;
+ }
+
+ virtual void
+ get_raises_post (SemanticGraph::ReadAttribute&)
+ {
+ os << "))" << endl;
+ }
+
+ virtual void
+ set_raises (SemanticGraph::ReadAttribute&)
+ {
+ }
+
+ virtual void
+ post (SemanticGraph::ReadAttribute& a)
+ {
+ bool swapping = false;
+
+ os << "{";
+
+ if (exec_src_)
+ {
+ os << STRS[YCH] << endl;
+
+ Traversal::ReadAttribute::belongs (a, return_belongs_);
+ }
+ else
+ {
+ string swap_option = ctx.cl ().get_value ("custom-container", "");
+ swapping = (swap_option == "upgradeable");
+
+ if (swapping)
+ {
+ this->gen_swapping_get (a);
+ }
+
+ os << "return this->executor_->" << a.name () << " (" << endl
+ << STRS[ENV_SNGL_ARG] << ");";
+ }
+
+ os << "}";
+ }
+
+ virtual void
+ comma (SemanticGraph::ReadAttribute&)
+ {
+ os << "," << endl;
+ }
+
+protected:
+ T& scope_;
+
+private:
+ ReturnTypeNameEmitter read_type_name_emitter_;
+ FullTypeNameEmitter type_name_emitter_;
+ NullReturnEmitter return_emitter_;
+ AceCheckReturnEmitter ace_check_return_emitter_;
+ Traversal::Belongs read_belongs_;
+ Traversal::Belongs return_belongs_;
+ Traversal::Belongs ace_check_return_belongs_;
+ Traversal::GetRaises get_raises_;
+ bool exec_src_;
+};
+
+#endif // ATTRIBUTESOURCEEMITTERS_T_HPP
diff --git a/TAO/CIAO/CIDLC/CompositionEmitter.cpp b/TAO/CIAO/CIDLC/CompositionEmitter.cpp
new file mode 100644
index 00000000000..c7f9754b651
--- /dev/null
+++ b/TAO/CIAO/CIDLC/CompositionEmitter.cpp
@@ -0,0 +1,27 @@
+// file : CIDLC/CompositionEmitter.cpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CompositionEmitter.hpp"
+#include "Literals.hpp"
+
+using namespace StringLiterals;
+
+CompositionEmitter::CompositionEmitter (Context& c)
+ : EmitterBase (c)
+{
+}
+
+void
+CompositionEmitter::pre (Type& t)
+{
+ ctx.composition_name (t.name ().str ());
+
+ os << STRS[CIDL_NS] << t.name () << "{";
+}
+
+void
+CompositionEmitter::post (Type&)
+{
+ os << "}";
+}
diff --git a/TAO/CIAO/CIDLC/CompositionEmitter.hpp b/TAO/CIAO/CIDLC/CompositionEmitter.hpp
new file mode 100644
index 00000000000..c6aeab17229
--- /dev/null
+++ b/TAO/CIAO/CIDLC/CompositionEmitter.hpp
@@ -0,0 +1,26 @@
+// file : CIDLC/CompositionEmitter.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef COMPOSITIONEMITTER_HPP
+#define COMPOSITIONEMITTER_HPP
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+#include "EmitterBase.hpp"
+
+using namespace CCF::CIDL;
+using namespace CCF::CIDL::SemanticGraph;
+
+struct CompositionEmitter : Traversal::Composition,
+ EmitterBase
+{
+ CompositionEmitter (Context& c);
+
+ virtual void pre (Type&);
+
+ virtual void post (Type&);
+};
+
+#endif // COMPOSITIONEMITTER_HPP
diff --git a/TAO/CIAO/CIDLC/CorbaTypeNameEmitters.cpp b/TAO/CIAO/CIDLC/CorbaTypeNameEmitters.cpp
new file mode 100644
index 00000000000..390e49c6c2b
--- /dev/null
+++ b/TAO/CIAO/CIDLC/CorbaTypeNameEmitters.cpp
@@ -0,0 +1,2235 @@
+// file : CIDLC/CorbaTypeNameEmitter.cpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CorbaTypeNameEmitters.hpp"
+#include "Literals.hpp"
+
+#include <ostream>
+
+using namespace std;
+using namespace StringLiterals;
+
+CorbaTypeNameEmitter::CorbaTypeNameEmitter (Context& c)
+ : EmitterBase (c)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Void&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Boolean&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Octet&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Char&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Wchar&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Short&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (UnsignedShort&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Long&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (UnsignedLong&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (LongLong&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (UnsignedLongLong&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Float&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Double&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (String&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::BoundedString&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Wstring&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Object&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (ValueBase&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (Any&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::Array&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::Enum&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::Struct&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::Union&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::BoundedSequence&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::UnboundedSequence&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::Interface&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::ValueType&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::EventType&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::Component&)
+{
+}
+
+void
+CorbaTypeNameEmitter::traverse (SemanticGraph::Home&)
+{
+}
+
+// ====================================================================
+
+ReturnTypeNameEmitter::ReturnTypeNameEmitter (Context& c)
+ : CorbaTypeNameEmitter (c)
+{
+}
+
+void
+ReturnTypeNameEmitter::traverse (Void&)
+{
+ os << "void";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Boolean&)
+{
+ os << "::CORBA::Boolean";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Octet&)
+{
+ os << "::CORBA::Octet";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Char&)
+{
+ os << "::CORBA::Char";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Wchar&)
+{
+ os << "::CORBA::WChar";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Short&)
+{
+ os << "::CORBA::Short";
+}
+
+void
+ReturnTypeNameEmitter::traverse (UnsignedShort&)
+{
+ os << "::CORBA::UShort";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Long&)
+{
+ os << "::CORBA::Long";
+}
+
+void
+ReturnTypeNameEmitter::traverse (UnsignedLong&)
+{
+ os << "::CORBA::ULong";
+}
+
+void
+ReturnTypeNameEmitter::traverse (LongLong&)
+{
+ os << "::CORBA::LongLong";
+}
+
+void
+ReturnTypeNameEmitter::traverse (UnsignedLongLong&)
+{
+ os << "::CORBA::ULongLong";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Float&)
+{
+ os << "::CORBA::Float";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Double&)
+{
+ os << "::CORBA::Double";
+}
+
+void
+ReturnTypeNameEmitter::traverse (String&)
+{
+ os << "char *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::BoundedString&)
+{
+ os << "char *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Wstring&)
+{
+ os << "::CORBA::WChar *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+ os << "::CORBA::WChar *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Object&)
+{
+ os << "::CORBA::Object_ptr";
+}
+
+void
+ReturnTypeNameEmitter::traverse (ValueBase&)
+{
+ os << "::CORBA::ValueBase *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (Any&)
+{
+ os << "::CORBA::Any *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::Array& a)
+{
+ os << a.scoped_name () << "_slice *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::Enum& e)
+{
+ os << e.scoped_name ();
+}
+
+void
+ReturnTypeNameEmitter::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]);
+
+ os << s.scoped_name ();
+
+ if (var_size)
+ {
+ os << " *";
+ }
+}
+
+void
+ReturnTypeNameEmitter::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]);
+
+ os << u.scoped_name ();
+
+ if (var_size)
+ {
+ os << " *";
+ }
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::BoundedSequence& s)
+{
+ os << s.scoped_name () << " *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::UnboundedSequence& s)
+{
+ os << s.scoped_name () << " *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::Interface& i)
+{
+ os << i.scoped_name () << "_ptr";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::ValueType& v)
+{
+ os << v.scoped_name () << " *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::EventType& e)
+{
+ os << e.scoped_name () << " *";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::Component& c)
+{
+ os << c.scoped_name () << "_ptr";
+}
+
+void
+ReturnTypeNameEmitter::traverse (SemanticGraph::Home& h)
+{
+ os << h.scoped_name () << "_ptr";
+}
+
+// ===============================================================
+
+INArgTypeNameEmitter::INArgTypeNameEmitter (Context& c)
+ : CorbaTypeNameEmitter (c)
+{
+}
+
+void
+INArgTypeNameEmitter::traverse (Boolean&)
+{
+ os << "::CORBA::Boolean";
+}
+
+void
+INArgTypeNameEmitter::traverse (Octet&)
+{
+ os << "::CORBA::Octet";
+}
+
+void
+INArgTypeNameEmitter::traverse (Char&)
+{
+ os << "::CORBA::Char";
+}
+
+void
+INArgTypeNameEmitter::traverse (Wchar&)
+{
+ os << "::CORBA::WChar";
+}
+
+void
+INArgTypeNameEmitter::traverse (Short&)
+{
+ os << "::CORBA::Short";
+}
+
+void
+INArgTypeNameEmitter::traverse (UnsignedShort&)
+{
+ os << "::CORBA::UShort";
+}
+
+void
+INArgTypeNameEmitter::traverse (Long&)
+{
+ os << "::CORBA::Long";
+}
+
+void
+INArgTypeNameEmitter::traverse (UnsignedLong&)
+{
+ os << "::CORBA::ULong";
+}
+
+void
+INArgTypeNameEmitter::traverse (LongLong&)
+{
+ os << "::CORBA::LongLong";
+}
+
+void
+INArgTypeNameEmitter::traverse (UnsignedLongLong&)
+{
+ os << "::CORBA::ULongLong";
+}
+
+void
+INArgTypeNameEmitter::traverse (Float&)
+{
+ os << "::CORBA::Float";
+}
+
+void
+INArgTypeNameEmitter::traverse (Double&)
+{
+ os << "::CORBA::Double";
+}
+
+void
+INArgTypeNameEmitter::traverse (String&)
+{
+ os << "const char *";
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::BoundedString&)
+{
+ os << "const char *";
+}
+
+void
+INArgTypeNameEmitter::traverse (Wstring&)
+{
+ os << "const ::CORBA::WChar *";
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+ os << "const ::CORBA::WChar *";
+}
+
+void
+INArgTypeNameEmitter::traverse (Object&)
+{
+ os << "::CORBA::Object_ptr";
+}
+
+void
+INArgTypeNameEmitter::traverse (ValueBase&)
+{
+ os << "::CORBA::ValueBase *";
+}
+
+void
+INArgTypeNameEmitter::traverse (Any&)
+{
+ os << "const ::CORBA::Any &";
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::Array& a)
+{
+ os << "const " << a.scoped_name ();
+}
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::Enum& e)
+{
+ os << e.scoped_name ();
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::Struct& s)
+{
+ os << "const " << s.scoped_name () << " &";;
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::Union& u)
+{
+ os << "const " << u.scoped_name () << " &";;
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::BoundedSequence& s)
+{
+ os << "const " << s.scoped_name () << " &";;
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::UnboundedSequence& s)
+{
+ os << "const " << s.scoped_name () << " &";;
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::Interface& i)
+{
+ os << i.scoped_name () << "_ptr";
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::ValueType& v)
+{
+ os << v.scoped_name () << " *";
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::EventType& e)
+{
+ os << e.scoped_name () << " *";
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::Component& c)
+{
+ os << c.scoped_name () << "_ptr";
+}
+
+void
+INArgTypeNameEmitter::traverse (SemanticGraph::Home& h)
+{
+ os << h.scoped_name () << "_ptr";
+}
+
+// ===============================================================
+
+INOUTArgTypeNameEmitter::INOUTArgTypeNameEmitter (Context& c)
+ : CorbaTypeNameEmitter (c)
+{
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Boolean&)
+{
+ os << "::CORBA::Boolean &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Octet&)
+{
+ os << "::CORBA::Octet &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Char&)
+{
+ os << "::CORBA::Char &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Wchar&)
+{
+ os << "::CORBA::WChar &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Short&)
+{
+ os << "::CORBA::Short &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (UnsignedShort&)
+{
+ os << "::CORBA::UShort &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Long&)
+{
+ os << "::CORBA::Long &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (UnsignedLong&)
+{
+ os << "::CORBA::ULong &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (LongLong&)
+{
+ os << "::CORBA::LongLong &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (UnsignedLongLong&)
+{
+ os << "::CORBA::ULongLong &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Float&)
+{
+ os << "::CORBA::Float &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Double&)
+{
+ os << "::CORBA::Double &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (String&)
+{
+ os << "char *&";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::BoundedString&)
+{
+ os << "char *&";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Wstring&)
+{
+ os << "::CORBA::WChar *&";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+ os << "::CORBA::WChar *&";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Object&)
+{
+ os << "::CORBA::Object_ptr &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (ValueBase&)
+{
+ os << "::CORBA::ValueBase *&";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (Any&)
+{
+ os << "::CORBA::Any &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::Array& a)
+{
+ os << a.scoped_name ();
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::Enum& e)
+{
+ os << e.scoped_name () << " &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::Struct& s)
+{
+ os << s.scoped_name () << " &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::Union& u)
+{
+ os << u.scoped_name () << " &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::BoundedSequence& s)
+{
+ os << s.scoped_name () << " &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::UnboundedSequence& s)
+{
+ os << s.scoped_name () << " &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::Interface& i)
+{
+ os << i.scoped_name () << "_ptr &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::ValueType& v)
+{
+ os << v.scoped_name () << " *&";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::EventType& e)
+{
+ os << e.scoped_name () << " *&";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::Component& c)
+{
+ os << c.scoped_name () << "_ptr &";
+}
+
+void
+INOUTArgTypeNameEmitter::traverse (SemanticGraph::Home& h)
+{
+ os << h.scoped_name () << "_ptr";
+}
+
+// =================================================================
+
+OUTArgTypeNameEmitter::OUTArgTypeNameEmitter (Context& c)
+ : CorbaTypeNameEmitter (c)
+{
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Boolean&)
+{
+ os << "::CORBA::Boolean_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Octet&)
+{
+ os << "::CORBA::Octet_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Char&)
+{
+ os << "::CORBA::Char_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Wchar&)
+{
+ os << "::CORBA::WChar_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Short&)
+{
+ os << "::CORBA::Short_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (UnsignedShort&)
+{
+ os << "::CORBA::UShort_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Long&)
+{
+ os << "::CORBA::Long_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (UnsignedLong&)
+{
+ os << "::CORBA::ULong_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (LongLong&)
+{
+ os << "::CORBA::LongLong_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (UnsignedLongLong&)
+{
+ os << "::CORBA::ULongLong_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Float&)
+{
+ os << "::CORBA::Float_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Double&)
+{
+ os << "::CORBA::Double_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (String&)
+{
+ os << "::CORBA::String_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::BoundedString& s)
+{
+ os << s.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Wstring&)
+{
+ os << "::CORBA::WString_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::BoundedWideString& s)
+{
+ os << s.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Object&)
+{
+ os << "::CORBA::Object_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (ValueBase&)
+{
+ os << "::CORBA::ValueBase_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (Any&)
+{
+ os << "::CORBA::Any_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::Array& a)
+{
+ os << a.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::Enum& e)
+{
+ os << e.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::Struct& s)
+{
+ os << s.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::Union& u)
+{
+ os << u.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::BoundedSequence& s)
+{
+ os << s.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::UnboundedSequence& s)
+{
+ os << s.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::Interface& i)
+{
+ os << i.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::ValueType& v)
+{
+ os << v.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::EventType& e)
+{
+ os << e.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::Component& c)
+{
+ os << c.scoped_name () << "_out";
+}
+
+void
+OUTArgTypeNameEmitter::traverse (SemanticGraph::Home& h)
+{
+ os << h.scoped_name () << "_ptr";
+}
+
+// ====================================================================
+
+NullReturnEmitter::NullReturnEmitter (Context& c)
+ : CorbaTypeNameEmitter (c)
+{
+}
+
+void
+NullReturnEmitter::traverse (Boolean&)
+{
+ os << "return false;";
+}
+
+void
+NullReturnEmitter::traverse (Octet&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (Char&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (Wchar&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (Short&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (UnsignedShort&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (Long&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (UnsignedLong&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (LongLong&)
+{
+ os << "return ACE_CDR_LONGLONG_INITIALIZER;";
+}
+
+void
+NullReturnEmitter::traverse (UnsignedLongLong&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (Float&)
+{
+ os << "return 0.0f;";
+}
+
+void
+NullReturnEmitter::traverse (Double&)
+{
+ os << "return 0.0;";
+}
+
+void
+NullReturnEmitter::traverse (String&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::BoundedString&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (Wstring&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (Object&)
+{
+ os << "return ::CORBA::Object::_nil ();";
+}
+
+void
+NullReturnEmitter::traverse (ValueBase&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (Any&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::Array&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::Enum& e)
+{
+ os << e.scoped_name () << " retval;" << endl
+ << "return retval;";
+}
+
+void
+NullReturnEmitter::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 << "return 0;";
+ }
+ else
+ {
+ os << s.scoped_name () << " retval;" << endl
+ << "return retval;";
+ }
+}
+
+void
+NullReturnEmitter::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 << "return 0;";
+ }
+ else
+ {
+ os << u.scoped_name () << " retval;" << endl
+ << "return retval;";
+ }
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::BoundedSequence&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::UnboundedSequence&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::Interface& i)
+{
+ os << "return " << i.scoped_name () << "::_nil ();";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::ValueType&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::EventType&)
+{
+ os << "return 0;";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::Component& c)
+{
+ os << "return " << c.scoped_name () << "::_nil ();";
+}
+
+void
+NullReturnEmitter::traverse (SemanticGraph::Home& h)
+{
+ os << "return " << h.scoped_name () << "::_nil ();";
+}
+
+// ====================================================================
+
+AceCheckReturnEmitter::AceCheckReturnEmitter (Context& c)
+ : CorbaTypeNameEmitter (c)
+{
+}
+
+void
+AceCheckReturnEmitter::traverse (Void&)
+{
+ os << "ACE_CHECK;";
+}
+
+void
+AceCheckReturnEmitter::traverse (Boolean&)
+{
+ os << STRS[ACE_CR] << " (false);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Octet&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Char&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Wchar&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Short&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (UnsignedShort&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Long&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (UnsignedLong&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (LongLong&)
+{
+ os << STRS[ACE_CR] << " (ACE_CDR_LONGLONG_INITIALIZER);";
+}
+
+void
+AceCheckReturnEmitter::traverse (UnsignedLongLong&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Float&)
+{
+ os << STRS[ACE_CR] << " (0.0f);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Double&)
+{
+ os << STRS[ACE_CR] << " (0.0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (String&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::BoundedString&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Wstring&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Object&)
+{
+ os << STRS[ACE_CR] << " (::CORBA::Object::_nil ());";
+}
+
+void
+AceCheckReturnEmitter::traverse (ValueBase&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (Any&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::Array&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::Enum& e)
+{
+ os << e.scoped_name () << " retval;"
+ << STRS[ACE_UA] << " (retval);"
+ << STRS[ACE_CR] << " (retval);";
+}
+
+void
+AceCheckReturnEmitter::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 << STRS[ACE_CR] << " (0);";
+ }
+ else
+ {
+ os << s.scoped_name () << " retval;"
+ << STRS[ACE_UA] << " (retval);"
+ << STRS[ACE_CR] << " (retval);";
+ }
+}
+
+void
+AceCheckReturnEmitter::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 << STRS[ACE_CR] << " (0);";
+ }
+ else
+ {
+ os << u.scoped_name () << " retval;"
+ << STRS[ACE_UA] << " (retval);"
+ << STRS[ACE_CR] << " (retval);";
+ }
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::BoundedSequence&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::UnboundedSequence&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::Interface& i)
+{
+ os << STRS[ACE_CR] << " (" << i.scoped_name () << "::_nil ());";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::ValueType&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::EventType&)
+{
+ os << STRS[ACE_CR] << " (0);";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::Component& c)
+{
+ os << STRS[ACE_CR] << " (" << c.scoped_name () << "::_nil ());";
+}
+
+void
+AceCheckReturnEmitter::traverse (SemanticGraph::Home& h)
+{
+ os << STRS[ACE_CR] << " (" << h.scoped_name () << "::_nil ());";
+}
+
+// ====================================================================
+/* Not currently used, but it was at one time and may be useful again.
+
+NullRHSEmitter::NullRHSEmitter (Context& c)
+ : CorbaTypeNameEmitter (c)
+{
+}
+
+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 (SemanticGraph::BoundedString&)
+{
+ os << "= 0;";
+}
+
+void
+NullRHSEmitter::traverse (Wstring&)
+{
+ os << "= 0;";
+}
+
+void
+NullRHSEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+ 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::Array&)
+{
+ // This will hopefully work both if the lhs is a slice pointer (for example
+ // RetunrTypeNameEmitter) or not (for example INArgTypeNameEmitter).
+ os << ";";
+}
+
+void
+NullRHSEmitter::traverse (SemanticGraph::Enum&)
+{
+ 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::BoundedSequence&)
+{
+ os << "= 0;";
+}
+
+void
+NullRHSEmitter::traverse (SemanticGraph::UnboundedSequence&)
+{
+ os << "= 0;";
+}
+
+void
+NullRHSEmitter::traverse (SemanticGraph::Interface& i)
+{
+ os << "= " << i.scoped_name () << "::_nil ();";
+}
+
+void
+NullRHSEmitter::traverse (SemanticGraph::ValueType&)
+{
+ os << "= 0;";
+}
+
+void
+NullRHSEmitter::traverse (SemanticGraph::EventType&)
+{
+ 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 (Context& c)
+ : CorbaTypeNameEmitter (c)
+{
+}
+
+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 (SemanticGraph::BoundedString&)
+{
+ os << "const char * " << STRS[EXTRACT] << " = 0;";
+}
+
+void
+ExtractedTypeDeclEmitter::traverse (Wstring&)
+{
+ os << "::CORBA::WChar * " << STRS[EXTRACT] << " = 0;";
+}
+
+void
+ExtractedTypeDeclEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+ 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::Array& a)
+{
+ os << a.scoped_name () << "_forany & " << STRS[EXTRACT] << ";";
+}
+
+void
+ExtractedTypeDeclEmitter::traverse (SemanticGraph::Enum& e)
+{
+ os << e.scoped_name () << " " << STRS[EXTRACT] << ";";
+}
+
+void
+ExtractedTypeDeclEmitter::traverse (SemanticGraph::Struct& s)
+{
+ os << s.scoped_name () << " * " << STRS[EXTRACT] << " = 0;";
+}
+
+void
+ExtractedTypeDeclEmitter::traverse (SemanticGraph::Union& u)
+{
+ os << u.scoped_name () << " * " << STRS[EXTRACT] << " = 0;";
+}
+
+void
+ExtractedTypeDeclEmitter::traverse (SemanticGraph::BoundedSequence& s)
+{
+ os << s.scoped_name () << " * " << STRS[EXTRACT] << " = 0;";
+}
+
+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 (Context& c)
+ : CorbaTypeNameEmitter (c)
+{
+}
+
+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 (SemanticGraph::BoundedString&)
+{
+ os << STRS[EXTRACT];
+}
+
+void
+AssignFromExtractedEmitter::traverse (Wstring&)
+{
+ os << STRS[EXTRACT];
+}
+
+void
+AssignFromExtractedEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+ 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::Array&)
+{
+ os << STRS[EXTRACT] << ".in ()";
+}
+
+void
+AssignFromExtractedEmitter::traverse (SemanticGraph::Enum&)
+{
+ os << STRS[EXTRACT];
+}
+
+void
+AssignFromExtractedEmitter::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 << "*";
+ }
+
+ os << STRS[EXTRACT];
+}
+
+void
+AssignFromExtractedEmitter::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 << "*";
+ }
+
+ os << STRS[EXTRACT];
+}
+
+void
+AssignFromExtractedEmitter::traverse (SemanticGraph::BoundedSequence&)
+{
+ 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];
+}
+
+// ====================================================================
+
+SetAttributeDelegationEmitter::SetAttributeDelegationEmitter (
+ Context& c,
+ SemanticGraph::ReadWriteAttribute& a
+ )
+ : CorbaTypeNameEmitter (c),
+ attr_ (a)
+ , assign_emitter_ (c)
+ , extract_emitter_ (c)
+{
+ assign_belongs_.node_traverser (assign_emitter_);
+ extract_belongs_.node_traverser (extract_emitter_);
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Boolean&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Octet&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Char&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Wchar&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Short&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (UnsignedShort&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Long&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (UnsignedLong&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (LongLong&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (UnsignedLongLong&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Float&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Double&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (String&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::BoundedString&)
+{
+ emit_error ("bounded string");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Wstring&)
+{
+ emit_error ("wstring");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::BoundedWideString&)
+{
+ emit_error ("bounded wstring");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Object&)
+{
+ emit_error ("CORBA::Object");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (ValueBase&)
+{
+ emit_error ("CORBA::ValueBase");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (Any&)
+{
+ emit_error ("CORBA::Any");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::Array&)
+{
+ emit_error ("array");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::Enum&)
+{
+ emit_delegation ();
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::Struct&)
+{
+ emit_error ("struct");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::Union&)
+{
+ emit_error ("union");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::BoundedSequence&)
+{
+ emit_error ("bounded sequence");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::UnboundedSequence&)
+{
+ emit_error ("unbounded sequence");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::Interface&)
+{
+ emit_error ("interface");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::ValueType&)
+{
+ emit_error ("valuetype");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::EventType&)
+{
+ emit_error ("eventtype");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::Component&)
+{
+ emit_error ("component");
+}
+
+void
+SetAttributeDelegationEmitter::traverse (SemanticGraph::Home&)
+{
+ emit_error ("home");
+}
+
+void
+SetAttributeDelegationEmitter::emit_delegation (void)
+{
+ open_if_block ();
+
+ Traversal::ReadWriteAttribute::belongs (attr_, extract_belongs_);
+
+ os << "descr_value >>= " << STRS[EXTRACT] << ";"
+ << "this->" << attr_.name () << " (";
+
+ Traversal::ReadWriteAttribute::belongs (attr_, assign_belongs_);
+
+ os << ");";
+
+ close_if_block ();
+}
+
+void
+SetAttributeDelegationEmitter::emit_error (const char *corba_kind)
+{
+ open_if_block ();
+
+ os << "ACE_ERROR ((" << endl
+ << " LM_ERROR," << endl
+ << " \"Component attributes of " << corba_kind << "\"" << endl
+ << " \"IDL type are not yet supported by CIAO\\n\"" << endl
+ << " ));";
+
+ close_if_block ();
+}
+
+void
+SetAttributeDelegationEmitter::open_if_block (void)
+{
+ os << "if (ACE_OS::strcmp (descr_name, \""
+ << attr_.name () << "\") == 0)" << endl
+ << "{";
+}
+
+void
+SetAttributeDelegationEmitter::close_if_block (void)
+{
+ os << "continue;"
+ << "}";
+}
diff --git a/TAO/CIAO/CIDLC/CorbaTypeNameEmitters.hpp b/TAO/CIAO/CIDLC/CorbaTypeNameEmitters.hpp
new file mode 100644
index 00000000000..8a5a088f00c
--- /dev/null
+++ b/TAO/CIAO/CIDLC/CorbaTypeNameEmitters.hpp
@@ -0,0 +1,511 @@
+// file : CIDLC/FullTypeNameEmitter.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef TYPENAME_EMITTER_HPP
+#define TYPENAME_EMITTER_HPP
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+#include "EmitterBase.hpp"
+
+using namespace CCF::CIDL;
+using namespace CCF::CIDL::SemanticGraph;
+
+// Base class that holds the ostream member
+// common to every other class in this file,
+// and collects the ancestors in one place.
+//
+// Derived classes encapsulate the CORBA rules for
+// the C++ mapping of different type kinds.
+class CorbaTypeNameEmitter : public EmitterBase,
+ public Traversal::Void,
+ public Traversal::Boolean,
+ public Traversal::Octet,
+ public Traversal::Char,
+ public Traversal::Wchar,
+ public Traversal::Short,
+ public Traversal::UnsignedShort,
+ public Traversal::Long,
+ public Traversal::UnsignedLong,
+ public Traversal::LongLong,
+ public Traversal::UnsignedLongLong,
+ public Traversal::Float,
+ public Traversal::Double,
+ public Traversal::String,
+ public Traversal::BoundedString,
+ public Traversal::Wstring,
+ public Traversal::BoundedWideString,
+ public Traversal::Object,
+ public Traversal::ValueBase,
+ public Traversal::Any,
+ public Traversal::Array,
+ public Traversal::Enum,
+ public Traversal::Struct,
+ public Traversal::Union,
+ public Traversal::BoundedSequence,
+ public Traversal::UnboundedSequence,
+ public Traversal::Interface,
+ public Traversal::ValueType,
+ public Traversal::EventType,
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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:
+ CorbaTypeNameEmitter (Context&);
+};
+
+// Generates the name of an operation's return type.
+//
+//
+class ReturnTypeNameEmitter : public CorbaTypeNameEmitter
+{
+public:
+ ReturnTypeNameEmitter (Context&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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 typename of an IN argument.
+//
+//
+class INArgTypeNameEmitter : public CorbaTypeNameEmitter
+{
+public:
+ INArgTypeNameEmitter (Context&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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 typename of an INOUT argument.
+//
+//
+class INOUTArgTypeNameEmitter : public CorbaTypeNameEmitter
+{
+public:
+ INOUTArgTypeNameEmitter (Context&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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 typename of an OUT argument.
+//
+//
+class OUTArgTypeNameEmitter : public CorbaTypeNameEmitter
+{
+public:
+ OUTArgTypeNameEmitter (Context&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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 'return' plus the appropriate NULL return value,
+// including no output for Void.
+//
+//
+class NullReturnEmitter : public CorbaTypeNameEmitter
+{
+public:
+ NullReturnEmitter (Context&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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 'return' plus the appropriate NULL return value,
+// including no output for Void.
+//
+//
+class AceCheckReturnEmitter : public CorbaTypeNameEmitter
+{
+public:
+ AceCheckReturnEmitter (Context&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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&);
+};
+
+/* Not currently used, but it was at one time and may be useful again.
+
+// Generates the appropriate NULL value, including the assignment operator,
+// if needed, for the rhs of an assignment statement.
+//
+//
+class NullRHSEmitter : public CorbaTypeNameEmitter
+{
+public:
+ NullRHSEmitter (Context&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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 CorbaTypeNameEmitter
+{
+public:
+ ExtractedTypeDeclEmitter (Context&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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 CorbaTypeNameEmitter
+{
+public:
+ AssignFromExtractedEmitter (Context&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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&);
+};
+
+class SetAttributeDelegationEmitter : public CorbaTypeNameEmitter,
+ public Traversal::ReadWriteAttribute
+{
+public:
+ SetAttributeDelegationEmitter (Context&,
+ SemanticGraph::ReadWriteAttribute&);
+
+ 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 (SemanticGraph::BoundedString&);
+ virtual void traverse (Wstring&);
+ virtual void traverse (SemanticGraph::BoundedWideString&);
+ virtual void traverse (Object&);
+ virtual void traverse (ValueBase&);
+ virtual void traverse (Any&);
+ virtual void traverse (SemanticGraph::Array&);
+ virtual void traverse (SemanticGraph::Enum&);
+ virtual void traverse (SemanticGraph::Struct&);
+ virtual void traverse (SemanticGraph::Union&);
+ virtual void traverse (SemanticGraph::BoundedSequence&);
+ 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&);
+
+private:
+ void emit_delegation (void);
+ void emit_error (const char *);
+ void open_if_block (void);
+ void close_if_block (void);
+
+private:
+ SemanticGraph::ReadWriteAttribute& attr_;
+ AssignFromExtractedEmitter assign_emitter_;
+ ExtractedTypeDeclEmitter extract_emitter_;
+ Traversal::Belongs assign_belongs_;
+ Traversal::Belongs extract_belongs_;
+};
+
+#endif /* TYPENAME_EMITTER_HPP */
diff --git a/TAO/CIAO/CIDLC/EmitterBase.cpp b/TAO/CIAO/CIDLC/EmitterBase.cpp
new file mode 100644
index 00000000000..418db97852a
--- /dev/null
+++ b/TAO/CIAO/CIDLC/EmitterBase.cpp
@@ -0,0 +1,11 @@
+// file : CIDLC/EmitterBase.cpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "EmitterBase.hpp"
+
+EmitterBase::EmitterBase (Context& c)
+ : ctx (c),
+ os (ctx.os ())
+{
+}
diff --git a/TAO/CIAO/CIDLC/EmitterBase.hpp b/TAO/CIAO/CIDLC/EmitterBase.hpp
new file mode 100644
index 00000000000..407eee8d0e0
--- /dev/null
+++ b/TAO/CIAO/CIDLC/EmitterBase.hpp
@@ -0,0 +1,20 @@
+// file : CIDLC/EmitterBase.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef EMITTERBASE_HPP
+#define EMITTERBASE_HPP
+
+#include "EmitterContext.hpp"
+
+class EmitterBase
+{
+public:
+ EmitterBase (Context&);
+
+protected:
+ Context& ctx;
+ ostream& os;
+};
+
+#endif // EMITTERBASE_HPP
diff --git a/TAO/CIAO/CIDLC/EmitterContext.cpp b/TAO/CIAO/CIDLC/EmitterContext.cpp
new file mode 100644
index 00000000000..478ae5d0027
--- /dev/null
+++ b/TAO/CIAO/CIDLC/EmitterContext.cpp
@@ -0,0 +1,45 @@
+// file : CIDLC/EmitterContext.cpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "EmitterContext.hpp"
+
+Context::Context (ostream& os,
+ string export_macro,
+ CommandLine const& cl)
+ : os_ (os),
+ export_macro_ (export_macro),
+ cl_ (cl)
+{
+}
+
+ostream&
+Context::os (void)
+{
+ return os_;
+}
+
+string
+Context::export_macro (void)
+{
+ return export_macro_;
+}
+
+CommandLine const&
+Context::cl (void)
+{
+ return cl_;
+}
+
+string
+Context::composition_name (void)
+{
+ return composition_name_;
+}
+
+void
+Context::composition_name (const string& name)
+{
+ composition_name_ = name;
+}
+
diff --git a/TAO/CIAO/CIDLC/EmitterContext.hpp b/TAO/CIAO/CIDLC/EmitterContext.hpp
new file mode 100644
index 00000000000..bec5e74f91d
--- /dev/null
+++ b/TAO/CIAO/CIDLC/EmitterContext.hpp
@@ -0,0 +1,35 @@
+// file : CIDLC/EmitterContext.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef EMITTERCONTEXT_HPP
+#define EMITTERCONTEXT_HPP
+
+#include "CCF/CodeGenerationKit/CommandLine.hpp"
+
+#include <ostream>
+#include <string>
+
+using namespace std;
+
+class Context
+{
+public:
+ Context (ostream& os,
+ string export_macro,
+ CommandLine const& cl);
+
+ ostream& os (void);
+ string export_macro (void);
+ CommandLine const& cl (void);
+ string composition_name (void);
+ void composition_name (const string& name);
+
+private:
+ ostream& os_;
+ string export_macro_;
+ CommandLine const& cl_;
+ string composition_name_;
+};
+
+#endif // EMITTERCONTEXT_HPP
diff --git a/TAO/CIAO/CIDLC/InterfaceEmitter.cpp b/TAO/CIAO/CIDLC/InterfaceEmitter.cpp
new file mode 100644
index 00000000000..1ce524cdfab
--- /dev/null
+++ b/TAO/CIAO/CIDLC/InterfaceEmitter.cpp
@@ -0,0 +1,26 @@
+// file : CIDLC/InterfaceEmitter.cpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "InterfaceEmitter.hpp"
+
+InterfaceEmitter::InterfaceEmitter (Context& c)
+ : EmitterBase (c)
+{
+}
+
+void
+InterfaceEmitter::traverse (UnconstrainedInterface& i)
+{
+ if (add (i))
+ {
+ Traversal::UnconstrainedInterface::traverse (i);
+ }
+}
+
+bool
+InterfaceEmitter::add (UnconstrainedInterface& i)
+{
+ return interfaces_.insert (&i).second;
+}
+
diff --git a/TAO/CIAO/CIDLC/InterfaceEmitter.hpp b/TAO/CIAO/CIDLC/InterfaceEmitter.hpp
new file mode 100644
index 00000000000..fdd2411f912
--- /dev/null
+++ b/TAO/CIAO/CIDLC/InterfaceEmitter.hpp
@@ -0,0 +1,30 @@
+// file : CIDLC/InterfaceEmitter.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef INTERFACEEMITTER_HPP
+#define INTERFACEEMITTER_HPP
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+#include "EmitterBase.hpp"
+
+using namespace CCF::CIDL;
+using namespace CCF::CIDL::SemanticGraph;
+
+struct InterfaceEmitter : Traversal::UnconstrainedInterface,
+ EmitterBase
+{
+ InterfaceEmitter (Context& c);
+
+ virtual void traverse (UnconstrainedInterface&);
+
+private:
+ bool add (UnconstrainedInterface&);
+
+private:
+ std::set<UnconstrainedInterface*> interfaces_;
+};
+
+#endif // INTERFACEEMITTER_HPP
diff --git a/TAO/CIAO/CIDLC/ModuleEmitter.cpp b/TAO/CIAO/CIDLC/ModuleEmitter.cpp
new file mode 100644
index 00000000000..990d95ef4b8
--- /dev/null
+++ b/TAO/CIAO/CIDLC/ModuleEmitter.cpp
@@ -0,0 +1,22 @@
+// file : CIDLC/ModuleEmitter.cpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "ModuleEmitter.hpp"
+
+ModuleEmitter::ModuleEmitter (Context& c)
+ : EmitterBase (c)
+{
+}
+
+void
+ModuleEmitter::pre (Type& t)
+{
+ os << "namespace " << t.name () << "{";
+}
+
+void
+ModuleEmitter::post (Type&)
+{
+ os << "}";
+}
diff --git a/TAO/CIAO/CIDLC/ModuleEmitter.hpp b/TAO/CIAO/CIDLC/ModuleEmitter.hpp
new file mode 100644
index 00000000000..9aa8de2f9ff
--- /dev/null
+++ b/TAO/CIAO/CIDLC/ModuleEmitter.hpp
@@ -0,0 +1,24 @@
+// file : CIDLC/ModuleEmitter.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef MODULEEMITTER_HPP
+#define MODULEEMITTER_HPP
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+#include "EmitterBase.hpp"
+
+using namespace CCF::CIDL;
+using namespace CCF::CIDL::SemanticGraph;
+
+struct ModuleEmitter : Traversal::Module, EmitterBase
+{
+ ModuleEmitter (Context& c);
+
+ virtual void pre (Type&);
+ virtual void post (Type&);
+};
+
+#endif // MODULEEMITTER_HPP
diff --git a/TAO/CIAO/CIDLC/OperationHeaderEmitters.cpp b/TAO/CIAO/CIDLC/OperationHeaderEmitters.cpp
new file mode 100644
index 00000000000..6644e8102e6
--- /dev/null
+++ b/TAO/CIAO/CIDLC/OperationHeaderEmitters.cpp
@@ -0,0 +1,267 @@
+// file : CIDLC/OperationHeaderEmitters.cpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "OperationHeaderEmitters.hpp"
+#include "Literals.hpp"
+
+using namespace StringLiterals;
+
+OperationEmitter::OperationEmitter (Context& c)
+ : EmitterBase (c)
+{
+}
+
+void
+OperationEmitter::pre (Type&)
+{
+ os << "virtual ";
+}
+
+void
+OperationEmitter::name (Type& o)
+{
+ os << endl << o.name ();
+}
+
+void
+OperationEmitter::receives_pre (Type&)
+{
+ os << " (" << endl;
+}
+
+void
+OperationEmitter::receives_none (Type&)
+{
+ os << " (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl;
+}
+
+void
+OperationEmitter::receives_post (Type&)
+{
+ os << endl << STRS[ENV_HDR] << ")" << endl;
+}
+
+void
+OperationEmitter::raises_pre (Type&)
+{
+ os << STRS[EXCP_START] << " "
+ << STRS[EXCP_SYS] << "," << endl;
+}
+
+void
+OperationEmitter::raises_none (Type&)
+{
+ os << STRS[EXCP_SNGL];
+}
+
+void
+OperationEmitter::raises_post (Type&)
+{
+ os << "))";
+}
+
+void
+OperationEmitter::post (Type&)
+{
+ os << ";" << endl;
+}
+
+void
+OperationEmitter::comma (Type&)
+{
+ os << "," << endl;
+}
+
+// ==================================================
+
+HomeOperationEmitter::HomeOperationEmitter (Context& c)
+ : OperationEmitter (c)
+{
+}
+
+void
+HomeOperationEmitter::traverse (SemanticGraph::HomeFactory&)
+{
+}
+
+void
+HomeOperationEmitter::traverse (SemanticGraph::HomeFinder&)
+{
+}
+
+// ==================================================
+
+FactoryOperationEmitter::FactoryOperationEmitter (Context& c, bool for_exec)
+ : EmitterBase (c),
+ returns_emitter_ (c),
+ for_exec_ (for_exec)
+{
+ returns_.node_traverser (returns_emitter_);
+}
+
+void
+FactoryOperationEmitter::pre (SemanticGraph::HomeFactory&)
+{
+ os << "virtual ";
+}
+
+void
+FactoryOperationEmitter::returns (SemanticGraph::HomeFactory& t)
+{
+ if (for_exec_)
+ {
+ os << STRS[COMP_EC] << "_ptr";
+ }
+ else
+ {
+ Traversal::HomeFactory::returns (t, returns_);
+ }
+
+ os << endl;
+}
+
+void
+FactoryOperationEmitter::name (SemanticGraph::HomeFactory& t)
+{
+ os << t.name ();
+}
+
+void
+FactoryOperationEmitter::receives_none (SemanticGraph::HomeFactory&)
+{
+ os << " (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl;
+}
+
+void
+FactoryOperationEmitter::receives_pre (SemanticGraph::HomeFactory&)
+{
+ os << " (" << endl;
+}
+
+void
+FactoryOperationEmitter::receives_post (SemanticGraph::HomeFactory&)
+{
+ os << endl << STRS[ENV_HDR] << ")" << endl;
+}
+
+void
+FactoryOperationEmitter::raises_none (SemanticGraph::HomeFactory&)
+{
+ os << STRS[EXCP_SNGL];
+}
+
+void
+FactoryOperationEmitter::raises_pre (SemanticGraph::HomeFactory&)
+{
+ os << STRS[EXCP_START] << " "
+ << STRS[EXCP_SYS] << "," << endl;
+}
+
+void
+FactoryOperationEmitter::raises_post (SemanticGraph::HomeFactory&)
+{
+ os << "))";
+}
+
+void
+FactoryOperationEmitter::post (SemanticGraph::HomeFactory&)
+{
+ os << ";" << endl;
+}
+
+void
+FactoryOperationEmitter::comma (SemanticGraph::HomeFactory&)
+{
+ os << "," << endl;
+}
+
+// ==================================================
+
+FinderOperationEmitter::FinderOperationEmitter (Context& c, bool for_exec)
+ : EmitterBase (c),
+ returns_emitter_ (c),
+ for_exec_ (for_exec)
+{
+ returns_.node_traverser (returns_emitter_);
+}
+
+void
+FinderOperationEmitter::pre (SemanticGraph::HomeFinder&)
+{
+ os << "virtual ";
+}
+
+void
+FinderOperationEmitter::returns (SemanticGraph::HomeFinder& t)
+{
+ if (for_exec_)
+ {
+ os << STRS[COMP_EC] << "_ptr";
+ }
+ else
+ {
+ Traversal::HomeFinder::returns (t, returns_);
+ }
+
+ os << endl;
+}
+
+void
+FinderOperationEmitter::name (SemanticGraph::HomeFinder& t)
+{
+ os << t.name ();
+}
+
+void
+FinderOperationEmitter::receives_none (SemanticGraph::HomeFinder&)
+{
+ os << " (" << endl
+ << STRS[ENV_SNGL_HDR] << ")" << endl;
+}
+
+void
+FinderOperationEmitter::receives_pre (SemanticGraph::HomeFinder&)
+{
+ os << " (" << endl;
+}
+
+void
+FinderOperationEmitter::receives_post (SemanticGraph::HomeFinder&)
+{
+ os << endl << STRS[ENV_HDR] << ")" << endl;
+}
+
+void
+FinderOperationEmitter::raises_none (SemanticGraph::HomeFinder&)
+{
+ os << STRS[EXCP_SNGL];
+}
+
+void
+FinderOperationEmitter::raises_pre (SemanticGraph::HomeFinder&)
+{
+ os << STRS[EXCP_START] << " "
+ << STRS[EXCP_SYS] << "," << endl;
+}
+
+void
+FinderOperationEmitter::raises_post (SemanticGraph::HomeFinder&)
+{
+ os << "))";
+}
+
+void
+FinderOperationEmitter::post (SemanticGraph::HomeFinder&)
+{
+ os << ";" << endl;
+}
+
+void
+FinderOperationEmitter::comma (SemanticGraph::HomeFinder&)
+{
+ os << "," << endl;
+}
+
diff --git a/TAO/CIAO/CIDLC/OperationHeaderEmitters.hpp b/TAO/CIAO/CIDLC/OperationHeaderEmitters.hpp
new file mode 100644
index 00000000000..d1fc148e0c3
--- /dev/null
+++ b/TAO/CIAO/CIDLC/OperationHeaderEmitters.hpp
@@ -0,0 +1,151 @@
+// file : CIDLC/OperationHeaderEmitters.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef OPERATIONHEADEREMITTERS_HPP
+#define OPERATIONHEADEREMITTERS_HPP
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+#include "EmitterBase.hpp"
+#include "CorbaTypeNameEmitters.hpp"
+
+using namespace CCF::CIDL;
+using namespace CCF::CIDL::SemanticGraph;
+
+struct OperationEmitter : Traversal::Operation,
+ EmitterBase
+{
+ OperationEmitter (Context& c);
+
+ virtual void pre (Type&);
+
+ virtual void name (Type&);
+
+ virtual void receives_pre (Type&);
+
+ virtual void receives_none (Type&);
+
+ virtual void receives_post (Type&);
+
+ virtual void raises_pre (Type&);
+
+ virtual void raises_none (Type&);
+
+ virtual void raises_post (Type&);
+
+ virtual void post (Type&);
+
+ virtual void comma (Type&);
+};
+
+// HomeFactory and HomeFinder are tied to Operation in
+// the front end. Since we want to treat them differently
+// than regular operations in a home (we want to generate
+// base class factory operations returning the base component,
+// for example), we use this class for regular home operations
+// that overrides HomeFactory and HomeFinder traversals
+// to do nothing.
+struct HomeOperationEmitter : OperationEmitter,
+ Traversal::HomeFactory,
+ Traversal::HomeFinder
+{
+ HomeOperationEmitter (Context& c);
+
+ virtual void
+ traverse (SemanticGraph::HomeFactory&);
+
+ virtual void
+ traverse (SemanticGraph::HomeFinder&);
+};
+
+struct FactoryOperationEmitter : Traversal::HomeFactory,
+ EmitterBase
+{
+ FactoryOperationEmitter (Context& c, bool for_exec = false);
+
+ virtual void
+ pre (SemanticGraph::HomeFactory&);
+
+ virtual void
+ returns (SemanticGraph::HomeFactory&);
+
+ virtual void
+ name (SemanticGraph::HomeFactory&);
+
+ virtual void
+ receives_none (SemanticGraph::HomeFactory&);
+
+ virtual void
+ receives_pre (SemanticGraph::HomeFactory&);
+
+ virtual void
+ receives_post (SemanticGraph::HomeFactory&);
+
+ virtual void
+ raises_none (SemanticGraph::HomeFactory&);
+
+ virtual void
+ raises_pre (SemanticGraph::HomeFactory&);
+
+ virtual void
+ raises_post (SemanticGraph::HomeFactory&);
+
+ virtual void
+ post (SemanticGraph::HomeFactory&);
+
+ virtual void
+ comma (SemanticGraph::HomeFactory&);
+
+private:
+ ReturnTypeNameEmitter returns_emitter_;
+ Traversal::Returns returns_;
+ bool for_exec_;
+};
+
+struct FinderOperationEmitter : Traversal::HomeFinder,
+ EmitterBase
+{
+ FinderOperationEmitter (Context& c, bool for_exec = false);
+
+ virtual void
+ pre (SemanticGraph::HomeFinder&);
+
+ virtual void
+ returns (SemanticGraph::HomeFinder&);
+
+ virtual void
+ name (SemanticGraph::HomeFinder&);
+
+ virtual void
+ receives_none (SemanticGraph::HomeFinder&);
+
+ virtual void
+ receives_pre (SemanticGraph::HomeFinder&);
+
+ virtual void
+ receives_post (SemanticGraph::HomeFinder&);
+
+ virtual void
+ raises_none (SemanticGraph::HomeFinder&);
+
+ virtual void
+ raises_pre (SemanticGraph::HomeFinder&);
+
+ virtual void
+ raises_post (SemanticGraph::HomeFinder&);
+
+ virtual void
+ post (SemanticGraph::HomeFinder&);
+
+ virtual void
+ comma (SemanticGraph::HomeFinder&);
+
+private:
+ ReturnTypeNameEmitter returns_emitter_;
+ Traversal::Returns returns_;
+ bool for_exec_;
+};
+
+#endif // OPERATIONHEADEREMITTERS_HPP
diff --git a/TAO/CIAO/CIDLC/ParameterEmitter_T.hpp b/TAO/CIAO/CIDLC/ParameterEmitter_T.hpp
new file mode 100644
index 00000000000..4fe0d55867f
--- /dev/null
+++ b/TAO/CIAO/CIDLC/ParameterEmitter_T.hpp
@@ -0,0 +1,33 @@
+// file : CIDLC/ParameterEmitter_T.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef PARAMETEREMITTER_T_HPP
+#define PARAMETEREMITTER_T_HPP
+
+#include "EmitterBase.hpp"
+
+// For generating parameter names.
+template <typename T>
+struct ParameterEmitter : T, EmitterBase
+{
+ ParameterEmitter (Context& c, bool for_exec_src = false)
+ : EmitterBase (c),
+ for_exec_src_ (for_exec_src)
+ {
+ }
+
+ virtual void
+ name (typename T::Type& p)
+ {
+ os << " "
+ << (for_exec_src_ ? "/* " : "")
+ << p.name ()
+ << (for_exec_src_ ? " */" : "");
+ }
+
+private:
+ bool for_exec_src_;
+};
+
+#endif // PARAMETEREMITTER_T_HPP
diff --git a/TAO/CIAO/CIDLC/Upcase.hpp b/TAO/CIAO/CIDLC/Upcase.hpp
new file mode 100644
index 00000000000..cf114dd8392
--- /dev/null
+++ b/TAO/CIAO/CIDLC/Upcase.hpp
@@ -0,0 +1,21 @@
+// file : CIDLC/Upcase.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef UPCASE_HPP
+#define UPCASE_HPP
+
+#include <cctype>
+
+namespace
+{
+ // On some platforms toupper can be something other than a
+ // function.
+ int
+ upcase (int c)
+ {
+ return std::toupper (c);
+ }
+}
+
+#endif // UPCASE_HPP
diff --git a/TAO/CIAO/CIDLC/UtilityTypeNameEmitters.cpp b/TAO/CIAO/CIDLC/UtilityTypeNameEmitters.cpp
new file mode 100644
index 00000000000..499cf3e4086
--- /dev/null
+++ b/TAO/CIAO/CIDLC/UtilityTypeNameEmitters.cpp
@@ -0,0 +1,57 @@
+// file : CIDLC/UtilityTypeNameEmitters.cpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "UtilityTypeNameEmitters.hpp"
+
+FullTypeNameEmitter::FullTypeNameEmitter (Context& c)
+ : EmitterBase (c)
+{
+}
+
+void
+FullTypeNameEmitter::traverse (SemanticGraph::Type& t)
+{
+ os << t.scoped_name ();
+}
+
+// ===================================================
+
+SimpleTypeNameEmitter::SimpleTypeNameEmitter (Context& c)
+ : EmitterBase (c)
+{
+}
+
+void
+SimpleTypeNameEmitter::traverse (SemanticGraph::Type& t)
+{
+ os << t.name ();
+}
+
+// ===================================================
+
+EnclosingTypeNameEmitter::EnclosingTypeNameEmitter (Context& c)
+ : EmitterBase (c)
+{
+}
+
+void
+EnclosingTypeNameEmitter::traverse (SemanticGraph::Type& t)
+{
+ os << t.scoped_name ().scope_name ();
+}
+
+// ===================================================
+
+StrippedTypeNameEmitter::StrippedTypeNameEmitter (Context& c)
+ : EmitterBase (c)
+{
+}
+
+void
+StrippedTypeNameEmitter::traverse (SemanticGraph::Type& t)
+{
+ ScopedName scoped (t.scoped_name ());
+ os << Name (scoped.begin () + 1, scoped.end ());
+}
+
diff --git a/TAO/CIAO/CIDLC/UtilityTypeNameEmitters.hpp b/TAO/CIAO/CIDLC/UtilityTypeNameEmitters.hpp
new file mode 100644
index 00000000000..aece771ca69
--- /dev/null
+++ b/TAO/CIAO/CIDLC/UtilityTypeNameEmitters.hpp
@@ -0,0 +1,56 @@
+// file : CIDLC/UtilityTypeNameEmitters.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef UTILITYTYPENAMEEMITTERS_HPP
+#define UTILITYTYPENAMEEMITTERS_HPP
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+#include "EmitterBase.hpp"
+
+using namespace std;
+using namespace CCF::CIDL;
+using namespace CCF::CIDL::SemanticGraph;
+
+// Emits type's full scoped name.
+struct FullTypeNameEmitter : Traversal::Type,
+ EmitterBase
+{
+ FullTypeNameEmitter (Context&);
+
+ virtual void
+ traverse (SemanticGraph::Type&);
+};
+
+// Emits type's local name.
+struct SimpleTypeNameEmitter : Traversal::Type,
+ EmitterBase
+{
+ SimpleTypeNameEmitter (Context&);
+
+ virtual void
+ traverse (SemanticGraph::Type&);
+};
+
+// Emits name of type's enclosing scope.
+struct EnclosingTypeNameEmitter : Traversal::Type,
+ EmitterBase
+{
+ EnclosingTypeNameEmitter (Context&);
+
+ virtual void
+ traverse (SemanticGraph::Type&);
+};
+
+// Emits scoped name minus the leading double colon.
+struct StrippedTypeNameEmitter : Traversal::Type,
+ EmitterBase
+{
+ StrippedTypeNameEmitter (Context&);
+
+ virtual void
+ traverse (SemanticGraph::Type&);
+};
+
+#endif // UTILITYTYPENAMEEMITTERS_HPP
diff --git a/TAO/CIAO/ChangeLogs/ChangeLog-06a b/TAO/CIAO/ChangeLogs/ChangeLog-06a
new file mode 100644
index 00000000000..f2d22b3e963
--- /dev/null
+++ b/TAO/CIAO/ChangeLogs/ChangeLog-06a
@@ -0,0 +1,8579 @@
+Tue Apr 18 00:14:56 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+
+ Reverted back the two files I accidentally checked in, which
+ should have gone into a branch. :(
+
+Mon Apr 17 18:04:56 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * M docs/tutorials/Quoter/Simple/Distributor/Distributor.mpc
+ * examples/BasicSP/BasicSP.mpc
+ * examples/BasicSP/BMClosedED/BMClosedED.mpc
+ * examples/BasicSP/BMDevice/BMDevice.mpc
+ * examples/BasicSP/BMDisplay/BMDisplay.mpc
+ * examples/BasicSP/EC/EC.mpc
+ * examples/Display/HUDisplay.mpc
+ * examples/Display/GPS/GPS.mpc
+ * examples/Display/NavDisplay/NavDisplay.mpc
+ * examples/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc
+ * examples/Display/RateGen/RateGen.mpc
+ * examples/Hello/Hello_Base/Hello_Base.mpc
+ * examples/Hello/Receiver/Receiver.mpc
+ * examples/Hello/Sender/Sender.mpc
+ * examples/Swapping/Hello_Base/Hello_Base.mpc
+ * examples/Swapping/Receiver/Receiver.mpc
+ * examples/Swapping/Sender/Sender.mpc
+ * tools/Config_Handlers/Config_Handlers.mpc
+
+ Linking fixes for OS X.
+
+
+Mon Apr 17 02:33:44 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * RACE/Planners/SimpleBinPacker/SimpleBinPacker.mpc:
+ * tools/Config_Handlers/Config_Handlers.mpc:
+
+ Avoids building with ace_for_tao.
+
+Fri Apr 14 14:50:47 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * examples/BasicSP/BMClosedED/BMClosedED.mpc:
+ * examples/BasicSP/BMDisplay/BMDisplay.mpc:
+ * examples/Display/GPS/GPS.mpc:
+ * examples/Display/RateGen/RateGen.mpc:
+ * examples/Hello/Sender/Sender.mpc:
+ * examples/Swapping/Sender/Sender.mpc:
+ * performance-tests/Benchmark/RoundTrip/RoundTrip.mpc:
+ * tests/CIDL/CodeGen/CodeGen.mpc:
+ * tests/Minimum/Receiver/Receiver.mpc:
+
+ Avoids building with ace_for_tao.
+
+Thu Apr 13 19:18:22 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * docs/tutorials/Quoter/Simple/Broker/Broker.mpc:
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor.mpc:
+ * examples/BasicSP/BMDevice/BMDevice.mpc:
+ * examples/BasicSP/EC/EC.mpc:
+ * examples/Display/NavDisplay/NavDisplay.mpc:
+ * examples/Hello/Receiver/Receiver.mpc:
+ * examples/Swapping/Receiver/Receiver.mpc:
+ * performance-tests/Benchmark/Benchmark.mpc:
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc:
+ * tests/Minimum/Sender/Sender.mpc:
+
+ Avoids building with ace_for_tao.
+
+Apr Thu 13 03:32:35 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciaosvcs/Events/CIAO_Events.idl
+
+ Removed this file.
+
+ * ciaosvcs/Events/CIAO_Events.mpc
+
+ Modified to put an empty segment of IDL_Files.
+
+Wed Apr 12 17:51:03 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * NEWS
+
+ Updated the NEWS file.
+
+Wed Apr 12 14:47:14 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplication/NodeApplication.mpc
+ * DAnCE/NodeManager/Monitor.mpc
+ * DAnCE/NodeManager/NodeManager.mpc
+ * DAnCE/StaticConfigurator/StaticDAnCEParser.mpc
+ * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc
+ * ciaosvcs/Events/CIAO_Events.mpc
+
+ Fixes for linking errors/warnings on OS X builds.
+
+Tue Apr 11 12:39:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Config_Handlers/Utils/Utils.mpc:
+ Use exceptions as base project
+
+Tue Apr 11 12:43:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Container_Base.cpp:
+ Small simplification
+
+Tue Apr 11 12:22:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.mpc:
+ * tests/IDL3/Components/SimpleComponent/SimpleComponent.mpc:
+ Updated base projects to get correct build order
+
+Tue Apr 11 08:43:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.cpp:
+ Initialise pointers with 0
+
+Tue Apr 11 06:54:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Minimum/Minimum_Base/Minimum.mpc:
+ * tests/IDL3/Lookup/lookup_test.mpc:
+ * tests/IDL3/ImpliedIDL/Homes/Homes.mpc:
+ * tests/IDL3/ImpliedIDL/Events/Events.mpc:
+ * tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.mpc:
+ * tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.mpc:
+ * tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.mpc:
+ * tests/IDL3/Homes/Inheritance/Inheritance.mpc:
+ * tests/IDL3/Homes/Finder/Finder.mpc:
+ * tests/IDL3/Homes/Factory/Factory.mpc:
+ * tests/IDL3/Homes/Basic/Basic.mpc:
+ * tests/IDL3/Homes/Attributes/HomeAttributes.mpc:
+ * tests/IDL3/Events/Regular/Regular.mpc:
+ * tests/IDL3/Events/Abstract/Abstract.mpc:
+ * tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.mpc:
+ * tests/IDL3/Components/ComplexComponent/Facets/Facets.mpc:
+ * tests/IDL3/Components/ComplexComponent/EventSource/EventSource.mpc:
+ * tests/IDL3/Components/ComplexComponent/EventSink/EventSink.mpc:
+ * tests/IDL3/Components/ComplexComponent/Attributes/Attributes.mpc:
+ * tests/CIDL/CodeGen/CodeGen.mpc:
+ * tests/Bug_2130_Regression/interfaces/ENW.mpc:
+ * performance-tests/Protocols/common/Protocols.mpc:
+ * examples/Swapping/Hello_Base/Hello_Base.mpc:
+ * examples/Hello/Hello_Base/Hello_Base.mpc:
+ * examples/Display/HUDisplay.mpc:
+ * examples/BasicSP/BasicSP.mpc:
+ * docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.mpc:
+ Updated base projects to get correct build order
+
+Tue Apr 11 06:35:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers.mpc:
+ Use base projects to set dependencies
+
+Mon Apr 10 18:48:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeApplication/NodeApplication.mpc:
+ Fixed base project
+
+Mon Apr 10 14:29:13 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.cpp
+
+ Modified to make _narrow to be called at the first step
+ when connecting supplier and config. Also modified to
+ make debug statements debug_level controlled.
+
+Mon Apr 10 12:31:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/CCM_Core.mpc:
+ Removed commented out line
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc:
+ * DAnCE/NodeApplication/NodeApplication.mpc:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc:
+ * DAnCE/NodeManager/NodeManager.mpc:
+ * DAnCE/StaticConfigurator/StaticDAnCEParser.mpc:
+ Updated base projects
+
+Mon Apr 10 11:51:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_Events_Base.mpc:
+ Readded ciao_container_dnc
+
+ * ciao/CCM_Core.mpc:
+ Use more base projects
+
+ * DAnCE/Interfaces/Interfaces.mpc:
+ * DAnCE/ExecutionManager/ExecutionManager.mpc:
+ Use other base projects to get correct build order
+
+Mon Apr 10 10:00:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_Events_Base.mpc:
+ Removed ciao_container_dnc
+
+Mon Apr 10 09:38:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciaosvcs/Events/CIAO_Events.mpc:
+ Use ciao_rtevent_dnc as base
+
+Mon Apr 10 09:18:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.mpc:
+ * ciaosvcs/Events/CIAO_Events.mpc:
+ Use ciao_events_base_dnc as base project
+
+Mon Apr 10 09:15:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/CCM_Core.mpc:
+ For Deployment_Stub use ciao_events_base_dnc and ciao_client_dnc
+ as base projects
+
+Mon Apr 10 08:50:14 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciaosvcs/Events/CIAO_Events.mpc:
+ Removed ciao_events_dnc as base project, we are building
+ this lib right now
+
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_Events_Base.mpc:
+ Use base projects instead of libs
+
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.mpc:
+ Remvoed ciao_events_dnc
+
+Sat Apr 8 15:39:14 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_Events_Base.mpc
+
+ Fixed a linking error in SuSE_CP_Static build.
+
+Fri Apr 7 04:09:33 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+
+ Fixed a bug in detecting External connection and Internal
+ connections. Earlier when an external component is detected,
+ not *all* connections associated with this components are
+ purged from the to-be-removed connections list. Added another
+ helper method <purge_connections> to accomplish this task.
+
+ Modified to enforce passivation occured on all components
+ before any connections are removed.
+
+Fri Apr 7 03:55:46 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+
+ Fixed a bug when redeploying components using the same set
+ of NodeManagers. Earlier when destroying applications or
+ components, internal components and external/shared components
+ are not all unbinded from the map, which causes duplicate
+ instance exception thrown.
+
+Thu Apr 6 16:01:30 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CCF/CCF/CompilerElements/TokenStream.hpp:
+
+ Added empty virtual destructor to template base class, to
+ eliminate bogus GCC warnings.
+
+Thu Apr 6 15:22:31 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciaosvcs/Events/CIAO_Events.mpc
+
+ Fixed linking errors on WinXP_BCB6_Pro_Dynamic_Release build.
+
+ * examples/Hello/descriptors_shared_components/deploymentplan.cdp
+ * examples/Hello/descriptors_shared_components/deploymentplan_shared_components.cdp
+
+ Modified to illustrate the shared components scenario.
+
+Thu Apr 6 14:54:59 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciaosvcs/Events/CIAO_EventService_Factory_impl.h
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.h
+
+ Some cosmestic changes.
+
+Thu Apr 6 08:20:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/CCM_Component.idl:
+ Removed the forward declaration of IRObject and just include
+ ciao/CCM_Component.idl. The forward declaration is causing
+ problems with the versioned namespace support, will investigate
+ this later
+
+Wed Apr 5 20:57:32 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.cpp
+
+ Make debug statement debug_level controlled.
+
+Wed Apr 5 18:49:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Config_Handlers/CIAO_Events/CIAOEvents.hpp:
+ Fixed compile errors
+
+Wed Apr 5 13:18:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.h:
+ Fixed pragma once warning
+
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.cpp:
+ Fixed conversion warning
+
+Wed Apr 5 12:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp:
+ Fixed compile errors
+
+Tue Apr 4 18:11:37 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciaosvcs/Events/CIAO_EventService_Factory_impl.cpp
+ * ciaosvcs/Events/CIAO_EventService_Factory_impl.h
+
+ Fixed an warning in WinXP_BCB6_Pro_Dynamic_Debug build
+ by modifying the name of the original "init" method.
+
+Tue Apr 4 17:27:52 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * tools/Config_Handlers/CIAO_Events/test.cpp
+
+ Fixed an warning.
+
+Mon Apr 3 20:00:11 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/Literals.hpp:
+ * CIDLC/Literals.cpp:
+
+ Changed an enum value 'SIZE' to 'LIT_SIZE' to avoid an
+ apparent conflict with something in WinDef.h on
+ Windows.
+
+Thu Mar 30 18:28:32 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciao/Deployment_Events.idl
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_EventServiceBase.cpp
+
+ Fixed fuzz errors.
+
+Thu Mar 30 17:16:17 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciaosvcs/Events/CIAO_Direct/*
+
+ Removed all files under this directory since they are
+ no longer used.
+
+Thu Mar 30 17:23:12 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * tools/Config_Handlers/Config_Handlers.mpc
+
+ Added link dependency to CIAO_Events_Handler project.
+
+Thu Mar 30 16:38:25 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * CIAO_DAnCE.mwc
+ * CIAO_TAO.mwc
+ * CIAO_TAO_DAnCE.mwc
+
+ Added "ciaosvcs" into the workspace.
+
+ * ciao/CCM_Core.mpc
+ * ciao/CCM_Event.idl
+ * ciao/Container_Base.cpp
+ * ciao/Container_Base.h
+ * ciao/Deployment_Core.idl
+ * ciao/Deployment_Data.idl
+ * ciao/Deployment_Events.idl
+
+ Added an "CIAO_DnC_Events" project. Enhanced Deployment_Core.idl
+ to support configuring and deploying pub/sub services.
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp
+ * DAnCE/NodeApplication/NodeApplication_Impl.h
+ * DAnCE/NodeApplication/NodeApplication_Impl.inl
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+
+ Enhanced DAnCE to support pub/sub services integration.
+
+ * ciaosvcs/Events/CIAO_EventService_Factory_impl.cpp
+ * ciaosvcs/Events/CIAO_EventService_Factory_impl.h
+ * ciaosvcs/Events/CIAO_Events.idl
+ * ciaosvcs/Events/CIAO_Events.mpc
+ * ciaosvcs/Events/CIAO_Events_Export.h
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.cpp
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.h
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.idl
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent_Export.h
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_EventServiceBase.cpp
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_EventServiceBase.h
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_Events_Base.mpc
+ * ciaosvcs/Events/CIAO_Events_Base/CIAO_Events_Export.h
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEVENT_Export.h
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.cpp
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.h
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.idl
+ * ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.mpc
+
+ Added CIAO_Event_Service support, which are some reusable
+ libraries and CORBA services that could be configured and
+ installed on demand through the DAnCE toolchain.
+
+ * docs/schema/Basic_Deployment_Data.xsd
+ * docs/schema/CIAOEvents.xsd
+ * docs/schema/cdp.xsd
+
+ Enhanced XML schema to capture metadata information for
+ configuring and deploying pub/sub services.
+
+ * tools/Config_Handlers/Basic_Deployment_Data.cpp
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+ * tools/Config_Handlers/CPD_Handler.cpp
+ * tools/Config_Handlers/Config_Handlers.mpc
+ * tools/Config_Handlers/DP_Handler.cpp
+ * tools/Config_Handlers/ESD_Handler.cpp
+ * tools/Config_Handlers/ESD_Handler.h
+ * tools/Config_Handlers/PSPE_Handler.cpp
+ * tools/Config_Handlers/CIAO_Events/CIAOEvents.cpp
+ * tools/Config_Handlers/CIAO_Events/CIAOEvents.hpp
+ * tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.cpp
+ * tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.h
+ * tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers.mpc
+ * tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers_Export.h
+ * tools/Config_Handlers/CIAO_Events/test.cpp
+
+ Added config handler support to accomodate the above changes.
+
+ * examples/Hello/descriptors_events/ciao-events-example-with-filters.ced
+ * examples/Hello/descriptors_events/ciao-events-example.ced
+ * examples/Hello/descriptors_events/flattened_deploymentplan_events.cdp
+ * examples/Hello/descriptors_events/flattened_deploymentplan_with_filters.cdp
+
+ Added several examples to showcase the capability of CIAO
+ pub/sub services.
+
+Thu Mar 30 14:43:46 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/AttributeSourceEmitters_T.hpp:
+
+ Added 'using namespace StringLiterals;' to this file. Thanks
+ to Nanbor Wang <nanbor@txcorp.com> for pointing out that
+ this line is also necessary on some platforms, in addition
+ to the change of
+
+ Wed Mar 29 20:29:40 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Wed Mar 29 20:29:40 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/AttributeSourceEmitters_T.hpp:
+
+ Added #include of Literals.hpp. Some platforms are picking up
+ the declarations in this file without the explicit include,
+ others are not.
+
+Wed Mar 29 19:52:54 UTC 2006 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * examples/Hello/descriptors_RTCCM/rt-config-example.csr:
+ Updated <cmdline> and <svcconf> element with more realistic
+ values.
+
+Wed Mar 29 04:40:58 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+
+ Added the functionality to honor command line arguments
+ and service configuration file options defined through
+ RT-CCM descriptors.
+
+Mon Mar 27 19:56:51 UTC 2006 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplication/NodeApplication.cpp (main): Added code to
+ print out commandline options of the NodeApplicaion. The print
+ out is available for CIAO_DEBUG_LEVEL > 9.
+
+ * DAnCE/NodeApplication/Configuration_Factory.h:
+ * DAnCE/NodeApplication/Configuration_Factory.cpp: Changed
+ parse_args function to pass "argc" as reference to be consistent
+ with Arg_Shifter's signature.
+
+ Double-check the "-o" flag first with exact string comparison
+ before extracting the parameter to avoid mistaking any of the
+ "-ORBxxx" command line flags as the "-o" flag. Thanks to Sandro
+ Andrade <sandro @dcc.ufba.br> for reporting the bug.
+
+Mon Mar 20 22:35:47 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ciao/Servant_Impl_Utils_T.cpp:
+
+ - Added 'typename' qualifier when declaring instances
+ of an iterator for a templatized hash map, since gcc
+ reminds us that leaving the compiler to implicitly
+ determine if the scoped name denotes a member or a
+ type is deprecated.
+
+ - Added an #include of Cookies.h, which is need by compilers
+ that don't require the template sourced to be included in
+ the header file.
+
+Sun Mar 19 20:37:47 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/TypeNameEmitter.cpp:
+ * CIDLC/TypeNameEmitter.hpp:
+
+ Removed these files, their former contents are now divided
+ between CorbaTypenameEmitters.{hpp,cpp} and
+ UtilityTypeNameEmitters.{hpp,cpp}.
+
+Fri Mar 17 14:23:53 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ciao/CCM_Core.mpc:
+ * ciao/Servant_Impl_Base.cpp:
+ * ciao/Servant_Impl_Base.h
+
+ - Changed port table types from
+ ACE_Hash_Map_Manager_Ex<> to ACE_Array_Map<>,
+ which is more lightweight and makes no
+ allocations if no entries are added to
+ the table.
+
+ - Implemented spec-defined methods
+ get_all_receptacles(), get_all_publishers(),
+ and disconnect_consumer().
+
+ * ciao/Servant_Impl_Utils_T.cpp:
+
+ New file, containing implementations of new
+ static template methods added to class
+ Servant_Impl_Base, which are called in
+ generated code as part of the implementation
+ of the spec-defined methods mentioned above.
+
+ * CIDLC/AttributeHeaderEmitters.cpp:
+ * CIDLC/AttributeHeaderEmitters.hpp:
+ * CIDLC/AttributeSourceEmitters_T.hpp:
+ * CIDLC/CompositionEmitter.cpp:
+ * CIDLC/CompositionEmitter.hpp:
+ * CIDLC/CorbaTypeNameEmitters.cpp:
+ * CIDLC/CorbaTypeNameEmitters.hpp:
+ * CIDLC/EmitterBase.cpp:
+ * CIDLC/EmitterBase.hpp:
+ * CIDLC/EmitterContext.cpp:
+ * CIDLC/EmitterContext.hpp:
+ * CIDLC/InterfaceEmitter.cpp:
+ * CIDLC/InterfaceEmitter.hpp:
+ * CIDLC/ModuleEmitter.cpp:
+ * CIDLC/ModuleEmitter.hpp:
+ * CIDLC/OperationHeaderEmitters.cpp:
+ * CIDLC/OperationHeaderEmitters.hpp:
+ * CIDLC/ParameterEmitter_T.hpp:
+ * CIDLC/Upcase.hpp:
+ * CIDLC/UtilityTypeNameEmitters.cpp:
+ * CIDLC/UtilityTypeNameEmitters.hpp:
+
+ New files, containing common code factored
+ out of the C++ source files below.
+
+ * CIDLC/CIDLC.mpc:
+ * CIDLC/DescriptorGenerator.cpp:
+ * CIDLC/ExecImplHeaderGenerator.cpp:
+ * CIDLC/ExecImplSourceGenerator.cpp:
+ * CIDLC/ExecutorMappingGenerator.cpp:
+ * CIDLC/Literals.cpp:
+ * CIDLC/Literals.hpp:
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ - Added new generated code as part of the
+ implementation of the spec-defined methods
+ mentioned above.
+
+ - Added support for attribute exceptions in
+ code optionally generated for the stencil
+ executor implementation classes.
+
+Thu Mar 16 16:31:51 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ciao/CCM_Component.idl:
+
+ Added "omg.org" prefix to the recently added opening of the
+ CORBA module in this file.
+
+Tue Mar 14 10:10:58 UTC 2006 Nilabja Roy <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/MonitorController.h:
+ Reverting back to previous version to avoid conflicts
+
+Tue Mar 14 09:46:25 UTC 2006 Nilabja Roy <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/MonitorController.cpp:
+ Reverting back to previous version. Mistakenly added conflicted version.
+
+Thu Mar 9 09:18:58 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * COPYING: Updated the date to include 2006.
+ Thanks to Alan Kierstead <ackierstead at fedex dot com> for
+ motivating the fix to this oversight.
+
+Thu Mar 09 08:55:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Interfaces/ExecutionManagerDaemon.idl:
+ * DAnCE/Interfaces/NodeManagerDaemon.idl:
+ New idl files, these are the same as there are now in the directory
+ but then just renamed to match the interfaces in these files and
+ then don't conflict with the ones I created in ciao.
+
+ * DAnCE/Interfaces/ExecutionManager.idl:
+ * DAnCE/Interfaces/NodeManager.idl:
+ Removed, file names where not correct and now conflict with files in
+ the ciao directory
+
+ * DAnCE/Interfaces/Interfaces.mpc:
+ Updated because of file renames
+
+ * ciao/CCM_Base.idl:
+ Removed old comment
+
+ * ciao/CCM_Component.idl:
+ Forward declare CORBA::IRObject instead of including the IFR_Client
+ idl file
+
+ * ciao/Deployment_Base.idl:
+ Removed not needed include
+
+ * ciao/Dynamic_Component_Activator.h:
+ Reordered includes
+
+ * ciao/Swapping_Servant_Home_Impl_Base.h:
+ * ciao/Upgradeable_Context_Impl_T.h:
+ * ciao/Swapping_Servant_Home_Impl_T.h:
+ * ciao/Swapping_Servant_Home_Impl_T.cpp:
+ Added ciao/ as prefix for the includes
+
+ * ciao/Upgradeable_Context_Impl_T.h:
+ Added private default constructor
+
+ * ciao/Deployment.idl:
+ * ciao/DomainApplicationManager.idl:
+ * ciao/ExecutionManager.idl:
+ * ciao/NodeApplication_Callback.idl:
+ * ciao/NodeApplicationManager.idl:
+ * ciao/NodeManager.idl:
+ * ciao/RepositoryManager.idl:
+ * ciao/CCM_Core.mpc:
+ Splitted Deployment.idl in multiple files so that the linker
+ can decide not to link in a set of object files we don't need.
+ This will reduce footprint for several applications
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.h:
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h:
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h:
+ * DAnCE/ExecutionManager/DAM_Map.cpp:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h:
+ * DAnCE/NodeManager/NodeManager_Impl.h:
+ * DAnCE/NodeManager/Node_Manager.cpp:
+ * DAnCE/NodeManager/NodeManager.mpc:
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.{h.cpp}:
+ * DAnCE/TargetManager/Deployment_Configuration.h:
+ Updated for the idl subsetting of ciao/Deployment.idl. Also add ciao/
+ prefix to several includes and try to cleanup a little.
+
+ * DAnCE/RepositoryManager/RepositoryManager.idl:
+ * DAnCE/RepositoryManager/RepositoryManagerDaemon.idl:
+ Renamed the first file to the second, matches the interface name.
+
+ * DAnCE/RepositoryManager/RepositoryManager.mpc:
+ * DAnCE/RepositoryManager/RMadmin.cpp:
+ * DAnCE/RepositoryManager/PC_Updater.{h,cpp}:
+ * DAnCE/RepositoryManager/RepositoryManager_Impl.h:
+ * DAnCE/RepositoryManager/RepositoryManager.cpp:
+ Updated because of rename above
+
+ * DAnCE/RTNodeApplication/senv.sh:
+ Removed this file, no need here.
+
+ * DAnCE/RTNodeApplication/NodeApplication_Task.h:
+ No need for virtual inheritance, that consumes more footprint then
+ needed.
+
+ * DAnCE/RTNodeApplication/NodeApplication_Task.cpp:
+ Reordered includes
+
+Wed Mar 08 15:58:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/ServerResources.idl:
+ Fixed incorrect file header
+
+Wed Mar 08 14:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rules.ciao.GNU:
+ Added $(CIAO_ROOT)/ciao to LDFLAGS and $(CIAO) to INCLDIRS
+ as we do in rules.tao.GNU, this improves the footprint stats
+
+Mon Mar 06 16:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Swapping_Container.{h,cpp}:
+ Made serial_number_ unsigned and documented why it is static
+
+ * performance-tests/Benchmark/LatencyTest.h:
+ Removed not needed msvc pragma push/pop
+
+Sun Mar 05 11:16:46 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * CIAO version 0.5 released.
+
+Thu Mar 2 17:50:36 UTC 2006 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/IDL2/SemanticGraph/Struct.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Union.cpp:
+
+ Fixed a bug in the logic that determines completeness of recursive
+ structs and unions.
+
+Thu Mar 2 08:49:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeApplication/Container_Impl.cpp:
+ Replaced NULL with 0
+
+Thu Mar 2 01:33:09 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated this file with info from Ming Xiong and Gan Deng.
+
+Wed Mar 1 22:34:52 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated the file with info from Ming Xiong.
+
+Wed Mar 1 19:34:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIAO-INSTALL.html:
+ Updated rename of CIAOTAO.mwc to CIAO_TAO.mwc
+
+Wed Mar 1 15:02:10 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * DAnCE/NodeApplication/Container_Impl.h
+ * DAnCE/NodeApplication/Container_Impl.cpp
+
+ Added codes to unregister with naming service when removing
+ components
+
+Tue Feb 28 18:46:42 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Deployment.xsd
+ * DAnCE/Deployment.xsd.orig
+ * DAnCE/XMI.xsd
+ * DAnCE/XMI.xsd.orig
+
+ Removed these schema files. They were misleading and useless.
+
+Fri Feb 24 21:21:02 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * tools/Config_Handlers/Config_Handlers.mpc
+
+ Added a verbatim to disable hidden_visibility for Config_Handlers
+
+Fri Feb 24 18:54:52 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * DAnCE/RepositoryManager/HTTP_Handler.cpp:
+ * DAnCE/RepositoryManager/RM_Helper.h:
+ * DAnCE/RepositoryManager/RM_Helper.cpp:
+ * DAnCE/RepositoryManager/RepositoryManager_Impl.cpp:
+ some cosmetic changes
+
+ * DAnCE/RepositoryManager/URL_Parser.h:
+ made the constructor protected and made the ACE_Singleton a friend
+
+ * DAnCE/RepositoryManager/URL_Parser.cpp:
+ fixed a bug and improved the robustness of the code
+
+Fri Feb 24 09:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIAO-INSTALL.html:
+ Fixed typo
+
+Thu Feb 23 23:35:59 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * examples/Swapping/Receiver/Receiver.mpc:
+ * examples/Swapping/Sender/Sender.mpc:
+
+ I was over zealous in my previous change. I shortened too many
+ project names (those that are defined in projects outside of these
+ mpc files).
+
+Wed Feb 22 16:38:32 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * CIAO-INSTALL.html:
+
+ Updated the documentation on how to build cidlc on Windows.
+
+ * examples/Swapping/Receiver/Receiver.mpc:
+ * examples/Swapping/Sender/Sender.mpc:
+
+ Shortened the project names in these MPC files to avoid fuzz
+ warnings.
+
+Wed Feb 22 01:11:59 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplication/Container_Impl.cpp
+
+ Fixed a bug about naming service registration.
+ Thanks Sandro Andrade <sandro @dcc.ufba.br> for reporting
+ a bug about removing component error.
+
+Tue Feb 21 23:59:05 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciao/Deployment.idl
+
+ Added a parameter to the perform_redeployment() operation
+ to the NodeApplicationManager interface to separate the
+ "installation of new components" from the "removal of
+ existing components".
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+
+ Modified the logic of perform_redeployment() functionality
+ to enforce correct order of ReDaC, which is:
+ (1) Install new components,
+ (2) Set up new connections,
+ (3) Remove old connections, and
+ (4) Remove old components.
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+
+ Fixed a bug about removing components when using ReDaC.
+ In NodeApplicationManager, after the perform_redeployment()
+ call calls the remove_components() method to actually
+ destroy components from the component server, DAnCE NAM doesn't
+ unbind those components from the cached component_map_, hence
+ when the create_connections() method is called afterwords,
+ NAM tries to access the destroyed components to get
+ their port information, which causes the Object_Not_Exist
+ exception thrown.
+
+ The fix will unbind the removed components from the
+ cached component map. However, the trick is that after
+ we unbind these components, the port iinformation of
+ these components are also lost, then the
+ DomainApplicaitonManager could not handle the
+ "removal" of connections correctly.
+
+ The Right Fix is to enforce correct call sequence, which
+ are illustrated above.
+ Thanks Sandro Andrade <sandro @dcc.ufba.br> for reporting
+ a bug about removing component error.
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.h
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp
+
+ Added a component state map to keep track of component state
+ information. With this map, components will be activated
+ only when they are newly created, and will be passivated
+ only when they are currently active. This will also fix
+ a bug about the component initialization sequence. Earlier,
+ when components are installed, they are immediately activated
+ by explicitly calling ciao_preactivate, ciao_activate, and
+ ciao_postactivate on the comopnent object reference,
+ which is not compliant to the Spec defined semantics.
+ This fix shall ensure that the components are activated AFTER
+ their connections have been setup.
+
+ * DAnCE/NodeApplication/Container_Impl.cpp
+
+ Fixed a bug when passing object reference to a local function.
+ Earlier the memory of the object reference is released by
+ the callee, which causes the object reference becomes invalid
+ after the function returns.
+
+Tue Feb 21 19:43:11 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * performance-tests/Benchmark/RoundTripClient/RoundTripClient.mpc
+ * performance-tests/Protocols/Controller/Controller.mpc
+
+ Added avoids+= ace_for_tao to two additional projects.
+
+ * examples/Display/descriptors/EM.ior
+ * examples/Display/descriptors/GPS.ior
+ * examples/Display/descriptors/NavDisplay.ior
+ * examples/Display/descriptors/NavDisplayGUI.ior
+
+ Removed these ior files.
+
+Tue Feb 21 17:40:20 UTC 2006 Nishanth Shankaran <nshankar@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/MonitorController.cpp:
+
+ Fixed ACE_TRACE compilation error.
+
+Mon Feb 20 15:08:49 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * CIAO version 0.4.10 released.
+
+Mon Feb 20 19:48:12 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_Impl.ccd
+
+ Removed this file because it is generated
+
+Fri Feb 17 19:22:21 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated this file with more inputs.
+
+Thu Feb 16 15:04:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIAO_DAnCE.mwc:
+ Fixed typo in this file
+
+Thu Feb 16 04:14:15 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * performance-tests/Benchmark/RoundTripClient/RoundTripClient.mpc
+ * performance-tests/Protocols/Receiver/Receiver.mpc
+ * performance-tests/Protocols/Sender/Sender.mpc
+
+ Disabled building some project when ace_for_tao is set.
+
+Wed Feb 15 19:24:31 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * CIAO.mwc
+
+ This file now builds all of CIAO.
+
+ * CIAODAnCE.mwc
+ * CIAO_DAnCE.mwc
+
+ Renamed this file to CIAO_DAnCE.mwc
+
+ * CIAOTAO.mwc
+ * CIAO_TAO.mwc
+
+ Renamed this file to CIAO_TAO.mwc.
+
+ Thanks to Chad Elliott (elliott_c at ociweb dot com) for suggesting
+ these changes.
+
+ * CIAO_TAO_DAnCE.mwc
+
+ Removed the DAnCE/tests/Config_Handlers exclusion, as it no
+ longer exists.
+
+Wed Feb 15 07:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_exec.cpp:
+ Replaced ACE cast macros with their C++ versions
+
+Wed Feb 15 07:28:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIDLC/ServantSourceGenerator.cpp:
+ Fixed generation so that it compiles with Borland
+
+Tue Feb 14 23:01:46 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp
+
+ Fixed a bug when removing ReDaC components from the container.
+ This bug was caused by the container set indexing error when
+ handling newly installed components.
+ Thanks Sandro Andrade <sandro @dcc.ufba.br> for reporting
+ this issue.
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+
+ Some cosmetic changes.
+
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp
+ * DAnCE/NodeApplicationManager/ImplementationInfo.h
+
+ Added a const modifier in the constructor to ensure safety.
+
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+
+ Fixed a bug when detecting whether a component is shared
+ by multiple assemblies. Earlier, when ReDaC is used, existing
+ components are wrongly treated as shared components.
+
+Tue Feb 14 22:02:59 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * CIAO_TAO_DAnCE.mwc
+
+ Added naming service and Config_Handlers.
+
+ * DAnCE/NodeManager/NodeManager.mpc
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc
+
+ Fixed link time warnings on OS X.
+
+Tue Feb 14 19:57:32 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp
+
+ Fixed a bug about when a component has a name with "Exec"
+ string in it, the _stub library could be picked up
+ incorrectly.
+
+Mon Feb 13 20:53:58 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+
+ Fixed a bug about removing existing components. Earlier
+ the logic in detecting "to-be-removed" components has
+ a bug.
+
+Mon Feb 13 20:11:35 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_exec.cpp
+
+ Changed ACE_const_cast to c++ native const_cast since the
+ former one is deprecated. Also changed the implementation of
+ the acquireSession() logic, so the deadlock bug could
+ be reproduced.
+
+Mon Feb 13 20:01:38 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp
+
+ Cosmetics change.
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+
+ Enhanced to call ccm_activate, ciao_preactivate, and
+ ciao_postactivate when installing new components.
+ Thanks Sandro Andrade <sandro @dcc.ufba.br> for reporting
+ this issue.
+
+ Also added the logic for remove_existing_components into
+ the class, which has not been integrated yet.
+
+ Refactor the code by putting these logics into separate
+ methods to enhance readability.
+
+Mon Feb 13 17:12:09 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/Execution_Manager.cpp
+
+ Fixed a bug about registering EM with naming service, originally
+ an invalid naming context is specified. Also allowed EM to both
+ register to naming service AND dump and IOR file. Thanks Sandro
+ Andrade <sandro at dcc dot ufba dot br> for reporting this bug.
+
+Mon Feb 13 15:41:21 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_exec.cpp
+
+ Fixed a warning about "deprecated conversion from string
+ constant to `char*' on RHEL_Static_GCC-3.4.2 build.
+
+Mon Feb 13 11:34:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_exec.h:
+ Removed not allowed semicolon
+
+Mon Feb 13 09:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_exec.h:
+ Fixed compile error in single threaded builds
+
+Mon Feb 13 08:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Server_init.cpp:
+ * tests/Bug_2130_Regression/SEC_CheckPoint/controller.cpp:
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_exec.cpp:
+ Fixed conversion warnings
+
+Sat Feb 11 21:39:54 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.h
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent_Factory.h
+
+ Fixed fuzz build erros.
+
+Sat Feb 11 21:26:08 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * tests/Bug_2130_Regression/descriptors/run_test.pl
+
+ Fixed the command line option to start the NodeApplication
+ to enable real-time support.
+ Thanks Roland Schimmack <Roland.Schimmack @ gmx.de> for
+ reporting this error.
+
+Sat Feb 11 21:00:00 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * ciao/Server_init.cpp
+
+ Removed an extra explicit qualification
+
+Sat Feb 11 18:49:21 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciaosvcs/Events/CIAO_Events.mpc
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.mpc
+ Removed these files to get at least our builds running again
+
+Fri Feb 10 16:11:35 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciaosvcs/Events/CIAO_Events.mpc
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.mpc
+
+ Temporarily disable the build of these projects before
+ the integration effort is complete to avoid pollute
+ the scoreboard.
+
+Fri Feb 10 14:28:14 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * docs/tutorials/CoSMIC/01.html
+ * docs/tutorials/CoSMIC/02.html
+ * docs/tutorials/CoSMIC/index.html
+ * docs/tutorials/CoSMIC/Images/fig10.jpg
+ * docs/tutorials/CoSMIC/Images/fig11.jpg
+ * docs/tutorials/CoSMIC/Images/fig2.jpg
+ * docs/tutorials/CoSMIC/Images/fig4.jpg
+ * docs/tutorials/CoSMIC/Images/fig5.jpg
+ * docs/tutorials/CoSMIC/Images/fig6.jpg
+ * docs/tutorials/CoSMIC/Images/fig7.jpg
+ * docs/tutorials/CoSMIC/Images/fig8.jpg
+ * docs/tutorials/CoSMIC/Images/fig9.jpg
+ * docs/tutorials/CoSMIC/Model/Quoter.xme
+
+ Updated the CoSMIC tutorial so that it is consistent with
+ the latest GME and CoSMIC.
+
+Fri Feb 10 11:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Port_Activator.h:
+ Doxygen improvements
+
+ * ciao/NodeApp_CB_Impl.h:
+ Made destructor protected
+
+ * ciao/Container_Base.{h,cpp}:
+ Made the refcount unsigned long, addressed several comments and
+ improved documentation
+
+Fri Feb 10 04:56:26 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplication/Container_Impl.cpp
+ * DAnCE/NodeApplication/Container_Impl.h
+ * ciao/Server_init.cpp
+ * ciao/Server_init.h
+
+ Added support for creating multicomponent naming context through
+ the deployment plan. Thanks Dipa Suri <dipa.suri @ lmco.com> for
+ contributing a NameUtility class implementation.
+
+ * ciaosvcs/Events/CIAO_Events.idl
+ * ciaosvcs/Events/CIAO_Events.mpc
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.cpp
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.h
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.idl
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent.mpc
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent_Factory.cpp
+ * ciaosvcs/Events/CIAO_Direct/CIAO_DirectEvent_Factory.h
+
+ Added some files for event channel integration for CIAO.
+ More file check-ins are on the way.
+
+Thu Feb 9 23:38:19 UTC 2006 xiong,ming <ming.xiong@vanderbilt.edu>
+
+ * TAO/CIAO/CIAOTAO.mwc
+
+ Updated mwc to include some dependencies required by tests
+ and examples.
+
+ * tests/Bug_2130_Regression/Logs/PROBLEM-REPORT-FORM
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.cidl
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.idl
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPointEI.idl
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_Impl.ccd
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_exec.cpp
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_exec.h
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_exec_export.h
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_stub_export.h
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint_svnt_export.h
+ * tests/Bug_2130_Regression/SEC_CheckPoint/controller.cpp
+ * tests/Bug_2130_Regression/descriptors/DeploymentPlan.cdp
+ * tests/Bug_2130_Regression/descriptors/TestNodeManagerMap.dat
+ * tests/Bug_2130_Regression/descriptors/rt-config-example.csr
+ * tests/Bug_2130_Regression/descriptors/run_test.pl
+ * tests/Bug_2130_Regression/interfaces/ENW.idl
+ * tests/Bug_2130_Regression/interfaces/ENW.mpc
+ * tests/Bug_2130_Regression/interfaces/ENW_stub_export.h
+ * tests/Bug_2130_Regression/interfaces/ENW_svnt_export.h
+
+ Added a new tests for Bug_2130.
+ Thanks Roland Schimmack <Roland.Schimmack @ gmx.de> for
+ providing this test case.
+
+Thu Feb 9 16:48:42 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tools/IDL3_to_IDL2/be_global.h:
+ * tools/IDL3_to_IDL2/be_init.cpp:
+ * tools/IDL3_to_IDL2/be_sunsoft.cpp:
+ * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp:
+ * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.h:
+
+ Removed all usage of internal 'idl_bool' typedef in the
+ IDL3 to IDL2 converter, consistently with the changes to
+ the TAO IDL compiler front end, which is used by this
+ tool.
+
+Thu Feb 9 16:33:45 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/ADD_Handler.cpp
+ * tools/Config_Handlers/Any_Handler.cpp
+ * tools/Config_Handlers/CCD_Handler.cpp
+ * tools/Config_Handlers/CEPE_Handler.cpp
+ * tools/Config_Handlers/CPD_Handler.cpp
+ * tools/Config_Handlers/CRDD_Handler.cpp
+ * tools/Config_Handlers/ComponentPropertyDescription_Handler.cpp
+ * tools/Config_Handlers/DD_Handler.cpp
+ * tools/Config_Handlers/DP_Handler.cpp
+ * tools/Config_Handlers/DP_PCD_Handler.cpp
+ * tools/Config_Handlers/DataType_Handler.cpp
+ * tools/Config_Handlers/ERE_Handler.cpp
+ * tools/Config_Handlers/IDD_Handler.cpp
+ * tools/Config_Handlers/IDREF_Base.cpp
+ * tools/Config_Handlers/ID_Handler.cpp
+ * tools/Config_Handlers/IRDD_Handler.cpp
+ * tools/Config_Handlers/MDD_Handler.cpp
+ * tools/Config_Handlers/PCD_Handler.cpp
+ * tools/Config_Handlers/PSPE_Handler.cpp
+ * tools/Config_Handlers/Property_Handler.cpp
+ * tools/Config_Handlers/RDD_Handler.cpp
+ * tools/Config_Handlers/Req_Handler.cpp
+ * tools/Config_Handlers/STD_PC_Intf.cpp
+ * tools/Config_Handlers/XML_File_Intf.cpp
+
+ Added CIAO_TRACE statements to aid in debugging.
+
+Wed Feb 08 15:53:31 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * CIAO version 0.4.9 released.
+
+Tue Feb 7 16:10:10 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/NodeManager.mpc
+
+ Fixed an ordering problem.
+
+Mon Feb 6 19:13:13 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+
+ Fixed an export problem manifesting in VC8.
+
+ * performance-tests/Benchmark/Benchmark.mpc
+
+ Added an empty IDL_Files section to the servant to prevent
+ nmake from regenerating from the IDL file.
+
+Mon Feb 6 13:54:39 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * ciao/ComponentsC.h:
+
+ Place TAO namespace in this pre-generated stub header within a
+ TAO versioned namespace, as TAO_IDL does for all stubs. Fixes
+ build errors in versioned-namespace enabled builds.
+
+Mon Feb 6 13:33:54 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplication/NoOp_Configurator.h
+
+ Case sensitivity error from previous commit.
+
+Mon Feb 6 00:39:41 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplication/Configurator_Factory.cpp
+ * DAnCE/NodeApplication/Configurator_Factory.h
+ * DAnCE/NodeApplication/NodeApplication.mpc
+ * DAnCE/NodeApplication/NodeApplication_Core.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+ * DAnCE/NodeManager/MonitorController.h
+ * DAnCE/NodeManager/NodeManager.mpc
+ * DAnCE/NodeApplication/NoOp_Configurator.cpp
+ * DAnCE/NodeApplication/NoOp_Configurator.h
+ * DAnCE/NodeApplication/NoOp_Configurator_export.h
+
+ Fixed linking errors on Borland 6. Mostly involved improper
+ symbol export control.
+
+ * tools/Config_Handlers/cdd.hpp
+ * tools/Config_Handlers/cdp.hpp
+
+ Added a fix for a broken <string> include in Borland 6.
+
+Fri Feb 3 24:30:19 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * ciao/CIAO_common.h:
+
+ Removed extraneous "#" in "# #error" preprocessor directive.
+
+ * ciao/Client_init.h:
+
+ Moved CIAO namespace out of TAO-versioned namespace block. It
+ shouldn't have been there. Fixes namespace clashes in versioned
+ namespace enabled builds.
+
+Thu Feb 2 23:55:01 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * NEWS
+
+ Updated the release notes.
+
+Thu Feb 2 22:59:23 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/RepositoryManager/ZIP_Wrapper.cpp
+
+ Updated include from zziplib.h to zzip/zzip.h, as the former
+ is deprecated and absent in the most recent release.
+
+Thu Feb 2 15:49:31 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * docs/tutorials/CoSMIC/01.html: Commited a fix for a typo detected by
+ Abdullah Sowayan <abdullah dot sowayan at lmco dot com> and
+ fixed by Ming Xiong.
+
+Thu Feb 2 16:58:15 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIAO_TAO_DAnCE.mwc:
+ * CIAODAnCE.mwc:
+ Removed Old_Config_Handlers and spec_RepositoryManager
+
+Thu Feb 2 16:31:15 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/BaseMonitor.h
+ * DAnCE/NodeManager/CIAO_Monitor.h
+ * DAnCE/NodeManager/MonitorCB.h
+ * DAnCE/NodeManager/MonitorController.cpp
+ * DAnCE/NodeManager/MonitorController.h
+ * DAnCE/TargetManager/DomainDataManager.h
+
+ Removed extra ';' after closing braces on namespaces.
+ Was causing errors on GCC4 builds.
+
+ * DAnCE/NodeManager/MonitorController.inl
+
+ Removed this file, as it is no longer used.
+
+Wed Feb 1 21:21:35 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/BaseMonitor.h
+ * DAnCE/NodeManager/CIAO_Monitor.cpp
+ * DAnCE/NodeManager/CIAO_Monitor.h
+ * DAnCE/NodeManager/MonitorCB.cpp
+ * DAnCE/NodeManager/MonitorCB.h
+ * DAnCE/NodeManager/MonitorController.cpp
+ * DAnCE/NodeManager/MonitorController.h
+ * DAnCE/TargetManager/DomainDataManager.cpp
+ * DAnCE/TargetManager/DomainDataManager.h
+ * DAnCE/TargetManager/TargetManager_exec.cpp
+ * DAnCE/TargetManager/TargetManager_exec.h
+
+ Wraps the TargetManager/Monitors inside the CIAO namespace.
+ Thanks to Nilabja Roy (nilabjar@dre.vanderbilt.edu) for
+ making these changes and thanks to Johnny for noticing this!
+
+Wed Feb 1 20:42:42 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * CIDLC/ServantSourceGenerator.cpp
+ * tools/Config_Handlers/RT-CCM/TPL_Handler.cpp
+ * tools/Config_Handlers/Utils/XercesString.cpp
+ * tools/Config_Handlers/Utils/XercesString.h
+ * tools/Config_Handlers/XMLSchema/Writer.hpp
+
+ Fixes for warnings on ICC platforms.
+
+Wed Feb 1 14:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/TargetManager/DomainDataManager.h:
+ Small doxygein improvement
+
+Wed Feb 1 04:32:38 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * RACE/Planner_Manager/Component/Planner_Manager.idl
+
+ Resolve a linking error on Windows.
+
+Tue Jan 31 23:33:23 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Old_Config_Handlers
+ * DAnCE/test/Config_Handlers_Tests
+
+ Removed deprecated config handlers.
+
+ * NEWS
+
+ Commented on this removal.
+
+Tue Jan 31 21:51:52 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * examples/Hello/descriptors/run_test.pl
+ * examples/Hello/descriptors/run_test_without_ns.pl
+
+ Added a parameter to the NodeManagers to cause them to wait
+ up to 30 seconds for the NodeApplications to spawn before failing.
+ This should fix the hello test on several platforms.
+
+Tue Jan 31 21:29:06 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * examples/Hello/descriptors/run_test.pl
+
+ Updated to force naming service to not use multicast, instead
+ using NameServiceIOR environment variable.
+
+ * examples/Hello/descriptors/run_test_without_ns.pl
+
+ Updated ports to reflect new NodeManagerMap.
+
+Tue Jan 31 15:11:29 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * RACE/Controller/Component/Controller.mpc
+
+ Fixed linking errors on OS X.
+
+Tue Jan 31 14:41:31 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+
+ Fixed a couple of warning on SuSE_10_0_GCC4.0.2_x86_64_Valgrind
+ build.
+
+Tue Jan 31 11:42:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeManager/NodeManager_Impl.cpp:
+ Fixed compile error with VxWorks 5.5.1
+
+Mon Jan 30 22:43:26 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * examples/Hello/descriptors/run_NodeDaemons.pl:
+
+ Fixing this script so that the Hello example deploys successfully.
+
+Mon Jan 30 21:16:40 UTC 2006 Ming Xiong <ming.xiong@vanderbilt.edu>
+
+ * docs/tutorials/CoSMIC/01.html
+ * docs/tutorials/CoSMIC/02.html
+ * docs/tutorials/CoSMIC/03.html
+ * docs/tutorials/CoSMIC/04.html
+ * docs/tutorials/CoSMIC/index.html
+ * docs/tutorials/CoSMIC/Icons/AddConnMode.gif
+ * docs/tutorials/CoSMIC/Icons/SetMode.gif
+ * docs/tutorials/CoSMIC/Images/fig1.jpg
+ * docs/tutorials/CoSMIC/Images/fig10.jpg
+ * docs/tutorials/CoSMIC/Images/fig11.jpg
+ * docs/tutorials/CoSMIC/Images/fig2.jpg
+ * docs/tutorials/CoSMIC/Images/fig3.jpg
+ * docs/tutorials/CoSMIC/Images/fig4.jpg
+ * docs/tutorials/CoSMIC/Images/fig5.jpg
+ * docs/tutorials/CoSMIC/Images/fig6.jpg
+ * docs/tutorials/CoSMIC/Images/fig7.jpg
+ * docs/tutorials/CoSMIC/Images/fig8.jpg
+ * docs/tutorials/CoSMIC/Images/fig9.jpg
+ * docs/tutorials/CoSMIC/Model/Quoter.xme
+
+ Added CoSMIC tutorial for /docs/tutorials/Quoter/Simple
+
+Mon Jan 30 17:50:38 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+
+ Modified to inherit from dance_extension_stub project
+ so the included header file could be found.
+
+Mon Jan 30 17:35:12 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/Interfaces/Interfaces.mpc
+ * DAnCE/NodeManager/NodeManager.mpc
+ * DAnCE/NodeManager/NodeManager_Impl.h
+
+ Fixed a linking error of NodeManager when trying to
+ link to IDL generated servant code.
+
+ * DAnCE/NodeManager/CIAO_NodeManager_Export.h
+ * DAnCE/Interfaces/NodeManager_svnt_export.h
+
+ Removed the first one and added the second one to
+ fix the linking error when trying to find entry
+ point for IDL compiler generated servant code.
+
+Mon Jan 30 05:07:09 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * examples/Hello/descriptors/NodeManagerMap.dat
+
+ Corrected the ports to match those in the run_test.pl script.
+
+Mon Jan 30 01:59:23 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+
+ Cosmetic change.
+
+ * DAnCE/NodeManager/NodeManager.mpc
+
+ Fixed a typo.
+
+Mon Jan 30 01:47:21 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeManager/NodeManager.mpc
+ * DAnCE/NodeManager/NodeManager_Impl.h
+ * DAnCE/NodeManager/NodeManager_Export.h
+
+ Added dll import/export mechanism into NodeManager library.
+
+Sat Jan 28 22:24:35 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * examples/Hello/descriptors/run_test.pl
+
+ Corrected the name of the NodeManagerMap passed to ExecutionManager.
+ This was causing the test to fail across all platforms.
+
+Sat Jan 28 05:55:45 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/NodeManager.mpc
+
+ Added a missing after clause.
+
+Fri Jan 27 22:42:47 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * RACE/Controller/Component/Controller.mpc
+
+ Fixed linking errors on Windows.
+
+Fri Jan 27 20:58:19 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * tests/Bug_2130_Regression
+
+ A place to host Bug 2130 test case.
+
+Fri Jan 27 20:42:47 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/DnC_Dump_T.h
+
+ Silenced warnings in solaris.
+
+Fri Jan 27 20:30:01 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+
+ Fixed uninitialized variable warnings on Solaris GCC.
+
+ *DAnCE/NodeManager/NodeManager.mpc
+
+ Refactored the projects here so all files related to NodeManager
+ are only compiled once.
+
+Fri Jan 27 19:15:19 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/Monitor.mpc: Added the dependancy on
+ TargetManaer_stub
+
+Fri Jan 27 19:07:08 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/MonitorController.h
+ * DAnCE/NodeManager/MonitorController.inl
+
+ Refined the fix in
+ Fri Jan 27 17:29:54 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+ to use ACE_SYNCH_MUTEX. Thanks to Doug Schmidt for suggesting the
+ improvement.
+
+Fri Jan 27 17:35:55 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * RACE/Controller/Component/Controller.mpc
+
+ Fixed linking errors on Mac OS X.
+
+Fri Jan 27 17:29:54 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/MonitorController.h
+ * DAnCE/NodeManager/MonitorController.inl
+
+ Added preprocessor logic to fall back to an ACE_Mutex on
+ platforms that don't support ACE_Thread_Mutex.
+
+Fri Jan 27 16:59:11 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+
+ Fixed a couple of warnings on SuSE_10_0_GCC4.0.2_x86_64_Valgrind
+ build about pointer initialization.
+
+Thu Jan 26 23:48:47 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * examples/Hello/step-by-step.html
+
+ Fixed a fuzz error about dependency on ~schmidt/ACE_wrappers.
+
+Thu Jan 26 19:25:06 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/TargetManager/TargetManager.mpc
+
+ Added an empty IDL_Files segment to the _exec project,
+ which should clean up tons of Windows VC build erros
+ and warnings.
+
+Thu Jan 26 17:57:45 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc
+ * DAnCE/NodeManager/NodeManager.mpc
+
+ Modified to inherit from a base project dance_extension_stub.mpb
+ to avoid explicily included path specification.
+
+Thu Jan 26 10:25:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h:
+ Fixed incorrect doxygen tag
+
+ * CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.inl:
+ Added missing ACE_INLINE macro's
+
+
+Thu Jan 26 01:44:15 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.h
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp
+ * DAnCE/NodeApplicationManager/ImplementationInfo.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+ * DAnCE/StaticConfigurator/StaticDAnCEParser.cpp
+ * ciao/Deployment.idl
+
+ Fixed a bug of shared component capability. Originally, we
+ haven't differentiate between "shared components" and
+ "external components", so when a component ref count becomes
+ 0, the "shared components" will become empty, however, since
+ some components are installed remotely, removing it will
+ cause problem if we don't have such differentiation.
+
+Wed Jan 25 23:44:01 UTC 2006 Nishanth Shankaran <nshankar@dre.vanderbilt.edu>
+
+ * CIAOTAO.mwc:
+ * CIAO.mwc:
+
+ Added RACE to the workspace.
+
+Wed Jan 25 22:47:30 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * CIAO_TAO_DAnCE.mwc
+
+ Added another mwc file which builds ACE, TAO, CIAO, DAnCE
+ minium to run a CIAO simple example.
+
+Wed Jan 25 22:28:06 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc
+ * DAnCE/NodeManager/NodeManager.mpc
+
+ Added include+= to find header files and fixed a typo.
+
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+
+ Fixed an error in Linux build.
+
+Wed Jan 25 22:11:23 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+
+ Changed order of the base member initialization list, which
+ should clear some warnings of the Linux builds.
+
+Wed Jan 25 21:32:44 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+ * DAnCE/NodeManager/NodeManager.mpc
+
+ Fixed dependency problems.
+
+Wed Jan 25 20:28:35 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/Interfaces/ExecutionManager.idl
+ * DAnCE/Interfaces/Interfaces.mpc
+ * DAnCE/Interfaces/README
+ * DAnCE/Interfaces/NodeManager.idl
+ * DAnCE/Interfaces/NodeManager_stub_export.h
+ * DAnCE/Interfaces/ExecutionManager_stub_export.h
+
+ Added these files into a separate directory
+ called DAnCE/Interfaces to termporarily solve the MPC
+ directory dependency issue.
+
+ * DAnCE/ExecutionManager/ExecutionManager.idl
+ * DAnCE/NodeManager/NodeManager.idl
+
+ Removed these files.
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h
+ * DAnCE/NodeManager/NodeManager.mpc
+ * DAnCE/NodeManager/NodeManager_Impl.h
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.h
+
+ Modified to accomodate the above refactoring work.
+
+Wed Jan 25 19:46:57 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciao/Deployment_common.h
+
+ Added this new file, which is supposed to contain all the
+ reusable types/classes/methods across the DAnCE toolchain.
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h
+
+ Modified the code to accomodate the above refactoring work.
+
+ * DAnCE/TargetManager/DomainDataManager.cpp
+
+ Got rid of a warning message about unreferenced variable.
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManage.mpc
+
+ Added a dependency from DAM to ExecutionManager_stub project.
+
+Wed Jan 25 02:53:07 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.h
+ * ciao/Deployment.idl
+
+ Fixed a bug about destroying *ApplicationManagers.
+ This fix will ensure that DAM won't be destroyed if any
+ components managed by itself are still up and running.
+
+Wed Jan 25 01:41:53 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+
+ Some cosmetic changes.
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+
+ Fixed a bug about when to killing a NodeApplication process.
+
+ * ciao/Container_Base.cpp
+
+ Comment out meaningless debug statement.
+
+Wed Jan 25 00:56:39 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * examples/Hello/descriptors/run_test_without_ns.pl
+
+ Modified to use the correct NodeManagerMap.dat file.
+
+Wed Jan 25 00:47:02 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * examples/Hello/descriptors_RTCCM/RTsvc.conf
+ * examples/Hello/descriptors_RTCCM/input.csr
+ * examples/Hello/descriptors_RTCCM/rt-config-example.cdp
+ * examples/Hello/descriptors_RTCCM/rt-config-example.csr
+ * examples/Hello/descriptors_RTCCM/rt-example.cdp
+ * examples/Hello/descriptors_RTCCM/rt_run_test.pl
+ * examples/Hello/descriptors_ReDaC/deploymentplan.cdp
+ * examples/Hello/descriptors_ReDaC/deploymentplan_add.cdp
+ * examples/Hello/descriptors_ReDaC/deploymentplan_remove.cdp
+ * examples/Hello/descriptors_naming/deploymentplan_naming.cdp
+
+ Create some new descriptors, reorganized them, and put
+ them into different directories.
+
+Wed Jan 25 00:23:02 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * CIAODAnCE.mwc
+
+ Added another mwc file which only builds CIAO and DAnCE.
+
+ * examples/Hello/step-by-step.html
+
+ Fixed an error in this documentation page.
+
+ * examples/Hello/descriptors/RTsvc.conf
+ * examples/Hello/descriptors/TestNodeManagerMap.dat
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns_add.cdp
+ * examples/Hello/descriptors/rt-config-example.cdp
+ * examples/Hello/descriptors/rt-config-example.csr
+ * examples/Hello/descriptors/rt-example.cdp
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns_add.cdp
+ * examples/Hello/descriptors/rt_run_test.pl
+
+ Removed these descriptor files and put them into separate
+ directories to better organize things.
+
+ * examples/Hello/descriptors_shared_components/deploymentplan.cdp
+ * examples/Hello/descriptors_shared_components/
+ deploymentplan_shared_components.cdp
+
+ Added a dedicated directory to put descriptors for shared
+ components scenario.
+
+Wed Jan 25 00:10:50 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+ * DAnCE/ExecutionManager/DAM_Map.cpp
+ * DAnCE/ExecutionManager/DAM_Map.h
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h
+
+ Added capabilities to handle adding/removing
+ connections between components in new assembly and existing/external
+ components in old assemblies. This involves putting
+ ExecutionManager as a coordinator for different DAMs.
+
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.h
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp
+ * DAnCE/NodeApplicationManager/ImplementationInfo.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.inl
+ * DAnCE/NodeManager/NAM_Map.h
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.h
+ * DAnCE/NodeManager/Node_Manager.cpp
+
+ Added capabilities for handling shared components across
+ different assemblies. This involves putting NodeManager
+ as a local coordinator for different NAMs.
+
+ * DAnCE/NodeApplication/NodeApplication.cpp
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp
+ * DAnCE/NodeApplication/NodeApplication_Impl.h
+
+ Enhancement of adding/removing connections.
+
+ * DAnCE/Plan_Launcher/DAM_Map.cpp
+ * DAnCE/Plan_Launcher/DAM_Map.h
+
+ Removed from the repo, since they are located in the other
+ directory as well, and we can use relative path to point
+ to those existing files.
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.h
+
+ Enhanced to handle shared components scenario which interacts
+ with *managers.
+
+ * DAnCE/StaticConfigurator/StaticDAnCEParser.cpp
+
+ Fixed for working with the newly enhanced DAnCE toolchain.
+
+ * ciao/Deployment.idl
+
+ Adding enhancements for adding shared components capabilities
+
+Wed Jan 25 00:01:37 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeManager/MonitorCB.cpp
+
+ Fixed a warning about unreferenced variable in Windows build.
+
+ * DAnCE/NodeManager/MonitorController.h
+
+ Included header file missing path to its directory.
+
+ * DAnCE/TargetManager/CmpClient.cpp
+
+ Fixed a warning about unreferenced variable in Windows build.
+
+Mon Jan 23 23:10:32 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+
+ * DAnCE/spec_RepositoryManager/HTTP_Client.h:
+ * DAnCE/spec_RepositoryManager/HTTP_Client.cpp:
+ * DAnCE/spec_RepositoryManager/HTTP_Handler.h:
+ * DAnCE/spec_RepositoryManager/HTTP_Handler.cpp:
+ * DAnCE/spec_RepositoryManager/Options.h:
+ * DAnCE/spec_RepositoryManager/Options.cpp:
+ * DAnCE/spec_RepositoryManager/PC_Updater.h:
+ * DAnCE/spec_RepositoryManager/PC_Updater.cpp:
+ * DAnCE/spec_RepositoryManager/PC_Updater_T.h:
+ * DAnCE/spec_RepositoryManager/PC_Updater_T.cpp:
+ * DAnCE/spec_RepositoryManager/README.txt:
+ * DAnCE/spec_RepositoryManager/RM_Helper.h:
+ * DAnCE/spec_RepositoryManager/RM_Helper.cpp:
+ * DAnCE/spec_RepositoryManager/RMadmin.cpp:
+ * DAnCE/spec_RepositoryManager/RepositoryManager.idl:
+ * DAnCE/spec_RepositoryManager/RepositoryManager.cpp:
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.h:
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.cpp:
+ * DAnCE/spec_RepositoryManager/URL_Parser.h:
+ * DAnCE/spec_RepositoryManager/URL_Parser.cpp:
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.h:
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.cpp:
+ * DAnCE/spec_RepositoryManager/spec_RepositoryManager.mpc:
+
+ Removed these files. Zapping the DAnCE/spec_RepositoryManager/
+ directory which used to hold the implementation of the
+ RepositoryManager while the ExecutionManager was in the
+ DAnCE/RepositoryManager/ directory.
+
+Mon Jan 23 22:41:49 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * DAnCE/RepositoryManager/HTTP_Client.h:
+ * DAnCE/RepositoryManager/HTTP_Client.cpp:
+ * DAnCE/RepositoryManager/HTTP_Handler.h:
+ * DAnCE/RepositoryManager/HTTP_Handler.cpp:
+ * DAnCE/RepositoryManager/Options.h:
+ * DAnCE/RepositoryManager/Options.cpp:
+ * DAnCE/RepositoryManager/PC_Updater.h:
+ * DAnCE/RepositoryManager/PC_Updater.cpp:
+ * DAnCE/RepositoryManager/PC_Updater_T.h:
+ * DAnCE/RepositoryManager/PC_Updater_T.cpp:
+ * DAnCE/RepositoryManager/README.txt:
+ * DAnCE/RepositoryManager/RM_Helper.h:
+ * DAnCE/RepositoryManager/RM_Helper.cpp:
+ * DAnCE/RepositoryManager/RMadmin.cpp:
+ * DAnCE/RepositoryManager/RepositoryManager.idl:
+ * DAnCE/RepositoryManager/RepositoryManager.cpp:
+ * DAnCE/RepositoryManager/RepositoryManager.mpc:
+ * DAnCE/RepositoryManager/RepositoryManager_Impl.h:
+ * DAnCE/RepositoryManager/RepositoryManager_Impl.cpp:
+ * DAnCE/RepositoryManager/URL_Parser.h:
+ * DAnCE/RepositoryManager/URL_Parser.cpp:
+ * DAnCE/RepositoryManager/ZIP_Wrapper.h:
+ * DAnCE/RepositoryManager/ZIP_Wrapper.cpp:
+
+ Moving what used to be DAnCE/spec_RepositoryManager directory to
+ the DAnCE/RepositoryManager directory.
+
+Mon Jan 23 22:14:06 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.cpp:
+
+ Adding couple more checks to increase robustness.
+
+Mon Jan 23 20:07:17 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/BaseMonitor.h
+
+ Added a virtual destructor to resolve warnings.
+
+ * DAnCE/TargetManager/DomainDataManager.cpp
+ * DAnCE/TargetManager/TargetManager_exec.cpp
+
+ Fixed some problems caused by
+ Mon Jan 23 15:11:40 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+Mon Jan 23 17:03:09 UTC 2006 Nishanth Shankaran <nshankar@dre.vanderbilt.edu>
+
+ * RACE/Controller/Component/Controller_svnt_export.h:
+ * RACE/Controller/Component/Controller_stub_export.h:
+ * RACE/Controller/Component/Controller_exec_export.h:
+ * RACE/Controller/Component/Controller_exec.h:
+ * RACE/Controller/Component/Controller_exec.cpp:
+ * RACE/Controller/Component/Controller.mpc:
+ * RACE/Controller/Component/Controller.idl:
+ * RACE/Controller/Component/Controller.cidl:
+
+ Added IDL, CIDL, and MPC files for the RACE controller along with a
+ dummy implementation of the controller.
+
+Mon Jan 23 15:11:40 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/TargetManager/TargetManager.mpc
+
+ Cleaned up the MPC file, fixed a linking error on OS X.
+
+Sat Jan 21 21:54:59 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/SizeTypeCalculator.cpp:
+
+ Fixed a bug in size type calculation of nested structs and unions.
+ Thanks to Sandro Santos Andrade <sandros@dcc.ufba.br> for
+ reporting the problem.
+
+Sat Jan 21 20:27:13 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/TargetManager/TargetManager.idl:
+ * DAnCE/TargetManager/TargetManager.mpc:
+ * DAnCE/TargetManager/TargetManagerExt.idl:
+ Added this file to include the facet for RACE Controller
+ * DAnCE/TargetManager/TargetManager_exec.h:
+ * DAnCE/TargetManager/TargetManager_exec.cpp:
+ Added implementation for the facet serving the RACE Controller.
+
+
+Sat Jan 21 02:04:15 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ Removed trailing whitespaces and tabs
+
+ * DAnCE/NodeManager/BaseMonitor.h:
+ * DAnCE/NodeManager/CIAO_Monitor.h:
+ * DAnCE/NodeManager/CIAO_Monitor.cpp:
+ * DAnCE/NodeManager/MonitorCB.h:
+ * DAnCE/NodeManager/MonitorCB.cpp:
+ * DAnCE/NodeManager/MonitorController.h:
+ * DAnCE/NodeManager/MonitorController.cpp:
+ Removed system headers and replaced systme calls with ACE calls.
+ Also updated documentation with doxygen standard
+
+ * DAnCE/TargetManager/TargetManager_exec.cpp:
+ Removed system headers and replaced systme calls with ACE calls.
+ Also updated documentation with doxygen standard
+
+ * tools/Config_Handlers/DD_Handler.h:
+ * tools/Config_Handlers/DD_Handler.cpp:
+ Removed system headers and replaced systme calls with ACE calls.
+ Also updated documentation with doxygen standard
+
+Fri Jan 20 22:30:21 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ The include to NodeManagerC.h is removed since the dependency on
+ NodeManager_stub was removed.
+
+Fri Jan 20 20:33:23 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc:
+ Changed the Domain Application Manager to remove the dependency on
+ NodeManager_stub.
+
+Fri Jan 20 07:24:47 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * DAnCE/spec_RepositoryManager/PC_Updater.h:
+ * DAnCE/spec_RepositoryManager/RMadmin.cpp:
+ * DAnCE/spec_RepositoryManager/RepositoryManager.cpp:
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.h:
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.cpp:
+ * DAnCE/spec_RepositoryManager/URL_Parser.h:
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.h:
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.cpp:
+
+ Improved the documentation, the output and added some minor features.
+ Changed all occurnences of 'new' to ACE_NEW in ZIP_Wrapper.cpp which
+ I had previously forgotten.
+
+ * DAnCE/new_RepositoryManager/packages/inconsistent.cpk:
+ * DAnCE/new_RepositoryManager/packages/package.cpk:
+
+ Removed these files.
+
+Thu Jan 19 01:29:58 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * DAnCE/spec_RepositoryManager/HTTP_Handler.h:
+ * DAnCE/spec_RepositoryManager/HTTP_Handler.cpp:
+ * DAnCE/spec_RepositoryManager/PC_Updater.h:
+ * DAnCE/spec_RepositoryManager/PC_Updater_T.h:
+ * DAnCE/spec_RepositoryManager/RM_Helper.h:
+ * DAnCE/spec_RepositoryManager/RM_Helper.cpp:
+ * DAnCE/spec_RepositoryManager/RMadmin.cpp:
+ * DAnCE/spec_RepositoryManager/RepositoryManager.cpp:
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.cpp:
+ * DAnCE/spec_RepositoryManager/URL_Parser.h:
+ * DAnCE/spec_RepositoryManager/URL_Parser.cpp:
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.h:
+
+ Changed all occurenced of new to ACE_NEW. Turned some documentation to
+ Doxygen style. Modified the URL_Parser singleton to use the ACE_Singleton
+ class. More changes on the way.
+
+Wed Jan 18 23:56:51 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/BaseMonitor.h: Corrected the file name in @file
+
+ * DAnCE/TargetManager/CmpClient.cpp: Corrected the file name in @file
+
+Wed Jan 18 16:42:41 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/BaseMonitor.h:Added documentation, changed
+ function signature
+ * DAnCE/NodeManager/CIAO_Monitor.cpp:Removed system headers
+ * DAnCE/NodeManager/Monitor.mpc:Added cvs tag
+ * DAnCE/NodeManager/MonitorController.cpp:Removed sleep call
+ * DAnCE/NodeManager/NodeManager.mpc:Added after clause to compile
+ TargetManager_stub before
+
+ * DAnCE/TargetManager/TM_Client.mpc:Added cvs tag
+ * DAnCE/TargetManager/TargetManager.mpc: Added cvs tag ,
+ Removed Deployment_Configuration.cpp from TargetManager_exec
+
+Tue Jan 17 23:52:11 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * DAnCE/spec_RepositoryManager/Options.h:
+ * DAnCE/spec_RepositoryManager/Options.cpp:
+ * DAnCE/spec_RepositoryManager/RMadmin.cpp:
+
+ Took care of the todo's that Johnny suggested. Now using ACE_Singleton
+ parametrized with ACE_Null_Mutex.
+
+Tue Jan 17 21:07:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/spec_RepositoryManager/HTTP_Client.h:
+ Layout change
+ * DAnCE/spec_RepositoryManager/HTTP_Handler.{h,cpp}:
+ Changed bytecount_ to size_t
+
+Tue Jan 17 21:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/spec_RepositoryManager/Options.h:
+ Doxygen improvements
+
+ * DAnCE/spec_RepositoryManager/Options.cpp:
+ Layout changes and add some todo's
+
+Tue Jan 17 19:31:56 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Config_Handlers.mpc
+
+ Added a project inherit improperly removed by
+ Mon Jan 16 16:22:25 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+Mon Jan 16 19:59:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.h:
+ * DAnCE/spec_RepositoryManager/URL_Parser.h:
+ * DAnCE/spec_RepositoryManager/PC_Updater.h:
+ * DAnCE/spec_RepositoryManager/PC_Updater_T.cpp:
+ * DAnCE/spec_RepositoryManager/HTTP_Handler.h:
+ * DAnCE/spec_RepositoryManager/HTTP_Client.h:
+ Doxygen improvements
+
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.cpp:
+ * DAnCE/spec_RepositoryManager/PC_Updater_T.h:
+ * DAnCE/spec_RepositoryManager/HTTP_Client.cpp:
+ * DAnCE/spec_RepositoryManager/HTTP_Handler.cpp:
+ Layout changes
+
+Mon Jan 16 18:36:47 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+
+ Addressed some warnings from the RHEL_Static_GCC-3.4.2
+ build.
+
+Mon Jan 16 16:48:11 UTC 2006 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * DAnCE/spec_RepositoryManager/Options.h:
+ * DAnCE/spec_RepositoryManager/Options.cpp:
+ * DAnCE/spec_RepositoryManager/PC_Updater.cpp:
+ * DAnCE/spec_RepositoryManager/README.txt:
+ * DAnCE/spec_RepositoryManager/RMadmin.cpp:
+ * DAnCE/spec_RepositoryManager/RepositoryManager.cpp:
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.h:
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.cpp:
+
+ Added the newest changes to the RepoMan. This change add the
+ functionality that pertains to interface types. It is currently
+ disabled due to lack of support in the modeling tools for interfaces
+ for assemby-based interfaces.
+
+ I still need to clean up some of the output and some of the code before
+ the release of the beta.
+
+Mon Jan 16 16:22:25 UTC 2006 Nilabja R <nilabjar@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/BaseMonitor.h:
+ * DAnCE/NodeManager/CIAO_Monitor.h:
+ * DAnCE/NodeManager/CIAO_Monitor.cpp:
+ * DAnCE/NodeManager/Monitor.mpc:
+ * DAnCE/NodeManager/MonitorCB.h:
+ * DAnCE/NodeManager/MonitorCB.cpp:
+ * DAnCE/NodeManager/MonitorController.h:
+ * DAnCE/NodeManager/MonitorController.inl:
+ * DAnCE/NodeManager/MonitorController.cpp:
+ * DAnCE/NodeManager/NodeManager.mpc:
+ * DAnCE/NodeManager/NodeManager_Impl.h:
+ * DAnCE/NodeManager/NodeManager_Impl.cpp:
+ * DAnCE/NodeManager/Node_Manager.cpp:
+ These files implement the Monitor within the
+ NodeManager implementation.
+
+ * DAnCE/TargetManager/CmpClient.cpp:
+ * DAnCE/TargetManager/Deployment_Configuration.h:
+ * DAnCE/TargetManager/Deployment_Configuration.cpp:
+ * DAnCE/TargetManager/DomainDataManager.h:
+ * DAnCE/TargetManager/DomainDataManager.cpp:
+ * DAnCE/TargetManager/TM_Client.mpc:
+ * DAnCE/TargetManager/TargetManager.cidl:
+ * DAnCE/TargetManager/TargetManager.idl:
+ * DAnCE/TargetManager/TargetManager.mpc:
+ * DAnCE/TargetManager/TargetManager_exec.h:
+ * DAnCE/TargetManager/TargetManager_exec.cpp:
+ * DAnCE/TargetManager/TargetManager_exec_export.h:
+ * DAnCE/TargetManager/TargetManager_stub_export.h:
+ * DAnCE/TargetManager/TargetManager_svnt_export.h:
+ These files implement the Target Manager Implementation
+
+ * DAnCE/TargetManager/descriptors/Domain.cdd:
+ * DAnCE/TargetManager/descriptors/NodeDetails.dat:
+ * DAnCE/TargetManager/descriptors/NodeManagerMap.dat:
+ * DAnCE/TargetManager/descriptors/flattened_deploymentplan.cdp:
+ * DAnCE/TargetManager/descriptors/run_test_TargetManager.pl:
+ These are needed for the running of the TargetManager
+
+ * ciao/CCM_Core.mpc:
+ * ciao/Deployment.idl:
+ * ciao/Deployment_Base.idl:
+ * ciao/Deployment_Data.idl:
+ * ciao/Packaging_Data.idl:
+ * ciao/ServerResources.idl:
+ Needs to be changed to resolve conflicts when compiling the
+ Target Manager cidl file
+
+ * ciao/Target_Data.idl:
+ This is the file which contains declarations which has been
+ separated for the Target manager
+
+ * tools/Config_Handlers/Config_Handlers.mpc:
+ * tools/Config_Handlers/DD_Handler.h:
+ * tools/Config_Handlers/DD_Handler.cpp:
+ These implement the extension to the config handlers for
+ the parsing of the Target data domain.
+
+Fri Jan 13 20:39:21 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/XSCRT/Parser.hpp
+ * tools/Config_Handlers/XSCRT/XML.hpp
+
+ Added a templated casting operator for Xerces types instead
+ of using standard dynamic_cast. Thanks to Ossama Othman
+ ossama at dre dot vanderbilt dot edu for suggesting this
+ fix.
+
+ * CIAO-INSTALL.html
+ * NEWS
+
+ The above changes removed the requirement for an RTTI enabled
+ version of Xerces. Updated these documents to reflect this.
+
+Thu Jan 12 21:40:47 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * examples/Hello/ReDaC-Usage.html
+
+ Fixed some typos and an error.
+
+Tue Jan 10 22:34:22 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Basic_Deployment_Data.cpp
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+ * tools/Config_Handlers/cdd.cpp
+ * tools/Config_Handlers/cdd.hpp
+
+ Regenerated to reflect updates to schema in
+ Tue Jan 10 19:01:45 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Modified_Deployment.xsd
+
+ Removed, as this file is obsolete, and schema should only exist in
+ CIAO_ROOT/docs/schema
+
+Tue Jan 10 22:05:17 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * examples/Hello/ReDaC-Usage.html
+
+ Added a tutorial-like web page to showcase ReDaC service
+ of DAnCE.
+
+ * NEWS
+
+ Updated with DAnCE's recent enhancements.
+
+Tue Jan 10 19:01:45 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/Basic_Deployment_Data.xsd
+ * docs/schema/cdd.xsd
+
+ Corrected incorrect cardinality on several target domain elements.
+
+Tue Jan 10 11:10:01 UTC 2006 Boris Kolpackov <boris@kolpackov.net>
+
+ * NEWS:
+
+ Updated with recent developments.
+
+Mon Jan 9 14:17:39 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client.cpp:
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_dynamic.cpp:
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_ex.cpp:
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_simple.cpp:
+ * examples/Hello/descriptors/Receiver_Svnt.iad:
+ * examples/Hello/descriptors/Sender_Svnt.iad:
+ * examples/Hello/descriptors/flattened_deploymentplan.cdp:
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns.cdp:
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns_add.cdp:
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns_remove.cdp:
+ * examples/Hello/descriptors/rt-config-example.cdp:
+ * examples/Hello/descriptors/rt-example.cdp:
+
+ Updated occurrences of the string name of the servant executor
+ DLL extry point to correspond with the changes in
+
+ Fri Jan 6 20:09:34 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Fri Jan 6 20:09:34 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ExecImplHeaderGenerator.cpp:
+ * CIDLC/ExecImplSourceGenerator.cpp:
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Changed the names of the generated extern C functions that
+ create the home and servant executors to incorportate the
+ entire scoped name of the class, to avoid name clashes
+ (since extern "C" functions link globally no matter what
+ scope they are declared in) when class names are
+ duplicated inside different nested namespaces. Thanks
+ to James Hill <james.h.hill@vanderbilt.edu> and Boris
+ Kolpackov <boris@dre.vanderbilt.edu> for their help
+ with the problem.
+
+ * DAnCE/tests/Config_Handlers/HUDisplay/Airframe_Svnt.iad:
+ * DAnCE/tests/Config_Handlers/HUDisplay/GPS_Svnt.iad:
+ * DAnCE/tests/Config_Handlers/HUDisplay/NavDisplay_Svnt.iad:
+ * DAnCE/tests/Config_Handlers/HUDisplay/Timer_Svnt.iad:
+ * docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.idl:
+ * docs/tutorials/Quoter/Simple/descriptors/Broker_Svnt.iad:
+ * docs/tutorials/Quoter/Simple/descriptors/Distributor_Svnt.iad:
+ * docs/tutorials/Quoter/Simple/descriptors/flattened_deploymentplan.cdp:
+ * examples/BasicSP/descriptors/Airframe_Svnt.iad:
+ * examples/BasicSP/descriptors/GPS_Svnt.iad:
+ * examples/BasicSP/descriptors/NavDisplay_Svnt.iad:
+ * examples/BasicSP/descriptors/Timer_Svnt.iad:
+ * examples/BasicSP/descriptors/flattened_deploymentplan.cdp:
+
+ Updated the hand-crafted descriptor files in CIAO tests and
+ examples to reflect the changes above.
+
+Thu Jan 5 21:28:17 UTC 2006 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+
+ Fixed some warning in Boarland C++ builds.
+
+Thu Jan 5 00:53:30 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Untabify.
+ Delete-trailing-spaces.
+
+ Changed "add-log-time-format" to a really ugly lambda expression
+ that formats changelog timestamps in UTC and works with both GNU
+ Emacs and XEmacs.
+
+Wed Jan 4 21:01:15 2006 Boris Kolpackov <boris@kolpackov.net>
+
+ * ciao/CCM_Base.idl:
+
+ Replaced #if !defined (CIAO_HAS_IMPORT_KEYWORD) with
+ #ifdef CIAO_HAS_IMPORT_KEYWORD. This will give CIDLC's
+ CPP a chance to handle it properly.
+
+ * CCF/CCF/CompilerElements/Preprocessor.cpp:
+
+ Fixed a bug in lexeme parsing.
+
+Wed Jan 4 11:39:59 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ciao/CCM_Core.mpc
+
+ Removed $CIAO_ROOT/DAnCE include, added CIAO_ROOT/ciao.
+
+Tue Jan 3 19:55:43 2006 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/CompilerElements/Preprocessor.cpp:
+ * CCF/CCF/CompilerElements/Preprocessor.hpp:
+ * CCF/CCF/IDL3/SemanticAction/Impl/Include.cpp:
+ * CIDLC/cidlc.cpp:
+
+ Implemented support for basic preprocessor directives:
+ #ifdef, #ifndef, #else, and #endif as well as the -D
+ command-line option. Also added exception handlers for
+ filesystem exceptions.
+
+ * CCF/CCF/IDL2/SemanticAction/Impl/Member.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Union.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Struct.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Struct.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/Union.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Union.hpp:
+
+ Implemented incomplete struct and union semantics which
+ will appear in CORBA 3.1.
+
+ * CCF/CCF/CodeGenerationKit/IndentationCxx.hpp:
+
+ Code clean-ups.
+
+Fri Dec 30 11:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Dynamic_Component_Servant_Base.{h,cpp}:
+ Moved the default constructor to public again, vc8 needs it, no
+ idea why, have to recheck later
+
+Thu Dec 29 08:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp:
+ Fixed implicit conversion warning
+
+Wed Dec 28 10:42:31 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/Old_Config_Handlers/DnC_Dump.cpp
+ * tools/Config_Handlers/DnC_Dump.cpp
+ * tools/Config_Handlers/PSPE_Handler.cpp
+
+ Silenced some warnings from
+ Fri Dec 23 11:49:04 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+Wed Dec 28 12:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Context_Impl_Base.{h,cpp}:
+ Readded the default constructor, some compilers need it, no idea
+ why, will sort this out later but this at least makes the scoreboard
+ less red
+
+Tue Dec 27 15:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Container_Base.{h,cpp}:
+ * ciao/Context_Impl_Base.{h,cpp}:
+ * ciao/Home_Servant_Impl_Base.{h,cpp}:
+ * ciao/Servant_Impl_Base.{h,cpp}:
+ * ciao/Swapping_Servant_Home_Impl_Base.{h,cpp}:
+ * ciao/Swapping_Servant_Home_Impl_T.h:
+ Moved the default constructor to the private section and removed
+ the implementation with the assert
+
+Tue Dec 27 15:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeApplication/NodeApplication_Core.cpp:
+ Initialise pointer with 0
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.{h,cpp,inl}:
+ Just declare the default constructor private, it seems not
+ to be used and the implementation was incorrect
+
+Fri Dec 23 11:49:04 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp
+ * DAnCE/NodeApplication/NodeApplication_Impl.h
+ * DAnCE/NodeApplication/NodeApplication_Impl.inl
+ * DAnCE/NodeApplication/RTConfig_Manager.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.inl
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.h
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_dynamic.cpp
+ * ciao/Container_Base.cpp
+ * ciao/Deployment.idl
+ * ciao/Deployment_Core.idl
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns.cdp
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns_add.cdp
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns_remove.cdp
+
+ Merged from CVS Branch CIAO_ReDAC_01. This merge enables DAnCE to
+ handle dynamic updating component assemblies as well as its
+ configurations on the fly. Major IDL changes include the following:
+
+ 1) Modified the finishLaunch() operation on the DomainApplicationManager
+ interface by adding an additional boolean parameter to differentiate
+ whether this is for inital deployment or for redeployment.
+
+ 2) Modified the finishLaunch() operation on the NodeApplicationManager
+ interface by adding an additional boolean parameter to differentiate
+ whether this is for inital deployment or for redeployment.
+
+ 3) Added new operations perform_redeployment() to the ExecutionManager
+ interface and NodeApplicationManager interface.
+
+Fri Dec 23 13:47:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ComponentPackager/*
+ Removed all these files, this component was using ziparchive and
+ we didn't build it. After checking this with the DAnCE developers
+ the conclustion was to zap it
+
+Thu Dec 22 19:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeManager/NodeManager_Impl.h:
+ Removed not needed msvc pragma push/pop
+
+Thu Dec 22 19:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ExecutionManager/DAM_Map.cpp:
+ Made variable const
+
+Thu Dec 22 19:47:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ Removed some old includes, make a variable const
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.{h,cpp}:
+ Made get_default_node_manager_ior and get_node_manager_ior
+ const methods
+
+Thu Dec 22 19:43:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp:
+ Initialise pointers with 0
+
+ * DAnCE/NodeApplicationManager/ImplementationInfo.h:
+ Removed include of cpp file in this file, this file is not
+ declaring a template
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h:
+ Converted documentation to doxygen style
+
+Thu Dec 22 19:36:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ComponentPackager/ComponentPackager.mpc:
+ Use exceptions as base project
+
+ * DAnCE/ComponentPackager/Component_Packager.cpp:
+ Converted some documentation to doxygen style
+
+ * DAnCE/ComponentPackager/Base_Packager.cpp:
+ Fixed argument not used warnings
+
+ * DAnCE/ComponentPackager/CPK_Packager.{h,cpp}:
+ Small cleanup
+
+Thu Dec 22 14:10:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ComponentPackager/Base_Packager.h:
+ Changed documentation to doxygen style
+
+Tue Dec 20 08:07:51 2005 Simon McQueen <sm@prismtech.com>
+
+ * CIAO version 0.4.8 released.
+
+Fri Dec 16 15:58:27 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp
+
+ Modified to fix a bug reported by Will Otte regarding
+ DAnCE's parsing of deployment plan to find component
+ servant and executor libraries. This is a temporary
+ workaround so even if a component name happens to
+ have "_exec" string inside it, DAnCE could still
+ work correctly to find the corresponding servant
+ and executor libraries.
+
+Fri Dec 16 14:57:21 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciao/Container_Base.cpp
+ * ciao/Container_Base.h
+
+ Fixed a bug about RT-CCM. The bug creeped out when the
+ facet_consumer_poa_ is not configured properly to use
+ application specific real-time policies. Thanks to
+ Roland Schimmack <Roland.Schimmack @ gmx.de> for
+ reporting this bug.
+
+Tue Dec 13 12:13:26 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * COPYING: Updated this file to mention compliance issues wrt the
+ new "The Energy Policy Act of 2005". Thanks to Malcolm Spence
+ for providing this.
+
+Tue Dec 13 09:07:21 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * CCF/Documentation/Build.html
+ * CIDLC/README.html
+
+ Updates to the CIDLC build documentation. Thanks to James Hill
+ <hillj at isis dot vanderbilt dot edu> for completing this update.
+
+Mon Dec 12 13:20:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * NEWS:
+
+ Added Nanbor's changes from the release notes.
+
+Fri Dec 9 13:39:10 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Any_Handler.h
+
+ Added a missing include for the versioned namespace macros.
+
+Fri Dec 9 09:18:01 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ciao/Server_init.h
+
+ Added a missing include for the versioned namespace macros.
+
+Thu Dec 08 21:34:36 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * NEWS
+
+ Updated the NEWS file to capture ReDaC stuff.
+
+Thu Dec 8 15:38:02 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * DAnCE/Old_Config_Handlers/DT_Handler.h:
+ * ciao/Client_init.h:
+ * ciao/Context_Impl_T.h:
+ * ciao/Server_init.h:
+ * ciao/Upgradeable_Context_Impl_T.h:
+ * tools/Config_Handlers/Any_Handler.h:
+
+ Fixed versioned namespace support. The versioning macros calls
+ around forward declarations in the CORBA namespace were
+ missing.
+
+Thu Dec 08 08:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeManager/NodeManager_Impl.cpp:
+ Fixed compile errors with VxWorks
+
+Wed Dec 07 18:05:35 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciao/Deployment.idl
+ * ciao/Deployment_Core.idl
+ * doc/index.html
+
+ Document CIAO specific interface extension/modifications.
+
+Wed Dec 7 12:41:22 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CIDLC/ExecImplGenerator.cpp:
+ * CIDLC/ExecImplHeaderGenerator.cpp:
+ * CIDLC/ExecImplSourceGenerator.cpp:
+ * CIDLC/ExecutorMappingGenerator.cpp:
+ * CIDLC/ServantGenerator.cpp:
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+ * CCF/Example/CIDL/LocalExecutorMapping/ExecutorMappingGenerator.cpp:
+
+ Fixed a bug in regular expressions that are used to get rid of
+ file suffixes.
+
+Tue Dec 06 12:33:27 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.cpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+
+ Fixed warnings in Borland.
+
+Tue Dec 6 16:14:01 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ciao/Servant_Impl_T.cpp:
+
+ Changed initialization of boolean class members from '0'
+ to 'false'.
+
+ * ciao/Servant_Impl_T.h:
+
+ Added comments to the executor and context class members,
+ providing info about where they are initialized.
+
+Mon Dec 5 14:43:48 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc
+
+ Removed superfluous dependancy on Xerces.
+
+Sun Dec 4 11:13:32 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/StaticConfigurator/StaticDAnCEParser.mpc
+ * DAnCE/tests/Config_Handlers/handler_test.mpb
+
+ Fix linking errors on Tiger.
+
+Fri Dec 2 11:25:48 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/RepositoryManager/RepositoryManager.idl
+ * DAnCE/RepositoryManager/RepositoryManager.mpc
+ * DAnCE/RepositoryManager/RepositoryManager_Impl.cpp
+ * DAnCE/RepositoryManager/RepositoryManager_Impl.h
+ * DAnCE/RepositoryManager/Repository_Manager.cpp
+ * DAnCE/RepositoryManager/Repository_Manager_conf.h
+ * DAnCE/RepositoryManager/Update_Plan.cpp
+ * DAnCE/RepositoryManager/Update_Plan.h
+
+ Removed the deprecated RepositoryManager implementation.
+
+ * NEWS
+
+ Updated the NEWS file to reflect this.
+
+Thu Dec 1 10:16:46 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.cpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+
+ Fixed some errors caused by previous commit.
+
+Thu Dec 1 12:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.cpp:
+ Use 0 instead of NULL, NULL is not portable
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ * DAnCE/NodeManager/NAM_Map.cpp:
+ Initialise pointers with 0 and return false instead of 0
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h:
+ Removed not needed msvc pragma push/pop
+
+ * DAnCE/NodeManager/NodeManager_Impl.cpp:
+ Initialise pointers with 0 and removed some printf that seems some
+ left over debugging statements
+
+Wed Nov 30 16:24:43 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/xsc-banner.h
+
+ Updated this file to reflect recent export macro changes.
+
+ * tools/Config_Handlers/Basic_Deployment_Data.cpp
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+ * tools/Config_Handlers/Deployment.cpp
+ * tools/Config_Handlers/Deployment.hpp
+ * tools/Config_Handlers/ccd.cpp
+ * tools/Config_Handlers/ccd.hpp
+ * tools/Config_Handlers/cdp.cpp
+ * tools/Config_Handlers/cdp.hpp
+ * tools/Config_Handlers/cid.cpp
+ * tools/Config_Handlers/cid.hpp
+ * tools/Config_Handlers/cpd.cpp
+ * tools/Config_Handlers/cpd.hpp
+ * tools/Config_Handlers/iad.cpp
+ * tools/Config_Handlers/iad.hpp
+ * tools/Config_Handlers/pcd.cpp
+ * tools/Config_Handlers/pcd.hpp
+ * tools/Config_Handlers/toplevel.cpp
+ * tools/Config_Handlers/toplevel.hpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.cpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+
+ Made a borland specific fix apply to all compilers, hopefully
+ fixing ICC builds.
+
+Wed Nov 30 12:30:59 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * examples/Hello/descriptors/flattened_deploymentplan.cdp
+
+ Added metadata necessary to initialize an enum attribute.
+
+Wed Nov 30 08:06:00 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/RepositoryManager/RepositoryManager.mpc:
+ This project is deprecated according to Will, so added
+ requires+=dummy_label, it is up to the DAnCE people to
+ decide when they zap this from the archive
+
+Fri Nov 25 10:50:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * DAnCE/Old_Config_Handlers/XercesString.cpp
+
+ Fixed prototype return type qualifier missmatch
+
+Thu Nov 24 16:04:05 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * tools/Config_Handlers/Config_Handlers.mpc
+
+ Added the MPC base project dependency to typecodefactory,
+ and hopefully this should fix some linking erros on the
+ scoreboard.
+
+Thu Nov 24 11:25:09 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/Old_Config_Handlers/XercesString.h
+
+ Fixed a warning, since declaring function return type
+ to be const is meaningless.
+
+Tue Nov 22 16:03:24 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplication/Container_Impl.cpp
+
+ Fixed a memory management related bug, we should not
+ explicitly call release() on the component object
+ reference of var type.
+
+Mon Nov 21 17:24:42 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * NEWS:
+
+ Updated with information about changes in CCF.
+
+Fri Nov 18 10:28:31 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * performance-tests/Benchmark/RoundTrip/RoundTrip.mpc
+
+ Quashed a link time warning on OS X.
+
+Thu Nov 17 18:13:28 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * examples/Swapping/Sender/Sender.mpc:
+
+ Added a dependency of SenderE.idl on itself, to keep
+ VC8 from launching the IDL compiler on it until it
+ has been generated by the CIDL compiler.
+
+Thu Nov 17 09:53:35 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+
+ Fixed warning about unused arguments
+
+Wed Nov 16 11:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Swapping/Sender/Sender_exec.cpp:
+ Fixed warning in VxWorks build
+
+Mon Nov 14 22:43:09 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_dynamic.cpp
+ * ciao/Deployment.idl
+
+ Fixed some errors and warnings on the builds.
+
+Mon Nov 14 11:05:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Display/RateGen/RateGen_exec.h:
+ * examples/BasicSP/EC/EC_exec.h:
+ Timer id's are long, not int
+
+ * ciao/Servant_Activator.cpp:
+ Fixed 64bit conversion warnings
+
+Sun Nov 13 12:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Swapping/Sender/Sender_exec_2.cpp:
+ * examples/Swapping/Sender/Sender_exec_1.cpp:
+ * examples/Hello/Sender/Sender_exec.cpp:
+ * examples/BasicSP/BMClosedED/BMClosedED_exec.cpp:
+ Fixed warnings in VxWorks build
+
+Fri Nov 11 17:49:40 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.h
+ * ciao/Deployment.idl
+
+ More stuff regarding dynamic assembly management. These
+ changes won't break existing initial deployment and
+ configuration.
+
+Fri Nov 11 12:37:00 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp
+ * DAnCE/NodeApplication/NodeApplication_Impl.h
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.h
+ * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc
+ * ciao/Deployment.idl
+ * ciao/Deployment_Core.idl
+
+ Added the DAnCE enhancements to support dynamic
+ assembly management and reconfiguration. No actual
+ implementation is there except some capability
+ in NodeApplication_Impl servant class.
+
+Thu Nov 10 17:13:20 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * ciao/Servant_Activator.cpp
+
+ Enhanced a debug output message.
+
+Thu Nov 10 06:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Port_Activator_T.cpp:
+ Fixed warning in VxWorks build
+
+Tue Nov 8 22:13:50 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+ * ciao/Container_Base.cpp
+ * ciao/Servant_Impl_Base.cpp
+ * ciao/Swapping_Servant_Home_Impl_T.cpp
+ * ciao/Upgradeable_Context_Impl_T.cpp
+ * examples/BasicSP/EC/EC.mpc
+
+ Resolved some warnings in OS X relating to ambiguous conversions.
+
+Mon Nov 7 16:23:41 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+ * performance-tests/Benchmark/Benchmark.mpc
+ * performance-tests/Benchmark/RoundTripClient/RoundTripClient.mpc
+ * performance-tests/Benchmark/RoundTripServer/RoundTripServer.mpc
+
+ Resolving linking errors on OS X.
+
+Mon Nov 7 14:00:31 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * NEWS: Added some new TO-DO items.
+
+Mon Nov 07 10:23:09 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplication/RTNodeApp_Configurator.cpp: Fixed
+ incorrect usage of extracting a struct from an any. Thanks much
+ to Gan for helping with the debugging effort.
+
+ * examples/Hello/descriptors/rt_run_test.pl:
+ * examples/Hello/descriptors/rt-example.cdp: Enabled the use of RT
+ policy sets and RT-enabled NodeApplication in the example by
+ default.
+
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.cpp: Minor enhancement to
+ the debug messages.
+
+Fri Nov 04 16:44:29 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/ImplementtionInfo.cpp
+
+ Changed to use the "copying" version of the Any insertion
+ operator. Thanks Jeff Parsons for the help on this.
+
+Thu Nov 03 15:34:39 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp
+
+ Fixed a bug which causes unknow exception when calling
+ startLaunch on NodeApplicationManager.
+
+Thu Nov 3 19:36:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeManager/NodeManager_Impl.cpp:
+ Fixed implicit conversion warning in VxWorks build
+
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client.cpp:
+ Renamed global variable count to counter to fix clash with STL count
+ algoritm on VxWorks
+
+Thu Nov 03 11:14:52 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplication/RTConfig_Manager.cpp: Added a tad more and
+ improve existing debugging print out.
+
+ * examples/Hello/descriptors/rt-example.cdp:
+ * examples/Hello/descriptors/rt-config-example.csr:
+ * examples/Hello/descriptors/rt_run_test.pl: Changed to use a
+ simpler version of DeploymentPlan for the test for now.
+
+Wed Nov 02 19:28:14 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * tools/Config_Handlers/RT-CCM/CB_Handler.cpp
+ * tools/Config_Handlers/RT-CCM/TPL_Handler.cpp
+ * tools/Config_Handlers/RT-CCM/PS_Handler.cpp
+ * DAnCE/NodeApplication/RTConfig_Manager.cpp:
+
+ Fixed some bugs related to populating/displaying ServerResource
+ data structure.
+
+Wed Nov 02 14:55:14 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplication/RTNodeApp_Configurator.cpp: Fixed strings
+ comparisons syntax.
+
+ * DAnCE/NodeApplication/RTConfig_Manager.cpp:
+ * DAnCE/NodeApplication/RTConfig_Manager.h: Added a new
+ print_resource method and a bunch of debugging print out to help
+ debugging XML parsing and propagating.
+
+ * examples/Hello/descriptors/RTsvc.conf:
+ * examples/Hello/descriptors/rt_run_test.pl: Added a RTsvc.conf
+ file to start up the NodeApplication in RT mode.
+
+ * examples/Hello/descriptors/rt-config-example.csr: Made RT
+ resource definitions more realistic and added a new policy set
+ for debugging XML parsing.
+
+Wed Nov 02 07:09:10 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp: Fixed
+ usage of strings.
+
+Tue Nov 01 22:41:04 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp: Changed to
+ insert policy set name into ContainerPolicySet property instead
+ of the actual policy since we already have the policy set
+ definitions when creating the NodeApplication.
+
+Tue Nov 01 13:44:58 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplication/RTConfig_Manager.cpp:
+ * DAnCE/NodeApplication/RTConfig_Manager.h:
+ * DAnCE/NodeApplication/RTConfig_Manager.inl:
+ * DAnCE/NodeApplication/RTNodeApp_Configurator.cpp:
+ * DAnCE/NodeApplication/RTNodeApp_Configurator.h: Integrated
+ RTConfig_Manager with the RTNodeApp_Configurator.
+
+Mon Oct 31 22:37:42 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplication/NodeApplication/NodeApplication.mpc:
+ * DAnCE/NodeApplication/NodeApplication/RTConfig_Manager.cpp:
+ * DAnCE/NodeApplication/NodeApplication/RTConfig_Manager.h:
+ * DAnCE/NodeApplication/NodeApplication/RTConfig_Manager.inl:
+ Added the RT configuration manager that keep track of all the RT
+ resources and policy sets in a NodeApplication. We still need
+ to hook this up in the RTNodeApp_Configurator.
+
+Mon Oct 31 11:22:41 2005 <Gan Deng@SKYLINENETGEAR>
+
+ * examples/Hello/descriptors/rt-config-example.csr
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp
+
+ Fixed the descriptor by adding the server resource id tag.
+
+Sun Oct 30 22:49:52 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeManager/Node_Manager.cpp: Fixed missing -a Get_Opt
+ parameter and usage text. "-a" is used to set the optional
+ command line flags for the NodeApplication. The logic was there
+ in the Get_Opt loop but the Get_Opt object was not set to parse
+ the flag and the usage text for Node_Manager didn't mention the
+ flag either.
+
+ Eventually, the optional command line flags should really come
+ from the ServerResource XML file.
+
+ * NodeApplicationManager/NodeApplicationManager_Impl.cpp: Added a
+ missing space to separate optional command line flags from the
+ default ones. The old one worked only when no optional
+ commandline flags are presented.
+
+ * ciao/Deployment_Core.idl: Removed "init" method from the
+ Container interface since it is really implementation specific.
+
+ * DAnCE/NodeApplication/Container_Impl.cpp:
+ * DAnCE/NodeApplication/Container_Impl.h: Changed the signature of
+ init method to take a PolicyList pointer directly since this is
+ what we really need to initialize a container.
+
+ * DAnCE/NodeApplication/Configurator_Factory.h: Added comments
+ documentating how we should really support multiple external
+ configurator module and how it could be done.
+
+ * DAnCE/NodeApplication/Configurator_Factory.cpp: Changed DLL open
+ to not closing down the DLL handle on exit. Otherwise,
+ NodeApplication can not shut down cleanly.
+
+ * DAnCE/NodeApplication/NodeApp_Configurator.h: Commented on the
+ potential need for a finalizer method, or two.
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp: Added actual
+ hooks to process optional policies for RT support.
+
+ * DAnCE/NodeApplication/RTNodeApp_Configurator.cpp: Added code to
+ parse the optional properties and manipulate RT resources and
+ policies.
+
+Sun Oct 30 10:27:27 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplication/Configurator_Factory.cpp: Fixed a typo in
+ command line option flag.
+
+Fri Oct 28 12:30:06 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplication/Configurator_Factory.cpp
+ * DAnCE/NodeApplication/RTNodeApp_Configurator.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+
+ Scoreboard fixes.
+
+Thu Oct 27 21:06:39 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/CodeGenerationKit/IndentationCxx.hpp:
+
+ Added support for indentation of function arguments.
+
+Thu Oct 27 00:29:11 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.h
+ * DAnCE/NodeApplicationManager/ImplementationInfo.h
+ * DAnCE/StaticConfigurator/StaticDAnCEParser.mpc
+
+ Fixed some compilation and linking errors shown on the scoreboard,
+ particularly for Windows builds.
+
+Thu Oct 27 07:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rules.ciao.GNU:
+ When cmd is the shell, use a different way to get the CIAO versions
+ needed for building with VxWorks 5.5 with Windows as host
+
+Wed Oct 26 23:07:59 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/TypeNameEmitter.cpp:
+ * CIDLC/TypeNameEmitter.hpp:
+
+ Added backend support for the frontend features added by
+ Boris in
+
+ Tue Oct 25 14:08:44 2005 Boris Kolpackov <boris@kolpackov.net>.
+
+Wed Oct 26 16:16:32 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplication/NodeApp_Configurator.cpp:
+ * DAnCE/NodeApplication/NodeApp_Configurator.h: Updated the
+ NodeApp_Configurator to support pre_orb_initialize and
+ post_orb_initialize methods which will be invoked before and
+ after ORB_init is called.
+
+ * DAnCE/NodeApplication/NodeApplication.cpp: Moved ORB_init into
+ NodeApplication_Core object.
+
+ * DAnCE/NodeApplication/NodeApplication_Core.cpp:
+ * DAnCE/NodeApplication/NodeApplication_Core.h:
+ * DAnCE/NodeApplication/NodeApplication_Core.inl: Moved the
+ NodeApplication_Options and NoOp_Configurator classes into
+ Configurator_Factory.* file. Refactored NodeApplication_Core to
+ enable pre_orb_initialize and post_orb_initialize.
+
+ * DAnCE/NodeApplication/Configurator_Factory.cpp:
+ * DAnCE/NodeApplication/Configurator_Factory.h: Factored all the
+ NodeApp_Configurtor creation strategies and NodeApplication
+ configuration managements into these files. It also includes
+ the no-ops NodeApp_Configurator used by non-RT NodeApplication.
+
+ We should extend the argument parsing logic to support
+ user-supplied NodeApp_Configurator at some point.
+
+ * DAnCE/NodeApplication/NodeApplication.mpc:
+ * DAnCE/NodeApplication/RTNA_Configurator_Export.h:
+ * DAnCE/NodeApplication/RTNodeApp_Configurator.cpp:
+ * DAnCE/NodeApplication/RTNodeApp_Configurator.h: Added the
+ dynamic library for real-time configuration. The current
+ implementation set up the NodeApplication process by enabling
+ the RTCORBA support. We still need to add the capability to
+ parse and allocate RT resources and policies.
+
+Wed Oct 26 18:37:00 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/IDL2/SemanticAction/Impl/Typedef.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Array.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/Elements.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Elements.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/Sequence.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/String.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/Union.hpp:
+
+ Corrected a left/right node mismatch in
+ type-arguments->specialization relation.
+
+Wed Oct 26 16:37:26 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/IDL2/SemanticAction/Impl/Typedef.cpp:
+
+ Clear array type before starting sequence, string, etc.,
+ declarations.
+
+Tue Oct 25 14:08:44 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/IDL2/Parser.cpp:
+ * CCF/CCF/IDL2/Parser.hpp:
+ * CCF/CCF/IDL2/SemanticGraph.hpp:
+ * CCF/CCF/IDL2/Traversal.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Typedef.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Typedef.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Typedef.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Union.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Array.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Array.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/Elements.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Elements.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/Sequence.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Sequence.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/String.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/String.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/Union.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Union.hpp:
+ * CCF/CCF/IDL2/Traversal/Array.cpp:
+ * CCF/CCF/IDL2/Traversal/Array.hpp:
+ * CCF/CCF/IDL2/Traversal/Elements.hpp:
+ * CCF/CCF/IDL2/Traversal/IntExpression.hpp:
+ * CCF/CCF/IDL2/Traversal/Sequence.cpp:
+ * CCF/CCF/IDL2/Traversal/Sequence.hpp:
+ * CCF/CCF/IDL2/Traversal/String.cpp:
+ * CCF/CCF/IDL2/Traversal/String.hpp:
+
+ Implemented the second part of the const expression support.
+ This includes bounded sequences, strings, and arrays.
+
+Mon Oct 24 09:36:28 2005 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * docs/static_dance.html:
+
+ Corrected minor error with display of figures.
+
+Mon Oct 24 08:10:29 2005 Venkita Subramonian <venkita@cs.wustl.edu>
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.{h,inl,cpp}:
+ * DAnCE/NodeApplication/Container_Impl.{h,inl,cpp}:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.{cpp,inl,h}:
+ * DAnCE/NodeManager/NodeManager_Impl.{cpp,h}:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc:
+ * DAnCE/NodeManager/NodeManager.mpc:
+ * DAnCE/StaticConfigurator/README:
+ * DAnCE/StaticConfigurator/StaticDAnCEParser.{cpp,mpc}:
+ * DAnCE/StaticConfigurator/StaticDAnCEApp.{cpp.tmpl,mpc.tmpl}:
+ * docs/static_dance.html:
+ * docs/imgs/dance_arch.{vsd,jpg}:
+ * docs/imgs/static_dance_arch.{vsd,jpg}:
+ * docs/imgs/static_dance_impl.{vsd,jpg}:
+
+ Added Static D&C capability to CIAO. See
+ $CIAO_ROOT/docs/static_dance.html for further details.
+
+Fri Oct 21 13:58:13 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/DynAny_Handler.mpc
+
+ Modified to make this not build on systems built with minimum
+ corba.
+
+Fri Oct 21 09:56:10 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/RTNodeApplication/RTNodeApplication.mpc: Removed the MPC
+ file to prevent it from being built.
+
+ * DAnCE/RTNodeApplication/REAME: Stated the directory has been
+ depricated.
+
+Fri Oct 21 13:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp:
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ Fixed unitialized warnings
+
+Fri Oct 21 10:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Old_Config_Handlers/Process_Element_T.cpp:
+ Fixed 64bit warnings
+
+Thu Oct 20 09:07:21 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/NodeApplication/NodeApp_Configurator.{h,cpp}:
+ Actually, destructors can be pure virtual. They just can't be
+ defined in header files.
+
+Thu Oct 20 09:45:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeApplication/NodeApp_Configurator.{h,cpp}:
+ Destructor can't be pure virtual
+
+Wed Oct 19 15:03:56 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ These changes are made to add support for RT-capable
+ NodeApplication.
+
+ * ciao/CCM_Core.mpc:
+ * ciao/Container_Impl.h:
+ * ciao/Container_Impl.inl:
+ * ciao/Container_Impl.cpp:
+ * ciao/NodeApplication_Impl.h:
+ * ciao/NodeApplication_Impl.inl:
+ * ciao/NodeApplication_Impl.cpp: Moved NodeApplication and
+ Container interface implementations under DAnCE/NodeApplication/
+ subdir. They are coupled with NodeApplication implementation
+ now.
+
+ * DAnCE/NodeApplication/NodeApplication.mpc: Changed to
+ incorporate the following files/changes.
+
+ * DAnCE/NodeApplication/NodeApp_Configurator.h:
+ * DAnCE/NodeApplication/NodeApp_Configurator.cpp: Added abstract,
+ base NodeApp_Configurator class to define the interface for
+ configuring NodeApplication internal.
+
+ * DAnCE/NodeApplication/Container_Impl.h:
+ * DAnCE/NodeApplication/Container_Impl.inl:
+ * DAnCE/NodeApplication/Container_Impl.cpp: Moved from ciao/
+ subdir.
+
+ * DAnCE/NodeApplication/NodeApplication_Impl.h:
+ * DAnCE/NodeApplication/NodeApplication_Impl.inl:
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp: Changed to
+ depend on a concrete NodeApp_Configurator to perform the
+ configuration.
+
+ * DAnCE/NodeApplication/NodeApplication_Core.h:
+ * DAnCE/NodeApplication/NodeApplication_Core.inl:
+ * DAnCE/NodeApplication/NodeApplication_Core.cpp:
+ * DAnCE/NodeApplication/NodeApplication.cpp: Restructured the
+ NodeApplication implementation so that the ORB event loop can be
+ run on the main thread or on a separate thread, using the FIFO
+ scheduling class.
+
+ A new create_configurator method in NodeApplication_Core will
+ create the "right" concrete configurator based on the command
+ line flags. We will support a RT configuration soon.
+ Currently, there's only a NoOp_Configurator for running
+ NodeApplication without RT support.
+
+ We will add the RT configuration as a dynamic library and will
+ hook it up via ACE_DLL in a few days.
+
+Tue Oct 18 16:50:24 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * NEWS
+
+ Updated release notes.
+
+Mon Oct 17 13:21:59 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/ccd.xsd
+
+ Updated to work with expected format for Repoman/ComponentPackager
+
+Fri Oct 14 17:22:59 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Basic_Deployment_Data.cpp
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+ * tools/Config_Handlers/Deployment.cpp
+ * tools/Config_Handlers/Deployment.hpp
+ * tools/Config_Handlers/ccd.cpp
+ * tools/Config_Handlers/ccd.hpp
+ * tools/Config_Handlers/cdd.cpp
+ * tools/Config_Handlers/cdd.hpp
+ * tools/Config_Handlers/cdp.cpp
+ * tools/Config_Handlers/cdp.hpp
+ * tools/Config_Handlers/cid.cpp
+ * tools/Config_Handlers/cid.hpp
+ * tools/Config_Handlers/cpd.cpp
+ * tools/Config_Handlers/cpd.hpp
+ * tools/Config_Handlers/iad.cpp
+ * tools/Config_Handlers/iad.hpp
+ * tools/Config_Handlers/pcd.cpp
+ * tools/Config_Handlers/pcd.hpp
+ * tools/Config_Handlers/toplevel.cpp
+ * tools/Config_Handlers/toplevel.hpp
+
+ Regerated with new version of XSC which implements some heavy
+ optimizations.
+
+Fri Oct 14 14:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Config_Handlers/DynAny_Handler/DynAny_Handler.cpp:
+ Removed not needed ;
+
+Thu Oct 13 15:42:12 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.cpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+ * tools/Config_Handlers/RT-CCM/TPL_Handler.cpp
+
+ Various compile fixes for Borland.
+
+ * tools/Config_Handlers/XMLSchema/Types.hpp
+
+ Modified to use ACE typedefs for number types.
+
+ * tools/Config_Handlers/XSCRT/Elements.hpp
+
+ Removed unneeded non-const conversion operator which was causing
+ errors in Borland.
+
+Wed Oct 12 14:13:09 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * examples/Hello/Sender/Sender.idl
+ * examples/Hello/Sender/Sender_exec.cpp
+ * examples/Hello/Sender/Sender_exec.h
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns.cdp
+
+ Example of initializing enumerated attributes.
+
+Wed Oct 12 15:08:31 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tools/Config_Handlers/RT-CCM/TP_Handler.cpp:
+
+ Changed the types of some static_casts on the rhs of
+ assignments to match the types on the lhs, eliminating
+ warnings from MSVC 7.1.
+
+Wed Oct 12 13:17:58 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/TypeNameEmitter.cpp:
+
+ Removed generation of error message with code that attempts
+ to set an enum attribute value, and replace it with code
+ that extracts the enum value from the Any arguement.
+
+Wed Oct 12 08:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.h:
+ Fixed fuzz check
+
+Tue Oct 11 16:37:01 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Basic_Deployment_Data.cpp
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+ * tools/Config_Handlers/Deployment.cpp
+ * tools/Config_Handlers/Deployment.hpp
+ * tools/Config_Handlers/ccd.cpp
+ * tools/Config_Handlers/ccd.hpp
+ * tools/Config_Handlers/cdd.cpp
+ * tools/Config_Handlers/cdd.hpp
+ * tools/Config_Handlers/cdp.cpp
+ * tools/Config_Handlers/cdp.hpp
+ * tools/Config_Handlers/cid.cpp
+ * tools/Config_Handlers/cid.hpp
+ * tools/Config_Handlers/cpd.cpp
+ * tools/Config_Handlers/cpd.hpp
+ * tools/Config_Handlers/iad.cpp
+ * tools/Config_Handlers/iad.hpp
+ * tools/Config_Handlers/pcd.cpp
+ * tools/Config_Handlers/pcd.hpp
+ * tools/Config_Handlers/toplevel.cpp
+ * tools/Config_Handlers/toplevel.hpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.cpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+
+ Fixed a bug which broke the gaurantee that element order in the
+ XSC type would be the same as the element order in the instance
+ document.
+
+ * tools/Config_Handlers/DynAny_Handler/DynAny_Handler.cpp
+ * tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp
+
+ Fixed a runtime error and removed some debugging information.
+
+Mon Oct 10 17:37:20 2005 Stoyan Paunov spaunov@isis.vanderbilt.edu
+
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.cpp
+
+ reverted a change we made earlier to accomodate older verisons of ZZIPLIB
+
+
+Mon Oct 10 15:46:57 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.cpp
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.cpp
+
+ Trivial corrections for portability problems.
+
+ * DAnCE/spec_RepositoryManager/spec_RepositoryManager.mpc
+
+ Updated to properlly use base projects.
+
+Mon Oct 10 20:07:39 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tools/Config_Handlers/Config_Handlers.mpc:
+ * tools/Config_Handlers/DynAny_Handler.mpc:
+
+ Add export files to projects, and removed redundant
+ base projects.
+
+ * tools/Config_Handlers/RT-CCM/TPL_Handler.cpp:
+
+ Changed some static casts on the rhs of assignments to types
+ corresponding to the lhs, elminating warnings on MSVC 7.1.
+
+Mon Oct 10 15:05:00 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/Basic_Deployment_Data.xsd
+ * docs/schema/cdd.xsd
+
+ Checking in some updated schema for domain information.
+
+Mon Oct 10 13:53:15 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+ * tools/Config_Handlers/Config_Handlers.mpc
+ * tools/Config_Handlers/Deployment.hpp
+ * tools/Config_Handlers/DynAny_Handler.mpc
+ * tools/Config_Handlers/IDREF_Base.h
+ * tools/Config_Handlers/XSC_XML_Handlers_Export.h
+ * tools/Config_Handlers/ccd.hpp
+ * tools/Config_Handlers/cdd.hpp
+ * tools/Config_Handlers/cdp.hpp
+ * tools/Config_Handlers/cid.hpp
+ * tools/Config_Handlers/cpd.hpp
+ * tools/Config_Handlers/iad.hpp
+ * tools/Config_Handlers/pcd.hpp
+ * tools/Config_Handlers/toplevel.hpp
+ * tools/Config_Handlers/DynAny_Handler/DynAny_Handler.h
+ * tools/Config_Handlers/DynAny_Handler/DynAny_Handler_Export.h
+ * tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.h
+ * tools/Config_Handlers/RT-CCM/CB_Handler.h
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+ * tools/Config_Handlers/RT-CCM/CLA_Handler.h
+ * tools/Config_Handlers/RT-CCM/OC_Handler.h
+ * tools/Config_Handlers/RT-CCM/OR_Handler.h
+ * tools/Config_Handlers/RT-CCM/PM_Handler.h
+ * tools/Config_Handlers/RT-CCM/PS_Handler.h
+ * tools/Config_Handlers/RT-CCM/RT-CCM-Handlers.mpc
+ * tools/Config_Handlers/RT-CCM/RT_CCM_Handlers_Export.h
+ * tools/Config_Handlers/RT-CCM/SRD_Handler.h
+ * tools/Config_Handlers/RT-CCM/TPL_Handler.h
+ * tools/Config_Handlers/RT-CCM/TP_Handler.h
+ * tools/Config_Handlers/RT-CCM/input.csr
+ * tools/Config_Handlers/Utils/CIAO_XML_Utils_Export.h
+ * tools/Config_Handlers/Utils/Utils.mpc
+ * tools/Config_Handlers/Utils/XML_Error_Handler.h
+ * tools/Config_Handlers/Utils/XML_Helper.h
+ * tools/Config_Handlers/Utils/XML_Schema_Resolver.h
+
+ Fixed messy export macro usage. This will clean up builds on
+ Windows.
+
+Sun Oct 9 19:22:44 CDT 2005 Stoyan Paunov spaunov@isis.vanderbilt.edu
+
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.cpp
+ * DAnCE/spec_RepositoryManager/spec_RepositoryManager.mpc
+
+ Fixing a few includes after Will Otte's latest changes.
+
+
+Sun Oct 9 09:51:41 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/DynAny_Handler.mpc
+
+ Moved this file down a level to make MPC stop complaining.
+
+Fri Oct 7 18:22:40 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Any_Handler.cpp
+ * tools/Config_Handlers/DynAny_Handler/DynAny_Handler.cpp
+ * tools/Config_Handlers/DynAny_Handler/DynAny_Handler.h
+ * tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp
+
+ *Hopefully* fix compile problem on Windows.
+
+Fri Oct 7 18:25:11 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/ADD_Handler.cpp
+ * tools/Config_Handlers/DP_Handler.cpp
+ * tools/Config_Handlers/IDD_Handler.cpp
+ * tools/Config_Handlers/MDD_Handler.cpp
+
+ Fix runtime error.
+
+Fri Oct 7 16:18:40 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Config_Handlers.mpc
+ * tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp
+ * tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.h
+
+ Fix for a compile problem.
+
+Fri Oct 7 14:25:09 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/DynAny_Handler/DataType_Handler.cpp
+ * tools/Config_Handlers/DynAny_Handler/DataType_Handler.h
+ * tools/Config_Handlers/DynAny_Handler/DynAny_Handler.cpp
+ * tools/Config_Handlers/DynAny_Handler/DynAny_Handler.h
+ * tools/Config_Handlers/DynAny_Handler/DynAny_Handler.mpc
+ * tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.cpp
+ * tools/Config_Handlers/DynAny_Handler/DynEnum_Handler.h
+ * tools/Config_Handlers/Any_Handler.cpp
+
+ Add support for using Dynamic Any. This will evolve in the coming
+ weeks into more complete support for complex types.
+
+ * tools/Config_Handlers/ADD_Handler.cpp
+ * tools/Config_Handlers/ADD_Handler.h
+ * tools/Config_Handlers/Basic_Deployment_Data.cpp
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+ * tools/Config_Handlers/CCD_Handler.cpp
+ * tools/Config_Handlers/CCD_Handler.h
+ * tools/Config_Handlers/CEPE_Handler.cpp
+ * tools/Config_Handlers/CEPE_Handler.h
+ * tools/Config_Handlers/DP_Handler.cpp
+ * tools/Config_Handlers/DP_PCD_Handler.cpp
+ * tools/Config_Handlers/DP_PCD_Handler.h
+ * tools/Config_Handlers/ERE_Handler.cpp
+ * tools/Config_Handlers/ERE_Handler.h
+ * tools/Config_Handlers/ADD_Handler.cpp
+ * tools/Config_Handlers/IDD_Handler.h
+ * tools/Config_Handlers/MDD_Handler.cpp
+ * tools/Config_Handlers/MDD_Handler.h
+ * tools/Config_Handlers/PCD_Handler.cpp
+ * tools/Config_Handlers/PSPE_Handler.cpp
+ * tools/Config_Handlers/PSPE_Handler.h
+
+ Optimization made possible by improvements in XSC.
+
+Fri Oct 7 14:20:36 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.cpp:
+ *
+ DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+
+ Added more debug statements.
+
+Fri Oct 7 19:14:29 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIAO-INSTALL.html:
+
+ Updated CIDL compiler section with instructions for building
+ the CIDL compiler using MPC.
+
+Fri Oct 7 18:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeManager/NodeManager_Impl.{h,inl}:
+ Removed inl file, it is empty
+
+ * DAnCE/ExecutionManager/ExecutionManager_Impl.inl:
+ Removed, empty
+
+Thu Oct 6 16:52:21 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ *
+ DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+
+ Added more debug statements and comments.
+
+Thu Oct 6 16:11:56 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ *
+ DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+
+ Added more debug statements and also comments in the code.
+
+Thu Oct 6 15:32:41 CDT 2005 Stoyan Paunov spaunov@isis.vanderbilt.edu
+
+ * DAnCE/spec_RepositoryManager/PC_Updater.cpp
+ * DAnCE/spec_RepositoryManager/PC_Updater.h
+ * DAnCE/spec_RepositoryManager/PC_Updater_T.cpp
+ * DAnCE/spec_RepositoryManager/PC_Updater_T.h
+
+ Added these files which implement a PackageConfiguration visitor.
+ The visitor helps deal with the internal complexity of the PackageConfiguration
+ and helps preseve my sanity ;)
+
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.cpp
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.h
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.cpp
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.h
+
+ Some more code. With this the package distribution part of the RM
+ is ready. I still need to clean up a few details. This is coming soon.
+
+
+Thu Oct 6 15:05:30 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp:
+
+ Added debug statements and comments.
+
+Thu Oct 6 14:26:31 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/DAM_Map.cpp:
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp:
+ * DAnCE/Plan_Launcher/DAM_Map.cpp:
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp:
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.cpp:
+ * ciao/Container_Impl.cpp:
+ * ciao/NodeApplication_Impl.cpp:
+ * ciao/Servant_Activator.cpp:
+
+ Fixed the debug statements to look for critical levels
+ no more than 9.
+
+Thu Oct 6 14:00:16 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * ciao/Container_Base.cpp:
+ * ciao/Container_Impl.cpp:
+
+ Added debug messages and comments.
+
+Thu Oct 6 12:30:40 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * ciao/NodeApplication_Impl.cpp:
+
+ Added debug messages and comments.
+
+Thu Oct 6 08:00:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp:
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.cpp:
+ Fixed compile problems
+
+Wed Oct 5 17:42:24 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Any_Handler.cpp
+
+ Part of previous commit.
+
+Wed Oct 5 17:07:07 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/Basic_Deployment_Data.xsd
+ * docs/schema/cdd.xsd
+
+ Moved recursive Domain data into cdd.xsd. This will hopefully
+ lessen the time required to compile.
+
+ * tools/Config_Handlers/CPD_Handler.cpp
+ * tools/Config_Handlers/DataType_Handler.cpp
+
+ Fixed some potential run-time bugs in Borland. Style
+ corrections.
+
+ * tools/Config_Handlers/Basic_Deployment_Data.cpp
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+ * tools/Config_Handlers/Deployment.cpp
+ * tools/Config_Handlers/Deployment.hpp
+ * tools/Config_Handlers/ccd.cpp
+ * tools/Config_Handlers/ccd.hpp
+ * tools/Config_Handlers/cdd.cpp
+ * tools/Config_Handlers/cdd.hpp
+ * tools/Config_Handlers/cdp.cpp
+ * tools/Config_Handlers/cdp.hpp
+ * tools/Config_Handlers/cid.cpp
+ * tools/Config_Handlers/cid.hpp
+ * tools/Config_Handlers/iad.cpp
+ * tools/Config_Handlers/iad.hpp
+ * tools/Config_Handlers/pcd.cpp
+ * tools/Config_Handlers/pcd.hpp
+ * tools/Config_Handlers/test.cdp
+ * tools/Config_Handlers/toplevel.cpp
+ * tools/Config_Handlers/toplevel.hpp
+
+ Regerated with new version of XSC. Major changes:
+ * Now only one accessor and one mutator per document element
+ * Changes in schema above.
+
+Wed Oct 5 14:44:31 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.cpp:
+ *
+ DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp:
+
+ Added some debug statements and some optimization choices.
+
+Tue Oct 4 14:08:24 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/Basic_Deployment_Data.xsd
+ * docs/schema/unused_elements.xsd
+ * tools/Config_Handlers/Basic_Deployment_Data.cpp
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+
+ Updated to include domain information (ie, bridge, interconnect).
+
+ * tools/Config_Handlers/RT-CCM/SRD_Handler.h
+
+ Cosmetic changes.
+
+Mon Oct 3 14:27:39 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * CIAO-INSTALL.html
+
+ Updated install documentation to reflect the restructuring.
+
+Mon Oct 3 12:48:26 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+
+ Commented out some debugging information.
+
+Mon Oct 3 15:44:15 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * docs/Purify.html:
+
+ Updated doc file with installation info and more info about
+ Purifying a spawned child process.
+
+Mon Oct 3 10:14:19 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+
+ Corrected a bug in parameter checking.
+
+ * DAnCE/NodeManager/Node_Manager.cpp
+
+ Added documentation for the -d command line options.
+
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.cpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+ * tools/Config_Handlers/RT-CCM/SRD_Handler.cpp
+ * tools/Config_Handlers/RT-CCM/SRD_Handler.h
+
+ New functionality in the Config_Handlers.
+
+Mon Oct 3 10:00:08 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/valgrind_nodedaemon.py
+
+ Script to help launch nodemanager/nodeapplication under Valgrind.
+
+Mon Oct 3 000:31:09 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * docs/Purify.html:
+
+ New file, documenting the use of Purify with CIAO and DAnCE.
+
+Sun Oct 2 22:24:15 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp:
+
+ Added include of RT-CCM/CIAOServerResources.hpp.
+
+ * tools/Config_Handlers/DP_Handler.cpp:
+
+ Added export macros to friend function declarations.
+
+Sat Oct 1 15:38:23 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Config_Handlers.mpc
+ * tools/Config_Handlers/test.cpp
+
+ Corrected the config handler test to properly test the handlers.
+
+ * tools/Config_Handlers/PSPE_Handler.cpp
+
+ Fixed a run-time bug that was causing corrupted plans in Borland
+ builds.
+
+Friday Sep 30 15:12:43 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc
+ * DAnCE/spec_RepositoryManager/spec_RepositoryManager.mpc
+ * RACE/Planner_Manager/Component/Planner_Manager.mpc
+ * tests/IDL3/ImpliedIDL/All/all.mpc
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.cpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+
+ Fixes for compile problems in Borland6
+
+Fri Sep 30 15:11:47 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * NEWS
+
+ Updated the NEWS file.
+
+Fri Sep 30 07:53:47 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/RT-CCM/SRD_Handler.cpp
+
+ Should have been part of the previous commit.
+
+Thu Sep 29 18:11:25 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * ciao/Container_Impl.cpp
+ * ciao/NodeApplication_Impl.cpp
+ * ciao/Upgradeable_Context_Impl_T.cpp
+
+ Fuzz errors.
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc
+ * tools/Config_Handlers/RT-CCM/Config_Handlers_Export.h
+ * tools/Config_Handlers/RT-CCM/SRD_Handler.h
+ * tools/Config_Handlers/Utils/Config_Handlers_Export.h
+
+ Correction for a emulated exception error.
+
+Thu Sep 29 13:01:23 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ciao/Version.h
+
+ Corrected the version number.
+
+Thu Sep 29 11:34:55 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ciao/Swapping_Servant_Home_Impl_T.cpp
+
+ Fixed build problem on non-exception systems.
+
+Thu Sep 29 07:28:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Config_Handlers/Utils/XML_Schema_Resolver.cpp:
+ Fixed not used argument warning
+
+Thu Sep 29 06:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Config_Handlers/Utils/XML_Schema_Resolver.h:
+ Added missing pre.h
+
+Wed Sep 28 16:44:39 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * docs/schema/CIAOServerResources.xsd
+
+ Updated to support RT-CCM.
+
+Wed Sep 28 14:44:39 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.cpp
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+
+ New version of the XSC including additional features needed for
+ RT-CCM.
+
+Wed Sep 28 08:24:32 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Utils/Utils.mpc
+ * tools/Config_Handlers/Utils/XML_Helper.cpp
+ * tools/Config_Handlers/Utils/XML_Schema_Resolver.cpp
+ * tools/Config_Handlers/Utils/XML_Schema_Resolver.h
+
+ Implemented a schema resolver so that the XML parser till grab the
+ schemata from $CIAO_ROOT/docs/schema.
+
+ * docs/tutorials/Quoter/Simple/descriptors/Deployment.xsd
+ * docs/tutorials/Quoter/Simple/descriptors/Modified_Deployment.xsd
+ * examples/BasicSP/descriptors/Deployment.xsd
+ * examples/Display/descriptors/Deployment.xsd
+ * examples/Display/descriptors/Modified_Deployment.xsd
+ * examples/Hello/descriptors/Deployment.xsd
+ * examples/Hello/descriptors/Modified_Deployment.xsd
+ * examples/Hello/descriptors/XMI.xsd
+ * examples/Hello/descriptors/Deployment.xsd
+ * examples/Hello/descriptors/Modified_Deployment.xsd
+ * examples/Hello/descriptors/XMI.xsd
+
+ Removed obsolete schemata.
+
+ * examples/Display/descriptors/flattened_deploymentplan.cdp
+ * examples/Hello/descriptors/flattened_deploymentplan.cdp
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns.cdp
+ * docs/tutorials/Quoter/Simple/descriptors/flattened_deploymentplan.cdp
+
+ Migrated these deployment plans to use Deployment.xsd and friends,
+ instead of Modified_Deployment.xsd.
+
+ * NEWS
+
+ Updated the NEWS to include this feature.
+
+Tue Sep 27 13:16:43 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc
+ * DAnCE/NodeApplication/NodeApplication.mpc
+ * DAnCE/NodeManager/NodeManager.mpc
+ * DAnCE/Old_Config_Handlers/Config_Handlers.mpc
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+ * DAnCE/RTNodeApplication/RTNodeApplication.mpc
+ * DAnCE/spec_RepositoryManager/spec_RepositoryManager.mpc
+ * RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.mpc
+ * RACE/Output_Adapters/Base/Output_Adapter.mpc
+ * RACE/Planners/SimpleBinPacker/SimpleBinPacker.mpc
+ * ciao/CCM_Core.mpc
+ * examples/BasicSP/BasicSP.mpc
+
+ Fixed a large number of deficiencies in our build structure.
+ More changes to come later.
+
+Tue Sep 27 11:10:37 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * NEWS
+
+ Updated the news file.
+
+Tue Sep 27 10:51:20 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * bin/generate_component_mpc.pl
+
+ Updated this script to bring it in line with modern CIAO. This
+ includes:
+
+ - Base projects are now the _dnc variants
+ - Export files are now automatically generated.
+
+Tue Sep 27 14:26:44 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/IDL2/LexicalAnalyzer.cpp:
+ * CCF/CCF/IDL2/Parser.cpp:
+ * CCF/CCF/IDL2/Parser.hpp:
+ * CCF/CCF/IDL2/SemanticAction.hpp:
+ * CCF/CCF/IDL2/SemanticGraph.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Const.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Factory.hpp:
+ * CCF/CCF/IDL2/SemanticAction/NumericExpression.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Const.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Const.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Elements.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Factory.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Factory.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/NumericExpression.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/NumericExpression.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/Elements.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Elements.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/IntExpression.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/IntExpression.hpp:
+ * CCF/CCF/IDL3/Parser.cpp:
+ * CCF/CCF/CIDL/Parser.cpp:
+
+ Implemented first part of the const expression support. This
+ includes parser rules, semantic graph types and semantic
+ actions. Traversal types are still to be implemented.
+
+Tue Sep 27 06:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp:
+ Fixed compile problem
+
+ * tools/Config_Handlers/XMLSchema/TypeInfo.tpp:
+ Removed using std::make_pair, this causes a crash of the BCB6
+ compiler. It doesn't seem to cause issues with CBX, but it
+ seems the code wasn't really needed and now BCB6 is also happy
+
+Mon Sep 26 11:06:40 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Basic_Deployment_Data.hpp
+
+ Updates for compile problems in Borland.
+
+Mon Sep 26 11:06:40 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+
+ Cleared up some scoreboard errors.
+
+Sat Sep 24 20:44:20 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc
+ * tools/Config_Handlers/Config_Handlers.mpc
+
+ Fixed linking errors.
+
+Sat Sep 24 08:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/spec_RepositoryManager/spec_RepositoryManager.mpc:
+ Added Id tag
+
+Sat Sep 24 02:37:20 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * ciao/Deployment.idl
+ * ciao/Deployment_Core.idl
+ * ciao/ServerResources.idl
+
+ Enhanced to support RT-CCM feature.
+
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp
+ * DAnCE/NodeApplicationManager/ImplementationInfo.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.cpp
+ * DAnCE/NodeApplicationManager/Containers_Info_Map.h
+
+ Refactor the NodeApplicationManager to populate the correct
+ node level deployment plan info, while taking into account
+ of the RT-CCM feature.
+
+ * ciao/NodeApplication_Impl.cpp
+ * ciao/NodeApplication_Impl.h
+
+ Modified to accomodate the change in IDL files.
+
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client.cpp
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_ex.cpp
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_simple.cpp
+
+ Fixed these tests to make them run with the modified IDL
+ files.
+
+ * DAnCE/examples/Hello/descriptors/rt-config-example.csr
+ * DAnCE/examples/Hello/descriptors/rt-config-example.cdp
+
+ An example descriptor files to describe server resource,
+ and associate server resources and policy set defs with
+ the deployment plan.
+
+ NOTE: All above code are tested working fine with the existing
+ examples.
+
+Fri Sep 23 10:05:18 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc
+ * tools/Config_Handlers/Config_Handlers.mpc
+
+ fixes for build problems.
+
+Thu Sep 22 16:21:12 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+
+ Added error report message from the tool.
+
+ * ciao/Container_Base.cpp
+
+ Cosmetic change.
+
+Thu Sep 22 14:45:32 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Config_Handlers.mpc
+ * tools/Config_Handlers/STD_CID_Handler.cpp
+ * tools/Config_Handlers/STD_CID_Handler.h
+ * tools/Config_Handlers/STD_CPD_Handler.cpp
+ * tools/Config_Handlers/STD_CPD_Handler.h
+ * tools/Config_Handlers/STD_PCD_Handler.cpp
+ * tools/Config_Handlers/STD_PCD_Handler.h
+ * tools/Config_Handlers/STD_PC_Intf.cpp
+ * tools/Config_Handlers/XML_File_Intf.cpp
+ * tools/Config_Handlers/RT-CCM/SRD_Handler.h
+ * tools/Config_Handlers/RT-CCM/RT-CCM-Handlers.mpc
+
+ Made these files consistent with the new Utils directory.
+
+ * tools/Config_Handlers/Utils/Utils.mpc
+ * tools/Config_Handlers/Utils/XML_Error_Handler.cpp
+ * tools/Config_Handlers/Utils/XML_Error_Handler.h
+ * tools/Config_Handlers/Utils/XML_Helper.cpp
+ * tools/Config_Handlers/Utils/XML_Helper.h
+ * tools/Config_Handlers/Utils/XercesString.cpp
+ * tools/Config_Handlers/Utils/XercesString.h
+
+ Moved common XML utilities to a separate directory.
+
+Thu Sep 22 13:21:12 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * ciao/CCM_Core.mpc
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc
+ * tools/Config_Handlers/RT-CCM/RT-CCM-Handlers.mpc
+
+ Put the ServerResources.idl into Deployment_stub project. Modified
+ other MPC project files to reflect this change.
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+
+ Pass the infoProperty which contains the entire server resource
+ definitions to each individual child deployment plans.
+
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.h
+
+ NodeManager now validates the correctness of the individual local
+ dpeloyment plan. In particular, it tries to verify that all the
+ component instances within this child deployment plan have the same
+ "server_resource_id" assigned.
+
+ * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_dynamic.cpp
+
+ Added a NodeApplication test case, where multiple components could
+ be installed one-by-one through a serious of "install" invocations.
+
+ * examples/Hello/descriptors/flattened_deploymentplan_without_ns.cdp
+
+ Fixed a typo.
+
+
+
+Thu Sep 22 12:26:45 CDT 2005 Stoyan spaunov@isis.vanderbilt.edu
+
+ * DAnCE/spec_RepositoryManager/
+ * DAnCE/new_RepositoryManager/
+
+ Added the former, removed the latter.
+
+
+Thu Sep 22 10:50:45 CDT 2005 Stoyan spaunov@isis.vanderbilt.edu
+
+
+ * DAnCE/spec_RepositoryManager/HTTP_Client.cpp
+ * DAnCE/spec_RepositoryManager/HTTP_Client.h
+ * DAnCE/spec_RepositoryManager/HTTP_Handler.cpp
+ * DAnCE/spec_RepositoryManager/HTTP_Handler.h
+ * DAnCE/spec_RepositoryManager/Options.cpp
+ * DAnCE/spec_RepositoryManager/Options.h
+ * DAnCE/spec_RepositoryManager/README.txt
+ * DAnCE/spec_RepositoryManager/RepositoryManager.cpp
+ * DAnCE/spec_RepositoryManager/RepositoryManager.idl
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.cpp
+ * DAnCE/spec_RepositoryManager/RepositoryManager_Impl.h
+ * DAnCE/spec_RepositoryManager/RMadmin.cpp
+ * DAnCE/spec_RepositoryManager/RM_Helper.cpp
+ * DAnCE/spec_RepositoryManager/RM_Helper.h
+ * DAnCE/spec_RepositoryManager/spec_RepositoryManager.mpc
+ * DAnCE/spec_RepositoryManager/spec_RepositoryManager.ncb
+ * DAnCE/spec_RepositoryManager/URL_Parser.cpp
+ * DAnCE/spec_RepositoryManager/URL_Parser.h
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.cpp
+ * DAnCE/spec_RepositoryManager/ZIP_Wrapper.h
+
+
+ Checked in these file and cleaned up *some* of the underlying mess due to previous
+ mix-ups. Many of the files are new. Some are newer versions of older files.
+ Previously there were 2 RM directories spec_RepositoryManager and
+ new_RepositoryManager. Someone had removed the spec* verion and checked in the
+ wrong files in the new* version (which used to be a non-spec compilent impl).
+ Apparently on top of that the two directories have been linked somehow! I will
+ check on what the reason for this is later.
+
+
+Thu Sep 22 13:15:28 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/Execution_Manager.cpp:
+
+ Fixed typo.
+
+Wed Sep 21 15:32:38 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/ExecutionManager/Execution_Manager.cpp
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp
+ * DAnCE/NodeApplication/NodeApplication.cpp
+ * DAnCE/RTNodeApplication/NodeApplication_Task.cpp
+ * DAnCE/RepositoryManager/Repository_Manager.cpp
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client.cpp
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_ex.cpp
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_simple.cpp
+ * ciao/Container_Base.cpp
+ * ciao/Container_Impl.cpp
+ * ciao/Servant_Activator.cpp
+ * ciao/Servant_Impl_T.cpp
+ * ciao/Swapping_Container.cpp
+ * ciao/Swapping_Servant_Home_Impl_T.cpp
+ * ciao/Upgradeable_Context_Impl_T.cpp
+ * docs/templates/CIAO_Glue_Session_Template.cpp
+ * examples/Hello/Sender/Sender_exec.cpp
+ * examples/Swapping/Receiver/Receiver_exec.cpp
+ * examples/Swapping/Sender/Sender_exec.cpp
+ * examples/Swapping/Sender/Sender_exec_1.cpp
+ * examples/Swapping/Sender/Sender_exec_2.cpp
+
+ Fixed numerous emulated exception errors.
+
+ * DAnCE/ExecutionManager/ExecutionManager_Impl.cpp
+ * DAnCE/ExecutionManager/ExecutionManager_Impl.h
+
+ removed obsolete EM implementation.
+
+Wed Sep 21 13:34:28 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/RT-CCM/test.cpp
+
+ Modified so the output XML file is based on the XSC dom document
+ instead from the input file directly.
+
+Tue Sep 20 21:58:23 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/IDL3/ImpliedIDL/All/convert.idl:
+
+ Modified valuetype declartion used as a primary key to
+ conform to the CCM spec section 61.7.2.1 listing
+ constraints on primary key types.
+
+Tue Sep 20 02:25:34 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/Config_Handlers.mpc
+
+ Quick fix for a build problem on Windows. A better solution
+ will follow when I check in my CIAO build system revamp.
+
+Tue Sep 20 10:19:46 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/test.cdp
+
+ A test deployment plan file that contains odd constructs.
+ Used for testing.
+
+Tue Sep 20 10:07:43 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/new_RepositoryManager/new_RepositoryManager.mpc
+
+ Added a missing library.
+
+Tue Sep 20 09:50:28 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+
+ Modified to kill all NodeApplication processes when the deployment fails.
+
+Tue Sep 20 09:35:28 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+
+ Added a missing library.
+
+Mon Sep 19 16:29:57 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ADD_Handler.cpp
+ * Common.h
+ * IDD_Handler.cpp
+ * IDD_Handler.h
+ * IDREF_Base.cpp
+ * IDREF_Base.h
+ * IRDD_Handler.cpp
+ * IRDD_Handler.h
+ * MDD_Handler.cpp
+ * PSPE_Handler.cpp
+ * STD_CID_Handler.cpp
+ * XML_Error_Handler.cpp
+
+ Added some improved error handling/reporting. Much more to come.
+
+ * test.cpp
+ * RT-CCM/RT-CCM-Handlers.mpc
+ * RT-CCM/SRD_Handler.cpp
+ * RT-CCM/SRD_Handler.h
+ * Config_Handlers.mpc
+ * DP_Handler.cpp
+
+ Added hooks for parsing ServerResources document into a deployment
+ plan.
+
+ This is activated by adding an InfoProperty with name
+ "CIAOServerResources" with a value of a valid CSR file.
+
+ Also enabled parsing of deployRequirements and infoProperties.
+
+Mon Sep 19 10:55:05 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * RACE/Input_Adapters/Base/Input_Adapter.mpc
+ * RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.mpc
+ * RACE/Output_Adapters/Base/Output_Adapter.mpc
+ * RACE/Output_Adapters/Interface/Output_Adapter_Interface.mpc
+ * RACE/Output_Adapters/XML_Output_Adapter/XML_Output_Adapter.mpc
+ * RACE/Plan_Analyzer/Component/Plan_Analyzer.mpc
+ * RACE/Plan_Analyzer/Interface/Plan_Analyzer_Interface.mpc
+ * RACE/Planner_Manager/Component/Planner_Manager.mpc
+ * RACE/Planner_Manager/Interface/Planner_Manager_Interface.mpc
+ * RACE/Planners/Base/Planner.mpc
+ * RACE/Planners/Interface/Planner_Interface.mpc
+ * RACE/Planners/SimpleBinPacker/SimpleBinPacker.mpc
+ * RACE/common/RACE_common.mpc
+ * tools/Config_Handlers/RT-CCM/CLA_Handler.h
+ * tools/Config_Handlers/RT-CCM/OC_Handler.cpp
+ * tools/Config_Handlers/RT-CCM/OR_Handler.cpp
+ * tools/Config_Handlers/RT-CCM/OR_Handler.h
+
+ Misc fuzz fixes.
+
+Fri Sep 16 09:54:44 2005 William Otte <wotte@william-ottes-powerbook-g4-15.local>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+
+ Emulated exception fixes.
+
+Thu Sep 15 07:29:03 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * TAO/CIAO/examples/Hello/descriptors/NodeManagerMap.dat: Make sure
+ there's a newline at the end of this file. Thanks to Zachi
+ Klopman <zklopman@gmail.com> for reporting this.
+
+Thu Sep 15 11:20:20 2005 CSET William Otte <wotte@dre.vanderbilt.edu>
+
+
+ * ciao/Container_Base.cpp
+
+ Fix for compile error on platforms with emulated exceptions.
+
+Wed Sep 14 13:25:00 CEST 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * RACE/Input_Adapters/Interactive_Input_Adapter/Interactive_Input_Adapter.mpc
+
+ Fix for a library ordering problem.
+
+Wed Sep 14 11:18:42 2005 CEST William Otte <wotte@william-ottes-powerbook-g4-15.local>
+
+ * tools/Config_Handlers/CIAOServerResources.cpp
+ * tools/Config_Handlers/CIAOServerResources.hpp
+
+ Removed these from the repo to avoid confusion.
+
+ * tools/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+
+ Ported patches from:
+ Tue Sep 13 17:18:12 CEST 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ which were made against the wrong file. Thanks to Gan Deng for
+ pointing this out.
+
+Wed Sep 14 13:28:14 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * examples/Hello/descriptors/run_NodeDaemons.pl
+
+ Modified the relevant path due to the recent CIAO directory
+ reorganization.
+
+ * examples/Hello/Sender/Sender.idl
+ * examples/Hello/Sender_exec.cpp
+ * examples/Hello/starter.cpp
+
+ Added test for "readonly" attribute.
+ Fixed a bug of setting attribute through command line options
+ through the "starter" executable. Also, make the default ior
+ file name to be "Sender.ior" to make it consistent with the
+ output generated by DAnCE. Thanks Zacki
+ <zklopman at gmail dot com> for reporting these.
+
+ * examples/Hello/step-by-step.html
+
+ Updated the documentation to run the example.
+
+Tue Sep 13 17:18:12 CEST 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/CIAOServerResources.hpp
+
+ Fixes for compile errors in:
+ . Especially strict C++ compilers
+ . Windows VC71 (hopefully)
+
+Tue Sep 13 17:05:31 2005 CEST William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.h
+ * DAnCE/NodeManager/Node_Manager.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.h
+ * ciao/Container_Base.cpp
+ * ciao/NodeApplication_Impl.cpp
+
+ Folding in some of the error reporting work that I have been
+ working on for the past couple weeks. Most common deployment
+ errors are now reported through the plan_launcher.
+
+Tue Sep 13 16:55:15 CEST 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/IDD_Handler.cpp
+ * tools/Config_Handlers/MDD_Handler.cpp
+ * tools/Config_Handlers/PSPE_Handler.cpp
+ * tools/Config_Handlers/STD_CID_Handler.cpp
+
+ Fixes for compile errors on both:
+ . 64 bit platforms
+ . GCC4
+
+Tue Sep 13 16:01:35 CEST 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/XMLSchema/Traversal.hpp
+ * tools/Config_Handlers/XMLSchema/TypeInfo.hpp
+ * tools/Config_Handlers/XMLSchema/Types.hpp
+ * tools/Config_Handlers/XMLSchema/Writer.hpp
+ * tools/Config_Handlers/XSCRT/Elements.hpp
+ * tools/Config_Handlers/XSCRT/ExtendedTypeInfo.hpp
+ * tools/Config_Handlers/XSCRT/Parser.hpp
+ * tools/Config_Handlers/XSCRT/Traversal.hpp
+ * tools/Config_Handlers/XSCRT/Writer.hpp
+ * tools/Config_Handlers/XSCRT/XML.hpp
+ * tools/Config_Handlers/XSCRT/XMLSchema.hpp
+
+ Rolled back Stoyan's changes from the previous commit. The proper
+ fix for this problem would be to update the include paths in the
+ affected MPC files, which has the virtue of not breaking
+ builds on platforms with case-sensitive filesystems.
+
+ * DAnCE/new_RepositoryManager/new_RepositoryManager.mpc
+
+ Updated the include path to include the new config handlers directory.
+
+Mon Sep 12 17:34:47 CDT 2005 Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+
+ * tools/Config_Handlers/XMLSchema/Traversal.hpp
+ * tools/Config_Handlers/XMLSchema/TypeInfo.hpp
+ * tools/Config_Handlers/XMLSchema/Types.hpp
+ * tools/Config_Handlers/XMLSchema/Writer.hpp
+ * tools/Config_Handlers/XSCRT/Elements.hpp
+ * tools/Config_Handlers/XSCRT/ExtendedTypeInfo.hpp
+ * tools/Config_Handlers/XSCRT/Parser.hpp
+ * tools/Config_Handlers/XSCRT/Traversal.hpp
+ * tools/Config_Handlers/XSCRT/Writer.hpp
+ * tools/Config_Handlers/XSCRT/XML.hpp
+ * tools/Config_Handlers/XSCRT/XMLSchema.hpp
+
+ Fixed a number of problems related to Will's changes. The XSC_Config_Handler_Tests
+ project was not compiling. I had the same problem in RepositoryManager. Will had
+ changed the directory structure, but did not update any of the include paths.
+ Needless to say there were like 30-40 of those in the XSCRT and XMLSchema directories
+
+Fri Sep 9 12:35:20 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tools/Config_Handlers/STD_IAD_Handler.cpp
+ * tools/Config_Handlers/STD_PCD_Handler.cpp
+ * tools/Config_Handlers/STD_PC_Intf.cpp
+
+ Changed to comform with new refactoring.
+
+Fri Sep 9 12:32:14 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ciao/CCM_Core.mpc
+ * ciao/Container_Base.cpp
+ * ciao/Deployment.idl
+ * ciao/Deployment_Core.idl
+ * ciao/Deployment_Data.idl
+ * ciao/Packaging_Data.idl
+
+ Refactoring to support cidl compilation of deployment structures.
+ This refactoring should solve compilation errors in the config handlers.
+
+Wed Sep 7 16:31:12 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ServantHeaderGenerator.cpp:
+
+ Removed generation of export macro in the typedef of the
+ template class instantiation that defines a facet servant.
+ Thanks to Ossama Othman <ossama@dre.vanderbilt.edu> for
+ pointing out that typedefs need not be exported.
+
+Tue Sep 6 11:39:15 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * ciao/Deployment_Data.idl
+
+ Commented out IDL that is unsupported by CIDLC.
+
+ * RACE
+
+ Added IDL for RACE.
+
+Tue Sep 6 09:58:12 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * examples/Hello/descriptors/run_test.pl
+
+ Modified the script to fix the absolute path to the naming service
+ with a relative path.
+
+Fri Sep 2 17:38:31 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * performance-tests/Protocols/Controller/Controller.mpc
+ * performance-tests/Protocols/Receiver/Receiver.mpc
+ * performance-tests/Protocols/Sender/Sender.mpc
+ * performance-tests/Protocols/common/Protocols.mpc
+ * tests/CIDL/CodeGen/CodeGen.mpc
+
+ Migrated to modern CIAO base projects.
+
+Fri Sep 2 16:41:08 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * performance-tests/Benchmark/Benchmark.mpc
+ * performance-tests/Benchmark/Multi_Threaded/Multi_Threaded.mpc
+ * performance-tests/Benchmark/RoundTrip/RoundTrip.mpc
+ * performance-tests/Benchmark/RoundTripClient/RoundTripClient.mpc
+ * performance-tests/Benchmark/RoundTripServer/RoundTripServer.mpc
+
+ Migrated to modern CIAO projects.
+
+Fri Sep 2 15:10:43 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/tutorial
+
+ Removed the obsolete hello tutorial.
+
+Fri Sep 2 15:04:00 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tests/tests.mwc
+ * tests/IDL3/Components/ComplexComponent/Attributes/Attributes.mpc
+ * tests/IDL3/Components/ComplexComponent/EventSink/EventSink.mpc
+ * tests/IDL3/Components/ComplexComponent/EventSource/EventSource.mpc
+ * tests/IDL3/Components/ComplexComponent/Facets/Facets.mpc
+ * tests/IDL3/Components/ComplexComponent/Receptacles/Receptacles.mpc
+ * tests/IDL3/Components/SimpleComponent/SimpleComponent.mpc
+ * tests/IDL3/Events/Abstract/Abstract.mpc
+ * tests/IDL3/Events/Regular/Regular.mpc
+ * tests/IDL3/Homes/Attributes/HomeAttributes.mpc
+ * tests/IDL3/Homes/Basic/Basic.mpc
+ * tests/IDL3/Homes/Factory/Factory.mpc
+ * tests/IDL3/Homes/Finder/Finder.mpc
+ * tests/IDL3/Homes/Inheritance/Inheritance.mpc
+ * tests/IDL3/ImpliedIDL/Components/Basic/ICBasic.mpc
+ * tests/IDL3/ImpliedIDL/Components/EventSink/ICEventSink.mpc
+ * tests/IDL3/ImpliedIDL/Components/EventSource/ICEventSource.mpc
+ * tests/IDL3/ImpliedIDL/Components/Receptacles/ICReceptacles.mpc
+ * tests/IDL3/ImpliedIDL/Events/Events.mpc
+ * tests/IDL3/ImpliedIDL/Homes/Homes.mpc
+ * tests/IDL3/Lookup/lookup_test.mpc
+
+ Updated to use dnc ciao base project.
+
+ * tests/RTCCM
+
+ Removed this test.
+
+Thu Sep 1 10:20:48 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ CIAO Reorganization. Plese see tag before_ciao_reorg
+ to obtain the old version.
+
+Wed Aug 31 15:16:23 2005 William Otte <wotte@dre.vanderbilt.edu>
+ * DAnCE/Config_Handlers/RT-CCM/CB_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/PM_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/TPL_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/TP_Handler.cpp
+
+ Fixes to satisfy a tempramental Borland compiler.
+
+Wed Aug 31 13:28:46 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/ADD_Handler.cpp
+ * DAnCE/Config_Handlers/ADD_Handler.h
+ * DAnCE/Config_Handlers/IDD_Handler.cpp
+ * DAnCE/Config_Handlers/IDD_Handler.h
+ * DAnCE/Config_Handlers/IDREF_Base.cpp
+ * DAnCE/Config_Handlers/IDREF_Base.h
+ * DAnCE/Config_Handlers/MDD_Handler.cpp
+ * DAnCE/Config_Handlers/MDD_Handler.h
+ * DAnCE/Config_Handlers/STD_CID_Handler.cpp
+ * DAnCE/Config_Handlers/STD_CID_Handler.h
+
+ Simple refactoring to make the IDREF interface more generic.
+
+ * DAnCE/Config_Handlers/XML_Helper.cpp
+ * DAnCE/Config_Handlers/XML_Helper.h
+
+ Made empty document creation more generic.
+
+ * DAnCE/Config_Handlers/RT-CCM/CB_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/CB_Handler.h
+ * DAnCE/Config_Handlers/RT-CCM/CIAOServerResources.cpp
+ * DAnCE/Config_Handlers/RT-CCM/CIAOServerResources.hpp
+ * DAnCE/Config_Handlers/RT-CCM/CLA_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/CLA_Handler.h
+ * DAnCE/Config_Handlers/RT-CCM/OC_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/OC_Handler.h
+ * DAnCE/Config_Handlers/RT-CCM/OR_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/OR_Handler.h
+ * DAnCE/Config_Handlers/RT-CCM/PM_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/PM_Handler.h
+ * DAnCE/Config_Handlers/RT-CCM/PS_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/PS_Handler.h
+ * DAnCE/Config_Handlers/RT-CCM/RT-CCM-Handlers.mpc
+ * DAnCE/Config_Handlers/RT-CCM/SRD_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/SRD_Handler.h
+ * DAnCE/Config_Handlers/RT-CCM/TPL_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/TPL_Handler.h
+ * DAnCE/Config_Handlers/RT-CCM/TP_Handler.cpp
+ * DAnCE/Config_Handlers/RT-CCM/TP_Handler.h
+ * DAnCE/Config_Handlers/RT-CCM/input.csr
+ * DAnCE/Config_Handlers/RT-CCM/test.cpp
+
+ The new RT-CCM handlers. These have yet to be integrated into the
+ main config_handler path.
+
+ * DAnCE/ciao/CCM_Core.mpc
+ * DAnCE/ciao/ServerResources.idl
+
+ Updates to the support the RT-CCM Handlers.
+
+ * docs/schema/CIAOServerResources.xsd
+
+ Corrected a few oversights.
+
+Wed Aug 31 09:49:28 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/XMLSchema/TypeInfo.tpp
+
+ Workaround for a buggy Borland compiler.
+
+Tue Aug 30 14:33:08 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp
+
+ Slight handcrafting to remove commas from the end of enumerator lists.
+
+Tue Aug 30 11:59:14 CDT 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/IRDD_Handler.h
+ * DAnCE/Config_Handlers/PCD_Handler.h
+
+ Fixed a class/struct mismatch.
+
+Tue Aug 30 11:51:32 CDT 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.cpp
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp
+ * DAnCE/Config_Handlers/CIAOServerResources.cpp
+ * DAnCE/Config_Handlers/CIAOServerResources.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
+
+ Fixes a large number of compiler warnings in Borland.
+
+Thu Aug 25 15:26:25 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/ciao/ServerResources.idl: Added the missing <stacksize>
+ attribute to ORS_ThreadpoolWithLanes struct. Thanks to Will
+ Otte for catching this.
+
+Wed Aug 24 20:41:59 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ExecImplHeaderGenerator.cpp:
+ * CIDLC/ExecImplSourceGenerator.cpp:
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Removed commented-out code.
+
+Tue Aug 23 20:09:59 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * DAnCE/Old_Config_Handlers/DT_Handler.h:
+ * DAnCE/RTNodeApplication/RTServer_Impl.h:
+ * DAnCE/ciao/Container_Base.h:
+ * DAnCE/ciao/Context_Impl_Base.h:
+ * DAnCE/ciao/NodeApplication_Impl.h:
+
+ Reordered include directives to make sure all necessary
+ non-dependent names are parsed before the templates that use
+ them. Addresses g++ 3.4.x or better compile-time errors.
+
+Tue Aug 23 19:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/DeploymentManager/DeploymentManager.mpc:
+ Add dummy_label to all projects, this don't build, this is
+ the fast way to get the scoreboard green. Already one project
+ had this in the file.
+
+Mon Aug 22 10:59:18 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DeploymentManager/DeploymentManager.cidl
+ * DAnCE/DeploymentManager/DeploymentManager.idl
+ * DAnCE/DeploymentManager/DeploymentManager.mpc
+ * DAnCE/DeploymentManager/DeploymentManager_Impl.cpp
+ * DAnCE/DeploymentManager/DeploymentManager_Impl.h
+ * DAnCE/DeploymentManager/DeploymentManager_exec_export.h
+ * DAnCE/DeploymentManager/DeploymentManager_stub_export.h
+ * DAnCE/DeploymentManager/DeploymentManager_svnt_export.h
+
+ Preliminary skeleton for the DeploymentManager.
+
+Fri Aug 19 07:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Config_Handlers/Any_Handler.cpp:
+ * DAnCE/Config_Handlers/DataType_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/DT_Handler.cpp:
+ * DAnCE/ciao/ComponentsC.h:
+ * ciao/ComponentsC.h:
+ Updated for AnyTypeCode refactoring
+
+Tue Aug 16 15:16:10 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * docs/schema/CIAOServerResources.xsd: Changed to define most of
+ the RT policy details with "element"s instead of "attribute"s
+ since "attribute"s can be optional. Thanks to Will Otte for
+ pointing this out.
+
+Tue Aug 16 09:46:45 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Config_Handlers.mpc
+
+ Moved some changes in from the branch to correct errors from:
+ Mon Aug 15 12:03:43 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+Mon Aug 15 12:03:43 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/ADD_Handler.cpp
+ * DAnCE/Config_Handlers/ADD_Handler.h
+ * DAnCE/Config_Handlers/CCD_Handler.cpp
+ * DAnCE/Config_Handlers/CCD_Handler.h
+ * DAnCE/Config_Handlers/CRDD_Handler.h
+ * DAnCE/Config_Handlers/DP_Handler.cpp
+ * DAnCE/Config_Handlers/DP_Handler.h
+ * DAnCE/Config_Handlers/DP_PCD_Handler.cpp
+ * DAnCE/Config_Handlers/DP_PCD_Handler.h
+ * DAnCE/Config_Handlers/IDD_Handler.cpp
+ * DAnCE/Config_Handlers/IDD_Handler.h
+ * DAnCE/Config_Handlers/IDREF_Base.cpp
+ * DAnCE/Config_Handlers/ID_Handler.h
+ * DAnCE/Config_Handlers/IRDD_Handler.cpp
+ * DAnCE/Config_Handlers/MDD_Handler.cpp
+ * DAnCE/Config_Handlers/MDD_Handler.h
+ * DAnCE/Config_Handlers/PCD_Handler.cpp
+ * DAnCE/Config_Handlers/PCD_Handler.h
+ * DAnCE/Config_Handlers/PSPE_Handler.cpp
+ * DAnCE/Config_Handlers/Req_Handler.cpp
+ * DAnCE/Config_Handlers/XML_Helper.cpp
+ * DAnCE/Config_Handlers/XML_Helper.h
+ * DAnCE/Config_Handlers/XercesString.cpp
+ * DAnCE/Config_Handlers/XercesString.h
+ * DAnCE/Config_Handlers/test.cpp
+
+ Checked in support for IDL->XSC->XML mapping. Thanks to Lucas
+ Seibert <heynonynony at yahoo dot com> for completing this work.
+
+Mon Aug 15 00:01:01 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CIDLC/cidlc.cpp: Made ErrorHandler auto-detach itself
+ from the stream when it is destroyed. This fixes the
+ segmentation fault on Solaris in libstdc++ termination code.
+
+Wed Aug 10 09:39:41 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.cpp
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp
+ * DAnCE/Config_Handlers/CIAOServerResources.cpp
+ * DAnCE/Config_Handlers/CIAOServerResources.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
+
+ Regenerated with the latest CVS-head version of XSC. These support
+ a couple improvements that will aid in optimizing the config
+ handlers.
+
+Tue Aug 9 11:55:13 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * docs/imgs/component-basic.png
+ * docs/imgs/CCM.vsd
+
+ Updated CCM diagram to fix a interface naming error.
+
+
+Tue Aug 9 10:02:13 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * DAnCE/ComponentPackager/README.html: Improved the
+ documentation to point to the right directory for the Quoter
+ example. Thanks to Aldo Texier <aldo.texier@oktal.fr> for
+ reporting this.
+
+Tue Aug 9 13:11:04 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/RepositoryManager/RepositoryManager.mpc:
+
+ Updated dependencies to reflect the recent name change from
+ NodeDaemon_stub to NodeManager_stub.
+
+ * DAnCE/RepositoryManager/Repository_Manager.cpp:
+
+ Updated identifier names to match the change from NodeDaemon
+ to ModeManager.
+
+Mon Aug 08 22:02:43 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * docs/EnvVars.html
+ * docs/index.html
+ * docs/Trace.html
+ * docs/imgs/DAnCE-Dynamic.png
+ * docs/imgs/DAnCE-Dynamic.sxd
+
+ Beefed up the CIAO documentation page. These files are
+ checked in on behalf of Ming. Thanks Friedhelm Wolf
+ <Friedhelm.wolf at gmx.de> for contributing the DAnCE
+ interaction diagram.
+
+Mon Aug 8 18:50:36 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/NodeManager/NAM_Map.h
+ * DAnCE/NodeManager/NodeManager.idl
+ * DAnCE/NodeManager/NodeManager.mpc
+ * DAnCE/NodeManager/NodeManager_Impl.cpp
+ * DAnCE/NodeManager/NodeManager_Impl.h
+ * DAnCE/NodeManager/NodeManager_Impl.inl
+ * DAnCE/NodeManager/NodeManager_stub_export.h
+ * DAnCE/NodeManager/Node_Manager.cpp
+ * DAnCE/NodeManager/README
+ * DAnCE/RTNodeApplication/README
+
+ Changed all references to Node_Daemon to NodeManager to avoid
+ confusion, since these phrases are used interchangeably.
+
+ * DAnCE/NodeManager/NodeDaemon.idl
+ * DAnCE/NodeManager/NodeDaemon.mpc
+ * DAnCE/NodeManager/NodeDaemon_Impl.cpp
+ * DAnCE/NodeManager/NodeDaemon_Impl.h
+ * DAnCE/NodeManager/NodeDaemon_Impl.inl
+ * DAnCE/NodeManager/NodeDaemon_stub_export.h
+ * DAnCE/NodeManager/Node_Daemon.cpp
+
+ Removed these files to support the change above.
+
+ * DAnCE/examples/BasicSP/descriptors/basicNodeDaemon.pl
+ * DAnCE/examples/Display/descriptors/basicNodeDaemon.pl
+ * DAnCE/examples/Hello/step-by-step.html
+ * DAnCE/examples/Hello/descriptors/run_NodeDaemons.pl
+ * DAnCE/examples/Hello/descriptors/run_test.pl
+ * DAnCE/examples/Hello/descriptors/run_test_without_ns.pl
+ * DAnCE/tests/scripts/BasicSP/basicNodeDaemon.pl
+ * docs/tutorials/Quoter/Simple/descriptors/runNodeDaemons.pl
+
+ Updated these scripts to call NodeManager instead of NodeDaemon.
+
+Fri Aug 5 11:45:13 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/CIAOServerResources.cpp
+ * DAnCE/Config_Handlers/CIAOServerResources.hpp
+
+ XSC code generated from CIAOServerResources.xsd for RT-CCM
+ properties.
+
+ * docs/schema/CIAOServerResources.xsd
+
+ Fixed some namespace errors.
+
+Fri Aug 05 08:00:08 2005 Simon Massey <sma@prismtech.com>
+
+ * CIAO version 0.4.7 released.
+
+Wed Aug 3 12:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc:
+ Corrected order of the libraries to resolve static link
+ errors
+
+Tue Aug 2 08:36:40 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+
+ Possiible fix for borlan build problem.
+
+Mon Aug 01 16:01:43 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * ChangeLog
+
+ Fixed several incorrect checkin date
+
+Mon Aug 01 14:55:43 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/new_RepositoryManager/RepositoryManager_Impl.cpp
+
+ Fixed a C4715 warning under MSVC7.1
+
+Mon Aug 1 19:39:30 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc:
+
+ Removed duplicate 'after' and 'libs' items, and added the
+ new export macro definition file (see below) to
+ Header_Files.
+
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.h:
+
+ Added export macro to class declaration and include of export
+ macro definitin file.
+
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl_Export.h:
+
+ New file to define the export macro for the Plan_Launcher_Impl
+ library.
+
+Sun Jul 31 21:56:43 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/new_RepositoryManager/Options.h
+
+ Improved documentation to meet the requirement of Doxygen
+
+Sun Jul 31 21:45:43 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/new_RepositoryManager/RMadmin.cpp
+
+ Fixed C4101 warnings in MSVC
+
+Sun Jul 31 21:26:43 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/new_RepositoryManager/RMadmin.cpp
+
+ Updated RMadmin.cpp to merge latest changes
+
+Fri Jul 29 15:02:43 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/descriptors/flattened_deploymentplan_without_ns.cdp
+ * DAnCE/examples/Hello/descriptors/run_test_without_ns.pl
+
+ Added a flattened deployment plan and test script which
+ doesn't use naming service.
+
+ * DAnCE/examples/Hello/descriptors/flattened_deploymentplan.cdp
+
+ Documented the above another available test in the file.
+
+Fri Jul 29 09:30:43 2005 Nishanth Shanakran <nshankar@dre.vanderbilt.edu>
+
+ * NEWS:
+
+ Added a brief description about Resource Allocation and Control
+ Engine (RACE).
+
+Fri Jul 29 06:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/new_RepositoryManager/new_RepositoryManager.mpc:
+ Fixed fuzz error
+
+Thu Jul 28 23:00:11 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/new_RepositoryManager/Options.cpp
+ * DAnCE/new_RepositoryManager/Options.h
+ * DAnCE/new_RepositoryManager/README.txt
+ * DAnCE/new_RepositoryManager/RepositoryManager.cpp
+ * DAnCE/new_RepositoryManager/RepositoryManager.idl
+ * DAnCE/new_RepositoryManager/RepositoryManager_Impl.cpp
+ * DAnCE/new_RepositoryManager/RepositoryManager_Impl.h
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.cpp
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.h
+ * DAnCE/new_RepositoryManager/new_RepositoryManager.mpc
+
+ Checked in the changes to new_RepositoryManager
+
+Fri Jul 29 03:52:11 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+
+ Made is such that Plan_Launcher_Impl library gets generated
+ and installed.
+
+Wed Jul 28 15:18:14 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * docs\schema\Modified_Deployment.xsd
+
+ Change the XML element order of IAD to conform to spec
+
+Wed Jul 27 19:20:14 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * NEWS
+
+ Added news about naming service integration.
+
+Wed Jul 27 07:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Config_Handlers/cid.cpp:
+ * DAnCE/Config_Handlers/cpd.cpp:
+ * DAnCE/Config_Handlers/iad.cpp:
+ Explicitly initialise base class
+
+Wed Jul 27 07:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Config_Handlers/STD_IAD_Handler.h:
+ Fixed fuzz error
+
+Tue Jul 26 21:22:45 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h:
+
+ Added 'CIDL_' prefix to the scoped name of the exec impl class's
+ base class, in the impl class declaration inheritance list. This
+ file was overlooked when making similar changes to other exec
+ impl classes in CIAO tests and examples.
+
+Mon Jul 26 13:54:12 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * docs/schema/cid.xsd
+ * docs/schema/cpd.xsd
+ * docs/schema/iad.xsd
+ * docs/schema/Modified_Deployment.xsd
+
+ Added <xsd:attribute name="href"> for cid/cpd/iad(.xsd) and changed Modified_Deployment.xsd
+ accordingly.We will need href attribute in the repository manager process.
+
+ * DAnCE/Config_Handlers/iad.cpp
+ * DAnCE/Config_Handlers/iad.hpp
+ * DAnCE/Config_Handlers/cid.cpp
+ * DAnCE/Config_Handlers/cid.hpp
+ * DAnCE/Config_Handlers/cpd.cpp
+ * DAnCE/Config_Handlers/cpd.hpp
+
+ Regenerated xsc codes for updated schemas in CIAO/docs/schema/
+
+ * DAnCE/Config_Handlers/STD_CID_Handler.cpp
+ * DAnCE/Config_Handlers/STD_CID_Handler.h
+ * DAnCE/Config_Handlers/STD_CPD_Handler.cpp
+ * DAnCE/Config_Handlers/STD_CPD_Handler.h
+ * DAnCE/Config_Handlers/STD_IAD_Handler.cpp
+ * DAnCE/Config_Handlers/STD_IAD_Handler.h
+ * DAnCE/Config_Handlers/STD_PC_Intf.cpp
+ * DAnCE/Config_Handlers/STD_PC_Intf.h
+ * DAnCE/Config_Handlers/STD_PCD_Handler.cpp
+ * DAnCE/Config_Handlers/STD_PCD_Handler.h
+ * DAnCE/Config_Handlers/Config_Handlers.mpc
+
+ Added new handlers for mapping Config_Handlers::PackageConfiguration to Deployment:PackageConfiguration.
+ Updated Config_Handlers.mpc accordingly
+
+Tue Jul 26 12:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/new_RepositoryManager/RMadmin.cpp:
+ Fixed vc71 warnings
+
+Tue Jul 26 10:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_ex.cpp:
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_simple.cpp:
+ Added some missing CORBA::string_dup calls, this fixes these
+ tests on Windows
+
+Tue Jul 26 07:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeManager/NodeDaemon_Impl.{h,cpp}:
+ Fixed warning and use doxygen comment style
+
+Mon Jul 25 22:14:20 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/SizeTypeCalculator.cpp:
+
+ Fixed visitor to handle types declared inside the scope of
+ an interface, valuetype, or home. Thanks to Friedhelm Wolf
+ <Friedhelm.wolf@gmx.de> for reporting a CIDL compiler
+ problem with a struct declared inside an interface.
+
+Mon Jul 25 18:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/tests/NodeApplicationTest/run_test_ex.pl:
+ Corrected NodeApplication path
+
+Mon Jul 25 08:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/tests/NodeApplicationTest/run_test.pl:
+ * DAnCE/tests/NodeApplicationTest/run_test_ex.pl:
+ * DAnCE/tests/NodeApplicationTest/run_test_simple.pl:
+ Made these tests independent of setting of CIAO_ROOT
+
+Sun Jul 24 07:45:19 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/NodeDaemon_Impl.cpp
+
+ Fixed an exception emulation warning in Debian_Full_Reactor
+ build.
+
+Sun Jul 24 07:40:19 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+
+ Enhanced error output information a little bit by
+ adding process ID and thread ID.
+
+ * DAnCE/ciao/Container_Impl.cpp
+
+ Fixed exception emulation warnings in Debian_Full_Reactor
+ build.
+
+Sun Jul 24 01:19:21 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.cpp
+
+ Fixed a bug (memory problem) in the plan_launcher which caused
+ the "tearing down" assembly failure.
+
+ * DAnCE/examples/Hello/descriptors/flattened_deploymentplan.cdp
+ * DAnCE/examples/BasicSP/descriptors/flattened_deploymentplan.cdp
+
+ Added a UUID tag to the flattened deployment plan.
+
+Sat Jul 23 23:11:21 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/tests/Minimum/Receiver/Receiver.mpc
+ * DAnCE/tests/Minimum/Sender/Sender.mpc
+
+ Modified shared library names to fix some linking erros
+ on build scoreboard.
+
+ * DAnCE/examples/Hello/descriptors/run_test.pl
+
+ Fixed the script so naming service could be started
+ correctly.
+
+ * DAnCE/examples/Hello/step-by-step.html
+
+ Simple instruction about using naming service.
+
+Sat Jul 23 14:53:22 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Port_Activator.cpp:
+ * DAnCE/ciao/Port_Activator.h:
+ * DAnCE/ciao/Servant_Activator.cpp:
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+
+ Added a method in Port_Activator to set the name of
+ port activator. The port activator is used to activate
+ the ports of the component.
+
+ Fixed a incorrect delete call in the update_port_activator
+ function in Servant_Activator.cpp. This will fix the core
+ dump in the CIAO tests.
+
+ Modified the calling sequence to deactivate ports when we
+ deactivate the component.
+
+Sat Jul 23 12:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+ Added several missing ACE_TRY_CHECK macros.
+
+Mon Jul 18 22:31:12 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Impl.cpp
+
+ Fixed some compilation error about using NamingContextEx.
+
+ * DAnCE/examples/Hello/descriptors/run_test.pl
+
+ Fixed this script so naming service will be started
+ explicitly. Thanks Simon McQueen <sm@prismtech.com>
+ for pointing the error.
+
+Mon Jul 18 22:31:12 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Impl.cpp
+ * DAnCE/ciao/Container_Impl.h
+ * DAnCE/ciao/CCM_Core.mpc
+ * DAnCE/ciao/NodeApplication_Impl.cpp
+
+ Added support for registering components with naming service.
+ A system deployer could config such capability through XML tag
+
+ * DAnCE/examples/BasicSP/descriptors/flattened_deploymentplan.cdp
+ * DAnCE/examples/Hello/descriptors/flattened_deploymentplan.cdp
+
+ Added a couple of examples for using naming service by adding
+ some <ConfigProperty> tag to the deployment plan descriptor.
+
+Fri Jul 15 23:50:12 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * NEWS:
+ Updated the NEWS file to include the result of our latest
+ discussion/plan about DAnCE.
+
+Fri Jul 15 10:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/NodeManager/NAM_Map.h:
+ Fixed fuzz error
+
+Tue Jul 12 00:03:57 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * docs/tutorials/Quoter/Simple/README.html
+
+ Updated some directory information in this file since the quoter example has been
+ moved to new directory.
+
+Mon Jul 11 11:44:57 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * TAO/CIAO/DAnCE/examples/Quoter/README.html
+ * TAO/CIAO/DAnCE/examples/Quoter/Broker/Broker.cidl
+ * TAO/CIAO/DAnCE/examples/Quoter/Broker/Broker.cpp
+ * TAO/CIAO/DAnCE/examples/Quoter/Broker/Broker.idl
+ * TAO/CIAO/DAnCE/examples/Quoter/Broker/Broker.mpc
+ * TAO/CIAO/DAnCE/examples/Quoter/Broker/Broker_exec.cpp
+ * TAO/CIAO/DAnCE/examples/Quoter/Broker/Broker_exec.h
+ * TAO/CIAO/DAnCE/examples/Quoter/Broker/Broker_exec_export.h
+ * TAO/CIAO/DAnCE/examples/Quoter/Broker/Broker_stub_export.h
+ * TAO/CIAO/DAnCE/examples/Quoter/Broker/Broker_svnt_export.h
+ * TAO/CIAO/DAnCE/examples/Quoter/Distributor/Distributor.cidl
+ * TAO/CIAO/DAnCE/examples/Quoter/Distributor/Distributor.cpp
+ * TAO/CIAO/DAnCE/examples/Quoter/Distributor/Distributor.idl
+ * TAO/CIAO/DAnCE/examples/Quoter/Distributor/Distributor.mpc
+ * TAO/CIAO/DAnCE/examples/Quoter/Distributor/Distributor_exec.cpp
+ * TAO/CIAO/DAnCE/examples/Quoter/Distributor/Distributor_exec.h
+ * TAO/CIAO/DAnCE/examples/Quoter/Distributor/Distributor_exec_export.h
+ * TAO/CIAO/DAnCE/examples/Quoter/Distributor/Distributor_stub_export.h
+ * TAO/CIAO/DAnCE/examples/Quoter/Distributor/Distributor_svnt_export.h
+ * TAO/CIAO/DAnCE/examples/Quoter/Stock_Base/Stock_Base.idl
+ * TAO/CIAO/DAnCE/examples/Quoter/Stock_Base/Stock_Base.mpc
+ * TAO/CIAO/DAnCE/examples/Quoter/Stock_Base/Stock_Base_stub_export.h
+ * TAO/CIAO/DAnCE/examples/Quoter/Stock_Base/Stock_Base_svnt_export.h
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Broker.ccd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Broker.cid
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Broker.cpd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Broker_Exec.iad
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Broker_Stub.iad
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Broker_Svnt.iad
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Deployment.xsd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Distributor.ccd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Distributor.cid
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Distributor.cpd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Distributor_Exec.iad
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Distributor_Stub.iad
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Distributor_Svnt.iad
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Domain.cdd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Libraries.iad
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Modified_Deployment.xsd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Stock.cdp
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Stock.cid
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Stock.cpd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Stock.dat
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/Stock.pcd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/XMI.xsd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/flattened_deploymentplan.cdp
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/package.tpd
+ * TAO/CIAO/DAnCE/examples/Quoter/descriptors/runNodeDaemons.pl
+ * TAO/CIAO/DAnCE/examples/Quoter/images/quoter.jpg
+
+ Removed Quoter example in DAnCE/examples/ directory to avoid duplicate. The orignal
+ example could be found in CIAO/docs/tutorials/Quoter/Simple.
+
+Fri Jul 8 17:42:57 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.mpc
+ * docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.idl
+ * docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base_svnt_export.h
+ * docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base_stub_export.h
+ * docs/tutorials/Quoter/Simple/Broker/Broker.mpc
+ * docs/tutorials/Quoter/Simple/Broker/Broker.idl
+ * docs/tutorials/Quoter/Simple/Broker/Broker.cidl
+ * docs/tutorials/Quoter/Simple/Broker/Broker.cpp
+ * docs/tutorials/Quoter/Simple/Broker/Broker_exec.h
+ * docs/tutorials/Quoter/Simple/Broker/Broker_exec.cpp
+ * docs/tutorials/Quoter/Simple/Broker/Broker_svnt_export.h
+ * docs/tutorials/Quoter/Simple/Broker/Broker_stub_export.h
+ * docs/tutorials/Quoter/Simple/Broker/Broker_exec_export.h
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor.mpc
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor.idl
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor.cidl
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor.cpp
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.h
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor_exec.cpp
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor_svnt_export.h
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor_stub_export.h
+ * docs/tutorials/Quoter/Simple/Distributor/Distributor_exec_export.h
+ * docs/tutorials/Quoter/Simple/descriptors/Broker.ccd
+ * docs/tutorials/Quoter/Simple/descriptors/Broker.cid
+ * docs/tutorials/Quoter/Simple/descriptors/Broker.cpd
+ * docs/tutorials/Quoter/Simple/descriptors/Broker_Exec.iad
+ * docs/tutorials/Quoter/Simple/descriptors/Broker_Stub.iad
+ * docs/tutorials/Quoter/Simple/descriptors/Broker_Svnt.iad
+ * docs/tutorials/Quoter/Simple/descriptors/Deployment.xsd
+ * docs/tutorials/Quoter/Simple/descriptors/Distributor.ccd
+ * docs/tutorials/Quoter/Simple/descriptors/Distributor.cid
+ * docs/tutorials/Quoter/Simple/descriptors/Distributor.cpd
+ * docs/tutorials/Quoter/Simple/descriptors/Distributor_Exec.iad
+ * docs/tutorials/Quoter/Simple/descriptors/Distributor_Stub.iad
+ * docs/tutorials/Quoter/Simple/descriptors/Distributor_Svnt.iad
+ * docs/tutorials/Quoter/Simple/descriptors/Domain.cdd
+ * docs/tutorials/Quoter/Simple/descriptors/flattened_deploymentplan.cdp
+ * docs/tutorials/Quoter/Simple/descriptors/Libraries.iad
+ * docs/tutorials/Quoter/Simple/descriptors/Modified_Deployment.xsd
+ * docs/tutorials/Quoter/Simple/descriptors/package.tpd
+ * docs/tutorials/Quoter/Simple/descriptors/runNodeDaemons.pl
+ * docs/tutorials/Quoter/Simple/descriptors/Stock.cdp
+ * docs/tutorials/Quoter/Simple/descriptors/Stock.cid
+ * docs/tutorials/Quoter/Simple/descriptors/Stock.cpd
+ * docs/tutorials/Quoter/Simple/descriptors/Stock.dat
+ * docs/tutorials/Quoter/Simple/descriptors/Stock.pcd
+ * docs/tutorials/Quoter/Simple/descriptors/XMI.xsd
+
+ Created a new directory tutorials to hold multiple tutorial examples, added quoter
+ to this directory as simple quoter example. Will add a multiple receptacle quoter
+ example soon.
+
+
+Fri Jul 8 17:13:57 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Quoter/descriptors/flattened_deploymentplan.cdp
+
+ Updated the plan so that it includes the base libraries as artifact. This
+ will help ComponentPackager to wrap up everything in the archive.
+
+
+Fri Jul 8 15:49:57 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/ComponentPackager/Base_Packager.h
+ * DAnCE/ComponentPackager/ComponentPackager.mpc
+ * DAnCE/ComponentPackager/CPK_Packager.cpp
+ * DAnCE/ComponentPackager/Package.xsd
+ * DAnCE/ComponentPackager/pdl.cpp
+ * DAnCE/ComponentPackager/pdl.hpp
+ * DAnCE/ComponentPackager/PDL_Handler.cpp
+ * DAnCE/ComponentPackager/PDL_Handler.h
+ * DAnCE/ComponentPackager/README.html
+ * DAnCE/ComponentPackager/Sample.pdl
+
+ Updated ComponentPackager to support XSC, eliminating the coupling with
+ Old_Config_Handlers.Move the schema for .pdl file from Deployment.xsd to
+ Package.xsd so that it's independently helpful by itself.
+
+Fri Jul 8 09:43:57 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+
+ Fixed a compile error on Debian Core.
+
+Thu Jul 7 23:38:32 UTC 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * docs/index.html
+
+ Modofied this page a little bit to include our work in DAnCE.
+
+Wed Jul 6 17:21:58 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/NodeManager/NodeDaemon_Impl.cpp:
+
+ Fixed incorrect syntax in ACE_THROW macro.
+
+Tue Jul 5 11:16:44 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/NAM_Map.h
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.cpp
+
+ Fixed some misc fuzz errors.
+
+Tue Jul 5 16:01:39 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/TypeNameEmitter.cpp:
+
+ Small change to the checkin of
+
+ Mon Jul 4 22:50:17 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ to emit an error message when attempting to set a wstring
+ attribute from a CCM property value, since wstrings are
+ not yet supported for this activity.
+
+Mon Jul 4 22:50:17 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ServantSourceGenerator.cpp:
+ * CIDLC/TypeNameEmitter.cpp:
+ * CIDLC/TypeNameEmitter.hpp:
+
+ Created a new code emitter that knows which types CIAO
+ supports as component attribute types (basic types) and
+ which it does not (everything else). In the former case,
+ when DAnCE is assigning attribute values from XML properties -
+ in set_attributes () - it emits the usual code delegating
+ the assignment to the specific attribute mutator method
+ based on a string compare of the given attribute name to
+ the known attribute names of that component. In the latter
+ case, it emits an error message, stating that this particular
+ IDL kind is not supported by CIAO as a component attribute
+ type. Thanks to Sunil Rottoo <srottoo@airsage.com> for
+ pointing out that trying to set the value of an unsupported
+ component attribute type from a DnC property value in XML
+ caused a crash.
+
+Mon Jul 4 09:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIDLC/Literals.cpp:
+ * CIDLC/Literals.h:pp:
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h:
+ * DAnCE/ExecutionManager/ExecutionManager_Impl.h:
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h:
+ * DAnCE/NodeManager/NodeDaemon_Impl.h:
+ * DAnCE/RepositoryManager/RepositoryManager_Impl.h:
+ * DAnCE/ciao/Container_Impl.h:
+ * DAnCE/ciao/Home_Servant_Impl_T.h:
+ * DAnCE/ciao/NodeApp_CB_Impl.h:
+ * DAnCE/ciao/NodeApplication_Impl.h:
+ * DAnCE/ciao/Servant_Impl_T.h:
+ * DAnCE/ciao/StandardConfigurator_Impl.h:
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.h:
+ * DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.h:
+ * ciao/ComponentInstallation_Impl.h:
+ * ciao/ComponentServer_Impl.h:
+ * ciao/Container_Impl.h:
+ * ciao/HomeRegistrar_i.h:
+ * ciao/Home_Servant_Impl_T.h:
+ * ciao/Servant_Impl_T.h:
+ * ciao/ServerActivator_Impl.h:
+ * ciao/StandardConfigurator_Impl.h:
+ * docs/templates/CIAO_Glue_Session_Template.h:
+ * examples/handcrafted/BasicSP_EC2/BMClosedED/BMClosedED_svnt.h:
+ * examples/handcrafted/BasicSP_EC2/BMDevice/BMDevice_svnt.h:
+ * examples/handcrafted/BasicSP_EC2/BMDisplay/BMDisplay_svnt.h:
+ * examples/handcrafted/BasicSP_EC2/EC/EC_svnt.h:
+ * examples/handcrafted/BasicSP_EC2/RTEventService/RTEventService_exec.h:
+ * examples/handcrafted/BasicSP_EC2/RTEventService/RTEventService_svnt.h:
+ * performance-tests/Benchmark/LatencyTest.h:
+ * performance-tests/Benchmark/RoundTripServer/LatencyTest.h:
+ * tools/Assembly_Deployer/Assembly_Impl.h:
+ * tools/Assembly_Deployer/Assembly_Service_Impl.h:
+ * tools/Daemon/Daemon_Impl.h:
+ * tools/Simple_Component_Server/Simple_Server_i.h:
+ All servants are reference counted by default, no need anymore to
+ derive the servant from RefCountServantBase
+
+Sat Jul 2 12:16:49 2005 Cassia Tatibana <cassia@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp:
+ * DAnCE/NodeManager/NodeDaemon_Impl.cpp:
+
+ Added CIAO_TRACE messages.
+
+Fri Jul 1 08:42:27 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeManager/NodeDaemon_Impl.cpp
+
+ Fixed compile errors with emulated exceptions turned on.
+
+Thu Jun 30 23:34:40 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/tests/Minimum/Receiver/Receiver_exec.cpp:
+ * DAnCE/tests/Minimum/Receiver/Receiver_exec.h:
+ * DAnCE/tests/Minimum/Sender/Sender_exec.cpp:
+ * DAnCE/tests/Minimum/Sender/Sender_exec.h:
+
+ More overlooked changes to exec files corresponding to
+ CIDL compiler code generation changes of
+
+ Wed Jun 22 23:20:04 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Thu Jun 30 12:36:06 2005 William Otte <wotte@atl.lmco.com>
+
+ * DAnCE/Plan_Launcher/DAM_Map.cpp
+ * DAnCE/Plan_Launcher/DAM_Map.h
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+
+ Added DAM_Map to the Plan_Launcher directory, as make wouldn't
+ handle the relative reference properly.
+
+Thu Jun 30 09:29:24 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/new_RepositoryManager/RMadmin.cpp
+ * DAnCE/new_RepositoryManager/RepositoryManager.cpp
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.cpp
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.h
+ * DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.cpp
+ * DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.h
+
+ Fixed Doxygen documentation tags, fixed some indenting,
+ removed tabs.
+
+Thu Jun 30 09:59:17 2005 William Otte <wotte@atl.lmco.com>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.cpp
+ * DAnCE/Plan_Launcher/Plan_Launcher_Impl.h
+
+ Factored out the plan launcher capability into a shared library so
+ applications can use its functionality.
+
+Thu Jun 30 04:33:35 2005 ming xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/ComponentPackager/Base_Packager.h
+ * DAnCE/ComponentPackager/CPK_Packager.cpp
+ * DAnCE/ComponentPackager/CPK_Packager.h
+ * DAnCE/ComponentPackager/PDL_Handler.cpp
+ * DAnCE/ComponentPackager/PDL_Handler.h
+ * DAnCE/ComponentPackager/Base_Packager.cpp
+
+ Added a release operation for destructor of PDL_Handler;Changed the
+ definition of input parameter for CPK_Packager::createPackager to const
+ to indicate it can not be changed
+
+Thu Jun 30 00:37:35 EDT 2005 Stoyan Paunov <s.paunov@vanderbilt.edu>
+
+ * DAnCE/new_RepositoryManager/RMadmin.cpp
+ * DAnCE/new_RepositoryManager/RepositoryManager.cpp
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.cpp
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.h
+ * DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.cpp
+ * DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.h
+
+ removed the "@file" comments which apparently confuse Doxygen.
+
+
+Wed Jun 29 17:00:57 2005 Cassia Tatibana <cassia@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/DAM_Map.cpp:
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp:
+
+ Added CIAO_TRACE messages.
+
+Wed Jun 29 16:38:42 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/ComponentPackager/Base_Packager.h
+ * DAnCE/ComponentPackager/CPK_Packager.h
+ * DAnCE/ComponentPackager/CPK_Packager.h
+
+ Changed a couplfe of places to meet the Doxygen test and TChar test for
+ bin/fuzz.pl
+
+Wed Jun 29 16:28:52 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+ * DAnCE/NodeManager/NAM_Map.cpp
+ * DAnCE/NodeManager/NAM_Map.h
+ * DAnCE/NodeManager/NodeDaemon.mpc
+ * DAnCE/NodeManager/NodeDaemon_Impl.cpp
+ * DAnCE/NodeManager/NodeDaemon_Impl.h
+ * DAnCE/NodeManager/Node_Daemon.cpp
+ * DAnCE/ciao/Deployment.idl
+
+ Merged dance_multiple_assemblies to main. This merge
+ contains code necessary to be able to deploy multiple assemblies
+ into a single NodeManager.
+
+Wed Jun 29 18:09:11 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp:
+
+ Added check for successful opening of target file, which prevents
+ a crash when the file open is unsuccessful, for example when
+ write permissions are denied in the directory. Thanks to Will
+ Otte <wotte@dre.vanderbilt.edu> for pointing out the problem.
+
+Tue Jun 28 08:55:12 EDT 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/ComponentPackager/Base_Packager.cpp
+ * DAnCE/ComponentPackager/Base_Packager.h
+ * DAnCE/ComponentPackager/CPK_Packager.cpp
+ * DAnCE/ComponentPackager/CPK_Packager.h
+ * DAnCE/ComponentPackager/ComponentPackager.mpc
+ * DAnCE/ComponentPackager/Component_Packager.cpp
+ * DAnCE/ComponentPackager/Modified_Deployment.xsd
+ * DAnCE/ComponentPackager/PDL_Handler.cpp
+ * DAnCE/ComponentPackager/PDL_Handler.h
+ * DAnCE/ComponentPackager/README.html
+ * DAnCE/ComponentPackager/Sample.pdl
+ * DAnCE/ComponentPackager/XercesString.cpp
+ * DAnCE/ComponentPackager/XercesString.h
+
+ Added the files implementing ComponentPackager, for details
+ please read README.html
+
+Tue Jun 28 01:03:12 EDT 2005 Stoyan Paunov <s.paunov@vanderbilt.edu>
+
+ * TAO/CIAO/DAnCE/new_RepositoryManager/RMadmin.cpp
+ * TAO/CIAO/DAnCE/new_RepositoryManager/ZIP_Wrapper.cpp
+ * TAO/CIAO/DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.cpp
+
+ removed the _O_* flags to ACE_OS::open ();
+
+Mon Jun 27 16:25:52 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/examples/Swapping/Sender/Sender_exec.cpp:
+
+ Fixed cut-and-paste error.
+
+Mon Jun 27 07:04:01 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * DAnCE/new_RepositoryManager/new_RepositoryManager.mpc:
+ * DAnCE/new_RepositoryManager/README.txt:
+
+ Switch to using the existing zlib and zzip base projects.
+
+Sun Jun 26 23:53:23 EDT 2005 Stoyan Paunov <s.paunov@vanderbilt.edu>
+
+ * DAnCE/new_RepositoryManager/Modified_Deployment.xsd
+ * DAnCE/new_RepositoryManager/Options.cpp
+ * DAnCE/new_RepositoryManager/Options.h
+ * DAnCE/new_RepositoryManager/README.txt
+ * DAnCE/new_RepositoryManager/RMadmin.cpp
+ * DAnCE/new_RepositoryManager/RepositoryManager.cpp
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.cpp
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.h
+ * DAnCE/new_RepositoryManager/new_RepositoryManager.idl
+ * DAnCE/new_RepositoryManager/new_RepositoryManager.mpc
+ * DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.cpp
+ * DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.h
+ * DAnCE/new_RepositoryManager/packages/inconsistent.cpk
+ * DAnCE/new_RepositoryManager/packages/package.cpk
+
+ Added these files to the head. The files are implementing the repository
+ manager.
+
+ * DAnCE/new_RepositoryManager/Modified_Deployment.xsd
+ needed for the retrievePlan function that retrieves the Deployment plan
+
+ * DAnCE/new_RepositoryManager/Options.cpp
+ * DAnCE/new_RepositoryManager/Options.h
+ options class for the RMadmin.cpp
+
+ * DAnCE/new_RepositoryManager/README.txt
+
+ * DAnCE/new_RepositoryManager/RMadmin.cpp
+ a sample client program. You can use it as an example on how to use the RM
+
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.cpp
+ * DAnCE/new_RepositoryManager/ZIP_Wrapper.h
+ The ZIP Wrapper class that allows read access to ZIP packages and CCM packages
+ that have the cpk extension.
+
+ * DAnCE/new_RepositoryManager/RepositoryManager.cpp
+ * DAnCE/new_RepositoryManager/new_RepositoryManager.idl
+ * DAnCE/new_RepositoryManager/new_RepositoryManager.mpc
+ * DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.cpp
+ * DAnCE/new_RepositoryManager/new_RepositoryManager_Impl.h
+ The Repository Manager implementation files
+
+ * DAnCE/new_RepositoryManager/packages/inconsistent.cpk
+ * DAnCE/new_RepositoryManager/packages/package.cpk
+ couple of sample packages that I created manually to test the RM.
+
+
+Fri Jun 24 14:36:02 2005 Cassia Tatibana <cassia@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/CIAO_common.h:
+
+ Added definition for CIAO_TRACE.
+
+Fri Jun 24 14:21:31 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * docs/tutorial/Hello/hello_exec.cpp:
+ * docs/tutorial/Hello/hello_exec.h:
+ * examples/Hello/Receiver/Receiver_exec.cpp:
+ * examples/Hello/Receiver/Receiver_exec.h:
+ * examples/Hello/Sender/Sender_exec.cpp:
+ * examples/Hello/Sender/Sender_exec.h:
+ * performance-tests/Protocols/Receiver/Receiver_exec.cpp:
+ * performance-tests/Protocols/Receiver/Receiver_exec.h:
+ * performance-tests/Protocols/Sender/Sender_exec.cpp:
+ * performance-tests/Protocols/Sender/Sender_exec.h:
+ * tests/RTCCM/DiffServ/Receiver/Receiver_exec.cpp:
+ * tests/RTCCM/DiffServ/Receiver/Receiver_exec.h:
+ * tests/RTCCM/DiffServ/Sender/Sender_exec.cpp:
+ * tests/RTCCM/DiffServ/Sender/Sender_exec.h:
+
+ More fixes to hand-written executor code to bring the file up
+ to date with the recent changes in generated code. These were
+ overlooked in
+
+ Wed Jun 22 23:20:04 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Wed Jun 22 23:20:04 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ExecImplHeaderGenerator.cpp:
+ * CIDLC/ExecImplSourceGenerator.cpp:
+ * CIDLC/ExecutorMappingGenerator.cpp:
+ * CIDLC/Literals.cpp:
+ * CIDLC/Literals.hpp:
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+ * DAnCE/examples/Display/NavDisplay/NavDisplay_exec.h:
+ * DAnCE/examples/Display/RateGen/RateGen_exec.h:
+ * DAnCE/examples/Hello/Receiver/Receiver_exec.cpp:
+ * DAnCE/examples/Hello/Receiver/Receiver_exec.h:
+ * DAnCE/examples/Hello/Sender/Sender_exec.cpp:
+ * DAnCE/examples/Hello/Sender/Sender_exec.h:
+ * DAnCE/examples/Quoter/Broker/Broker_exec.cpp:
+ * DAnCE/examples/Quoter/Broker/Broker_exec.h:
+ * DAnCE/examples/Quoter/Distributor/Distributor_exec.cpp:
+ * DAnCE/examples/Quoter/Distributor/Distributor_exec.h:
+ * DAnCE/examples/Swapping/Receiver/Receiver_exec.cpp:
+ * DAnCE/examples/Swapping/Receiver/Receiver_exec.h:
+ * DAnCE/examples/Swapping/Sender/Sender_exec.cpp:
+ * DAnCE/examples/Swapping/Sender/Sender_exec.h:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_1.cpp:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_1.h:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_2.cpp:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_2.h:
+ * DAnCE/tests/NodeApplicationTest/RoundTrip_exec.cpp:
+ * DAnCE/tests/NodeApplicationTest/RoundTrip_exec.h:
+ * docs/releasenotes/index.html:
+
+ Eliminated generation of the CIAO_GLUE_-prefixed namespace
+ and replaced it with a namespace constructed from the
+ composition local name and a CIDL_ prefix. Whereas the
+ previos namespace was always at global scope, the new one
+ will be generated inside namespaces mapped from IDL module
+ declarations, if the composition is declared inside any.
+ These changes were motivated by an example sent in by
+ Will Otte <wotte@dre.vanderbilt.edu>, where the composition
+ was declared inside several nested modules, and the generated
+ code would not compile. The new namespace encloses
+
+ - the component servant
+ - the home servant
+ - the facet servants, if any
+ - the executor interface in the executor IDL file
+ - optionally generated executor impl classes
+
+ Minor changes were required to existing executor impl
+ files as a result of the changes to generated code.
+
+Wed Jun 22 10:59:00 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp
+ Updated visitor for valuebox support.
+
+Mon Jun 20 18:10:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/examples/Display/NavDisplayGUI_exec/DetailView_moc.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/MapView_moc.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NodeItem_moc.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/RootPanel_moc.cpp:
+ Removed these files, these are generated and shouldn't be in the
+ archive
+
+Mon Jun 20 09:29:00 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp
+ * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.h
+ Add visitor for valuebox support.
+
+Sun Jun 19 20:18:50 2005 Ming Xiong <mxiong@tango.dre.vanderbilt.edu>
+
+ * NEWS:
+
+ Updated NEWS on upcoming support for Component Packaging
+
+Thu Jun 16 21:46:10 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Display/descriptors/Modified_Deployment.xsd
+ * DAnCE/examples/Quoter/descriptors/Modified_Deployment.xsd
+ * docs/schema/Modified_Deployment.xsd
+
+ Modified the <InstanceDeploymentDescription> element type
+ to allow having unbounded number of <configProperty> elements.
+ Thanks Will Chai <willchai@126.com> to report this problem.
+
+Wed Jun 15 14:46:00 2005 Gautam Thaker <gthaker@atl.lmco.com>
+
+ * DAnCE/examples/Hello/step-by-step.html:
+
+ Fixed a typo regarding name of script "run_NodeDaemons.pl" and
+ one other sentence fragement.
+
+Mon Jun 13 13:44:41 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/tests/NodeApplicationTest/run_test_simple.pl:
+ * DAnCE/tests/NodeApplicationTest/run_test.pl:
+ * DAnCE/tests/NodeApplicationTest/run_test_ex.pl:
+
+ Fixed a typo.
+
+Thu Jun 4 14:36:00 UTC 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Quoter/Distributor/Distributor_exec.h
+ * DAnCE/examples/Quoter/Distributor/Distributor_exec.cpp
+
+ Fixed a virtual hiding warning reported on WinXP_BCB6_Pro_Dynamic_Debug
+
+Thu Jun 9 09:31:28 2005 Simon McQueen <sm@prismtech.com>
+
+ * NEWS:
+
+ Updated with late release note submissions.
+
+Wed Jun 08 08:50:35 2005 Simon McQueen <sm@prismtech.com>
+
+ * CIAO version 0.4.6 released.
+
+Wed Jun 8 11:21:50 2005 Simon McQueen <sm@prismtech.com>
+
+ * NEWS:
+
+ Updated with release note entries.
+
+Mon Jun 6 12:33:16 2005 Simon McQueen <sm@prismtech.com>
+
+ * DAnCE/examples/Display/GPS/GPS.mpc:
+
+ Added HUDisplay_DnC_svnt to after tag for project GPS_DnC_svnt
+ to fix build error on BCB 6 dynamic build.
+
+
+Thu Jun 2 22:56:11 UTC 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/examples/Quoter/README.html
+
+ Added a link to the CoSMIC quoter tutorial page hosted by
+ Ming Xiong.
+
+ * NEWS
+
+ Updated NEWS file.
+
+Tue May 31 22:46:06 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ExecutorMappingGenerator.cpp:
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/TypeNameEmitter.cpp:
+
+ Eliminated unused arguments.
+
+Mon May 30 15:22:16 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/XML_File_Intf.h:
+ * DAnCE/Config_Handlers/DP_Handler.h:
+
+ auto_ptr is changed with ACE_Auto_Ptr, auto_ptr does not have
+ reset in VC6.
+
+Mon May 30 17:59:28 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/TypeNameEmitter.cpp:
+
+ Fixed incorrect code generation in *_svnt.cpp file for
+ attribute assignment of sequence types. Thanks to Sunil Rottoo
+ <srottoo@adacelcanada.com> for reporting the problem.
+
+Mon May 30 12:19:42 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Port_Activator_T.cpp:
+ * DAnCE/ciao/Servant_Activator.cpp:
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+
+ Made use of ACE_ENV macros to fix Debian Full Reactor
+ build errors.
+
+Fri May 27 23:35:23 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Impl.cpp:
+ * DAnCE/ciao/Container_Impl.h:
+ * DAnCE/ciao/Home_Servant_Impl_T.cpp:
+ * DAnCE/ciao/Home_Servant_Impl_T.h:
+
+ Changed the structure of the utility maps that maintain
+ the component references, to use "_var" instead of "_ptr"
+ in order to facilitate effective memory destructions.
+
+Fri May 27 20:26:33 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * CCF/CCF/CCF.sln:
+ * CCF/Example/Example.sln:
+ * CIDLC/CIDLC.sln:
+ * CCF/CCF/CIDL/CIDL.vcproj:
+ * CCF/CCF/CodeGenerationKit/CodeGenerationKit.vcproj:
+ * CCF/CCF/CompilerElements/CompilerElements.vcproj:
+ * CCF/CCF/IDL2/IDL2.vcproj:
+ * CCF/CCF/IDL3/IDL3.vcproj:
+ * CCF/Example/CIDL/LocalExecutorMapping/LocalExecutorMapping.vcproj:
+ * CCF/Example/CodeGenerationKit/Indentation/IDL/IDL.vcproj:
+ * CIDLC/CIDLC.vcproj:
+
+ Deleted MSVC solution and project files, these are generated by the
+ mwc.
+
+Fri May 27 13:41:20 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * 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_Impl_Base.cpp:
+
+ Added support for deactivating facets and event consumers
+ when a component is getting deactivated. This fixes
+ couple of memory leaks in the DAnCE deployment scenarios.
+
+
+Thu May 26 22:55:26 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+
+ Added code to deactivate facets when component
+ is getting removed.
+
+Thu May 26 20:41:04 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Home_Servant_Impl_T.cpp:
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+ * DAnCE/ciao/Servant_Impl_T.cpp:
+ * DAnCE/ciao/Servant_Impl_T.h:
+
+ Added support for the component servants to inherit
+ from RefCountServantBase, to allow freeing up of
+ servants in a more standard and effective manner.
+
+ Added support functions in Servant_Impl_T class to
+ clean up the component executor memory.
+
+ Added support functions in Home_Servant_Impl_T and
+ Servant_Impl_Base classes to uninstall components
+ by executing operations like ccm_remove () in the
+ right order.
+
+ Finally fixed couple of memory leaks with respect
+ to cleaning up component servants and component
+ executors.
+
+ Thanks to Steve Baker <Steve_D_Baker@Raytheon.com>
+ for reporting the problem.
+
+Thu May 26 21:09:22 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * tools/Simple_Component_Server/Simple_Component_Server.mpc
+
+ Put an empty IDL_Files segment in the
+ "Simple_Component_Server" project so the IDL
+ file is not picked up automatically. Thanks to Will Chai
+ <willchai@126.com> for reporting this.
+
+ * NEWS
+ * DAnCE/NEWS
+
+ Merged these two files and deleted the DAnCE/NEWS file,
+ since these two files serve similar purposes.
+
+Thu May 26 14:46:53 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/NodeManager/NodeDaemon_Impl.cpp
+
+ Fixed a memory leak which would cause NodeManagers to leak
+ when destroyed.
+
+Thu May 26 07:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/examples/Quoter/Broker/Broker.cpp:
+ Fixed doxygen file tag
+
+Wed May 25 11:05:05 2005 Ming Xiong <mxiong@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Quoter/Stock_Base/Stock_Base.mpc:
+ * DAnCE/examples/Quoter/Stock_Base/Stock_Base.idl:
+ * DAnCE/examples/Quoter/Stock_Base/Stock_Base_svnt_export.h:
+ * DAnCE/examples/Quoter/Stock_Base/Stock_Base_stub_export.h:
+ * DAnCE/examples/Quoter/Broker/Broker.mpc:
+ * DAnCE/examples/Quoter/Broker/Broker.idl:
+ * DAnCE/examples/Quoter/Broker/Broker.cidl:
+ * DAnCE/examples/Quoter/Broker/Broker.cpp:
+ * DAnCE/examples/Quoter/Broker/Broker_exec.h:
+ * DAnCE/examples/Quoter/Broker/Broker_exec.cpp:
+ * DAnCE/examples/Quoter/Broker/Broker_svnt_export.h:
+ * DAnCE/examples/Quoter/Broker/Broker_stub_export.h:
+ * DAnCE/examples/Quoter/Broker/Broker_exec_export.h:
+ * DAnCE/examples/Quoter/Distributor/Distributor.mpc:
+ * DAnCE/examples/Quoter/Distributor/Distributor.idl:
+ * DAnCE/examples/Quoter/Distributor/Distributor.cidl:
+ * DAnCE/examples/Quoter/Distributor/Distributor.cpp:
+ * DAnCE/examples/Quoter/Distributor/Distributor_exec.h:
+ * DAnCE/examples/Quoter/Distributor/Distributor_exec.cpp:
+ * DAnCE/examples/Quoter/Distributor/Distributor_svnt_export.h:
+ * DAnCE/examples/Quoter/Distributor/Distributor_stub_export.h:
+ * DAnCE/examples/Quoter/Distributor/Distributor_exec_export.h:
+ * DAnCE/examples/Quoter/descriptors/Broker.ccd:
+ * DAnCE/examples/Quoter/descriptors/Broker.cid:
+ * DAnCE/examples/Quoter/descriptors/Broker.cpd:
+ * DAnCE/examples/Quoter/descriptors/Broker_Exec.iad:
+ * DAnCE/examples/Quoter/descriptors/Broker_Stub.iad:
+ * DAnCE/examples/Quoter/descriptors/Broker_Svnt.iad:
+ * DAnCE/examples/Quoter/descriptors/Deployment.xsd:
+ * DAnCE/examples/Quoter/descriptors/Distributor.ccd:
+ * DAnCE/examples/Quoter/descriptors/Distributor.cid:
+ * DAnCE/examples/Quoter/descriptors/Distributor.cpd:
+ * DAnCE/examples/Quoter/descriptors/Distributor_Exec.iad:
+ * DAnCE/examples/Quoter/descriptors/Distributor_Stub.iad:
+ * DAnCE/examples/Quoter/descriptors/Distributor_Svnt.iad:
+ * DAnCE/examples/Quoter/descriptors/Domain.cdd:
+ * DAnCE/examples/Quoter/descriptors/flattened_deploymentplan.cdp:
+ * DAnCE/examples/Quoter/descriptors/Libraries.iad:
+ * DAnCE/examples/Quoter/descriptors/Modified_Deployment.xsd:
+ * DAnCE/examples/Quoter/descriptors/package.tpd:
+ * DAnCE/examples/Quoter/descriptors/runNodeDaemons.pl:
+ * DAnCE/examples/Quoter/descriptors/Stock.cdp:
+ * DAnCE/examples/Quoter/descriptors/Stock.cid:
+ * DAnCE/examples/Quoter/descriptors/Stock.cpd:
+ * DAnCE/examples/Quoter/descriptors/Stock.dat:
+ * DAnCE/examples/Quoter/descriptors/Stock.pcd:
+ * DAnCE/examples/Quoter/descriptors/XMI.xsd:
+
+ Added a Quoter example for DAnCE
+
+Wed May 25 11:13:19 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+
+ Added code to call ccm_remove () on the executor
+ before removing the component.
+
+ Thanks to Steven Baker <Steven_D_Baker@raytheon.com> for
+ identifying the problem.
+
+Wed May 25 10:52:39 2005 Cassia Tatibana <cassia@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Display/HUDisplay.idl:
+ * DAnCE/examples/Display/HUDisplay.mpc:
+ * DAnCE/examples/Display/HUDisplay_stub_export.h:
+ * DAnCE/examples/Display/HUDisplay_svnt_export.h:
+ * DAnCE/examples/Display/README.html:
+ * DAnCE/examples/Display/GPS/GPS.cidl:
+ * DAnCE/examples/Display/GPS/GPS.idl:
+ * DAnCE/examples/Display/GPS/GPS.mpc:
+ * DAnCE/examples/Display/GPS/GPSEI.idl:
+ * DAnCE/examples/Display/GPS/GPS_exec.cpp:
+ * DAnCE/examples/Display/GPS/GPS_exec.h:
+ * DAnCE/examples/Display/GPS/GPS_exec_export.h:
+ * DAnCE/examples/Display/GPS/GPS_stub_export.h:
+ * DAnCE/examples/Display/GPS/GPS_svnt_export.h:
+ * DAnCE/examples/Display/GPS/GPS_tracing_exec.cpp:
+ * DAnCE/examples/Display/GPS/GPS_tracing_exec.h:
+ * DAnCE/examples/Display/NavDisplay/NavDisplay.cidl:
+ * DAnCE/examples/Display/NavDisplay/NavDisplay.idl:
+ * DAnCE/examples/Display/NavDisplay/NavDisplay.mpc:
+ * DAnCE/examples/Display/NavDisplay/NavDisplay_exec.cpp:
+ * DAnCE/examples/Display/NavDisplay/NavDisplay_exec.h:
+ * DAnCE/examples/Display/NavDisplay/NavDisplay_exec_export.h:
+ * DAnCE/examples/Display/NavDisplay/NavDisplay_stub_export.h:
+ * DAnCE/examples/Display/NavDisplay/NavDisplay_svnt_export.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/AddNavUnitCmd.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/Command.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/DetailView.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/DetailView.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/DetailView_moc.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/MapView.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/MapView.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/MapView_moc.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec_exec_export.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec_export.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec_stub_export.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_exec_svnt_export.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_stub_export.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavDisplayGUI_svnt_export.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavUnit.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NavUnit.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NodeItem.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NodeItem.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/NodeItem_moc.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/QuitCmd.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/QuitCmd.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/RootPanel.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/RootPanel.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/RootPanel_moc.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/UpdatePositionCmd.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/Worker.cpp:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/Worker.h:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/trolltech.gif:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/worldmap1.gif:
+ * DAnCE/examples/Display/NavDisplayGUI_exec/worldmap1.xpm:
+ * DAnCE/examples/Display/RateGen/RateGen.cidl:
+ * DAnCE/examples/Display/RateGen/RateGen.idl:
+ * DAnCE/examples/Display/RateGen/RateGen.mpc:
+ * DAnCE/examples/Display/RateGen/RateGen_exec.cpp:
+ * DAnCE/examples/Display/RateGen/RateGen_exec.h:
+ * DAnCE/examples/Display/RateGen/RateGen_exec_export.h:
+ * DAnCE/examples/Display/RateGen/RateGen_stub_export.h:
+ * DAnCE/examples/Display/RateGen/RateGen_svnt_export.h:
+ * DAnCE/examples/Display/RateGen/controller.cpp:
+ * DAnCE/examples/Display/descriptors/Deployment.xsd:
+ * DAnCE/examples/Display/descriptors/EM.ior:
+ * DAnCE/examples/Display/descriptors/GPS.ior:
+ * DAnCE/examples/Display/descriptors/Modified_Deployment.xsd:
+ * DAnCE/examples/Display/descriptors/NavDisplay.ior:
+ * DAnCE/examples/Display/descriptors/NavDisplayGUI.ior:
+ * DAnCE/examples/Display/descriptors/NodeManagerMap.dat:
+ * DAnCE/examples/Display/descriptors/RateGen.ior:
+ * DAnCE/examples/Display/descriptors/XMI.xsd:
+ * DAnCE/examples/Display/descriptors/basicNodeDaemon.pl:
+ * DAnCE/examples/Display/descriptors/flattened_deploymentplan.cdp:
+
+ Ported the Display example in CIAO to DAnCE.
+
+Tue May 24 22:23:48 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/examples/Hello/step-by-step.html
+
+ Fixed a typo in the command line option. Thanks to Will Chai
+ <willchai@126.com> for reporting this.
+
+Tue May 24 00:23:26 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * CCF/CCF/CIDL/CIDL.mpc:
+ * CCF/CCF/CodeGenerationKit/CodeGenerationKit.mpc:
+ * CCF/CCF/CompilerElements/CompilerElements.mpc:
+ * CCF/CCF/IDL2/IDL2.mpc:
+ * CCF/CCF/IDL3/IDL3.mpc:
+
+ Changed the mpc files to use the cidlc.mpb.
+
+Sun May 22 21:23:48 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.cpp
+
+ Modified the operation from <_ciao_passivate> to <ciao_passivate>
+ due to my earlier interface changes.
+
+Sun May 22 11:29:36 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Base.cpp:
+
+ Fixed a memory leak in the container code to
+ delete the ServantActivator pointer.
+
+Sat May 21 16:08:48 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ciao/Deployment_Core.idl
+
+ Added <ciao_passivate> operation on the NodeApplication interface,
+ which is useful for enforce the correct component deactivation
+ sequence.
+
+ * DAnCE/ciao/Deployment.idl
+
+ Moved the StopError exception definition and put into the
+ Deployment_Core.idl, since <ciao_passviate> operation needs
+ such exception declaration.
+
+ * DAnCE/ciao/CCM_Component.idl
+
+ Added <ciao_passivate> operation to the CCM_Object interface.
+
+ * DAnCE/ciao/NodeApplication_Impl.cpp
+ * DAnCE/ciao/NodeApplication_Impl.h
+
+ Implementation of the above added operation <ciao_passivate>.
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+
+ Modified to call <ciao_passivate> before calling <destroyApplication>.
+
+ * DAnCE/RepositoryManager/Repository_Manager.cpp
+
+ Modified the Repository_Manager/executor to invoke <start>
+ separately from invoking finishLaunch.
+
+ * DAnCE/ciao/Servant_Impl_Base.cpp
+
+ Removed the call of <ciao_passivate> from the
+ Servant_Impl_Base::remove() function since this will be
+ called separately on the whole assembly, i.e. passivate ALL
+ components in the assembly before removing components.
+
+ * DAnCE/ciao/Servant_Impl_T.cpp
+ * DAnCE/ciao/Servant_Impl_T.h
+
+ Changed the operation name from "_ciao_passivate" to
+ "ciao_passivate", in order to make it to be the implementation
+ of the <ciao_passivate> operation added on the CCM_Object
+ interface.
+
+Sat May 21 14:39:48 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/ciao/Deployment_Core.idl
+
+ Added <ciao_preactivate> and <ciao_postactivate>
+ operations on the NodeApplication interface, which is useful
+ for enforce the correct component activation operation
+ sequence.
+
+ * DAnCE/ciao/NodeApplication_Impl.cpp
+ * DAnCE/ciao/NodeApplication_Impl.h
+
+ Implemented the above operations.
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.h
+
+ Modified it to call ciao_preactivate and ciao_postactivate
+ on NodeApplications accordingly
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+
+ Modified to disable the "start" while "finishLaunch", since
+ it is the application developer's control to invoke start
+ operation in the whole assembly.
+
+ * DAnCE/ciao/Container_Base.cpp
+ * DAnCE/ciao/Container_Impl.cpp
+
+ Put some debug output into the CIAO_DebugLevel control
+
+ * DAnCE/examples/Hello/Sender/Sender_exec.cpp
+
+ Cosmetic changes.
+
+Tue May 17 20:49:48 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/IDL3/ImpliedIDL/All/all.mpc:
+ * tests/IDL3/ImpliedIDL/All/convert.idl:
+ * tests/IDL3/ImpliedIDL/All/pass_through.idl:
+ * tests/IDL3/ImpliedIDL/All/include.idl:
+ * tests/IDL3/ImpliedIDL/All/README:
+
+ New files comprising a test for the tao_idl3_to_idl2
+ executable. The test executes tao_idl3_to_idl2 on the
+ listed IDL files, then executes the TAO IDL compiler on
+ the resulting IDL files. The resulting C++ code is compiled,
+ and if there are no errors or warnings in this last step,
+ the test is a success.
+
+Tue May 17 07:51:47 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * DAnCE/Old_Config_Handlers/Process_Element.h:
+ * DAnCE/Old_Config_Handlers/Process_Element.cpp:
+
+ Fixed unresolved symbol link error.
+
+Mon May 16 21:29:49 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * DAnCE/Old_Config_Handlers/Process_Element.cpp:
+ * DAnCE/ciao/Home_Servant_Impl_T.cpp (remove_component):
+
+ Fixed syntax errors.
+
+Mon May 16 12:06:51 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/XSCRT/Elements.hpp (~IndentityProvider):
+ * DAnCE/Old_Config_Handlers/Process_Element.h (Process_Function):
+ * DAnCE/Old_Config_Handlers/Process_Element.cpp
+ (~Process_Function):
+ * tests/RTCCM/Priority_Test/Controllers/Pulser.h (Pulse_Handler):
+ * tests/RTCCM/Priority_Test/Controllers/Pulser.cpp
+ (~Pulse_Handler):
+
+ Added missing virtual destructor. Fixes g++ 4.0 "class with
+ virtual functions but no virtual destructor" warnings.
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp (mode):
+
+ Fixed "non-local variable uses anonymous type" g++ 4.0 warning.
+
+ * DAnCE/ciao/Home_Servant_Impl_T.cpp (remove_component):
+ * tools/RTComponentServer/RTConfig_Manager.cpp
+ (find_threadpool_by_name):
+ * tools/XML_Helpers/RTConfig_Handlers.cpp (add_threadpoollane):
+ (add_priorityband):
+
+ Fixed "variable may be used uninitialized" warnings.
+
+ * tools/Assembly_Deployer/Assembly_Deployer.cpp
+ (teardown_assembly):
+
+ Fixed format specifier mismatch.
+
+Mon May 16 11:27:30 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIAO-INSTALL.html:
+
+ Added line to table about availability of binaries for MacOS
+ and Solaris.
+
+Sat May 14 06:12:44 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIAO version 0.4.5 released.
+
+Thu May 12 10:20:55 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * Updated the COPYING file to clarify some ambiguity about
+ proprietary usage of CIAO.
+
+Tue May 10 21:12:47 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * docs/releasenotes/dance.html: Updated this page to clearly
+ point out which OMG D&C specification DAnCE implements.
+ Thanks to Gary Duzan <gduzan@bbn.com> for requesting this.
+
+Tue May 10 07:49:47 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * DAnCE/examples/Hello/descriptors: Changed the name of
+ ruNodeDaemons.pl to run_NodeDaemons.pl. Thanks to Arno Wilhelm
+ <arno.wilhelm@profile.co.at> for reporting this.
+
+Sun May 8 11:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/CIDL/CodeGen/CodeGen.mpc:
+ Removed requires+=cidl
+
+Sat May 7 19:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc:
+ Removed requires+=cidl for the NodeAppTest_RoundTrip_svnt project.
+ It should not be there. Thanks for Jaiganesh B
+ <jai@dre.vanderbilt.edu> for finding out that this caused the
+ problems in the gcc4 build
+
+Fri May 6 08:15:43 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc:
+
+ Changed base project lists and added explicit lists (sometimes
+ empty) for header and inline files.
+
+Wed May 4 19:27:01 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tools/IDL3_to_IDL2/idl3_to_idl2_visitor.cpp:
+
+ Fixed typo in generated code - changed "provides_" prefix
+ in component facet access operation to the correct
+ "provide_". Thanks to Don Busch <busch_d@ociweb.com> for
+ pointing out the mistake.
+
+Tue May 03 22:42:47 2005 Nanbor Wang <nanbor@gauss.txcorp.com>
+
+ * NEWS: Updated news on upcoming real-time extension on Gan Deng's
+ behalf.
+
+Tue May 3 13:05:44 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Changed the generated string (used for object id) which is passed
+ to the port activator constructor and to generate_reference() to
+ be a concatentation of the component instance name and the port
+ name, to ensure uniqueness in any use case.
+
+Mon May 2 07:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/RTComponentServer/RTConfig_Manager.cpp:
+ * tools/Assembly_Deployer/Assembly_Impl.cpp:
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.cpp:
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.cpp:
+ * DAnCE/ciao/Dynamic_Component_Servant_T.cpp:
+ Fixed gcc 4 warnings
+
+Sat May 1 03:11:17 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * ciao/tools/Simple_Component_Server/Simple_Component_Server.cpp:
+
+ Made a change to fix compile errors.
+
+Sat Apr 30 20:02:10 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * ciao/Container_Impl.cpp:
+
+ Made a change to fix compile errors.
+
+Sat Apr 30 09:58:05 2005 Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
+
+ * ciao/Container_Base.cpp:
+ * ciao/Container_Base.h:
+ * ciao/Home_Servant_Impl_T.cpp:
+ * ciao/Home_Servant_Impl_T.h:
+
+ Made changes to the old CIAO infrastructure to support
+ passing and storing of the component instance name from the
+ descriptor XML file and into the component instance.
+
+Thu Apr 28 14:50:05 2005 Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Dynamic_Component_Servant_T.cpp:
+ * DAnCE/ciao/Dynamic_Component_Servant_T.h:
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.cpp:
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.h:
+
+ Made changes to the CIAO infrastructure that allows the
+ swapping capability to make use of the component instance
+ name when we create object references.
+
+Wed Apr 27 11:15:12 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Base.cpp:
+ * DAnCE/ciao/Container_Base.h:
+ * DAnCE/ciao/Container_Impl.cpp:
+ * DAnCE/ciao/Deployment_Core.idl:
+ * DAnCE/ciao/Home_Servant_Impl_T.cpp:
+ * DAnCE/ciao/Home_Servant_Impl_T.h:
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+ * DAnCE/ciao/Servant_Impl_Base.h:
+
+ Some cosmetic changes and changes by Jaiganesh Balasubramanian
+ <jai@dre.vanderbilt.edu> to support the passing and storing of
+ the component instance name (from the descriptor XML file) in
+ the component instance. Also removed the gen_UUID() static
+ method from class Servant_Impl_Base, since it is no longer
+ used.
+
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Changes to servant code generation corresponding with the
+ changes above.
+
+Tue Apr 26 18:14:01 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * docs/releasenotes/index.html:
+
+ Updated CIDL compiler documentation, and added item about the
+ existing IDL3-to-IDL2 coverter.
+
+ * tools/IDL3_to_IDL2/README:
+
+ Updated documentation file.
+
+Tue Apr 26 11:34:52 2005 Nanbor Wang <nanbor@tesla.txcorp.com>
+
+ * docs/schema/CIAOServerResources.xsd: Changed some of the XML
+ element and type names to be more consistent with the rest of
+ RTCORBA spec that the following new IDL file follows.
+
+ * DAnCE/ciao/ServerResources.idl: First cut of server
+ configuration information set in IDL.
+
+Mon Apr 25 11:07:28 2005 Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Base.cpp:
+
+ Fixed compiler warnings in the Debian Full_Reactor build.
+
+Sun Apr 24 02:47:22 2005 Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Base.cpp:
+ * DAnCE/ciao/Container_Base.h:
+ * DAnCE/ciao/Swapping_Container.cpp:
+ * DAnCE/ciao/Swapping_Container.h:
+
+ Made changes to fix compile errors.
+
+Sat Apr 23 13:54:10 2005 Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
+
+ * DAnCE/example/Swapping/Sender/Sender_exec_1.cpp:
+
+ Made a modification to the example to reflect changes made
+ in the infrastructure code.
+
+Sat Apr 23 13:43:22 2005 Jai Balasubramanian <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Base.cpp:
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+ * DAnCE/ciao/UpgradeableContext.idl:
+ * DAnCE/ciao/Upgradeable_Context_Impl_T.cpp:
+ * DAnCE/ciao/Upgradeable_Context_Impl_T.h:
+
+ Made some changes to the CIAO infrastructure to efficiently
+ handle updating the facets when the component is swapped.
+
+Thu Apr 21 18:10:13 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/examples/Hello/Hello_Base/Hello_Base.idl:
+ * DAnCE/examples/HelloHello_Base/Hello_Base.mpc:
+ * DAnCE/examples/HelloReceiver/Receiver.idl:
+ * DAnCE/examples/HelloReceiver/Receiver.mpc:
+ * DAnCE/examples/HelloSender/Sender.idl:
+ * DAnCE/examples/HelloSender/Sender.mpc:
+
+ Made cosmetic changes to all files, and added explicit
+ specification of header and inline files in MPC
+ projects. Also added -Sc command line option to the
+ IDL compiler, to suppress generation of the TIE
+ classes.
+
+Thu Apr 21 17:40:12 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CCF/CCF/CIDL/Traversal/Elements.cpp:
+ * CCF/CCF/IDL3/Traversal/EventType.cpp:
+
+ Removed these files, since they contain nothing but
+ empty namespaces.
+
+ * CCF/CCF/CIDL/CIDL.vcproj:
+ * CCF/CCF/IDL3/IDL3.vcproj:
+
+ Removed the above files from the appropriate projects.
+
+Thu Apr 21 14:31:21 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc:
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc:
+
+ Changes to eliminate some warnings in the Debian LInux build.
+
+Thu Apr 21 09:06:58 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * Added UUID generation for the object id when creating
+ event consumers, similar to that already added for facets.
+ This change eliminates the error of repeated connection
+ to the same event consumer instance when multiple
+ instances and connections are intended. Thanks to
+ Steve Baker <steven_d_baker@raytheon.com> for reporting
+ the problem.
+
+Thu Apr 21 09:04:32 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/descriptors/TestNodeManagerMap.dat
+ * DAnCE/examples/Hello/descriptors/run_test.pl
+
+ Added a NodeManagerMap specific to the test and changed the ports
+ that the node managers invoked by the test listen on to avoid
+ test failures.
+
+Wed Apr 20 16:14:26 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/CIAOServerResources.xsd
+
+ Fixed syntax and semantic errors.
+
+Wed Apr 20 12:43:53 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/descriptors/run_test.pl:
+
+ Not all the test platforms has CIAO_ROOT environment variable
+ defined. Changed that dependency to ACE_ROOT in the script.
+
+Wed Apr 20 13:11:28 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Added full scoping to a generated method call on
+ Servant_Impl_Base, to eliminate a warning from the
+ Borland compiler.
+
+Wed Apr 20 13:05:23 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.cpp
+ * DAnCE/RepositoryManager/Update_Plan.cpp
+
+ Fixed compile errors in Borland.
+
+Wed Apr 20 08:09:17 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Servant_Impl_T.cpp
+
+ Fixed a compile error with emulated exceptions.
+
+Wed Apr 20 08:03:23 2005 CDT Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/DP_Handler.cpp
+
+ Silenced some compile errors in VC6.
+
+Tue Apr 19 23:41:02 2005 CDT Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/XML_File_Intf.cpp
+
+ Silenced some compile errors in VC6.
+
+Tue Apr 19 16:46:00 2005 CDT Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * CIAO-INSTALL.html
+
+ Fixed this page to direct people where to download CIDLC.
+
+Tue Apr 19 17:33:55 2005 Nanbor Wang <nanbor@tesla.txcorp.com>
+
+ * docs/schema/ServerResourceUsage.txt:
+ * docs/schema/CIAOServerResources.xsd: Added the first draft
+ schema for DAnCE RT extension, and a file to document how I
+ foresee the extension can be used.
+
+Tue Apr 19 12:16:00 2005 CDT Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/IDREF_Base.h
+
+ Fixed a compile error on VC71.
+
+Mon Apr 18 12:50:51 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Added '.in ()' to some _var type arguments in generated code.
+
+Mon Apr 18 08:38:14 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Changed all instances of 'FALSE' to 'false'.
+
+Sun Apr 17 21:57:52 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Removed unnecessary _narrow() and local variable from generated
+ event push operations.
+
+Sun Apr 17 16:05:57 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Swapping/Sender/Sender_exec_1.cpp
+ * DAnCE/examples/Swapping/Sender/Sender_exec_2.cpp
+
+ Fixed a compile error on platforms using emulated exceptions.
+
+Sun Apr 17 12:46:51 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * ciao/CCM_Event.idl:
+ * DAnCE/ciao/CCM_Event.idl:
+
+ Added operation ciao_is_substitutable() to EventConsumerBase,
+ so we can check if there is an inheritance relationship
+ when a base class event consumer is passed to the subscribe()
+ operation for a derived eventtype. Thanks to Boris Kolpackov
+ <boris@dre.vanderbilt.edu> for suggesting this approach.
+
+ * CIDLC/Literals.cpp:
+
+ Cosmetic changes.
+
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Added code generation to take advantage of the new
+ EventConsumerBase operation described above.
+
+Sat Apr 16 20:17:38 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/descriptors/run_test.pl:
+
+ Fixed some perl errors.
+
+Sat Apr 16 18:31:40 2005 CDT Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc
+
+ Removed typecodefactory fromt the base projects.
+
+Sat Apr 16 17:24:40 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp:
+
+ Added a missing include file.
+
+Sat Apr 16 17:22:42 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/descriptors/run_test.pl:
+
+ Added code to ensure killing open processes on failure.
+
+Sat Apr 16 16:38:09 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/descriptors/run_test.pl:
+
+ Added perl script running all the steps for deploying an application.
+
+Sat Apr 16 16:10:10 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp:
+
+ Added two command line options to plan_launcher to easily use in
+ scripts. Now the launch and destruction of the application can be
+ done in two steps.
+
+Sat Apr 16 15:00:31 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/step-by-step.html:
+
+ Fixed typo on the documentation.
+
+Fri Apr 15 12:54:46 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Req_Handler.h
+
+ Fixed a compile error on builds using -pendantic.
+
+Fri Apr 15 10:46:56 CDT 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Impl.cpp
+
+ Added a condition to check whether call standard configurator.
+
+ * DAnCE/RepositoryManager/Repository_Manager.cpp
+
+ Modified to make it work by using ORBDebugLevel.
+
+ * DAnCE/examples/Hello/Sender/Sender_exec.cpp
+
+ Fixed a warning message.
+
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_simple.cpp
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_ex.cpp
+
+ This should fix the warning message on Dynamic_Hash_Op_Lookup
+ build.
+
+Thu Apr 14 10:54:56 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.cpp
+
+ Fixed a warning due to ambiguous conversion.
+
+Thu Apr 143 10:21:58 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/Sender/Sender.idl
+ * DAnCE/examples/Hello/Sender/Sender_exec.cpp
+ * DAnCE/examples/Hello/Sender/Sender_exec.h
+ * DAnCE/examples/Hello/Sender/starter.cpp
+ * DAnCE/examples/Hello/descriptors/Hello.cid
+ * DAnCE/examples/Hello/descriptors/Receiver.cid
+ * DAnCE/examples/Hello/descriptors/Sender.cid
+
+ Modified the Hello example to showcase the feature of setting
+ attributes through XML. "string" and "long" type attributes
+ are put into the test.
+
+ * DAnCE/ciao/Container_Impl.cpp
+
+ Cleaned up a little bit.
+
+Thu Apr 14 10:14:44 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+
+ Added 'naming' to the list of base projects to fix a compile
+ error
+
+Thu Apr 14 02:02:13 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/Execution_Manager.cpp
+ * DAnCE/ciao/Context_Impl_T.cpp
+ * DAnCE/ciao/Dynamic_Component_Servant_Base.h
+ * DAnCE/ciao/Dynamic_Component_Servant_T.cpp
+ * DAnCE/ciao/Dynamic_Component_Servant_T.h
+ * DAnCE/ciao/Home_Servant_Impl_T.cpp
+ * DAnCE/ciao/Servant_Impl_T.cpp
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.cpp
+ * DAnCE/ciao/Upgradeable_Context_Impl_T.cpp
+
+ Fixed a number of mistakes with emulated exceptions.
+
+Wed Apr 13 18:55:58 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/CCM_Component.idl
+ * DAnCE/ciao/Container_Impl.cpp
+ * DAnCE/ciao/Servant_Impl_Base.cpp
+ * DAnCE/ciao/Servant_Impl_Base.h
+
+ Added support for configuring component attributes through
+ XML <configProperty> tags.
+
+ * DAnCE/RepositoryManager/Update_Plan.cpp
+ * DAnCE/RepositoryManager/Update_Plan.h
+
+ Fixed to make sure correct component attributes are
+ populated. Thanks Jai <jai@dre.vanderbilt.edu> for the fix.
+
+Wed Apr 13 15:14:58 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc:
+ * DAnCE/NodeApplication/NodeApplication.mpc:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc:
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc:
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc:
+
+ Deleted typecodefactory base project to the mpc files.
+
+Wed Apr 13 11:39:58 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/ExecutionManager.mpc:
+ * DAnCE/NodeApplication/NodeApplication.mpc:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc:
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc:
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc:
+
+ Added typecodefactory base project to the mpc files.
+
+Tue Apr 12 17:12:35 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+ * DAnCE/ciao/Servant_Impl_Base.h:
+ * ciao/Servant_Impl_Base.cpp:
+ * ciao/Servant_Impl_Base.h:
+
+ Added a static method to generate a UUID. This method is
+ called by the generated servant class to create unique
+ object ids for port object references. Thanks to Steve
+ Baker <steven_d_baker@raytheon.com> for reporting the
+ problem of connecting to facets on multiple instances
+ of the same component type.
+
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Changed code generation for provide_*_i() to use the
+ new method described above.
+
+Tus Apr 12 16:04:21 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/Old_Config_Handlers/IAD_Handler.cpp
+
+ Modified to ignore the <dependsOn> tag, since this might
+ cause a problem where multiple _svnt or multiple _exec
+ libraries to be specified as implArtifacts of a component
+ type.
+
+Tue Apr 12 14:35:58 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * CIAO-INSTALL.html
+
+ Updated to include Xerces information. Also cleaned up the
+ file a bit and made it XHTML compliant.
+
+Tue Apr 12 11:56:26 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Dynamic_Component_Activator.cpp
+ * DAnCE/ciao/Servant_Activator.cpp
+ * DAnCE/ciao/Servant_Impl_Base.cpp
+
+ Fixed some more compile errors with emulated exceptions.
+
+Tue Apr 12 11:11:41 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Servant_Impl_Base.cpp
+
+ Fixed some compile errors with emulated exceptions.
+
+Mon Apr 11 23:54:21 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp
+
+ Fixed a bug where multiple "_svnt" and "_exec" libs for
+ a given MonolithicDeploymentDescription could cause
+ chaos while pupulating ImplementationInfo stuct. This
+ fix now only consides the first "_svnt" and "_exec"
+ libs, and ignore remaining ones. A better solution will
+ be enforcing any MonolithicDeploymentDescription could
+ only have exactly one _svnt and one _exec lib. This
+ will be achieved through the flattened deployment plan.
+
+Mon Apr 11 17:56:22 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc:
+ * DAnCE/ExecutionManager/ExecutionManager.mpc:
+ * DAnCE/NodeApplication/NodeApplication.mpc:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager.mpc:
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc:
+
+ Added typecodefactory to the list of project files.
+
+Mon Apr 11 13:43:47 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp
+
+ Corrected the ExecutionManager narrow operation.
+
+Mon Apr 11 08:29:50 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Impl.cpp:
+ * DAnCE/ciao/Dynamic_Component_Activator.cpp:
+ * DAnCE/ciao/Dynamic_Component_Activator.h:
+ * DAnCE/ciao/NodeApplication_Impl.cpp:
+ * DAnCE/ciao/NodeApplication_Impl.h:
+ * DAnCE/ciao/Swapping_Container.cpp:
+ * DAnCE/ciao/Swapping_Container.h:
+
+ Fixed various glitches with environment variables, unused variables,
+ and ACE_TRY macros.
+
+Mon Apr 11 07:12:54 CDT 2005 Will Otte <wotte@dre.vanderbit.edu>
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp
+
+ Fixed a compile error.
+
+Sun Apr 10 18:44:22 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.cpp
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp
+ * DAnCE/Config_Handlers/ccd.cpp
+ * DAnCE/Config_Handlers/ccd.hpp
+
+ Regenerated the handlers to reflect the changes in the previous
+ commit.
+
+Sat Apr 09 18:35:23 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/Basic_Deployment_Data.xsd
+ * docs/schema/ccd.xsd
+
+ Updated schemas to reflect changes made to Modified_Deployment
+ in conformance to the spec.
+
+Sat Apr 09 17:15:23 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+
+ Changed the after clause to point to the XSC_Config_Handlers
+ instad of the old config handlers.
+
+Sat Apr 09 23:59:40 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.cpp
+
+ Fixed a bug where duplicated CORBALOC specified in the
+ NodeManagerMap could cause undetected exception. This fix
+ will allow such duplication IOR error to be detected explicitly
+ and error message will be printed out. Thanks Steve Baker
+ <Steven_D_Baker@raytheon.com> for report this bug.
+
+Fri Apr 8 14:30:52 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/cdp.cpp
+ * DAnCE/Config_Handlers/cdp.hpp
+
+ Regenerated handlers to reflect schema changes.
+
+ * docs/schema/cdp.xsd
+
+ Updated schema to allow 0 on the realizes element.
+
+Fri Apr 8 13:33:24 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Added backend support for attribute exceptions.
+
+Thu Apr 07 14:49:40 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/descriptors/basicNodeDaemon.pl
+ * DAnCE/examples/Hello/descriptors/runNodeDaemons.pl
+
+ Removed the first file and added the second file since
+ the name of the first file doens't make any sense. These
+ two files are the same.
+
+ * DAnCE/examples/BasicSP/descriptors/flattern_deploymentplan.cdp
+ * DAnCE/examples/BasicSP/descriptors/flattened_deploymentplan.cdp
+
+ Removed the first file and added the second file since
+ the name of the first file contained a typo.
+
+ * DAnCE/examples/Hello/descriptor/Modified_Deployment.xsd
+
+ Changed the <deploymentPlan> tag to allow zero <realizes>
+ tag in the XML.
+
+ * DAnCE/Config_Handlers/DP_Handler.cpp
+ * DAnCE/Config_Handlers/cdp.cpp
+ * DAnCE/Config_Handlers/cdp.hpp
+
+ Modified handlers to accomodate the above change.
+
+ * DAnCE/examples/Hello/descriptors/flattened_deploymentplan.cdp
+
+ Added this file in, which is a flattened deployment plan for
+ for the Hello example. I will come back to remove the <realizes>
+ tag some time later since it is useless.
+
+ * DAnCE/examples/Hello/step-by-step.html
+
+ Bring the documentation page up to date.
+
+Wed Apr 06 11:12:40 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/examples/BasicSP/descriptors/flattern_deploymentplan.cdp
+
+ Cleaned this a little bit. Removed most <SupportedType> and
+ <port> tags from the <realizes> tag.
+
+Wed Apr 06 10:30:40 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/examples/BasicSP/descriptors/NodeManagerMap.dat
+
+ Modified virtual node names to make them more meaningful.
+
+ * DAnCE/examples/BasicSP/descriptors/DeploymentPlan.cdp
+
+ Added this file, which is a copy of the old HUDisplay.cdp
+ file. This is the old version deployment plan XML metadata.
+
+ * DAnCE/examples/BasicSP/descriptors/BasicSP.cdp
+ * DAnCE/examples/BasicSP/descriptors/HUDisplay.cdp
+
+ Removed these two files since they are redundant. The
+ former one now is "flattern_deploymentplan.cdp",
+ the latter one is "DeploymentPlan.cdp".
+
+ * DAnCE/examples/BasicSP/descriptors/flattern_deploymentplan.cdp
+
+ Fixed this file, which contains a invalid connection, i.e.,
+ connecting a EventPublisher to a SimplexReceptacle. The root
+ of this problem is that "data_read" is a Facet instead of
+ a EventPublisher.
+
+Tue Apr 05 19:29:40 2005 Gan Deng <dengg@dre.vanderbilt.edu>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc
+
+ Fixed project dependency.
+
+ * DAnCE/ciao/Container_Impl.cpp
+
+ Fixed a compilation error caused by specifying a
+ wrong exception name.
+
+ * DAnCE/examples/BasicSP/descriptors/NodeManagerMap.dat
+
+ Fixed a wrong string to specify the vitual node name.
+
+Tue Apr 5 14:37:16 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Any_Handler.cpp
+
+ Updated Gary's fix to work in Borland 6.
+
+Tue Apr 5 14:13:10 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Any_Handler.cpp
+
+ Incorporated a fix to the Any handler from Gary Duzan.
+
+Tue Apr 5 11:34:32 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * 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/XMLSchema/Types.hpp
+
+ New version of the generated XSC handlers fixing the following problems:
+ - Use ACE_TCHAR instead of char as the character type
+ - Export macros for the generated classes.
+ - Borland 6 support
+ - Misc VC6 warnings.
+
+Sun Apr 3 23:52:50 CDT 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * examples/BasicSP/descriptors/flattern_deploymentplan.cdp
+
+ Fixed a mistake in the descriptor.
+
+Sun Apr 3 18:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Container_Base.h:
+ * ciao/ServerActivator_Impl.h:
+ Added missing include of ace/Hash_Map_Manager_T.h
+
+Sat Apr 02 13:12:40 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/examples/BasicSP/README.html: Brought the documentation a
+ bit more up-to-date.
+
+Sat Apr 2 13:06:02 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/ciao/Container_Base.cpp: Added more debug print out
+ statements in install_home method.
+
+Sat Apr 02 11:45:52 2005 Nanbor Wang <nanbor@exothermic.txcorp.com>
+
+ * DAnCE/Plan_Launcher/Plan_Launcher.mpc:
+ * DAnCE/Plan_Launcher/Plan_Launcher.cpp: Merged from xsc_handler_1
+ branch. Added a missing break statement, otherwise, it will not
+ run.
+
+Thu Mar 31 20:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ciao/NodeApplication_Impl.h:
+ * DAnCE/ciao/Container_Base.h:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h:
+ Added missing include of ace/Hash_Map_Manager_T.h
+
+Thu Mar 31 09:45:07 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/IDL2/LexicalAnalyzer.cpp:
+ * CCF/CCF/IDL2/Parser.cpp:
+ * CCF/CCF/IDL2/Parser.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Attribute.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Attribute.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Attribute.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/Attribute.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/Attribute.hpp:
+ * CCF/CCF/IDL2/Traversal/Attribute.cpp:
+ * CCF/CCF/IDL2/Traversal/Attribute.hpp:
+ * CIDLC/ExecutorMappingGenerator.cpp:
+
+ Added support for raises-specification in attributes.
+
+Wed Mar 30 21:48:14 2005 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * DAnCE/Config_Handlers/Deployment.hpp: Made the function
+ deploymentPlan an export function since it will be accessed
+ externally. The handler test program needed this change to
+ compile on Win32.
+
+ * DAnCE/Config_Handlers/Config_Handlers.mpc: Changed to source in
+ the Xerces library settings from the latest xerces MPC template
+ that Kitty suggested.
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp:
+ * DAnCE/Config_Handlers/ccd.hpp:
+ * DAnCE/Config_Handlers/cdd.hpp:
+ * DAnCE/Config_Handlers/cdp.hpp:
+ * DAnCE/Config_Handlers/cid.hpp:
+ * DAnCE/Config_Handlers/cpd.hpp:
+ * DAnCE/Config_Handlers/iad.hpp:
+ * DAnCE/Config_Handlers/pcd.hpp:
+ * DAnCE/Config_Handlers/toplevel.hpp:
+ * DAnCE/Config_Handlers/XMLSchema/Types.hpp:
+ * DAnCE/Config_Handlers/XSCRT/Elements.hpp:
+ * DAnCE/Config_Handlers/XSCRT/Parser.hpp:
+ * DAnCE/Config_Handlers/XSCRT/Traversal.hpp:
+ * DAnCE/Config_Handlers/XSCRT/Writer.hpp:
+ * DAnCE/Config_Handlers/XSCRT/XML.hpp: Changed all local include
+ files to use the right syntax. I.e., they should be in the form
+ of:
+
+ #include "foo/bar.h"
+
+ instead of
+
+ #include <foo/bar.h>
+
+Wed Mar 30 22:03:23 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/xsc-banner.cpp
+ * docs/schema/xsc-banner.h
+
+ These files are the banners that should be included at
+ the top of XSC generated code.
+
+Wed Mar 30 13:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/ComponentsC.h:
+ * DAnCE/ciao/ComponentsC.h:
+ Fixed include of Typecode.h to TypeCode.h
+
+Wed Mar 30 13:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Config_Handlers/DataType_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/DT_Handler.cpp:
+ Fixed include of Typecode.h to TypeCode.h
+
+Thu Mar 24 17:02:34 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp
+ * DAnCE/Config_Handlers/Deployment.hpp
+ * DAnCE/Config_Handlers/ccd.hpp
+ * DAnCE/Config_Handlers/cdd.hpp
+ * DAnCE/Config_Handlers/cdp.hpp
+ * DAnCE/Config_Handlers/cid.hpp
+ * DAnCE/Config_Handlers/cpd.hpp
+ * DAnCE/Config_Handlers/iad.hpp
+ * DAnCE/Config_Handlers/pcd.hpp
+ * DAnCE/Config_Handlers/toplevel.hpp
+ * DAnCE/Config_Handlers/XSCRT/XML.hpp
+ * DAnCE/Config_Handlers/vc6-4786.h
+
+ Finally beat a big warning problem in VC6.
+
+Thu Mar 24 15:19:21 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/XSCRT/Elements.hpp
+ * DAnCE/Config_Handlers/XSCRT/XML.hpp
+
+ Moved a pragma disable from Elements.hpp to XML.hpp to
+ attempt to silence more warnings in VC6.
+
+Thu Mar 24 14:52:03 2005 Will Otte <wotte@dre.vanderilt.edu>
+
+ * DAnCE/Config_Handlers/Any_Handler.cpp
+
+ Fixed a compile error for 64bit arch that resulted from
+ the earlier VC6 fix.
+
+Thu Mar 24 09:21:59 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Swapping/Sender/Sender.mpc:
+
+ Added the "after" clause in the MPC file to fix a
+ linker error.
+
+Thu Mar 24 08:46:07 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ExecImplSourceGenerator.cpp:
+ * CIDLC/Literals.cpp:
+ * CIDLC/Literals.hpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+ * CIDLC/TypeNameEmitter.cpp:
+
+ - Added generation of ACE_UNUSED_ARG macros for local variables in
+ the get_registered_consumers() method for upgradeable components,
+ to avoid unused argument warnings if the component has no
+ event consumers.
+
+ - Added predefined string literals for "ACE_UNUSED_ARG",
+ "ACE_CHECK_RETURN", and "ACE_THROW_RETURN".
+
+Wed Mar 23 19:45:32 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CCF/CCF/IDL2/IDL2.vcpoj:
+
+ Added more new files to the project, ValueTypeMember.hpp and
+ ValueTypeMember.tpp in IDL2/Traversal.
+
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ Restored backend code that was commented out until frontend
+ support for traversal of valuetype/eventtype members was added.
+
+Wed Mar 23 13:00:32 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Any_Handler.cpp
+
+ Fixed compile errors for VC6.
+
+Wed Mar 23 12:39:43 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Swapping/Sender/Sender.mpc:
+
+ Added a missing library include.
+
+Wed Mar 23 11:19:32 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Swapping/Sender/Sender.mpc:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_1.cpp:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_1.h:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_1_export.h:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_2.cpp:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_2.h:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_2_export.h:
+
+ Added new export macros to fix compiler problems in Windows
+ builds.
+
+Wed Mar 23 11:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp:
+ Fixed compile errors
+
+Wed Mar 23 11:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.cpp:
+ * DAnCE/Config_Handlers/DP_Handler.cpp:
+ Fixed compile errors with Borland
+
+Tue Mar 22 21:21:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h:
+ Fixed fuzz error
+
+Tue Mar 22 13:08:32 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_Base.h
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.h
+ * DAnCE/examples/Swapping/Sender/Sender_exec_1.h
+ * DAnCE/examples/Swapping/Sender/Sender_exec_2.h
+
+ Silence some Fuzz errors.
+
+Tue Mar 22 11:45:57 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/ADD_Handler.cpp
+ * DAnCE/Config_Handlers/Any_Handler.cpp
+ * DAnCE/Config_Handlers/CCD_Handler.cpp
+ * DAnCE/Config_Handlers/XSCRT/Elements.hpp
+
+ Changes to accomodate broken compilers (VC6).
+
+Tue Mar 22 10:40:21 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Swapping/Sender/Sender_exec.cpp:
+
+ Made changes to fix compiler warnings.
+
+Tue Mar 22 10:26:18 2005 Will Otte <wotte@dre.vanderbilt.edu>
+ * DAnCE/Config_Handlers/CCD_Handler.cpp
+
+ Silenced an error in VC6 that occured because it couldn't obey
+ some simple scope rules.
+
+ * DAnCE/Config_Handlers/XSCRT/Elements.hpp
+
+ Silenced a warning in VC6 debug builds relating to debug identifiers being
+ too long.
+
+Tue Mar 22 08:44:03 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Base.cpp
+
+ Silenced a warning.
+
+Tue Mar 22 08:05:57 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CCF/CCF/IDL2/IDL2.vcproj:
+
+ Added new ValueTypeFactory files to SemanticAction and new
+ ValueTypeMember files to SemanticGraph.
+
+Tue Mar 22 00:13:56 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Any_Handler.cpp
+
+ Silenced warnings present in GCC >3 builds.
+
+ * DAnCE/Config_Handlers/CCD_Handler.h
+ * DAnCE/Config_Handlers/Config_Handlers.mpc
+ * DAnCE/Config_Handlers/IDD_Handler.cpp
+ * DAnCE/Config_Handlers/Property_Handler.h
+ * DAnCE/Config_Handlers/Req_Handler.h
+ * DAnCE/Config_Handlers/XML_Error_Handler.h
+ * DAnCE/Config_Handlers/XML_File_Intf.h
+
+ Silenced a few warnings present in the Fuzz build.
+
+Mon Mar 21 08:47:44 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CCF/CCF/IDL2/IDL2.vcproj:
+
+ Added the new ValuetypeMember files in SemanticAction to
+ the project.
+
+Mon Mar 21 16:25:07 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/IDL2/SemanticAction/Impl/ValueTypeMember.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/ValueTypeMember.hpp:
+
+ Finished "full support" for valuetype members. It also
+ adds "full support" for eventtype members since it just
+ re-uses valuetype's rules.
+
+
+ * CCF/CCF/IDL2/Parser.cpp:
+ * CCF/CCF/IDL2/Parser.hpp:
+ * CCF/CCF/IDL2/SemanticAction/ValueTypeFactory.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/ValueTypeFactory.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/ValueTypeFactory.hpp:
+ * CCF/CCF/IDL2/SemanticAction.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Factory.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Factory.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Factory.hpp:
+
+ Added support for valuetype factories.
+
+
+ * CCF/CCF/IDL2/SemanticAction/Impl/ValueType.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/ValueType.hpp:
+ * CCF/CCF/IDL2/Traversal/ValueType.tpp:
+
+ Implemented support for valuetype inheritance and
+ support of interfaces.
+
+
+ * CCF/CCF/IDL3/SemanticAction/Impl/EventType.cpp:
+ * CCF/CCF/IDL3/Traversal/EventType.tpp:
+
+ Implemented support for eventtype inheritance and
+ support of interfaces.
+
+
+ * CCF/CCF/IDL2/SemanticAction/Impl/Member.cpp:
+ * CCF/CCF/IDL3/SemanticAction/Impl/Component.cpp:
+
+ Minor cleanups.
+
+Sun Mar 20 21:35:04 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Swapping/Sender/Sender.mpc:
+
+ Made a change to link to the right library.
+
+Sun Mar 20 21:12:55 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Config_Handlers.mpc
+
+ Disabled the build of the test. There is no need for
+ this to build for the most part - as it is not a great test -
+ and appears to be lighting up the scoreboard for some reason.
+
+Sun Mar 20 14:05:08 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/tests/Config_Handlers/CompImplDesc_Handler_Test.cpp:
+ * DAnCE/tests/Config_Handlers/CompIntrDesc_Handler_Test.cpp:
+ * DAnCE/tests/Config_Handlers/CompPkgDesc_Handler_Test.cpp:
+ * DAnCE/tests/Config_Handlers/Domain_Handler_Test.cpp:
+ * DAnCE/tests/Config_Handlers/Handler_Test.cpp:
+ * DAnCE/tests/Config_Handlers/Handler_Test.h:
+ * DAnCE/tests/Config_Handlers/IAD_Handler_Test.cpp:
+ * DAnCE/tests/Config_Handlers/PC_Handler_Test.cpp:
+ * DAnCE/tests/Config_Handlers/Plan_Handler_Test.cpp:
+
+ Made changed to include the "right" config handlers
+ to fix the compilation errors.
+
+Sun Mar 20 13:57:55 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/XercesString.cpp:
+ * DAnCE/Config_Handlers/XercesString.h:
+
+ Added these new files from the old config handlers
+ directory to the new config handlers directory
+ to fix missing includes.
+
+Sun Mar 20 13:54:17 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/Old_Config_Handlers/Process_Element_T.cpp:
+
+ Changed a #include to fix a compilation error.
+
+Sun Mar 20 17:39:18 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+ * ciao/Servant_Impl_Base.h:
+ * ciao/Servant_Impl_Base.cpp:
+ * ciao/Servant_Impl_T.h:
+ * ciao/Servant_Impl_T.cpp:
+ * ciao/Home_Servant_Impl_T.cpp:
+
+ Made changes to the older version of the ciao
+ infrastructure to reflect changes made in the
+ newer version of ciao, which is DaNCE.
+
+Sun Mar 20 10:09:14 2005 Will Otte <wotte@dre.vanderbilt.edu>
+ * DAnCE/Config_Handlers/Basic_Handler.cpp
+ * DAnCE/Config_Handlers/Basic_Handler.h
+ * DAnCE/Config_Handlers/CAD_Handler.cpp
+ * DAnCE/Config_Handlers/CAD_Handler.h
+ * DAnCE/Config_Handlers/CPK_Handler.cpp
+ * DAnCE/Config_Handlers/CPK_Handler.h
+ * DAnCE/Config_Handlers/CPR_Handler.cpp
+ * DAnCE/Config_Handlers/CPR_Handler.h
+ * DAnCE/Config_Handlers/Cap_Handler.cpp
+ * DAnCE/Config_Handlers/Cap_Handler.h
+ * DAnCE/Config_Handlers/CompImplDesc_Handler.cpp
+ * DAnCE/Config_Handlers/CompImplDesc_Handler.h
+ * DAnCE/Config_Handlers/CompIntrDesc_Handler.cpp
+ * DAnCE/Config_Handlers/CompIntrDesc_Handler.h
+ * DAnCE/Config_Handlers/CompPkgDesc_Handler.cpp
+ * DAnCE/Config_Handlers/CompPkgDesc_Handler.h
+ * DAnCE/Config_Handlers/Config.h
+ * DAnCE/Config_Handlers/Config_Error_Handler.cpp
+ * DAnCE/Config_Handlers/Config_Error_Handler.h
+ * DAnCE/Config_Handlers/Config_Handler_export.h
+ * DAnCE/Config_Handlers/DT_Handler.cpp
+ * DAnCE/Config_Handlers/DT_Handler.h
+ * DAnCE/Config_Handlers/Domain_Handler.cpp
+ * DAnCE/Config_Handlers/Domain_Handler.h
+ * DAnCE/Config_Handlers/IAD_Handler.cpp
+ * DAnCE/Config_Handlers/IAD_Handler.h
+ * DAnCE/Config_Handlers/IR_Handler.cpp
+ * DAnCE/Config_Handlers/IR_Handler.h
+ * DAnCE/Config_Handlers/MID_Handler.cpp
+ * DAnCE/Config_Handlers/MID_Handler.h
+ * DAnCE/Config_Handlers/NIA_Handler.cpp
+ * DAnCE/Config_Handlers/NIA_Handler.h
+ * DAnCE/Config_Handlers/PCI_Handler.cpp
+ * DAnCE/Config_Handlers/PCI_Handler.h
+ * DAnCE/Config_Handlers/PC_Handler.cpp
+ * DAnCE/Config_Handlers/PC_Handler.h
+ * DAnCE/Config_Handlers/Plan_Handler.cpp
+ * DAnCE/Config_Handlers/Plan_Handler.h
+ * DAnCE/Config_Handlers/Process_Element.cpp
+ * DAnCE/Config_Handlers/Process_Element.h
+ * DAnCE/Config_Handlers/Process_Element_T.cpp
+ * DAnCE/Config_Handlers/Process_Element_T.h
+ * DAnCE/Config_Handlers/RS_Handler.cpp
+ * DAnCE/Config_Handlers/RS_Handler.h
+ * DAnCE/Config_Handlers/RUK_Handler.cpp
+ * DAnCE/Config_Handlers/RUK_Handler.h
+ * DAnCE/Config_Handlers/Requirement_Handler.cpp
+ * DAnCE/Config_Handlers/Requirement_Handler.h
+ * DAnCE/Config_Handlers/SPK_Handler.cpp
+ * DAnCE/Config_Handlers/SPK_Handler.h
+ * DAnCE/Config_Handlers/SP_Handler.cpp
+ * DAnCE/Config_Handlers/SP_Handler.h
+ * DAnCE/Config_Handlers/TPD_Handler.cpp
+ * DAnCE/Config_Handlers/TPD_Handler.h
+ * DAnCE/Config_Handlers/Utils.cpp
+ * DAnCE/Config_Handlers/Utils.h
+ * DAnCE/Config_Handlers/XercesString.cpp
+ * DAnCE/Config_Handlers/XercesString.h
+
+ Removed files unused by the new config handlers.
+
+ * DAnCE/Config_Handlers/Config_Handlers.mpc
+
+ Enabled the config handlers build.
+
+Sat Mar 19 18:19:34 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/XMLSchema/Traversal.hpp
+ * DAnCE/Config_Handlers/XMLSchema/Traversal.ipp
+ * DAnCE/Config_Handlers/XMLSchema/Traversal.tpp
+ * DAnCE/Config_Handlers/XMLSchema/TypeInfo.hpp
+ * DAnCE/Config_Handlers/XMLSchema/TypeInfo.ipp
+ * DAnCE/Config_Handlers/XMLSchema/TypeInfo.tpp
+ * DAnCE/Config_Handlers/XMLSchema/Types.hpp
+ * DAnCE/Config_Handlers/XMLSchema/Types.ipp
+ * DAnCE/Config_Handlers/XMLSchema/Types.tpp
+ * DAnCE/Config_Handlers/XMLSchema/Writer.hpp
+ * DAnCE/Config_Handlers/XMLSchema/Writer.ipp
+ * DAnCE/Config_Handlers/XMLSchema/Writer.tpp
+ * 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/Writer.hpp
+ * DAnCE/Config_Handlers/XSCRT/Writer.ipp
+ * DAnCE/Config_Handlers/XSCRT/Writer.tpp
+ * DAnCE/Config_Handlers/XSCRT/XML.hpp
+ * DAnCE/Config_Handlers/XSCRT/XML.ipp
+ * DAnCE/Config_Handlers/XSCRT/XML.tpp
+ * DAnCE/Config_Handlers/XSCRT/XMLSchema.ipp
+ * DAnCE/Config_Handlers/XSCRT/XMLSchema.tpp
+
+ Completed the merge of xsc_handler_1 into main.
+
+Sat Mar 19 17:29:50 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/RepositoryManager/RepositoryManager_Impl.cpp:
+ * DAnCE/RepositoryManager/RepositoryManager_Impl.h:
+
+ Fixed compiler errors.
+
+Sat Mar 19 16:57:41 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/Old_Config_Handlers/Any_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/Any_Handler.h:
+ * DAnCE/Old_Config_Handlers/Basic_Deployment_Data.cpp:
+ * DAnCE/Old_Config_Handlers/Basic_Deployment_Data.hpp:
+ * DAnCE/Old_Config_Handlers/Basic_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/Basic_Handler.h:
+ * DAnCE/Old_Config_Handlers/CAD_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/CAD_Handler.h:
+ * DAnCE/Old_Config_Handlers/CEPE_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/CEPE_Handler.h:
+ * DAnCE/Old_Config_Handlers/CPK_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/CPK_Handler.h:
+ * DAnCE/Old_Config_Handlers/CPR_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/CPR_Handler.h:
+ * DAnCE/Old_Config_Handlers/Cap_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/Cap_Handler.h:
+ * DAnCE/Old_Config_Handlers/CompImplDesc_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/CompImplDesc_Handler.h:
+ * DAnCE/Old_Config_Handlers/CompIntrDesc_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/CompIntrDesc_Handler.h:
+ * DAnCE/Old_Config_Handlers/CompPkgDesc_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/CompPkgDesc_Handler.h:
+ * DAnCE/Old_Config_Handlers/Config.h:
+ * DAnCE/Old_Config_Handlers/Config_Error_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/Config_Error_Handler.h:
+ * DAnCE/Old_Config_Handlers/Config_Handler_export.h:
+ * DAnCE/Old_Config_Handlers/Config_Handlers.mpc:
+ * DAnCE/Old_Config_Handlers/DT_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/DT_Handler.h:
+ * DAnCE/Old_Config_Handlers/Deployment.cpp:
+ * DAnCE/Old_Config_Handlers/Deployment.hpp:
+ * DAnCE/Old_Config_Handlers/DnC_Dump.cpp:
+ * DAnCE/Old_Config_Handlers/DnC_Dump.h:
+ * DAnCE/Old_Config_Handlers/DnC_Dump_T.cpp:
+ * DAnCE/Old_Config_Handlers/DnC_Dump_T.h:
+ * DAnCE/Old_Config_Handlers/Domain_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/Domain_Handler.h:
+ * DAnCE/Old_Config_Handlers/Dump_Obj.cpp:
+ * DAnCE/Old_Config_Handlers/Dump_Obj.h:
+ * DAnCE/Old_Config_Handlers/ERE_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/ERE_Handler.h:
+ * DAnCE/Old_Config_Handlers/IAD_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/IAD_Handler.h:
+ * DAnCE/Old_Config_Handlers/ID_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/ID_Handler.h:
+ * DAnCE/Old_Config_Handlers/IR_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/MID_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/MID_Handler.h:
+ * DAnCE/Old_Config_Handlers/NIA_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/NIA_Handler.h:
+ * DAnCE/Old_Config_Handlers/PCI_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/PCI_Handler.h:
+ * DAnCE/Old_Config_Handlers/PC_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/PC_Handler.h:
+ * DAnCE/Old_Config_Handlers/Plan_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/Plan_Handler.h:
+ * DAnCE/Old_Config_Handlers/Process_Element.cpp:
+ * DAnCE/Old_Config_Handlers/Process_Element.h:
+ * DAnCE/Old_Config_Handlers/Process_Element_T.cpp:
+ * DAnCE/Old_Config_Handlers/Process_Element_T.h:
+ * DAnCE/Old_Config_Handlers/Property_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/Property_Handler.h:
+ * DAnCE/Old_Config_Handlers/RS_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/RS_Handler.h:
+ * DAnCE/Old_Config_Handlers/RUK_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/RUK_Handler.h:
+ * DAnCE/Old_Config_Handlers/Requirement_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/Requirement_Handler.h:
+ * DAnCE/Old_Config_Handlers/SPK_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/SPK_Handler.h:
+ * DAnCE/Old_Config_Handlers/SP_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/SP_Handler.h:
+ * DAnCE/Old_Config_Handlers/TPD_Handler.cpp:
+ * DAnCE/Old_Config_Handlers/TPD_Handler.h:
+ * DAnCE/Old_Config_Handlers/Utils.cpp:
+ * DAnCE/Old_Config_Handlers/Utils.h:
+ * DAnCE/Old_Config_Handlers/XercesString.cpp:
+ * DAnCE/Old_Config_Handlers/XercesString.h:
+ * DAnCE/Old_Config_Handlers/ccd.cpp:
+ * DAnCE/Old_Config_Handlers/ccd.hpp:
+ * DAnCE/Old_Config_Handlers/cdd.cpp:
+ * DAnCE/Old_Config_Handlers/cdd.hpp:
+ * DAnCE/Old_Config_Handlers/cdp.cpp:
+ * DAnCE/Old_Config_Handlers/cdp.hpp:
+ * DAnCE/Old_Config_Handlers/cid.cpp:
+ * DAnCE/Old_Config_Handlers/cid.hpp:
+ * DAnCE/Old_Config_Handlers/cpd.cpp:
+ * DAnCE/Old_Config_Handlers/cpd.hpp:
+ * DAnCE/Old_Config_Handlers/iad.cpp:
+ * DAnCE/Old_Config_Handlers/iad.hpp:
+ * DAnCE/Old_Config_Handlers/pcd.cpp:
+ * DAnCE/Old_Config_Handlers/pcd.hpp:
+ * DAnCE/Old_Config_Handlers/toplevel.cpp:
+ * DAnCE/Old_Config_Handlers/toplevel.hpp:
+
+ Older version of config handlers.
+
+
+Sat Mar 19 16:14:20 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * 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/ERE_Handler.cpp:
+ * DAnCE/Config_Handlers/ERE_Handler.h:
+ * DAnCE/Config_Handlers/IDD_Handler.cpp:
+ * DAnCE/Config_Handlers/IDD_Handler.h:
+ * DAnCE/Config_Handlers/IDREF_Base.cpp:
+ * DAnCE/Config_Handlers/IDREF_Base.h:
+ * DAnCE/Config_Handlers/ID_Handler.cpp:
+ * DAnCE/Config_Handlers/ID_Handler.h:
+ * DAnCE/Config_Handlers/IRDD_Handler.cpp:
+ * DAnCE/Config_Handlers/IRDD_Handler.h:
+ * DAnCE/Config_Handlers/MDD_Handler.cpp:
+ * DAnCE/Config_Handlers/MDD_Handler.h:
+ * DAnCE/Config_Handlers/PCD_Handler.cpp:
+ * DAnCE/Config_Handlers/PCD_Handler.h:
+ * DAnCE/Config_Handlers/PSPE_Handler.cpp:
+ * DAnCE/Config_Handlers/PSPE_Handler.h:
+ * DAnCE/Config_Handlers/Property_Handler.cpp:
+ * DAnCE/Config_Handlers/Property_Handler.h:
+ * DAnCE/Config_Handlers/RDD_Handler.cpp:
+ * DAnCE/Config_Handlers/RDD_Handler.h:
+ * DAnCE/Config_Handlers/Req_Handler.cpp:
+ * DAnCE/Config_Handlers/Req_Handler.h:
+ * DAnCE/Config_Handlers/XML_Error_Handler.cpp:
+ * DAnCE/Config_Handlers/XML_Error_Handler.h:
+ * DAnCE/Config_Handlers/XML_File_Intf.cpp:
+ * DAnCE/Config_Handlers/XML_File_Intf.h:
+ * DAnCE/Config_Handlers/XML_Helper.cpp:
+ * DAnCE/Config_Handlers/XML_Helper.h:
+ * DAnCE/Config_Handlers/XercesString.cpp:
+ * DAnCE/Config_Handlers/XercesString.h:
+ * DAnCE/Config_Handlers/ADD_Handler.cpp:
+ * DAnCE/Config_Handlers/ADD_Handler.h:
+ * DAnCE/Config_Handlers/Any_Handler.cpp:
+ * DAnCE/Config_Handlers/Any_Handler.h:
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.cpp:
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.hpp:
+ * DAnCE/Config_Handlers/CCD_Handler.cpp:
+ * DAnCE/Config_Handlers/CCD_Handler.h:
+ * DAnCE/Config_Handlers/CEPE_Handler.cpp:
+ * DAnCE/Config_Handlers/CEPE_Handler.h:
+ * DAnCE/Config_Handlers/CPD_Handler.cpp:
+ * DAnCE/Config_Handlers/CPD_Handler.h:
+ * DAnCE/Config_Handlers/CRDD_Handler.cpp:
+ * DAnCE/Config_Handlers/CRDD_Handler.h:
+ * DAnCE/Config_Handlers/ComponentPropertyDescription_Handler.cpp:
+ * DAnCE/Config_Handlers/ComponentPropertyDescription_Handler.h:
+ * DAnCE/Config_Handlers/Config_Handlers.mpc:
+ * DAnCE/Config_Handlers/Config_Handlers_Export.h:
+ * DAnCE/Config_Handlers/DP_Handler.cpp:
+ * DAnCE/Config_Handlers/DP_Handler.h:
+ * DAnCE/Config_Handlers/DP_PCD_Handler.cpp:
+ * DAnCE/Config_Handlers/DP_PCD_Handler.h:
+ * DAnCE/Config_Handlers/DataType_Handler.cpp:
+ * DAnCE/Config_Handlers/DataType_Handler.h:
+ * DAnCE/Config_Handlers/Deployment.cpp:
+ * DAnCE/Config_Handlers/Deployment.hpp:
+ * DAnCE/Config_Handlers/DnC_Dump.cpp:
+ * DAnCE/Config_Handlers/DnC_Dump.h:
+ * DAnCE/Config_Handlers/DnC_Dump_T.cpp:
+ * DAnCE/Config_Handlers/DnC_Dump_T.h:
+ * DAnCE/Config_Handlers/Dump_Obj.cpp:
+ * DAnCE/Config_Handlers/Dump_Obj.h:
+
+ Merged branch xsc_handler_1 to main.
+
+Sat Mar 19 15:36:55 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/RDD_Handler.cpp:
+ * DAnCE/Config_Handlers/RDD_Handler.h:
+ * DAnCE/Config_Handlers/Req_Handler.cpp:
+ * DAnCE/Config_Handlers/Req_Handler.h:
+ * DAnCE/Config_Handlers/XML_Error_Handler.cpp:
+ * DAnCE/Config_Handlers/XML_Error_Handler.h:
+ * DAnCE/Config_Handlers/XML_File_Intf.cpp:
+ * DAnCE/Config_Handlers/XML_File_Intf.h:
+ * DAnCE/Config_Handlers/XML_Helper.cpp:
+ * DAnCE/Config_Handlers/XML_Helper.h:
+
+ More XSC config handlers.
+
+Sat Mar 19 15:29:45 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Any_Handler.h:
+ * DAnCE/Config_Handlers/Basic_Deployment_Data.cpp:
+ * DAnCE/Config_Handlers/CEPE_Handler.cpp:
+ * DAnCE/Config_Handlers/CEPE_Handler.h:
+ * DAnCE/Config_Handlers/Deployment.cpp:
+ * DAnCE/Config_Handlers/DnC_Dump.cpp:
+ * DAnCE/Config_Handlers/DnC_Dump.h:
+ * DAnCE/Config_Handlers/DnC_Dump_T.cpp:
+ * DAnCE/Config_Handlers/DnC_Dump_T.h:
+ * DAnCE/Config_Handlers/Dump_Obj.cpp:
+ * DAnCE/Config_Handlers/Dump_Obj.h:
+ * DAnCE/Config_Handlers/ERE_Handler.cpp:
+ * DAnCE/Config_Handlers/ERE_Handler.h:
+ * DAnCE/Config_Handlers/IDD_Handler.cpp:
+ * DAnCE/Config_Handlers/IDD_Handler.h:
+ * DAnCE/Config_Handlers/IDREF_Base.cpp:
+ * DAnCE/Config_Handlers/IDREF_Base.h:
+ * DAnCE/Config_Handlers/ID_Handler.cpp:
+ * DAnCE/Config_Handlers/ID_Handler.h:
+ * DAnCE/Config_Handlers/IRDD_Handler.cpp:
+ * DAnCE/Config_Handlers/IRDD_Handler.h:
+ * DAnCE/Config_Handlers/MDD_Handler.cpp:
+ * DAnCE/Config_Handlers/MDD_Handler.h:
+ * DAnCE/Config_Handlers/Modified_Deployment.xsd:
+ * DAnCE/Config_Handlers/PCD_Handler.cpp:
+ * DAnCE/Config_Handlers/PCD_Handler.h:
+ * DAnCE/Config_Handlers/PSPE_Handler.cpp:
+ * DAnCE/Config_Handlers/PSPE_Handler.h:
+
+ More XML config handlers.
+
+Sat Mar 19 15:25:17 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/ADD_Handler.cpp:
+ * DAnCE/Config_Handlers/ADD_Handler.h:
+ * DAnCE/Config_Handlers/BasicSP.cdp:
+ * DAnCE/Config_Handlers/CCD_Handler.cpp:
+ * DAnCE/Config_Handlers/CCD_Handler.h:
+ * DAnCE/Config_Handlers/CPD_Handler.cpp:
+ * DAnCE/Config_Handlers/CPD_Handler.h:
+ * DAnCE/Config_Handlers/CRDD_Handler.cpp:
+ * DAnCE/Config_Handlers/CRDD_Handler.h:
+ * DAnCE/Config_Handlers/ComponentPropertyDescription_Handler.cpp:
+ * DAnCE/Config_Handlers/ComponentPropertyDescription_Handler.h:
+ * DAnCE/Config_Handlers/Config_Handlers_Export.h:
+ * DAnCE/Config_Handlers/DP_Handler.cpp:
+ * DAnCE/Config_Handlers/DP_Handler.h:
+ * DAnCE/Config_Handlers/DP_PCD_Handler.cpp:
+ * DAnCE/Config_Handlers/DP_PCD_Handler.h:
+ * DAnCE/Config_Handlers/DataType_Handler.cpp:
+ * DAnCE/Config_Handlers/DataType_Handler.h:
+
+ Added a XSC compiler compliant config handlers.
+
+Sat Mar 19 15:22:54 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/DAM_Map.cpp:
+ * DAnCE/ExecutionManager/DAM_Map.h:
+ * DAnCE/ExecutionManager/ExecutionManager.mpc:
+ * DAnCE/ExecutionManager/ExecutionManager_Impl.h:
+ * DAnCE/ExecutionManager/Execution_Manager.cpp:
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp:
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h:
+
+ Fixed some more compiler errors.
+
+Sat Mar 19 15:06:37 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ExecutionManager/DAM_Map.cpp:
+ * DAnCE/ExecutionManager/DAM_Map.h:
+ * DAnCE/ExecutionManager/ExecutionManager.mpc:
+ * DAnCE/ExecutionManager/Execution_Manager.cpp:
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.cpp:
+ * DAnCE/ExecutionManager/Execution_Manager_Impl.h:
+ * DAnCE/NodeApplication/NodeApplication.cpp:
+ * DAnCE/NodeManager/NodeDaemon_Impl.cpp:
+
+ Made changes to fix compile errors.
+
+Sat Mar 19 15:02:03 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.h:
+ * DAnCE/DomainApplicationManager/DomainApplicationManager.mpc:
+ *
+ DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+
+ Made changes to reflect changes made to the CIAO
+ infrastructure to support NodeApplication instantiate
+ multiple containers.
+
+ Thanks to Gan Deng <dengg@dre.vanderbilt.edu> for making this
+ change.
+
+Sat Mar 19 14:54:15 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/examples/BasicSP/descriptors/BasicSP.cdp:
+ * DAnCE/examples/BasicSP/descriptors/NodeManagerMap.dat:
+ * DAnCE/examples/BasicSP/descriptors/basicNodeDaemon.pl:
+ * DAnCE/examples/BasicSP/descriptors/flattern_deploymentplan.cdp:
+
+ Added a flattened deployment plan for testing the DaNCE
+ infrastructure.
+
+ Thanks to Will Otte <w.otte@vanderbilt.edu> for helping
+ out with this project.
+
+Sat Mar 19 14:23:49 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Swapping/Hello_Base/Hello_Base.idl:
+ * DAnCE/examples/Swapping/Hello_Base/Hello_Base.mpc:
+ * DAnCE/examples/Swapping/Hello_Base/Hello_Base_stub_export.h:
+ * DAnCE/examples/Swapping/Hello_Base/Hello_Base_svnt_export.h:
+ * DAnCE/examples/Swapping/Receiver/Receiver.mpc:
+ * DAnCE/examples/Swapping/Sender/Sender.mpc:
+
+ Fixed few minor compiler errors.
+
+Sat Mar 19 13:40:30 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Swapping/Hello_Base/Hello_Base.idl:
+ * DAnCE/examples/Swapping/Hello_Base/Hello_Base.mpc:
+ * DAnCE/examples/Swapping/Hello_Base/Hello_Base_stub_export.h:
+ * DAnCE/examples/Swapping/Hello_Base/Hello_Base_svnt_export.h:
+ * DAnCE/examples/Swapping/Receiver/Receiver.cidl:
+ * DAnCE/examples/Swapping/Receiver/Receiver.idl:
+ * DAnCE/examples/Swapping/Receiver/Receiver.mpc:
+ * DAnCE/examples/Swapping/Receiver/Receiver_exec.cpp:
+ * DAnCE/examples/Swapping/Receiver/Receiver_exec.h:
+ * DAnCE/examples/Swapping/Receiver/Receiver_exec_export.h:
+ * DAnCE/examples/Swapping/Receiver/Receiver_stub_export.h:
+ * DAnCE/examples/Swapping/Receiver/Receiver_svnt_export.h:
+ * DAnCE/examples/Swapping/Sender/Sender.cidl:
+ * DAnCE/examples/Swapping/Sender/Sender.idl:
+ * DAnCE/examples/Swapping/Sender/Sender.mpc:
+ * DAnCE/examples/Swapping/Sender/Sender_exec.cpp:
+ * DAnCE/examples/Swapping/Sender/Sender_exec.h:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_1.cpp:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_1.h:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_2.cpp:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_2.h:
+ * DAnCE/examples/Swapping/Sender/Sender_exec_export.h:
+ * DAnCE/examples/Swapping/Sender/Sender_stub_export.h:
+ * DAnCE/examples/Swapping/Sender/Sender_svnt_export.h:
+ * DAnCE/examples/Swapping/Sender/starter.cpp:
+
+ Added a "HelloWorld" example that can test the dynamic
+ swapping of component implementation capability.
+
+ Thanks to Bala Natarajan <bala@dre.vanderbilt.edu>
+ for helping me with this project.
+
+Sat Mar 19 13:17:37 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client.cpp:
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_ex.cpp:
+ * DAnCE/tests/NodeApplicationTest/NodeApp_test_client_simple.cpp:
+
+ Made changes to reflect changes made to the infrastructure
+ to provide the capability in the NodeApplication
+ to support multiple containers.
+
+Sat Mar 19 13:13:13 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp:
+ * DAnCE/NodeApplicationManager/ImplementationInfo.h:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h:
+
+ Changes to reflect the infrasrtuctural changes related
+ to providing capability in the NodeApplication
+ to support multiple containers.
+
+ Thanks to Gan Deng <dengg@dre.vanderbilt.edu> for
+ architecting and implementing this project.
+
+Sat Mar 19 13:08:18 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/NodeApplication_Impl.inl:
+
+ Made some changes to fix compiler errors.
+
+Sat Mar 19 12:48:44 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/CCM_Core.mpc:
+ * DAnCE/ciao/CIAO_Config.h:
+ * DAnCE/ciao/Container_Base.cpp:
+ * DAnCE/ciao/Container_Base.h:
+ * DAnCE/ciao/Container_Impl.cpp:
+ * DAnCE/ciao/Container_Impl.h:
+ * DAnCE/ciao/Container_Impl.inl:
+ * DAnCE/ciao/Context_Impl_T.cpp:
+ * DAnCE/ciao/Deployment.idl:
+ * DAnCE/ciao/Deployment_Core.idl:
+ * DAnCE/ciao/Dynamic_Component_Activator.cpp:
+ * DAnCE/ciao/Dynamic_Component_Activator.h:
+ * DAnCE/ciao/Dynamic_Component_Servant_Base.cpp:
+ * DAnCE/ciao/Dynamic_Component_Servant_Base.h:
+ * DAnCE/ciao/Dynamic_Component_Servant_T.cpp:
+ * DAnCE/ciao/Dynamic_Component_Servant_T.h:
+ * DAnCE/ciao/Home_Servant_Impl_Base.h:
+ * DAnCE/ciao/Home_Servant_Impl_T.cpp:
+ * DAnCE/ciao/Home_Servant_Impl_T.h:
+ * DAnCE/ciao/NodeApplication_Impl.cpp:
+ * DAnCE/ciao/NodeApplication_Impl.h:
+ * DAnCE/ciao/NodeApplication_Impl.inl:
+ * DAnCE/ciao/Object_Set_T.cpp:
+ * DAnCE/ciao/Object_Set_T.h:
+ * DAnCE/ciao/Object_Set_T.inl:
+ * DAnCE/ciao/Port_Activator_T.cpp:
+ * DAnCE/ciao/Servant_Activator.cpp:
+ * DAnCE/ciao/Servant_Activator.h:
+ * DAnCE/ciao/Servant_Impl_Base.cpp:
+ * DAnCE/ciao/Servant_Impl_Base.h:
+ * DAnCE/ciao/Servant_Impl_T.cpp:
+ * DAnCE/ciao/Servant_Impl_T.h:
+ * DAnCE/ciao/SwapExec.idl:
+ * DAnCE/ciao/Swapping_Container.cpp:
+ * DAnCE/ciao/Swapping_Container.h:
+ * DAnCE/ciao/Swapping_Container.inl:
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_Base.cpp:
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_Base.h:
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.cpp:
+ * DAnCE/ciao/Swapping_Servant_Home_Impl_T.h:
+ * DAnCE/ciao/UpgradeableContext.idl:
+ * DAnCE/ciao/Upgradeable_Context_Impl_T.cpp:
+ * DAnCE/ciao/Upgradeable_Context_Impl_T.h:
+
+ Added CIAO infrastructure changes to allow NodeApplications
+ to support multi container instantiation.
+
+ Added CIAO infrastructure changes to allow dynamic
+ swapping of component implementations.
+
+ Thanks to Gan Deng <dengg@dre.vanderbilt.edu> and
+ Bala Natarajan <bala@dre.vanderbilt.edu> for their
+ help in architecting and implementing these changes.
+
+Fri Mar 18 18:34:20 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * CCF/CCF/IDL2/Parser.cpp:
+ * CCF/CCF/IDL2/Parser.hpp:
+ * CCF/CCF/IDL2/SemanticAction.hpp:
+ * CCF/CCF/IDL2/SemanticGraph.hpp:
+ * CCF/CCF/IDL2/Traversal.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Factory.hpp:
+ * CCF/CCF/IDL2/SemanticAction/ValueTypeMember.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Factory.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/Factory.hpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/ValueTypeMember.cpp:
+ * CCF/CCF/IDL2/SemanticAction/Impl/ValueTypeMember.hpp:
+ * CCF/CCF/IDL2/SemanticGraph/ValueTypeMember.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/ValueTypeMember.hpp:
+ * CCF/CCF/IDL2/Traversal/ValueTypeMember.hpp:
+ * CCF/CCF/IDL2/Traversal/ValueTypeMember.tpp:
+
+ First part of the "full" support for members in valuetypes.
+
+
+Thu Mar 17 10:18:33 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ExecutorMappingGenerator.cpp:
+ * CIDLC/Literals.cpp:
+ * CIDLC/Literals.hpp:
+ * CIDLC/ServantGenerator.cpp:
+ * CIDLC/ServantHeaderGenerator.cpp:
+ * CIDLC/ServantSourceGenerator.cpp:
+ * CIDLC/TypeNameEmitter.cpp:
+ * CIDLC/TypeNameEmitter.hpp:
+
+ Added command line option 'custom-container' to the CIDL
+ compiler backend, and code generation to execute if the
+ argument to the new option is 'upgradeable'. CIAO
+ infrastructure changes to support dynamic component
+ swapping will be merged from a branch shortly - these
+ CIDL compiler changes will not affect any existing builds
+ or tests since they don't use the new command line option.
+
+Fri Mar 11 10:33:28 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/cdp.xsd
+
+ Corrected an incorrect element in the schema.
+
+Fri Mar 11 12:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/ComponentsC.h:
+ * ciao/ComponentsS.h:
+ * DAnCE/ciao/ComponentsC.h:
+ * DAnCE/ciao/ComponentsS.h:
+ * DAnCE/NodeManager/NodeDaemon_Impl.h:
+ * performance-tests/Benchmark/LatencyTest.h:
+ * performance-tests/Benchmark/RoundTripServer/LatencyTest.h:
+ Changed _MSC_VER check
+
+Fri Mar 4 17:13:16 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * examples/Hello/Hello_Base/Hello_Base.idl:
+ * examples/Hello/Hello_Base/Hello_Base.mpc:
+ * examples/Hello/Receiver/Receiver.idl:
+ * examples/Hello/Receiver/Receiver.mpc:
+ * examples/Hello/Sender/Sender.mpc:
+
+ Cosmetic changes to IDL files and changes to MPC files to
+ eliminate unnecessary files in a given project and bring
+ in missing export header files.
+
+Thu Mar 3 10:31:10 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/ExecImplGenerator.cpp:
+ * CIDLC/ExecImplHeaderGenerator.cpp:
+
+ - Added support for .cdl file extension similar to
+ support already in the servant generators.
+
+ - Fixed bug in export include generation.
+
+ Thanks to Matt Emerson <mjemerson@isis.vanderbilt.edu>,
+ Ming Xiong <xiongm@isi.vanderbilt.edu>, James Hill
+ <jhill@isis.vanderbilt.edu> and Stoyan Paunov
+ <spaunov@isis.vanderbilt.edu> for reporting these
+ problems.
+
+ * CIDLC/ServantSourceGenerator.cpp:
+
+ - Replaced remaining instances of generation of 'new' with
+ 'ACE_NEW' and changed code generation to reduce line
+ lengths.
+
+ - Changed code generation of Cookie_var for multiplex
+ receptacles to pass a Cookie* to ACE_NEW, then
+ assign to the _var, instead of passing in _var.out(),
+ which causes the allocation to fail on some platforms.
+ Thanks to Don Busch <busch_d@ociweb.com> for reporting
+ the problem.
+
+Mon Mar 03 09:37:23 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/examples/Hello/descriptors/Hello.cdp
+ * DAnCE/examples/Hello/descriptors/hello.dat
+
+ Remove these two files because the file name is bad.
+
+ * DAnCE/examples/Hello/descriptors/DeploymentPlan.cdp
+ * DAnCE/examples/Hello/descriptors/NodeManagerMap.dat
+
+ Added these two files.
+
+ * DAnCE/examples/Hello/step-by-step.html
+
+ Fixed this page to reflex the above change.
+
+Mon Mar 03 08:59:23 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/examples/Hello/Hello_Base/Hello_Base.mpc
+
+ Fixed the Hello_Base_DnC_svnt project settings which
+ caused comilation errors.
+
+Wed Mar 02 11:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/Config_Handlers/Config_Handlers.mpc
+ * DAnCE/RepositoryManager/RepositoryManager.mpc
+ * performance-tests/Protocols/Controller/Controller.mpc
+ * performance-tests/Protocols/Receiver/Receiver.mpc
+ * performance-tests/Protocols/Sender/Sender.mpc
+ * tests/RTCCM/DiffServ/Controller/Controller.mpc
+ Use exceptions as base project instead of requires exceptions
+
+Mon Mar 02 18:30:25 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * examples/Hello/step-by-step.html
+ * DAnCE/examples/Hello/step-by-step.html
+
+ Modified these two documentation page to fix some errors.
+
+ * DAnCE/examples/Hello/Hello_Base/Hello_Base.mpc
+
+ Fixed wrong shared library names and project names.
+
+Sat Feb 26 14:38:46 2005 Arvind S. Krishna <arvindk@tango.dre.vanderbilt.edu>
+
+ * examples/handcrafted/BasicSP_EC/BMClosedED/BMClosedED.mpc:
+ * examples/handcrafted/BasicSP_EC/BMDevice/BMDevice.mpc:
+ * examples/handcrafted/BasicSP_EC/BMDisplay/BMDisplay.mpc:
+ * examples/handcrafted/BasicSP_EC/EC/EC.mpc:
+ * examples/handcrafted/BasicSP_EC/BasicSP.mpc:
+ * examples/handcrafted/BasicSP_EC2/BMClosedED/BMClosedED.mpc:
+ * examples/handcrafted/BasicSP_EC2/BMDevice/BMDevice.mpc:
+ * examples/handcrafted/BasicSP_EC2/BMDisplay/BMDisplay.mpc:
+ * examples/handcrafted/BasicSP_EC2/EC/EC.mpc:
+ * examples/handcrafted/BasicSP_EC2/RTEventService/RTEventService.mpc:
+ * examples/handcrafted/BasicSP_EC2/BasicSP.mpc:
+
+ Replaced all occurances of "dummy" with "dummy_label"
+
+ * bin/replace_dummy_with_dummylabel.sh:
+
+ Shell script that can be used to do this. In case people find it
+ useful.
+
+
+Tue Feb 22 09:55:51 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * CIDLC/TypeNameEmitter.cpp:
+
+ Fixed typos in code generation that were omitting a space
+ between the type name and '_ciao_extract_val' for enums,
+ structs and unions when used as component or home attributes.
+ Thanks to Steve Baker <steven_d_baker@raytheon.com> for
+ reporting the bug with enums.
+
+Fri Feb 18 10:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ciao/Servant_Activator.h:
+ * ciao/Servant_Activator.h:
+ Added missing includes because of POA refactoring
+
+Thu Feb 17 14:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Component_Base.idl:
+ Fixed typo in include of orb.idl. Thanks to Roland Schimmack
+ <Roland dot Schimmack at gmx dot de> for reporting this
+
+Tue Feb 15 22:43:34 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * DAnCE/examples/BasicSP/BMDisplay_exec.h:
+
+ Added missing export file to make things compile on Windows
+ platforms. Thanks to Diana Ukleja <Diana_Ukleja@raytheon.com>
+ for pointing this out.
+
+Mon Feb 14 14:52:32 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NEWS
+
+ Updated the NEWS file by adding support for parsing
+ hierarchical assembly of component descriptors.
+
+Sun Feb 13 13:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Release:
+ Removed CIAO-INSTALL from the release files. It is already
+ picked up because we include the complete CIAO directory
+
+Fri Feb 11 11:12:21 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NEWS
+
+ Updated the NEWS file by adding support for setting up
+ attribute in component configuration.
+
+Fri Feb 11 11:10:54 2005 Will Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/schema/Modified_Deployment.xsd:
+
+ Corrected a couple mistakes in the schema.
+
+Thu Feb 10 07:11:04 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * CIAO version 0.4.4 released.
+
+Tue Feb 08 10:04:21 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/NEWS
+
+ Updated the NEWS file for the coming 0.4.4 release.
+
+Mon Feb 7 09:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Release:
+ Added CIAO-INSTALL to the release files
+
+Fri Feb 4 09:35:00 2005 Emre Turkay <turkaye@dre.vanderbilt.edu>
+
+ * DAnCE/examples/Hello/descriptors/basicNodeDaemon.pl:
+ The perl script to create node daemons created.
+
+ * DAnCE/examples/Hello/step-by-step.html:
+ Step by step tutorial for the DAnCE.
+
+Fri Feb 4 12:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/RTComponentServer/RTConfig_Manager.h:
+ Include SString.h instead of SStringfwd.h to fix compile errors with
+ CBuilderX
+
+Thu Feb 3 20:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Segment_Timer/Segment_Timer.mpc:
+ Removed TAO_ROOT again, the gnu template has been changed so that
+ when CIAO is detected, also TAO_ROOT is set
+
+Thu Feb 3 12:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/ciao/NodeApplication_Impl.h:
+ Added include of ace/SString.h to fix compile errors with CBuilderX
+
+Thu Feb 3 10:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Segment_Timer/Segment_Timer.mpc:
+ Added $(TAO_ROOT) so that MPC creates a correct GNU makefile
+
+Wed Feb 2 19:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rules.ciao.GNU:
+ Fixed error in this file
+
+Wed Feb 2 09:39:25 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * CCF/CCF/CIDL/CIDL.mpc:
+ * CCF/CCF/CodeGenerationKit/CodeGenerationKit.mpc:
+ * CCF/CCF/CompilerElements/CompilerElements.mpc:
+ * CCF/CCF/IDL2/IDL2.mpc:
+ * CCF/CCF/IDL3/IDL3.mpc:
+ * CIDLC/CIDLC.mpc:
+
+ Converted includes to incorporate $(CIAO_ROOT). This allows the
+ GNUACEProjectCreator to recognize these projects as CIAO projects.
+
+ * DAnCE/ciao/CCM_Core.mpc:
+ * ciao/CCM_Core.mpc:
+ * tools/IDL3_to_IDL2/IDL3_to_IDL2.mpc:
+ * tools/Segment_Timer/Segment_Timer.mpc:
+
+ Added a bogus include of $(CIAO_ROOT). This allows the
+ GNUACEProjectCreator to recognize these projects as CIAO projects.
+
+Wed Feb 2 14:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rules.ciao.GNU:
+ New rules file to set the correct SOVERSION and SONAME values
+
+Wed Feb 2 10:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/Port_Activator_T.cpp:
+ Added include of OS_NS_string.h to get ACE_OS::strcmp
+
+Tue Feb 1 18:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/CCM_Core.mpc:
+ * DAnCE/ciao/CCM_Core.mpc:
+ Removed some ciaoversion based projects I missed during my checkin
+ below
+
+Tue Feb 1 13:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/CCM_Core.mpc:
+ * DAnCE/ciao/CCM_Core.mpc:
+ Removed ciaoversion as base project. This will be removed because it
+ results in the fact that each generated GNU makefile will get the
+ version number generated. We want that the GNU make rules get the
+ version number from Version.h
+
+Mon Jan 31 21:00:12 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * CIDLC/ServantSourceGenerator.cpp (pre):
+
+ Generate '#include "ace/OS_NS_string.h"' directive. CIAO CIDL
+ servant sources call ACE_OS::strcmp(), the prototype of which is
+ found in that header. Necessitated by inter-header dependency
+ reductions in ACE.
+
+Mon Jan 31 11:59:04 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Any_Handler.cpp:
+ * DAnCE/Config_Handlers/CPK_Handler.cpp:
+ * DAnCE/Config_Handlers/DT_Handler.cpp:
+ * DAnCE/Config_Handlers/Property_Handler.cpp:
+ * DAnCE/Config_Handlers/RS_Handler.cpp:
+ * DAnCE/Config_Handlers/Requirement_Handler.cpp:
+ * DAnCE/Config_Handlers/SP_Handler.cpp:
+ * DAnCE/ciao/Port_Activator_T.cpp:
+ * DAnCE/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp:
+ * ciao/Container_Impl.cpp:
+ * performance-tests/Protocols/Controller/Controller.cpp:
+ * tools/RTComponentServer/RTConfig_Manager.cpp:
+ * tools/RTComponentServer/RTConfig_Manager.h:
+ * tools/RTComponentServer/RTServer_Impl.cpp:
+
+ Added missing header include directives that are necessary due
+ to inter-header dependency reductions in ACE.
+
+Sun Jan 30 20:30:46 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.h:
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ * DAnCE/ExecutionManager/ExecutionManager_Impl.h:
+ * DAnCE/NodeApplicationManager/ImplementationInfo.cpp:
+ * DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h:
+ * DAnCE/ciao/Container_Base.cpp:
+ * DAnCE/ciao/NodeApplication_Impl.cpp:
+ * ciao/Container_Base.cpp:
+ * ciao/ServerActivator_Impl.h:
+ * docs/tutorial/Hello/hello_exec.cpp:
+ * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp:
+ * tests/RTCCM/Priority_Test/Controllers/client.cpp:
+ * tests/RTCCM/Priority_Test/Workers/CB_Worker_exec.cpp:
+ * tools/Assembly_Deployer/Deployment_Configuration.h:
+ * tools/RTComponentServer/RTServer_Impl.cpp:
+
+ Added missing header include directives that are necessary due
+ to inter-header dependency reductions in ACE.
+
+Sun Jan 23 01:49:51 2005 Marek Brudka <mbrudka@aster.pl>
+
+ * examples/OEP/Display/NavDisplayGUI_exec/README (Module):
+ * examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc (Module):
+ Changes related with separation of GUI reactors.
+ The additional information is avalaible in ChangeLog at REACTOR_SEPARATION branch (below).
+
+ Mon Dec 6 00:39:19 2004 Marek Brudka <mbrudka@aster.pl>
+
+ * examples/OEP/Display/NavDisplayGUI_exec/README (Module):
+ Remove reference to ACE_HAS_QT.
+
+ * examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc (Module):
+ Removed deprecated qt_moc base project.
+
+Fri Jan 21 17:27:12 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/tests/NodeApplicationTest/NodeAppTest.mpc
+
+ Fixed dependency relationship by making
+ NodeAppTest_RoundTrip_stub depending on CIAO_DnC_Container.
+
+ * examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp
+
+ Fixed warning on Debian_Full_Reactor build. The warning is
+ caused because of assigning "const char*" to a "char *" type.
+
+ Thanks Johnny Willemsen <jwillemsen@remedy.nl> for pointing
+ these.
+
+Thu Jan 20 18:29:47 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * DAnCE/Config_Handlers/Any_Handler.cpp:
+ * DAnCE/Config_Handlers/Utils.cpp:
+ * performance-tests/Protocols/Sender/Sender_exec.cpp:
+ * tools/Daemon/Daemon_Impl.cpp:
+
+ Converted all ACE_{static,dynamic,reinterpret,const}_cast macros
+ calls to their standard C++ counterparts using new
+ bin/ACE-casts-convert script. The ACE cast macros were
+ deprecated back in ACE 5.4.2.
+
+Thu Jan 20 09:54:04 2005 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * examples/OEP/Display/descriptors/NOTE.txt:
+ * examples/OEP/Display/descriptors/NOTE-win.txt:
+
+ Fixed the discrepancy on using Assembly_Deployer. Thanks to
+ Martina Yen <martina_h_yen@raytheon.com> for reporting this.
+
+Wed Jan 19 09:39:14 2005 Gan Deng <gan.deng@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
+
+ Changed the shared component library name from
+ <what_ever_component>_DnC_<stub> to <What_ever_component>_<stub>,
+ since it doesn't make sense to let the modelers to put _DnC
+ trailing a component name.
+
+ The same change applied to _svnt and _exec libraries.
+
+ * DAnCE/examples/BasicSP/descriptors/basicNodeDaemon.pl
+
+ Fixed this script since Some earlier cosmetic change make
+ this perl script broken.
+
+ Thanks Steven Baker <Steven_D_Baker@raytheon.com> and
+ Sam Abbe <sam_abbe@raytheon.com> to pointing errors to
+ run this example.
+
+Sat Jan 15 15:16:14 2005 Gan Deng <gan.deng@vanderbilt.edu>
+
+ * DAnCE/examples/BasicSP/README.html
+
+ Updated this README file for instructions on running the BasicSP
+ example by using DAnCE. Thanks Sam Abbe <sam_abbe@raytheon.com>
+ for pointing errors on this document page. This fixes bugid
+ 2031.
+
+Mon Jan 10 09:45:14 2005 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * DAnCE/RTNodeApplication/RTServer_Impl.h:
+ * DAnCE/RTNodeApplication/RTServer_Impl.cpp: Removed init method
+ altogether. VC6 can't handle the syntax and we'll deal with
+ later.
+
+Fri Jan 7 10:02:02 2005 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * DAnCE/RTNodeApplication/RTServer_Impl.cpp (init): Changed to
+ call the virtual function defined by the parent explicitly with
+ this pointer to work around a VC6 bug.
+
+Wed Jan 5 15:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/DomainApplicationManager/Deployment_Configuration.inl:
+ * DAnCE/tests/Config_Handlers/Handler_Test.i:
+ Removed inl/i file, updated h,cpp
+
+Wed Jan 5 14:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tools/Assembly_Deployer/Deployment_Configuration.{h,cpp,inl}:
+ * tools/XML_Helpers/XML_Utils.{h,cpp,inl}:
+ Removed inl file, updated h,cpp
+
+Wed Jan 5 10:45:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * DAnCE/RTNodeApplication/RTServer_Impl.h:
+ Fixed compile problem in emulated exception builds due to
+ incorrect environment macro
+
+Mon Jan 3 10:01:09 2005 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * DAnCE/RTNodeApplication/README:
+ * DAnCE/RTNodeApplication/NodeApplication_Task.cpp:
+ * DAnCE/RTNodeApplication/NodeApplication_Task.h:
+ * DAnCE/RTNodeApplication/NodeApplication_Task.inl:
+ * DAnCE/RTNodeApplication/RTNodeApplication.cpp:
+ * DAnCE/RTNodeApplication/RTNodeApplication.mpc:
+ * DAnCE/RTNodeApplication/RTServer_Impl.cpp:
+ * DAnCE/RTNodeApplication/RTServer_Impl.h:
+ * DAnCE/RTNodeApplication/RTServer_Impl.inl:
+ * DAnCE/RTNodeApplication/senv.sh: Added a minimal
+ real-time-enabled NodeApplication server.
+
+Mon Jan 3 12:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ciao/CCM_Core.mpc:
+ * DAnCE/ciao/CCM_Core.mpc:
+ Added ciaoversion as base project to all projects so that SOVERSION
+ is set to the correct version number in the GNU makefiles
+
+Thu Dec 30 13:24:16 2004 Chris Cleeland <cleeland@ociweb.com>
+
+ * CIAO version 0.4.3 released.
+
+
diff --git a/TAO/CIAO/DAnCE/Interfaces/ExecutionManagerDaemon.idl b/TAO/CIAO/DAnCE/Interfaces/ExecutionManagerDaemon.idl
new file mode 100644
index 00000000000..121901c4b21
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Interfaces/ExecutionManagerDaemon.idl
@@ -0,0 +1,25 @@
+// $Id$
+
+/**
+ * @file ExecutionManagerDaemon.idl
+ *
+ * @brief Simple interface to control the ExecutionManager. This
+ * interface currently provides an additional method called shutdown
+ * to terminate the process cleanly.
+ */
+
+#include "ciao/ExecutionManager.idl"
+
+module CIAO
+{
+ /**
+ * @brief CIAO Execution Manager Program
+ *
+ * This feature addition is added using inheritance mechanism currently
+ */
+ interface ExecutionManagerDaemon : Deployment::ExecutionManager
+ {
+ // Shutdown the daemon process.
+ oneway void shutdown ();
+ };
+};
diff --git a/TAO/CIAO/DAnCE/Interfaces/Interfaces.mpc b/TAO/CIAO/DAnCE/Interfaces/Interfaces.mpc
new file mode 100644
index 00000000000..00f5b5192d9
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Interfaces/Interfaces.mpc
@@ -0,0 +1,39 @@
+// -*- MPC -*-
+// $Id$
+
+project (ExecutionManager_stub): ciao_deployment_stub {
+
+ sharedname = ExecutionManager_stub
+
+ idlflags += -Wb,stub_export_macro=ExecutionManager_stub_Export
+ idlflags += -Wb,stub_export_include=ExecutionManager_stub_export.h
+
+ dynamicflags = EXECUTIONMANAGER_STUB_BUILD_DLL
+
+ IDL_Files {
+ ExecutionManagerDaemon.idl
+ }
+
+ Source_Files {
+ ExecutionManagerDaemonC.cpp
+ }
+}
+
+project (NodeManager_stub): ciao_deployment_stub {
+ sharedname = NodeManager_stub
+
+ idlflags += -Wb,stub_export_macro=NodeManager_stub_Export
+ idlflags += -Wb,stub_export_include=NodeManager_stub_export.h
+ idlflags += -Wb,skel_export_macro=NodeManager_svnt_Export
+ idlflags += -Wb,skel_export_include=NodeManager_svnt_export.h
+
+ dynamicflags = NODEMANAGER_STUB_BUILD_DLL
+
+ IDL_Files {
+ NodeManagerDaemon.idl
+ }
+
+ Source_Files {
+ NodeManagerDaemonC.cpp
+ }
+}
diff --git a/TAO/CIAO/DAnCE/Interfaces/NodeManagerDaemon.idl b/TAO/CIAO/DAnCE/Interfaces/NodeManagerDaemon.idl
new file mode 100644
index 00000000000..034929e86bf
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Interfaces/NodeManagerDaemon.idl
@@ -0,0 +1,34 @@
+// $Id$
+
+/**
+ * @file NodeManagerDaemon.idl
+ *
+ * @brief Controling interface for managing and controling CIAO daemon.
+ */
+
+#include "ciao/NodeManager.idl"
+
+module CIAO
+{
+ /**
+ * @brief CIAO daemon process control program.
+ *
+ * @@The Inheritage might cause binary code bloating but
+ * it's an easy way of combining features. In the future we could
+ * move this definition into Deployment.idl.
+ */
+ interface NodeManagerDaemon : Deployment::NodeManager
+ {
+ // Canonical name of this daemon
+ readonly attribute string name;
+
+ // Shutdown the daemon process.
+ oneway void shutdown ();
+
+ /// RACE specific extension.
+ /// Modify the priority of a node application process.
+ long set_priority (in string plan_id,
+ in string cid,
+ in ::Deployment::Sched_Params nm_params);
+ };
+};
diff --git a/TAO/CIAO/DAnCE/Interfaces/README b/TAO/CIAO/DAnCE/Interfaces/README
new file mode 100644
index 00000000000..0118689ad70
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Interfaces/README
@@ -0,0 +1,2 @@
+To resolve the MPC issue of directory dependency, we have to put some IDL
+files into a separate directory. This directory servers for this purpose.
diff --git a/TAO/CIAO/DAnCE/NodeApplication/Configurator_Factory.cpp b/TAO/CIAO/DAnCE/NodeApplication/Configurator_Factory.cpp
new file mode 100644
index 00000000000..e87684ad8ad
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/Configurator_Factory.cpp
@@ -0,0 +1,117 @@
+// $Id$
+
+#include "Configurator_Factory.h"
+#include "NoOp_Configurator.h"
+#include "ace/Null_Mutex.h"
+#include "ciao/CIAO_common.h"
+#include "ace/Arg_Shifter.h"
+
+
+int
+CIAO::NodeApplication_Options::parse_args (int &argc, char *argv[])
+{
+ // ACE_Get_Opt get_opts (argc, argv, "nrk:o:");
+ ACE_Arg_Shifter shifter (argc, argv);
+
+ while (shifter.is_anything_left ()) {
+ const char *parm = 0;
+
+ if (shifter.cur_arg_strncasecmp ("-n") == 0) // Use callback.
+ {
+ this->use_callback_ = 0;
+ shifter.consume_arg ();
+ }
+ else if (shifter.cur_arg_strncasecmp ("-r") == 0)
+ {
+ this->rt_support_ = 1;
+ shifter.consume_arg ();
+ }
+ else if (ACE_OS::strncmp (shifter.get_current (),
+ "-ORB",
+ ACE_OS::strlen ("-ORB")) == 0)
+ {
+ // Ignore ORB parameter
+ shifter.ignore_arg ();
+ }
+ else if (shifter.cur_arg_strncasecmp ("-o") == 0)
+ {
+ // This double checking is necessary to avoid the Arg_Shifter from
+ // mistaking any -ORBxxx flag as -o flag.
+ if ((parm = shifter.get_the_parameter ("-o")) !=0)
+ {
+ this->ior_output_filename_ = parm;
+ }
+ shifter.consume_arg ();
+ }
+ else if ((parm = shifter.get_the_parameter ("-k")) !=0)
+ {
+ this->callback_ior_ = parm;
+ shifter.consume_arg ();
+ }
+ else if (shifter.cur_arg_strncasecmp ("-h") == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s\n"
+ "-n Do not use Callback (for testing)\n"
+ "-o <ior_output_file>\n"
+ "-k <NodeApplicationManager_callback_ior>\n"
+ "-r Request RT support\n"
+ "-h Usage help"
+ "\n",
+ argv [0]),
+ -1);
+ shifter.consume_arg ();
+ }
+ else
+ shifter.ignore_arg ();
+
+ }
+
+ if (this->use_callback_ && this->callback_ior_.length() == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Callback IOR to NodeApplicationManager is required.\n"),
+ -1);
+
+ return 0;
+}
+
+CIAO::NodeApp_Configurator *
+CIAO::NodeApplication_Options::create_nodeapp_configurator (void)
+{
+ typedef CIAO::NodeApp_Configurator * (*intelligent_designer)(void);
+
+ CIAO::NodeApp_Configurator* ptr = 0;
+
+ if (this->rt_support_)
+ {
+ int retval = this->config_dll_.open
+ (ACE_DLL_PREFIX ACE_TEXT("CIAO_RTNA_Configurator"),
+ ACE_DEFAULT_SHLIB_MODE, 0);
+
+ if (retval != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p\n",
+ "dll.open"),
+ 0);
+ intelligent_designer config_id; // "id" is for intelligent-designer
+
+ config_id = (intelligent_designer) this->config_dll_.symbol (ACE_TEXT("create_nodeapp_configurator"));
+
+ if (config_id == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p",
+ "dll.symbol"),
+ 0);
+ ptr = config_id ();
+ if (ptr == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Error creating RTNodeApp_Configurator\n"),
+ 0);
+ }
+ else
+ ACE_NEW_RETURN (ptr,
+ CIAO::NoOp_Configurator (),
+ 0);
+
+ return ptr;
+}
diff --git a/TAO/CIAO/DAnCE/NodeApplication/Configurator_Factory.h b/TAO/CIAO/DAnCE/NodeApplication/Configurator_Factory.h
new file mode 100644
index 00000000000..e3302eb9182
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/Configurator_Factory.h
@@ -0,0 +1,102 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Configurator_Factory.h
+ *
+ * $Id$
+ *
+ * Configurator Facotry contains the factory method for creating concret
+ * NodeApp_Configurator object.
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#ifndef CIAO_CONFIGURATOR_FACTORY_H
+#define CIAO_CONFIGURATOR_FACTORY_H
+#include /**/ "ace/pre.h"
+
+#include "tao/ORB_Core.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/ORB.h"
+#include "ace/Task.h"
+#include "ace/SString.h"
+#include "ace/Auto_Ptr.h"
+#include "ace/DLL.h"
+#include "NodeApp_Configurator.h"
+
+namespace CIAO
+{
+
+
+ /**
+ * @class NodeApplication_Options
+ *
+ * @brief An class for managing and extracting command line options
+ * for NodeApplication.
+ *
+ * @note We currently support loading one single external module for
+ * RT support. Perhaps how this should really be done is to allow
+ * the NodeApplication_Core to load up a list of external modules
+ * (in DLLs or otherwise) and call the corresponding init methods in
+ * sequence. This way, we open up the component server so system
+ * developers can plug in their own system configuration needs into
+ * the whole system.
+ */
+ class NodeApplication_Options
+ {
+ public:
+ // default ctor.
+ NodeApplication_Options () : use_callback_ (1), rt_support_ (0) {}
+
+ // extracting commandline arguments
+ int parse_args (int &argc, char *argv[]);
+
+ NodeApp_Configurator *create_nodeapp_configurator (void);
+
+ int use_callback () {return this->use_callback_; }
+
+ int rt_support () {return this->rt_support_; }
+
+ int write_ior_file ()
+ { return (this->ior_output_filename_.length () != 0); }
+
+ const char *ior_output_filename ()
+ { return this->ior_output_filename_.c_str (); }
+
+ const char *callback_ior ()
+ { return this->callback_ior_.c_str (); }
+
+ private:
+ // The name of the file to write stringified IOR to.
+ ACE_CString ior_output_filename_;
+
+ // Stringified IOR of a CIAO's callback object.
+ ACE_CString callback_ior_;
+
+ // CIAO ComponentServer uses the callback object to pass it's
+ // own object reference back to NodeApplicationManager.
+ int use_callback_;
+
+ // If we need to support RT-CORBA. Currently, this is
+ // mandatory, but we can probably allow some sort of
+ // "best-effort" RT support. I.e., if the platform/environment
+ // doesn't support RT, then we will still deploy the NodeApp but
+ // ignore the RT spec. Perhaps something in the future.
+ int rt_support_;
+
+ // For managing dynamically loaded configurator library
+ ACE_DLL config_dll_;
+ };
+
+}
+
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_CONFIGURATOR_FACTORY_H */
diff --git a/TAO/CIAO/DAnCE/NodeApplication/Container_Impl.cpp b/TAO/CIAO/DAnCE/NodeApplication/Container_Impl.cpp
new file mode 100644
index 00000000000..7497654143a
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/Container_Impl.cpp
@@ -0,0 +1,685 @@
+// $Id$
+
+#include "Container_Impl.h"
+#include "ciao/CCM_ComponentC.h" // for calling StandardConfigurator interface
+
+#include "orbsvcs/CosNamingC.h"
+
+#if !defined (__ACE_INLINE__)
+# include "Container_Impl.inl"
+#endif /* __ACE_INLINE__ */
+
+CIAO::Container_Impl::~Container_Impl ()
+{
+ // @@ remove all components and home?
+ delete this->container_;
+}
+
+PortableServer::POA_ptr
+CIAO::Container_Impl::_default_POA (void)
+{
+ CIAO_TRACE ("CIAO::Container_Impl::_default_POA");
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+}
+
+ ///////////////////////////////////////////////////////////////
+
+CORBA::Long
+CIAO::Container_Impl::init (const CORBA::PolicyList *policies
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::init");
+ // @@ Initialize container and create the internal container
+ // implementation that actually interacts with installed
+ // homes/components.
+
+ // @@ We will need a container factory here later on when we support
+ // more kinds of container implementations.
+
+ // @@Jai, what is the condition to create an upgradeable container?
+ // Where is it getting created and how? Need to address that.
+
+ if (this->static_entrypts_maps_ == 0)
+ {
+ ACE_NEW_THROW_EX (this->container_,
+ CIAO::Session_Container (this->orb_.in (), this),
+ CORBA::INTERNAL ());
+ ACE_CHECK_RETURN (-1);
+ }
+ else
+ {
+ ACE_NEW_THROW_EX (this->container_,
+ CIAO::Session_Container (this->orb_.in (), this, 1,
+ this->static_entrypts_maps_),
+ CORBA::INTERNAL ());
+ ACE_CHECK_RETURN (-1);
+ }
+
+ return this->container_->init (0,
+ policies
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+Deployment::ComponentInfos *
+CIAO::Container_Impl::install (
+ const ::Deployment::ContainerImplementationInfo & container_impl_info
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ::Deployment::UnknownImplId,
+ ::Deployment::ImplEntryPointNotFound,
+ ::Deployment::InstallationFailure,
+ ::Components::InvalidConfiguration))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::install");
+ Deployment::ComponentInfos_var retv;
+ ACE_TRY
+ {
+ ACE_NEW_THROW_EX (retv,
+ Deployment::ComponentInfos,
+ CORBA::NO_MEMORY ());
+ ACE_TRY_CHECK;
+
+ // Get the ComponentImplementationInfos from the
+ // ContainerImplementationInfo
+ // to avoid too long syntax representation
+ const ::Deployment::ComponentImplementationInfos impl_infos =
+ container_impl_info.impl_infos;
+
+ const CORBA::ULong len = impl_infos.length ();
+ retv->length (len);
+
+ for (CORBA::ULong i = 0; i < len; ++i)
+ {
+ // Install home
+ Components::CCMHome_var home =
+ this->install_home (impl_infos[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Components::KeylessCCMHome_var kh =
+ Components::KeylessCCMHome::_narrow (home.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (kh.in ()))
+ ACE_TRY_THROW (Deployment::InstallationFailure ());
+
+ // Create component from home
+ Components::CCMObject_var comp =
+ kh->create_component (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (comp.in ()))
+ ACE_TRY_THROW (Deployment::InstallationFailure ());
+
+ if (this->component_map_.bind
+ (impl_infos[i].component_instance_name.in (),
+ Components::CCMObject::_duplicate (comp.in ())))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) Container_Impl.cpp -"
+ "CIAO::Container_Impl::install -"
+ "error in binding component "
+ "instance name [%s] into the component map \n",
+ impl_infos[i].component_instance_name.in ()));
+ ACE_TRY_THROW (Deployment::InstallationFailure ());
+ }
+
+ // Set the return value.
+ (*retv)[i].component_instance_name
+ = impl_infos[i].component_instance_name.in ();
+
+ (*retv)[i].component_ref =
+ Components::CCMObject::_duplicate (comp.in ());
+
+ // Deal with Component instance related Properties.
+ // Now I am only concerning about the COMPOENTIOR and attribute
+ // configuration initialization.
+
+ // I need to map Properties to Components::ConfigValues
+ ::Components::ConfigValues comp_attributes;
+ comp_attributes.length (0);
+
+ const CORBA::ULong clen = impl_infos[i].component_config.length ();
+ for (CORBA::ULong prop_len = 0; prop_len < clen; ++prop_len)
+ {
+ // Set up the ComponentIOR attribute
+ if (ACE_OS::strcmp
+ (impl_infos[i].component_config[prop_len].name.in (),
+ "ComponentIOR") == 0)
+ {
+ const char * path;
+ impl_infos[i].component_config[prop_len].value >>= path;
+
+ CORBA::String_var ior =
+ this->orb_->object_to_string (comp.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CIAO::Utility::write_IOR (path, ior.in ()) != 0)
+ {
+ if (CIAO::debug_level () > 1)
+ ACE_DEBUG ((LM_DEBUG, "Failed to write the IOR.\n"));
+
+ ACE_TRY_THROW (CORBA::INTERNAL ());
+ }
+ }
+
+ // Set up the naming service attribute
+ if (ACE_OS::strcmp
+ (impl_infos[i].component_config[prop_len].name.in (),
+ "RegisterNaming") == 0)
+ {
+ const char * naming_context;
+ impl_infos[i].
+ component_config[prop_len].value >>= naming_context;
+
+ // Register the component with the naming service
+ ACE_DEBUG ((LM_DEBUG,
+ "Register component with naming service.\n"));
+ bool result =
+ register_with_ns (
+ naming_context,
+ this->orb_.in (),
+ Components::CCMObject::_duplicate (comp.in ())
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ if (!result)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Failed to register with naming service.\n"));
+ }
+ else
+ {
+ if (this->naming_map_.bind
+ (impl_infos[i].component_instance_name.in (),
+ ACE_CString (naming_context)))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) Container_Impl.cpp -"
+ "CIAO::Container_Impl::install -"
+ "error in binding component "
+ "instance name [%s] into the naming map \n",
+ impl_infos[i].component_instance_name.in ()));
+ ACE_TRY_THROW (Deployment::InstallationFailure ());
+ }
+ }
+
+
+ }
+
+ // Initialize attributes through StandardConfigurator interface
+ // @@Todo: Currently I have to manually map
+ // the Deployment::Properties to
+ // Components::ConfigValues, we should use a
+ // common data structure in
+ // the future. - Gan
+ CORBA::ULong cur_len = comp_attributes.length ();
+ comp_attributes.length (cur_len + 1);
+
+ Components::ConfigValue *item = new OBV_Components::ConfigValue ();
+ item->name (impl_infos[i].component_config[prop_len].name.in ());
+ CORBA::Any tmp = impl_infos[i].component_config[prop_len].value;
+ item->value (tmp);
+
+ comp_attributes[cur_len] = item;
+ }
+
+ if (comp_attributes.length () != 0)
+ {
+ //std_configurator.set_configuration
+ ::Components::StandardConfigurator_var std_configurator =
+ comp->get_standard_configurator ();
+
+ std_configurator->set_configuration (comp_attributes);
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Container_Impl::install\t\n");
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (0);
+
+ return retv._retn ();
+}
+
+::Deployment::Properties *
+CIAO::Container_Impl::properties (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::properties");
+ ::Deployment::Properties *retval;
+
+ ACE_NEW_THROW_EX (retval,
+ ::Deployment::Properties,
+ CORBA::INTERNAL ());
+ ACE_CHECK_RETURN (0);
+
+ *retval = this->properties_;
+
+ return retval;
+}
+
+::Deployment::NodeApplication_ptr
+CIAO::Container_Impl::get_node_application (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::get_node_application");
+ return ::Deployment::NodeApplication::_duplicate (this->nodeapp_.in ());
+}
+
+::Components::CCMHome_ptr
+CIAO::Container_Impl::install_home (
+ const ::Deployment::ComponentImplementationInfo & impl_info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::UnknownImplId,
+ Deployment::ImplEntryPointNotFound,
+ Deployment::InstallationFailure,
+ Components::InvalidConfiguration))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::install_home");
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) Container_Impl.cpp -"
+ "CIAO::Container_Impl::install_home -"
+ "installing home for component "
+ "instance [%s] \n",
+ impl_info.component_instance_name.in ()));
+ }
+
+ Components::CCMHome_var newhome =
+ this->container_->ciao_install_home (impl_info.executor_dll.in (),
+ impl_info.executor_entrypt.in (),
+ impl_info.servant_dll.in (),
+ impl_info.servant_entrypt.in (),
+ impl_info.component_instance_name.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (Components::CCMHome::_nil ());
+
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) Container_Impl.cpp -"
+ "CIAO::Container_Impl::install_home -"
+ "success in installing home for component "
+ "instance [%s] \n",
+ impl_info.component_instance_name.in ()));
+ }
+
+ // We don't have to do _narrow since the generated code makes sure of
+ // the object type for us
+ // Bind the home in the map.
+ if (this->home_map_.bind (impl_info.component_instance_name.in (),
+ Components::CCMHome::_duplicate (newhome.in ())))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) Container_Impl.cpp -"
+ "CIAO::Container_Impl::install_home -"
+ "error in binding home for component "
+ "instance [%s] \n",
+ impl_info.component_instance_name.in ()));
+ ACE_THROW_RETURN (Deployment::InstallationFailure (),
+ Components::CCMHome::_nil ());
+ }
+
+ //Note: If the return value will be discarded, it must be kept in a var or
+ // release () will have to be called explicitly.
+ return newhome._retn ();
+}
+
+
+void
+CIAO::Container_Impl::remove_home (const char * comp_ins_name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::RemoveFailure))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::remove_home");
+
+ Components::CCMHome_ptr home;
+ ACE_CString str (comp_ins_name);
+
+ if (this->home_map_.find (str, home) != 0)
+ ACE_THROW (CORBA::BAD_PARAM ());
+
+ // @@TODO We should remove all components created by this home as well.
+ // This is not implemented yet.
+
+ this->container_->ciao_uninstall_home (home
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // If the previous calls failed, what should we do here??
+ CORBA::release (home);
+
+ // @@ Still need to remove the home if the previous operation fails?
+ if (this->home_map_.unbind (str) == -1)
+ ACE_THROW (::Components::RemoveFailure ());
+}
+
+::Components::CCMHomes *
+CIAO::Container_Impl::get_homes (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::get_homes");
+ Components::CCMHomes * tmp;
+ ACE_NEW_THROW_EX (tmp,
+ Components::CCMHomes (),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ Components::CCMHomes_var retval (tmp);
+
+ const CORBA::ULong len = this->home_map_.current_size ();
+ retval->length (len);
+
+
+ CORBA::ULong i = 0;
+ const Home_Iterator end = this->home_map_.end ();
+ for (Home_Iterator iter (this->home_map_.begin ());
+ iter != end;
+ ++iter, ++i)
+ {
+ retval[i] = Components::CCMHome::_duplicate ( (*iter).int_id_);
+ }
+
+ return retval._retn ();
+}
+
+// Remove all homes and components
+void
+CIAO::Container_Impl::remove (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::RemoveFailure))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::remove");
+
+ // Remove all components first.
+ this->remove_components (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Even if above operation failed we should still remove homes.
+ const Home_Iterator end = this->home_map_.end ();
+ for (Home_Iterator iter (this->home_map_.begin ());
+ iter != end;
+ ++iter)
+ {
+ this->container_->ciao_uninstall_home ( (*iter).int_id_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::release ( (*iter).int_id_);
+ }
+
+ this->home_map_.unbind_all ();
+
+ if (CIAO::debug_level () > 3)
+ ACE_DEBUG ((LM_DEBUG,
+ "Removed all homes and components from this container!\n"));
+}
+
+////////////////////////////////////////////////////////////////////////
+// Internal helper functions.
+////////////////////////////////////////////////////////////////////////
+
+void
+CIAO::Container_Impl::remove_components (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::RemoveFailure))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::remove_components");
+
+ // Remove all the components in the NodeApplication/Container
+ // Release all component servant object.
+ const Component_Iterator end = this->component_map_.end ();
+ for (Component_Iterator iter (this->component_map_.begin ());
+ iter != end;
+ ++iter)
+ {
+ // Find the component home first, then call the remove_component
+ // on the home.
+ Components::CCMHome_ptr home;
+ if (this->home_map_.find ( (*iter).ext_id_, home) != 0)
+ ACE_THROW (CORBA::BAD_PARAM ());
+
+ // This will call ccm_passivate on the component executor.
+ home->remove_component (((*iter).int_id_).in ());
+ ACE_CHECK;
+
+ //CORBA::release (((*iter).int_id_).in ());
+ }
+
+ this->component_map_.unbind_all ();
+ // To this point the servant should have been destroyed. However,
+ // if someone is still making calls on the servant, terrible thing
+ // will happen.
+}
+
+
+// Below method is not used actually.
+void
+CIAO::Container_Impl::remove_component (const char * comp_ins_name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::RemoveFailure))
+{
+ CIAO_TRACE ("CIAO::Container_Impl::remove_component");
+
+ Components::CCMObject_var comp;
+ Components::CCMHome_ptr home;
+
+ ACE_CString naming_context;
+
+ ACE_CString str (comp_ins_name);
+
+ if (CIAO::debug_level () > 5)
+ ACE_DEBUG ((LM_DEBUG, "CIAO::COntainer_Impl::remove_component: Removing comp_ins_name:: %s\n",
+ str.c_str ()));
+
+ /* Before we do remove component we have to inform the homeservant so
+ * Component::ccm_passivate ()
+ * constainer::uninstall_component () ->deactivate_object () will be called.
+ *
+ * ccm_remove will be called when the poa destroys the servant.
+ */
+
+ if (this->component_map_.find (str, comp) != 0)
+ ACE_THROW (CORBA::BAD_PARAM ());
+
+ if (this->home_map_.find (str, home) != 0)
+ ACE_THROW (CORBA::BAD_PARAM ());
+
+ // This will call ccm_passivate on the component executor.
+ home->remove_component (comp.in ());
+ ACE_CHECK;
+
+ // If the previous calls failed, what should we do here??
+
+ // @@ Still need to remove the home if the previous operation fails?
+ if (this->component_map_.unbind (str) == -1)
+ ACE_THROW (::Components::RemoveFailure ());
+
+ if (this->naming_map_.find (str, naming_context) == 0)
+ {
+
+ bool result =
+ unregister_with_ns (
+ naming_context.c_str (),
+ this->orb_.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ if (!result)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Failed to unregister with naming service.\n"));
+ }
+ else
+ {
+ if (this->naming_map_.unbind (str) == -1)
+ ACE_THROW (::Components::RemoveFailure ());
+ }
+ }
+}
+
+bool
+CIAO::Container_Impl::register_with_ns (const char * s,
+ CORBA::ORB_ptr orb,
+ Components::CCMObject_ptr obj
+ ACE_ENV_ARG_DECL)
+{
+ CIAO_TRACE ("CIAO::Container_Impl::register_with_ns");
+
+ ACE_TRY
+ {
+ // Obtain the naming service
+ CORBA::Object_var naming_obj =
+ orb->resolve_initial_references ("NameService"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (naming_obj.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "DAnCE: (%P|%t) Unable to get the Naming Service.\n"),
+ false);
+
+ CosNaming::NamingContextExt_var root =
+ CosNaming::NamingContextExt::_narrow (naming_obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CosNaming::Name name (0);
+ name.length (0);
+
+ // Get the multicomponent naming context from the <naming_context>.
+ // The convention of this <naming_context> input string is that
+ // different naming context is separated by character '/', such as
+ // "create a naming context A/B/C/D".
+ ACE_CString tmp (s);
+ char * naming_string = tmp.rep ();
+ char seps[] = "/:";
+
+ char *token, *lastToken = 0;
+ token = ACE_OS::strtok (naming_string, seps);
+
+ for (CORBA::ULong i = 0; token != 0; ++i)
+ {
+ // While there still are tokens in the "naming_string"
+ name.length (name.length () + 1);
+ name[i].id = CORBA::string_dup (token);
+
+ // Get next naming context
+ lastToken = token;
+ token = ACE_OS::strtok ( 0, seps );
+ }
+
+ if (name.length() > 1)
+ {
+ // Let's create the context path first
+ name.length(name.length()-1);
+ Utility::NameUtility::CreateContextPath (root.in (), name);
+ name.length(name.length()+1);
+ name[name.length()-1].id = CORBA::string_dup(lastToken);
+ }
+
+ // Bind the actual object
+ Utility::NameUtility::BindObjectPath (root.in (), name, obj);
+
+ return true;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "CIAO (%P|%t) Container_Impl.cpp -"
+ "CIAO::Container_Impl::register_with_ns -"
+ "NodeApplication: failed to register "
+ "with naming service.");
+ return false;
+ }
+ ACE_ENDTRY;
+ return true;
+}
+
+bool
+CIAO::Container_Impl::unregister_with_ns (const char * obj_name,
+ CORBA::ORB_ptr orb
+ ACE_ENV_ARG_DECL)
+{
+ CIAO_TRACE ("CIAO::Container_Impl::unregister_with_ns");
+
+ ACE_TRY
+ {
+ // Obtain the naming service
+ CORBA::Object_var naming_obj =
+ orb->resolve_initial_references ("NameService"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (naming_obj.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to get the Naming Service.\n"),
+ false);
+
+ CosNaming::NamingContext_var naming_context =
+ CosNaming::NamingContext::_narrow (naming_obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CosNaming::Name name (0);
+ name.length (0);
+
+ // Get the multicomponent naming context from the <naming_context>.
+ // The convention of this <naming_context> input string is that
+ // different naming context is separated by character '/', such as
+ // "create a naming context A/B/C/D".
+ ACE_CString tmp (obj_name);
+ char * naming_string = tmp.rep ();
+ char seps[] = "/:";
+
+ char *token, *lastToken = 0;
+ token = ACE_OS::strtok (naming_string, seps);
+
+ for (CORBA::ULong i = 0; token != 0; ++i)
+ {
+ // While there still are tokens in the "naming_string"
+ name.length (name.length () + 1);
+ name[i].id = CORBA::string_dup (token);
+
+ // Get next naming context
+ lastToken = token;
+ token = ACE_OS::strtok ( 0, seps );
+ }
+
+ // Unregister with the Name Server
+ ACE_DEBUG ((LM_DEBUG,
+ "Unregister component with the name server : %s!\n",
+ obj_name));
+ naming_context->unbind (name ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ return true;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "CIAO (%P|%t) Container_Impl.cpp -"
+ "CIAO::Container_Impl::unregister_with_ns -"
+ "NodeApplication: failed to unregister "
+ "with naming service.");
+ return false;
+ }
+ ACE_ENDTRY;
+ return true;
+}
diff --git a/TAO/CIAO/DAnCE/NodeApplication/Container_Impl.h b/TAO/CIAO/DAnCE/NodeApplication/Container_Impl.h
new file mode 100644
index 00000000000..0549841ce53
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/Container_Impl.h
@@ -0,0 +1,228 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Container_Impl.h
+ *
+ * $Id$
+ *
+ * This file contains implementation for the servant of
+ * Components::Deployment::Container interface.
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ * @author Gan Deng <gan.deng@vanderbilt.edu>
+ */
+//=============================================================================
+
+
+#ifndef CIAO_CONTAINER_IMPL_H
+#define CIAO_CONTAINER_IMPL_H
+#include /**/ "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ciao/Deployment_CoreS.h"
+#include "ciao/Container_Base.h"
+//#include "ciao/Swapping_Container.h"
+#include "ace/SString.h"
+#include "ciao/Server_init.h" // write_IOR function & NameUtility
+#include "ciao/CIAO_common.h" // CIAO::debug_level
+
+namespace CIAO
+{
+ /**
+ * @class Container_Impl
+ *
+ * @brief Servant implementation for the interface Deployment::Container
+ *
+ * This class implements the Deployment::Container
+ * interface which is not defined by the CCM DnC specification.
+ * As the interface implies, this is actually part of the deployment
+ * interface and is used to manage the lifecycle of the installed
+ * components and homes.
+ */
+ class Container_Impl
+ : public virtual POA_Deployment::Container
+ {
+ public:
+ /// Constructor
+ Container_Impl (CORBA::ORB_ptr o,
+ PortableServer::POA_ptr p,
+ ::Deployment::NodeApplication_ptr server,
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps =0);
+
+ /// Destructor
+ virtual ~Container_Impl (void);
+
+ /*-------------------------------------------------------------*/
+ /*-------------------- IDL operations (idl) ------------------*/
+
+ /// Initialize the container.
+ virtual CORBA::Long init (const CORBA::PolicyList *policies
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Install all homes and components
+ Deployment::ComponentInfos *
+ install (const ::Deployment::ContainerImplementationInfo & container_impl_info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::UnknownImplId,
+ Deployment::ImplEntryPointNotFound,
+ Deployment::InstallationFailure,
+ Components::InvalidConfiguration));
+
+ /// Remove all homes and components
+ virtual void
+ remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::RemoveFailure));
+
+ /// Deployment::Container interface defined attributes/operations.
+ virtual ::Deployment::Properties *
+ properties (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Deployment::NodeApplication_ptr
+ get_node_application (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /*-------------------------------------------------------------*/
+ /*------------------- C++ help methods (c++) -----------------*/
+
+ /// Get the containing POA. This operation does *not*
+ /// increase the reference count of the POA.
+ virtual PortableServer::POA_ptr _default_POA (void);
+
+
+ // Install the home of this particular component
+ virtual ::Components::CCMHome_ptr
+ install_home (const ::Deployment::ComponentImplementationInfo & impl_info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::UnknownImplId,
+ Deployment::ImplEntryPointNotFound,
+ Deployment::InstallationFailure,
+ Components::InvalidConfiguration));
+
+ /**
+ * @@Note: I don't know how to remove a home right now.
+ * I assume that user will only call remove instead.
+ * This is true at least for DnC run time.
+ *
+ * Right now, in this implementation I assumpe that there will be
+ * same number of homes as the components even if the components
+ * are of the same type. I don't think that we have the modeling
+ * side support of this either. So bear me if you think I avoid
+ * the real thinking for easiness.
+ */
+ // Remove the home of this particular component
+ virtual void
+ remove_home (const char * comp_ins_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::RemoveFailure));
+
+ // Get all homes
+ virtual ::Components::CCMHomes *
+ get_homes (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ bool
+ register_with_ns (const char * obj_name,
+ CORBA::ORB_ptr orb,
+ Components::CCMObject_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+ bool
+ unregister_with_ns (const char * obj_name,
+ CORBA::ORB_ptr orb
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ // ------------------- CIAO Internal Operations ------------------------
+ // These below two are helper methods to clean up components
+ // should only be called when we are sure that there is no
+ // active connection on this component.
+ virtual void remove_components (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::RemoveFailure));
+
+ virtual void remove_component (const char * comp_ins_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Components::RemoveFailure));
+
+ /// Set the cached object reference.
+ void set_objref (Deployment::Container_ptr o
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+ /// Get the cached object reference. This operation will invoke
+ /// _this if there's no cached reference available. Notice that
+ /// this method does *NOT* increase the reference count of the
+ /// cached reference.
+ /// @@ Gan, caller should own memory. In this case you shoudl
+ /// return a duplicate OR add a const to the operation
+ /// signature. This is simply bad programming.
+ Deployment::Container_ptr get_objref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+protected:
+ /// Keep a pointer to the managing ORB serving this servant.
+ CORBA::ORB_var orb_;
+
+ /// Keep a pointer to the managing POA.
+ PortableServer::POA_var poa_;
+
+ /// Internal container implementation.
+ // @@ Gan/Jai, heard of auto_ptr <>?
+ CIAO::Container *container_;
+
+ /// Cached ConfigValues.
+ Deployment::Properties properties_;
+
+ /// Cached Container reference (of ourselves.)
+ Deployment::Container_var objref_;
+
+ /// Cached NodeApplication.
+ Deployment::NodeApplication_var nodeapp_;
+
+ /// To store all created CCMHome object
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ Components::CCMHome_ptr,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> CCMHome_Map;
+ typedef CCMHome_Map::iterator Home_Iterator;
+ CCMHome_Map home_map_;
+
+ /// To store all created Component object.
+ // @@Gan, see how this caching is duplicated..
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ Components::CCMObject_var,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> CCMComponent_Map;
+ typedef CCMComponent_Map::iterator Component_Iterator;
+ CCMComponent_Map component_map_;
+
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ ACE_CString,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> CCMNaming_Map;
+ CCMNaming_Map naming_map_;
+
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps_;
+ };
+}
+
+#if defined (__ACE_INLINE__)
+# include "Container_Impl.inl"
+#endif /* __ACE_INLINE__ */
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_CONTAINER_IMPL_H */
diff --git a/TAO/CIAO/DAnCE/NodeApplication/Container_Impl.inl b/TAO/CIAO/DAnCE/NodeApplication/Container_Impl.inl
new file mode 100644
index 00000000000..e25d1e7e38e
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/Container_Impl.inl
@@ -0,0 +1,39 @@
+/* -*- C++ -*- */
+// $Id$
+
+ACE_INLINE
+CIAO::Container_Impl::Container_Impl (CORBA::ORB_ptr o,
+ PortableServer::POA_ptr p,
+ ::Deployment::NodeApplication_ptr server,
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps)
+ : orb_ (CORBA::ORB::_duplicate (o)),
+ poa_ (PortableServer::POA::_duplicate (p)),
+ nodeapp_ (::Deployment::NodeApplication::_duplicate (server)),
+ static_entrypts_maps_ (static_entrypts_maps)
+{
+}
+
+ACE_INLINE void
+CIAO::Container_Impl::set_objref (Deployment::Container_ptr o
+ ACE_ENV_ARG_DECL)
+{
+ CIAO_TRACE("CIAO::Container_Imp::set_objref");
+
+ if (!CORBA::is_nil (this->objref_.in ()))
+ ACE_THROW (CORBA::BAD_INV_ORDER ());
+
+ this->objref_ = Deployment::Container::_duplicate (o);
+}
+
+ACE_INLINE ::Deployment::Container_ptr
+CIAO::Container_Impl::get_objref (ACE_ENV_SINGLE_ARG_DECL)
+{
+ CIAO_TRACE("CIAO::Container_Imp::get_objref");
+
+ if (CORBA::is_nil (this->objref_.in ()))
+ {
+ this->objref_ = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+ return this->objref_.in ();
+}
diff --git a/TAO/CIAO/DAnCE/NodeApplication/NoOp_Configurator.h b/TAO/CIAO/DAnCE/NodeApplication/NoOp_Configurator.h
new file mode 100644
index 00000000000..6c32b83ce0d
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/NoOp_Configurator.h
@@ -0,0 +1,62 @@
+/** $Id$
+ * @file NoOp_Configurator.h
+ * @brief This file contains the noop configurator.
+ */
+
+#ifndef NOOP_CONFIGURATOR_H
+#define NOOP_CONFIGURATOR_H
+
+#include /**/ "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "NodeApp_Configurator.h"
+#include "NoOp_Configurator_export.h"
+
+namespace CIAO
+{
+ /**
+ * @class NoOP_Configurator
+ *
+ * @brief The NoOp_Configurator doesn't do anything.
+ */
+ class NoOp_Configurator_Export NoOp_Configurator
+ : public NodeApp_Configurator
+ {
+ public:
+ /// Default destructor.
+ virtual ~NoOp_Configurator (void);
+
+ /**
+ * @brief "pre_orb_initialize" is called before ORB_init.
+ */
+ virtual int pre_orb_initialize (void);
+
+ /**
+ * @brief "post_orb_initialize" is called after NodeApplication
+ * get a hold at this object.
+ */
+ virtual int post_orb_initialize (CORBA::ORB_ptr o);
+
+ /**
+ * @brief "init_resource_manager" is called by NodeApplication when
+ * it receives an "install" commands.
+ */
+ virtual int
+ init_resource_manager (const ::Deployment::Properties &properties);
+
+ /**
+ * @brief get a policyset by its name.
+ */
+ virtual CORBA::PolicyList *
+ find_container_policies (const ::Deployment::Properties &properties);
+ };
+
+}
+
+#include /**/ "ace/post.h"
+#endif /* NOOP_CONFIGURATOR_H */
diff --git a/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.cpp b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.cpp
new file mode 100644
index 00000000000..54d33e52e97
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.cpp
@@ -0,0 +1,277 @@
+// $Id$
+
+#include "ciao/NodeApplication_CallBackC.h"
+#include "ace/Sched_Params.h"
+#include "NodeApplication_Impl.h"
+#include "NodeApplication_Core.h"
+#include "ace/Null_Mutex.h"
+#include "ciao/Server_init.h"
+#include "ciao/CIAO_common.h"
+
+#if !defined (__ACE_INLINE__)
+# include "NodeApplication_Core.inl"
+#endif /* __ACE_INLINE__ */
+
+const char *
+sched_policy_name (int sched_policy)
+{
+ const char *name = 0;
+
+ switch (sched_policy)
+ {
+ case ACE_SCHED_OTHER:
+ name = "SCHED_OTHER";
+ break;
+ case ACE_SCHED_RR:
+ name = "SCHED_RR";
+ break;
+ case ACE_SCHED_FIFO:
+ name = "SCHED_FIFO";
+ break;
+ }
+
+ return name;
+}
+
+
+/// The following check is taken from $(TAO_ROOT)/tests/RTCORBA/
+int
+check_supported_priorities (CORBA::ORB_ptr orb)
+{
+ CIAO_TRACE ("NodeApplication_Core::check_supported_priorities");
+
+ int sched_policy =
+ orb->orb_core ()->orb_params ()->ace_sched_policy ();
+
+ // Check that we have sufficient priority range to run,
+ // i.e., more than 1 priority level.
+ int max_priority =
+ ACE_Sched_Params::priority_max (sched_policy);
+ int min_priority =
+ ACE_Sched_Params::priority_min (sched_policy);
+
+ if (max_priority == min_priority)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Not enough priority levels with the %s scheduling policy\n"
+ "on this platform to run, terminating program....\n"
+ "Check svc.conf options\n",
+ sched_policy_name (sched_policy)));
+
+ return -1;
+ }
+ return 0;
+}
+
+int
+CIAO::NodeApplication_Core::svc ()
+{
+ CIAO_TRACE ("CIAO::NodeApplication_Core::svc");
+
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::Object_var object =
+ this->orb_->resolve_initial_references ("RootPOA"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // ...
+ CIAO::NodeApplication_Impl *nodeapp_servant = 0;
+
+ ACE_NEW_RETURN (nodeapp_servant,
+ CIAO::NodeApplication_Impl (this->orb_.in (),
+ root_poa.in (),
+ *this->configurator_.get ()),
+ -1);
+
+ PortableServer::ServantBase_var safe_servant (nodeapp_servant);
+
+ // Configuring NodeApplication.
+ PortableServer::ObjectId_var nodeapp_oid
+ = root_poa->activate_object (nodeapp_servant
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ object = root_poa->id_to_reference (nodeapp_oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Deployment::NodeApplication_var nodeapp_obj =
+ Deployment::NodeApplication::_narrow (object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (nodeapp_obj.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to activate NodeApplication object\n"),
+ -1);
+
+ /** @@ We need to call NodeApplication servant's init method.
+ * But it's not sure to me where exactly we can get the
+ * Properties needed by the init method at this moment. There are two
+ * ways to set the property of the NodeApplication:
+ * 1. call init remotely from NodeApplicationManager
+ * 2. call init locally on the servant of NodeApplication.
+ */
+ bool retval = nodeapp_servant->init (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (retval)
+ {
+ ACE_DEBUG ((LM_DEBUG, "NodeApplication Failed on creating and\
+ initializing the session container!"));
+ return 1;
+ }
+
+ CORBA::String_var str = this->orb_->object_to_string (nodeapp_obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (this->options_.write_ior_file ())
+ CIAO::Utility::write_IOR (this->options_.ior_output_filename (),
+ str.in ());
+
+ // End Deployment part
+ if (CIAO::debug_level () > 10)
+ {
+ ACE_DEBUG ((LM_INFO, "NodeApplication IOR: %s\n", str.in ()));
+
+ }
+
+ Deployment::NodeApplicationManager_var nodeapp_man;
+ Deployment::Properties_var prop = new Deployment::Properties;
+
+ if (this->options_.use_callback ())
+ {
+ object = this->orb_->string_to_object (this->options_.callback_ior ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CIAO::NodeApplication_Callback_var nam_callback
+ = CIAO::NodeApplication_Callback::_narrow (object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Deployment::Properties_out properties_out (prop.out ());
+
+ nodeapp_man
+ = nam_callback->register_node_application (nodeapp_obj.in (),
+ properties_out
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Running NodeApplication...\n"));
+
+ this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->orb_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Exiting NodeApplication...\n"));
+ return 0;
+}
+
+int
+CIAO::NodeApplication_Core::startup (int argc, char *argv[])
+{
+ CIAO_TRACE ("CIAO::NodeApplication_Core::startup");
+
+ // pre-init
+ this->configurator_.reset (this->options_.create_nodeapp_configurator ());
+
+ if (this->configurator_->pre_orb_initialize ())
+ return -1;
+
+ // Initialize orb
+ this->orb_ =
+ CORBA::ORB_init (argc,
+ argv,
+ "");
+ CIAO::Server_init (this->orb_.in ());
+
+ return this->configurator_->post_orb_initialize (this->orb_.in ());
+}
+
+int
+CIAO::NodeApplication_Core::run_orb ()
+{
+ CIAO_TRACE ("CIAO::NodeApplication_Core::run_orb");
+
+ // check supported priority before running RT
+ if (this->options_.rt_support () &&
+ check_supported_priorities (this->orb_.in ()) != 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR, "ERROR: DISABLE RT SUPPORT\n"), -1);
+ // this->options_.rt_support_ = 0;
+ }
+
+ if (this->options_.rt_support ()) // RT support reuqested
+ {
+
+
+ // spawn a thread
+ // Task activation flags.
+ long flags =
+ THR_NEW_LWP |
+ THR_JOINABLE |
+ this->orb_->orb_core ()->orb_params ()->thread_creation_flags ();
+
+ // Activate task.
+ int result =
+ this->activate (flags);
+ if (result == -1)
+ {
+ if (errno == EPERM)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot create thread with scheduling policy %s\n"
+ "because the user does not have the appropriate privileges, terminating program....\n"
+ "Check svc.conf options and/or run as root\n",
+ sched_policy_name (this->orb_->orb_core ()->orb_params ()->ace_sched_policy ())),
+ 2);
+ }
+ else
+ return -1;
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "*** Running NodeApplication in RT mode\n"));
+
+ // Wait for task to exit.
+ result =
+ this->wait ();
+ ACE_ASSERT (result != -1);
+
+ ACE_DEBUG ((LM_INFO, "*** Ending NodeApplication\n"));
+ return 0;
+
+ }
+ else
+ return this->svc ();
+}
+
diff --git a/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.h b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.h
new file mode 100644
index 00000000000..3a8795eccea
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.h
@@ -0,0 +1,69 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file NodeApplication_Core.h
+ *
+ * $Id$
+ *
+ * An ACE_Task subclass that manages the NodeApplication runtime. We
+ * can run this class as a separate thread, as in the case of RT
+ * support, or as a event driven ORB.
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#ifndef CIAO_NODEAPPLICATION_CORE_H
+#define CIAO_NODEAPPLICATION_CORE_H
+#include /**/ "ace/pre.h"
+
+#include "tao/ORB_Core.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/ORB.h"
+#include "ace/Task.h"
+#include "ace/Auto_Ptr.h"
+#include "Configurator_Factory.h"
+#include "NoOp_Configurator.h"
+
+namespace CIAO
+{
+ /**
+ * @class NodeApplication_Core
+ *
+ * @brief An ACE_Task subclass that allow the ORB thread to be run
+ * as separate thread when RT behaviors are needed.
+ */
+ class NodeApplication_Core
+ : public virtual ACE_Task_Base
+ {
+ public:
+ NodeApplication_Core (NodeApplication_Options &opts);
+
+ virtual int svc (void);
+
+ int startup (int argc, char *argv[]);
+
+ int run_orb (void);
+
+ protected:
+ CORBA::ORB_var orb_;
+
+ NodeApplication_Options &options_;
+
+ auto_ptr<NodeApp_Configurator> configurator_;
+ };
+
+}
+
+#if defined (__ACE_INLINE__)
+# include "NodeApplication_Core.inl"
+#endif /* __ACE_INLINE__ */
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_NODEAPPLICAITON_CORE_H */
diff --git a/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.inl b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.inl
new file mode 100644
index 00000000000..85a0add56a7
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Core.inl
@@ -0,0 +1,8 @@
+// -*- C++ -*- $Id$
+
+ACE_INLINE
+CIAO::NodeApplication_Core::NodeApplication_Core (CIAO::NodeApplication_Options &opts)
+ : options_ (opts)
+{
+}
+
diff --git a/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
new file mode 100644
index 00000000000..0cd1d7954b2
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
@@ -0,0 +1,1258 @@
+//$Id$
+
+#include "NodeApplication_Impl.h"
+#include "ace/SString.h"
+#include "Container_Impl.h"
+#include "Deployment_EventsC.h"
+
+#if !defined (__ACE_INLINE__)
+# include "NodeApplication_Impl.inl"
+#endif /* __ACE_INLINE__ */
+
+CIAO::NodeApplication_Impl::~NodeApplication_Impl (void)
+{
+}
+
+CORBA::Long
+CIAO::NodeApplication_Impl::init (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ /// @todo initialize this NodeApplication properties
+ return 0;
+}
+
+CORBA::Long
+CIAO::NodeApplication_Impl::create_all_containers (
+ const ::Deployment::ContainerImplementationInfos & container_infos
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Create all the containers here based on the input node_impl_info.
+ const CORBA::ULong len = container_infos.length ();
+
+ for (CORBA::ULong i = 0; i < len; ++i)
+ {
+ // The factory method <create_container> will intialize the container
+ // servant with properties, so we don't need to call <init> on the
+ // container object reference.
+ // Also, the factory method will add the container object reference
+ // to the set for us.
+ ::Deployment::Container_var cref =
+ this->create_container (container_infos[i].container_config);
+
+ // Build the Component_Container_Map
+ for (CORBA::ULong j = 0;
+ j < container_infos[i].impl_infos.length ();
+ ++j)
+ {
+ this->component_container_map_.bind (
+ container_infos[i].impl_infos[j].component_instance_name.in (),
+ ::Deployment::Container::_duplicate (cref.in ()));
+ }
+ }
+
+ return 0;
+}
+
+void
+CIAO::NodeApplication_Impl::finishLaunch (
+ const Deployment::Connections & providedReference,
+ CORBA::Boolean start,
+ CORBA::Boolean add_connection
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError,
+ Deployment::InvalidConnection))
+{
+ ACE_UNUSED_ARG (start);
+
+ // If parameter "add_connection" is true, then it means we want to "add"
+ // new connections, other, we remove existing connections
+ this->finishLaunch_i (providedReference, start, add_connection);
+}
+
+void
+CIAO::NodeApplication_Impl::finishLaunch_i (
+ const Deployment::Connections & connections,
+ CORBA::Boolean start,
+ CORBA::Boolean add_connection
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError,
+ Deployment::InvalidConnection))
+{
+ ACE_UNUSED_ARG (start);
+
+ ACE_TRY
+ {
+ const CORBA::ULong length = connections.length ();
+
+ // For every connection struct we finish the connection.
+ for (CORBA::ULong i = 0; i < length; ++i)
+ {
+ ACE_CString name = connections[i].instanceName.in ();
+
+ // For ES_to_Consumer connection, we simply call
+ // handle_es_consumer_connection method.
+ //if (connections[i].kind == Deployment::rtecEventConsumer)
+ if (this->_is_es_consumer_conn (connections[i]))
+ {
+ this->handle_es_consumer_connection (
+ connections[i],
+ add_connection);
+ continue;
+ }
+
+ // For other type of connections, we need to fetch the
+ // objref of the source component
+ Component_State_Info comp_state;
+
+ if (this->component_state_map_.find (name, comp_state) != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::finishLaunch, "
+ "invalid port name [%s] in instance [%s] \n",
+ connections[i].portName.in (),
+ name.c_str ()));
+ ACE_TRY_THROW (Deployment::InvalidConnection ());
+ }
+
+ Components::EventConsumerBase_var consumer;
+
+ Components::CCMObject_var comp = comp_state.objref_;
+
+ if (CORBA::is_nil (comp.in ()))
+ {
+ ACE_DEBUG ((LM_DEBUG, "comp is nil\n"));
+ throw Deployment::InvalidConnection ();
+ }
+
+ switch (connections[i].kind)
+ {
+ case Deployment::SimplexReceptacle:
+ case Deployment::MultiplexReceptacle:
+ this->handle_facet_receptable_connection (
+ comp.in (),
+ connections[i],
+ add_connection);
+ break;
+
+ case Deployment::EventEmitter:
+ this->handle_emitter_consumer_connection (
+ comp.in (),
+ connections[i],
+ add_connection);
+ break;
+
+ case Deployment::EventPublisher:
+ if (this->_is_publisher_es_conn (connections[i]))
+ this->handle_publisher_es_connection (
+ comp.in (),
+ connections[i],
+ add_connection);
+ else
+ this->handle_publisher_consumer_connection (
+ comp.in (),
+ connections[i],
+ add_connection);
+ break;
+
+ default:
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::finishLaunch_i: "
+ "Unsupported event port type encounted\n"));
+ ACE_TRY_THROW (CORBA::NO_IMPLEMENT ());
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "NodeApplication_Impl::finishLaunch\t\n");
+ ACE_RE_THROW;
+ }
+
+ ACE_ENDTRY;
+}
+
+void
+CIAO::NodeApplication_Impl::ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError))
+{
+ Component_Iterator end = this->component_state_map_.end ();
+ for (Component_Iterator iter (this->component_state_map_.begin ());
+ iter != end;
+ ++iter)
+ {
+ if (((*iter).int_id_).state_ == NEW_BORN)
+ {
+ ((*iter).int_id_).objref_->ciao_preactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ ((*iter).int_id_).state_ = PRE_ACTIVE;
+ }
+}
+
+void
+CIAO::NodeApplication_Impl::start (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError))
+{
+ Component_Iterator end = this->component_state_map_.end ();
+ for (Component_Iterator iter (this->component_state_map_.begin ());
+ iter != end;
+ ++iter)
+ {
+ if (((*iter).int_id_).state_ == PRE_ACTIVE)
+ {
+ ((*iter).int_id_).objref_->ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ ((*iter).int_id_).state_ = ACTIVE;
+ }
+}
+
+void
+CIAO::NodeApplication_Impl::ciao_postactivate (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError))
+{
+ Component_Iterator end = this->component_state_map_.end ();
+ for (Component_Iterator iter (this->component_state_map_.begin ());
+ iter != end;
+ ++iter)
+ {
+ if (((*iter).int_id_).state_ == ACTIVE)
+ {
+ ((*iter).int_id_).objref_->ciao_postactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ((*iter).int_id_).state_ = POST_ACTIVE;
+ }
+ }
+}
+
+void
+CIAO::NodeApplication_Impl::ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StopError))
+{
+ Component_Iterator end = this->component_state_map_.end ();
+ for (Component_Iterator iter (this->component_state_map_.begin ());
+ iter != end;
+ ++iter)
+ {
+ ((*iter).int_id_).objref_->ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ((*iter).int_id_).state_ = PASSIVE;
+ }
+ ACE_DEBUG ((LM_DEBUG, "exiting passivate\n"));
+}
+
+Deployment::ComponentInfos *
+CIAO::NodeApplication_Impl::install (
+ const ::Deployment::NodeImplementationInfo & node_impl_info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::UnknownImplId,
+ Deployment::ImplEntryPointNotFound,
+ Deployment::InstallationFailure,
+ Components::InvalidConfiguration))
+{
+ Deployment::ComponentInfos_var retv;
+ ACE_TRY
+ {
+ // Extract ORB resource def here.
+ this->configurator_.init_resource_manager (node_impl_info.nodeapp_config);
+
+ const ::Deployment::ContainerImplementationInfos container_infos =
+ node_impl_info.impl_infos;
+
+ ACE_NEW_THROW_EX (retv,
+ Deployment::ComponentInfos,
+ CORBA::NO_MEMORY ());
+ ACE_TRY_CHECK;
+
+ retv->length (0UL);
+
+ // Call create_all_containers to create all the necessary containers..
+ // @@(GD): The "create_all_containers" mechanism needs to be refined, so
+ // we should always try to reuse existing containers as much as possible!
+ // We need not only factory pattern, but also finder pattern here as well.
+ if (CIAO::debug_level () > 15)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) NodeApplication_Impl.cpp -"
+ "CIAO::NodeApplication_Impl::install -"
+ "creating all the containers. \n"));
+ }
+
+ CORBA::ULong old_set_size = this->container_set_.size ();
+
+ (void) this->create_all_containers (container_infos);
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) NodeApplication_Impl.cpp -"
+ "CIAO::NodeApplication_Impl::install -"
+ "create_all_containers() called.\n"));
+ }
+
+ // For each container, invoke <install> operation, this will return
+ // the ComponentInfo for components installed in each container.
+ // Merge all the returned ComponentInfo, which will be used
+ // as the return value of this method.
+ const CORBA::ULong num_containers = container_infos.length ();
+ for (CORBA::ULong i = 0; i < num_containers; ++i)
+ {
+ Deployment::ComponentInfos_var comp_infos =
+ this->container_set_.at(i+old_set_size)->
+ install (container_infos[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Append the return sequence to the *big* return sequence
+ CORBA::ULong curr_len = retv->length ();
+ retv->length (curr_len + comp_infos->length ());
+
+ for (CORBA::ULong j = curr_len; j < retv->length (); j++)
+ retv[j] = comp_infos[j-curr_len];
+ }
+
+ // @@ Maybe we can optimize this. We can come up with a decision later.
+ // Cache a copy of the component object references for all the components
+ // installed on this NodeApplication. I know we can delegates these to the
+ // undelying containers, but in that case, we should loop
+ // all the containers to find the component object reference. - Gan
+ const CORBA::ULong comp_len = retv->length ();
+ for (CORBA::ULong len = 0;
+ len < comp_len;
+ ++len)
+ {
+ Component_State_Info tmp;
+
+ tmp.state_ = NEW_BORN;
+ tmp.objref_ =
+ Components::CCMObject::_duplicate (retv[len].component_ref.in ());
+
+ //Since we know the type ahead of time...narrow is omitted here.
+ if (this->component_state_map_.rebind (
+ retv[len].component_instance_name.in(), tmp))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) NodeApplication_Impl.cpp -"
+ "CIAO::NodeApplication_Impl::install -"
+ "error binding component instance [%s] "
+ "into the map. \n",
+ retv[len].component_instance_name.in ()));
+ ACE_TRY_THROW (
+ Deployment::InstallationFailure ("NodeApplication_Imp::install",
+ "Duplicate component instance name"));
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "CIAO_NodeApplication::install error\t\n");
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (0);
+
+ return retv._retn ();
+}
+
+void
+CIAO::NodeApplication_Impl::remove_component (const char * inst_name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((::CORBA::SystemException,
+ ::Components::RemoveFailure))
+{
+ ACE_DEBUG ((LM_DEBUG, "NA_I: removing component %s\n",
+ inst_name));
+
+ // Fetch the container object reference from the componet_container_map
+ ::Deployment::Container_var container_ref;
+ if (this->component_container_map_.find (inst_name, container_ref) != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::remove_component, "
+ "invalid instance [%s] in the component_container_map.\n",
+ inst_name));
+ ACE_TRY_THROW (::Components::RemoveFailure ());
+ }
+
+ // Remove this component instance from the node application
+ ACE_CString name (inst_name);
+ this->component_container_map_.unbind (name);
+ this->component_state_map_.unbind (name);
+ container_ref->remove_component (inst_name);
+}
+
+void
+CIAO::NodeApplication_Impl::passivate_component (const char * name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((::CORBA::SystemException,
+ ::Components::RemoveFailure))
+{
+ Component_State_Info comp_state;
+
+ if (this->component_state_map_.find (name, comp_state) != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::passivate_component, "
+ "invalid instance [%s] \n",
+ name));
+ ACE_TRY_THROW (Components::RemoveFailure ());
+ }
+
+ if (CORBA::is_nil (comp_state.objref_.in ()))
+ {
+ ACE_DEBUG ((LM_DEBUG, "comp is nil\n"));
+ throw Components::RemoveFailure ();
+ }
+
+ comp_state.objref_->ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+void
+CIAO::NodeApplication_Impl::activate_component (const char * name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((::CORBA::SystemException,
+ ::Deployment::StartError))
+{
+ Component_State_Info comp_state;
+
+ if (this->component_state_map_.find (name, comp_state) != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::activate_component, "
+ "invalid instance [%s] \n",
+ name));
+ ACE_TRY_THROW (Deployment::StartError ());
+ }
+
+ if (CORBA::is_nil (comp_state.objref_.in ()))
+ {
+ ACE_DEBUG ((LM_DEBUG, "comp is nil\n"));
+ throw Deployment::StartError ();
+ }
+
+ comp_state.objref_->ciao_preactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ comp_state.objref_->ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ comp_state.objref_->ciao_postactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+
+void
+CIAO::NodeApplication_Impl::remove (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // If we still have components installed, then do nothing
+
+ if (this->component_state_map_.current_size () != 0)
+ return;
+
+ // For each container, invoke <remove> operation to remove home and components.
+ const CORBA::ULong set_size = this->container_set_.size ();
+ for (CORBA::ULong i = 0; i < set_size; ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG, "NA: calling remove on container %i\n"));
+ this->container_set_.at(i)->remove (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ // Remove all containers
+ // Maybe we should also deactivate container object reference.
+ ACE_DEBUG ((LM_DEBUG, "NA: remove all\n"));
+ this->container_set_.remove_all ();
+
+ if (CIAO::debug_level () > 1)
+ ACE_DEBUG ((LM_DEBUG, "Removed all containers from this NodeApplication!\n"));
+
+ //For static deployment, ORB will be shutdown in the Static_NodeManager
+ if (this->static_entrypts_maps_ == 0)
+ {
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+ ACE_DEBUG ((LM_DEBUG, "NA: shutdown\n"));
+ }
+}
+
+
+// Create a container interface, which will be hosted in this NodeApplication.
+::Deployment::Container_ptr
+CIAO::NodeApplication_Impl::create_container (
+ const ::Deployment::Properties &properties
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ::Components::CreateFailure,
+ ::Components::InvalidConfiguration))
+{
+ //if (CIAO::debug_level () > 1)
+ // ACE_DEBUG ((LM_DEBUG, "ENTERING: NodeApplication_Impl::create_container()\n"));
+
+ CORBA::PolicyList_var policies
+ = this->configurator_.find_container_policies (properties);
+
+ CIAO::Container_Impl *container_servant = 0;
+
+ ACE_NEW_THROW_EX (container_servant,
+ CIAO::Container_Impl (this->orb_.in (),
+ this->poa_.in (),
+ this->get_objref (),
+ this->static_entrypts_maps_),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ PortableServer::ServantBase_var safe_servant (container_servant);
+
+ // @TODO: Need to decide a "component_installation" equivalent data
+ // structure to pass to the container, which will be used to
+ // suggest how to install the components. Each such data stucture
+ // should be correspond to one <process_collocation> tag in the XML
+ // file to describe the deployment plan.
+ container_servant->init (policies.ptr ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ PortableServer::ObjectId_var oid
+ = this->poa_->activate_object (container_servant
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Object_var obj
+ = this->poa_->id_to_reference (oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ::Deployment::Container_var ci
+ = ::Deployment::Container::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ // Cached the objref in its servant.
+ container_servant->set_objref (ci.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ {
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
+
+ this->container_set_.add (ci.in ());
+ }
+
+ //if (CIAO::debug_level () > 1)
+ // ACE_DEBUG ((LM_DEBUG,
+ // "LEAVING: NodeApplication_Impl::create_container()\n"));
+ return ci._retn ();
+}
+
+// Remove a container interface.
+void
+CIAO::NodeApplication_Impl::remove_container (::Deployment::Container_ptr cref
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ::Components::RemoveFailure))
+{
+ ACE_DEBUG ((LM_DEBUG, "ENTERING: NodeApplication_Impl::remove_container()\n"));
+ ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_);
+
+ if (this->container_set_.object_in_set (cref) == 0)
+ {
+ ACE_THROW (Components::RemoveFailure());
+ }
+
+ cref->remove (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // @@ Deactivate object.
+ PortableServer::ObjectId_var oid
+ = this->poa_->reference_to_id (cref
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ this->poa_->deactivate_object (oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Should we remove the server still, even if the previous call failed.
+
+ if (this->container_set_.remove (cref) == -1)
+ {
+ ACE_THROW (::Components::RemoveFailure ());
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "LEAVING: NodeApplication_Impl::remove_container()\n"));
+}
+
+// Get containers
+::Deployment::Containers *
+CIAO::NodeApplication_Impl::get_containers (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return 0;
+}
+
+::Deployment::CIAO_Event_Services *
+CIAO::NodeApplication_Impl::
+install_es (const ::Deployment::ESInstallationInfos & es_infos
+ ACE_ENV_ARG_DECL)
+ACE_THROW_SPEC ((::CORBA::SystemException,
+ ::Deployment::InstallationFailure))
+{
+ Deployment::CIAO_Event_Services_var retv;
+ ACE_NEW_RETURN (retv,
+ Deployment::CIAO_Event_Services,
+ 0);
+
+ CORBA::ULong total_lenth = es_infos.length ();
+
+ for (CORBA::ULong i = 0; i < total_lenth; ++i)
+ {
+ CIAO_Event_Service_var temp =
+ es_factory_.create (es_infos[i].type);
+
+ CORBA::ULong curr_len = retv->length ();
+ retv->length (curr_len + 1);
+
+ retv[curr_len] =
+ CIAO::CIAO_Event_Service::_duplicate (temp.in ());
+ }
+ return retv._retn ();
+}
+
+
+ACE_CString *
+CIAO::NodeApplication_Impl::
+create_connection_key (const Deployment::Connection & connection)
+{
+ ACE_CString * retv;
+ ACE_NEW_RETURN (retv, ACE_CString, 0);
+
+ (*retv) += connection.instanceName.in ();
+ (*retv) += connection.portName.in ();
+ (*retv) += connection.endpointInstanceName.in ();
+ (*retv) += connection.endpointPortName.in ();
+
+ if (CIAO::debug_level () > 3)
+ ACE_DEBUG ((LM_ERROR, "The key is: %s\n", (*retv).c_str ()));
+
+ return retv;
+}
+
+
+void
+CIAO::NodeApplication_Impl::
+handle_facet_receptable_connection (
+ Components::CCMObject_ptr comp,
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection))
+{
+ if (CIAO::debug_level () > 11)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::finishLaunch, "
+ "working on port name [%s] in instance [%s] \n",
+ connection.portName.in (),
+ connection.instanceName.in ()));
+ }
+
+ if (add_connection)
+ {
+ ::Components::Cookie_var cookie =
+ comp->connect (connection.portName.in (),
+ connection.endpoint.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_CString key = (*create_connection_key (connection));
+ if (CIAO::debug_level () > 10)
+ {
+ ACE_DEBUG ((LM_ERROR, "[BINDING KEY]: %s\n", key.c_str ()));
+ }
+ this->cookie_map_.rebind (key, cookie);
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::finishLaunch\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] connected.\n",
+ connection.instanceName.in (),
+ connection.portName.in (),
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in ()));
+ }
+ }
+ else
+ {
+ ACE_CString key = (*create_connection_key (connection));
+ ::Components::Cookie_var cookie;
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_ERROR, "[FINDING KEY]: %s\n", key.c_str ()));
+ }
+ if (this->cookie_map_.find (key, cookie) != 0)
+ {
+ ACE_DEBUG ((LM_ERROR, "Error: Cookie Not Found!\n"));
+ ACE_TRY_THROW (Deployment::InvalidConnection ());
+ }
+
+ comp->disconnect (connection.portName.in (),
+ cookie.in ());
+ this->cookie_map_.unbind (key);
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::finishLaunch\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] disconnected.\n",
+ connection.instanceName.in (),
+ connection.portName.in (),
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in ()));
+ }
+ }
+}
+
+
+void
+CIAO::NodeApplication_Impl::
+handle_emitter_consumer_connection (
+ Components::CCMObject_ptr comp,
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection))
+{
+ Components::EventConsumerBase_var consumer =
+ Components::EventConsumerBase::_narrow (connection.endpoint.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (consumer.in ()))
+ {
+ ACE_ERROR ((LM_ERROR,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_emitter_consumer_connection, "
+ "for port name [%s] in instance [%s] ,"
+ "there is an invalid endPoint. \n",
+ connection.portName.in (),
+ connection.instanceName.in ()));
+ ACE_TRY_THROW (Deployment::InvalidConnection ());
+ }
+
+ if (CIAO::debug_level () > 11)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_emitter_consumer_connection, "
+ "working on port name [%s] in instance [%s] \n",
+ connection.portName.in (),
+ connection.instanceName.in ()));
+ }
+
+ if (add_connection)
+ {
+ comp->connect_consumer (connection.portName.in (),
+ consumer.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_emitter_consumer_connection\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] connected.\n",
+ connection.instanceName.in (),
+ connection.portName.in (),
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in ()));
+ }
+ }
+ else
+ {
+// Operation not implemented by the CIDLC.
+// comp->disconnect_consumer (connection.portName.in (),
+// 0
+// ACE_ENV_ARG_PARAMETER);
+// ACE_TRY_CHECK;
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_emitter_consumer_connection\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] disconnected.\n",
+ connection.instanceName.in (),
+ connection.portName.in (),
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in ()));
+ }
+ }
+}
+
+
+void
+CIAO::NodeApplication_Impl::
+handle_publisher_consumer_connection (
+ Components::CCMObject_ptr comp,
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection))
+{
+ Components::EventConsumerBase_var consumer =
+ Components::EventConsumerBase::_narrow (connection.endpoint.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (consumer.in ()))
+ {
+ ACE_ERROR ((LM_ERROR,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_publisher_consumer_connection, "
+ "for port name [%s] in instance [%s] ,"
+ "there is an invalid endPoint. \n",
+ connection.portName.in (),
+ connection.instanceName.in ()));
+ ACE_TRY_THROW (Deployment::InvalidConnection ());
+ }
+
+ if (CIAO::debug_level () > 11)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_publisher_consumer_connection, "
+ "working on port name [%s] in instance [%s] \n",
+ connection.portName.in (),
+ connection.instanceName.in ()));
+ }
+
+ if (add_connection)
+ {
+ ::Components::Cookie_var cookie =
+ comp->subscribe (connection.portName.in (),
+ consumer.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_CString key = (*create_connection_key (connection));
+ this->cookie_map_.rebind (key, cookie);
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_publisher_consumer_connection\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] connected.\n",
+ connection.instanceName.in (),
+ connection.portName.in (),
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in ()));
+ }
+ }
+ else // remove the connection
+ {
+ ACE_CString key = (*create_connection_key (connection));
+ ::Components::Cookie_var cookie;
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_ERROR, "[FINDING KEY]: %s\n", key.c_str ()));
+ }
+ if (this->cookie_map_.find (key, cookie) != 0)
+ {
+ ACE_DEBUG ((LM_ERROR, "Error: Cookie Not Found!\n"));
+ ACE_TRY_THROW (Deployment::InvalidConnection ());
+ }
+
+ comp->unsubscribe (connection.portName.in (),
+ cookie.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ this->cookie_map_.unbind (key);
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_publisher_consumer_connection\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] disconnected.\n",
+ connection.instanceName.in (),
+ connection.portName.in (),
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in ()));
+ }
+ }
+}
+
+
+void
+CIAO::NodeApplication_Impl::
+handle_publisher_es_connection (
+ Components::CCMObject_ptr comp,
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection))
+{
+ if (! this->_is_publisher_es_conn (connection))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_publisher_es_connection: "
+ "Unsupported event connection type\n"));
+ ACE_THROW (CORBA::NO_IMPLEMENT ());
+ }
+
+ const CIAO::CIAO_Event_Service_ptr event_service =
+ connection.event_service;
+
+ if (CORBA::is_nil (event_service))
+ {
+ ACE_DEBUG ((LM_DEBUG, "Nil event_service\n"));
+ ACE_THROW (Deployment::InvalidConnection ());
+ }
+
+ // supplier ID
+ ACE_CString sid (connection.instanceName.in ());
+ sid += "_";
+ sid += connection.portName.in ();
+ sid += "_publisher";
+
+ if (add_connection)
+ {
+ ::Components::Cookie_var cookie =
+ comp->subscribe (connection.portName.in (),
+ event_service);
+
+ ACE_CString key = (*create_connection_key (connection));
+ this->cookie_map_.rebind (key, cookie);
+
+ // Create a supplier_config and register it to ES
+ CIAO::Supplier_Config_var supplier_config =
+ event_service->create_supplier_config ();
+
+ supplier_config->supplier_id (sid.c_str ());
+ event_service->connect_event_supplier (supplier_config.in ());
+ supplier_config->destroy ();
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_publisher_es_connection\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] connected.\n",
+ connection.instanceName.in (),
+ connection.portName.in (),
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in ()));
+ }
+ }
+ else // remove the connection
+ {
+ ACE_CString key = (*create_connection_key (connection));
+ ::Components::Cookie_var cookie;
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_ERROR, "[FINDING KEY]: %s\n", key.c_str ()));
+ }
+ if (this->cookie_map_.find (key, cookie) != 0)
+ {
+ ACE_DEBUG ((LM_ERROR, "Error: Cookie Not Found!\n"));
+ ACE_TRY_THROW (Deployment::InvalidConnection ());
+ }
+
+ comp->unsubscribe (connection.portName.in (),
+ cookie.in ());
+ this->cookie_map_.unbind (key);
+ event_service->disconnect_event_supplier (sid.c_str ());
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_publisher_es_connection\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] disconnected.\n",
+ connection.instanceName.in (),
+ connection.portName.in (),
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in ()));
+ }
+ }
+}
+
+
+void
+CIAO::NodeApplication_Impl::
+handle_es_consumer_connection (
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection))
+{
+ if (! this->_is_es_consumer_conn (connection))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_es_consumer_connection: "
+ "Unsupported event connection type\n"));
+ ACE_THROW (CORBA::NO_IMPLEMENT ());
+ }
+
+ // Get ES object
+ const CIAO::CIAO_Event_Service_ptr event_service =
+ connection.event_service;
+
+ if (CORBA::is_nil (event_service))
+ {
+ ACE_DEBUG ((LM_ERROR,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_es_consumer_connection: "
+ "NIL event_service\n"));
+ ACE_THROW (Deployment::InvalidConnection ());
+ }
+
+ // Get consumer object
+ Components::EventConsumerBase_var consumer =
+ Components::EventConsumerBase::_narrow (connection.endpoint.in ());
+
+ if (CORBA::is_nil (consumer.in ()))
+ {
+ ACE_DEBUG ((LM_ERROR,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_es_consumer_connection: "
+ "Nil consumer port object reference\n"));
+ ACE_THROW (Deployment::InvalidConnection ());
+ }
+
+ // supplier ID
+ ACE_CString sid (connection.instanceName.in ());
+ sid += "_";
+ sid += connection.portName.in ();
+ sid += "_publisher";
+
+ // consumer ID
+ ACE_CString cid (connection.endpointInstanceName.in ());
+ cid += "_";
+ cid += connection.endpointPortName.in ();
+ cid += "_consumer";
+
+ if (add_connection)
+ {
+ CIAO::Consumer_Config_var consumer_config =
+ event_service->create_consumer_config ();
+
+ consumer_config->supplier_id ("Hello-Sender-idd_click_out_publisher");
+ //consumer_config->supplier_id (sid.c_str ());
+ consumer_config->consumer_id (cid.c_str ());
+ consumer_config->consumer (consumer.in ());
+
+ // Need to setup a filter, if it's specified in the descriptor
+ for (CORBA::ULong i = 0; i < connection.config.length (); ++i)
+ {
+ if (ACE_OS::strcmp (connection.config[i].name.in (),
+ "EventFilter") != 0)
+ continue;
+
+ // Extract the filter information
+ CIAO::DAnCE::EventFilter *filter = 0;
+ connection.config[i].value >>= filter;
+
+ CORBA::ULong size = (*filter).sources.length ();
+ consumer_config->start_disjunction_group (size);
+
+ for (CORBA::ULong j = 0; j < size; ++j)
+ {
+ consumer_config->insert_source ((*filter).sources[j]);
+ }
+ }
+
+ event_service->connect_event_consumer (consumer_config.in ());
+ consumer_config->destroy ();
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_es_consumer_connection\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] connected.\n",
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in (),
+ connection.instanceName.in (),
+ connection.portName.in ()));
+ }
+ }
+ else // remove the connection
+ {
+ event_service->disconnect_event_consumer (cid.c_str ());
+
+ if (CIAO::debug_level () > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "CIAO (%P|%t) - NodeApplication_Impl.cpp, "
+ "CIAO::NodeApplication_Impl::handle_es_consumer_connection\n"
+ "[INSTANCE:PORT] : [%s:%s] --> [%s:%s] disconnected.\n",
+ connection.endpointInstanceName.in (),
+ connection.endpointPortName.in (),
+ connection.instanceName.in (),
+ connection.portName.in ()));
+ }
+ }
+}
+
+// Below code is not used at this time.
+void
+CIAO::NodeApplication_Impl::build_event_connection (
+ const Deployment::Connection & connection,
+ bool add_or_remove
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((Deployment::InvalidConnection,
+ CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG, "CIAO::NodeApplication_Impl::build_connection ()!!!\n"));
+
+ ACE_DEBUG ((LM_DEBUG, "instanceName: %s\n", connection.instanceName.in ()));
+ ACE_DEBUG ((LM_DEBUG, "portName: %s\n", connection.portName.in ()));
+
+ ACE_DEBUG ((LM_DEBUG, "consumer Component Name: %s\n", connection.endpointInstanceName.in ()));
+ ACE_DEBUG ((LM_DEBUG, "consumer Port Name: %s\n", connection.endpointPortName.in ()));
+
+ ACE_DEBUG ((LM_DEBUG, "portkind: "));
+ switch (connection.kind) {
+ case Deployment::Facet: ACE_DEBUG ((LM_DEBUG, "Facet\n")); break;
+ case Deployment::SimplexReceptacle: ACE_DEBUG ((LM_DEBUG, "SimplexReceptacle\n")); break;
+ case Deployment::MultiplexReceptacle: ACE_DEBUG ((LM_DEBUG, "MultiplexReceptacle\n")); break;
+ case Deployment::EventEmitter: ACE_DEBUG ((LM_DEBUG, "EventEmitter\n")); break;
+ case Deployment::EventPublisher: ACE_DEBUG ((LM_DEBUG, "EventPublisher\n")); break;
+ case Deployment::EventConsumer: ACE_DEBUG ((LM_DEBUG, "EventConsumer\n")); break;
+ default:
+ ACE_DEBUG ((LM_DEBUG, "Unknow\n")); break;
+ }
+
+ const CIAO::CIAO_Event_Service_ptr event_service =
+ connection.event_service;
+
+
+ // Get the consumer port object reference and put it into "consumer"
+ Components::EventConsumerBase_var consumer =
+ Components::EventConsumerBase::_narrow (connection.endpoint.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (consumer.in ()))
+ {
+ ACE_DEBUG ((LM_DEBUG, "Nil consumer port object reference\n"));
+ ACE_THROW (Deployment::InvalidConnection ());
+ }
+
+ // Get the supplier component object reference.
+ ACE_CString supplier_comp_name = connection.instanceName.in ();
+
+ ACE_DEBUG ((LM_DEBUG, "source component name is: %s\n", supplier_comp_name.c_str ()));
+ Component_State_Info comp_state;
+ if (this->component_state_map_.find (supplier_comp_name, comp_state) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Nil source component object reference\n"));
+ ACE_THROW (Deployment::InvalidConnection ());
+ }
+
+ // Get the consumer component object reference.
+ ACE_CString consumer_comp_name = connection.endpointInstanceName.in ();
+
+ ACE_DEBUG ((LM_DEBUG, "consumer component name is: %s\n", consumer_comp_name.c_str ()));
+
+ if (CORBA::is_nil (event_service))
+ {
+ ACE_DEBUG ((LM_DEBUG, "Nil event_service\n"));
+ ACE_THROW (Deployment::InvalidConnection ());
+ }
+
+ // supplier ID
+ ACE_CString sid (connection.instanceName.in ());
+ sid += "_";
+ sid += connection.portName.in ();
+ sid += "_publisher";
+
+ // consumer ID
+ ACE_CString cid (connection.endpointInstanceName.in ());
+ cid += "_";
+ cid += connection.endpointPortName.in ();
+ cid += "_consumer";
+
+ //ACE_DEBUG ((LM_DEBUG, "Publisher: %s\n", sid.c_str ()));
+ ACE_DEBUG ((LM_DEBUG, "Subscriber: %s\n", cid.c_str ()));
+
+
+ if (add_or_remove == true)
+ {
+ CIAO::Supplier_Config_var supplier_config =
+ event_service->create_supplier_config ();
+
+ //supplier_config->supplier_id (sid.c_str ());
+ event_service->connect_event_supplier (supplier_config.in ());
+ supplier_config->destroy ();
+
+ CIAO::Consumer_Config_var consumer_config =
+ event_service->create_consumer_config ();
+
+ //@@@
+ consumer_config->supplier_id ("dummy");
+ consumer_config->consumer_id (cid.c_str ());
+ consumer_config->consumer (consumer.in ());
+
+ event_service->connect_event_consumer (consumer_config.in ());
+
+ consumer_config->destroy ();
+ }
+ else
+ {
+ event_service->disconnect_event_supplier (sid.c_str ());
+ event_service->disconnect_event_consumer (cid.c_str ());
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "CIAO::NodeApplication_Impl::build_connection () completed!!!!\n"));
+}
+
+bool
+CIAO::NodeApplication_Impl::
+_is_es_consumer_conn (Deployment::Connection conn)
+{
+ if (conn.kind == Deployment::EventConsumer &&
+ ACE_OS::strcmp (conn.endpointPortName, "CIAO_ES") == 0)
+ return true;
+ else
+ return false;
+}
+
+bool
+CIAO::NodeApplication_Impl::
+_is_publisher_es_conn (Deployment::Connection conn)
+{
+ if (conn.kind == Deployment::EventPublisher &&
+ ACE_OS::strcmp (conn.endpointPortName, "CIAO_ES") == 0)
+ return true;
+ else
+ return false;
+}
diff --git a/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h
new file mode 100644
index 00000000000..ee1878ff07d
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h
@@ -0,0 +1,397 @@
+//$Id$
+
+/**========================================================
+ *
+ * @file NodeApplication_Impl.h
+ *
+ * @Brief This file contains the implementation of
+ * the NodeApplication interface.
+ *
+ * @author Tao Lu <lu@dre.vanderbilt.edu>
+ * @author Gan Deng <dengg@dre.vanderbilt.edu>
+ *========================================================*/
+
+#ifndef NODEAPPLICATION_IMPL_H
+#define NODEAPPLICATION_IMPL_H
+#include /**/ "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Synch.h"
+#include "ace/Synch_Traits.h"
+#include "ace/SString.h"
+#include "ace/Hash_Map_Manager_T.h"
+#include "tao/ORB.h"
+#include "ciao/Deployment_CoreS.h"
+#include "ciao/Server_init.h"
+#include "ciao/CIAO_common.h"
+#include "ciao/Object_Set_T.h"
+#include "ciaosvcs/Events/CIAO_EventService_Factory_impl.h"
+#include "ciaosvcs/Events/CIAO_Events_Base/CIAO_EventsS.h"
+
+#include "NodeApp_Configurator.h"
+#include "Container_Base.h"
+
+using CIAO::Utility::write_IOR;
+
+/**
+ *
+ * @class NodeApplication_Impl
+ *
+ * @brief This class implements the NodeApplication interface.
+ * This interface is semantically very simillar to container
+ * in the old DnC spec. However this class will also be used
+ * as a Server for hosting home/component. This way we reduce the
+ * complexity of the framework by omitting the componentserver layer.
+ *
+ * @@TODO add configuration capabilities. Threading is one of them.
+ *
+ * @@Assumptions:
+ * 1. Now the implementation is not thread safe.
+ * // @@Gan, the above assumption is _really_ bad. Could you please
+ * use the lock in the imeplementation to do some simple
+ * prootections.
+ **/
+
+namespace CIAO
+{
+ // @@ Gan, as we discussed before can you please wrap this
+ // implementation in a namespace Node_Application or whatever to
+ // signify that it belongs to another software piece of CIAO?
+ class NodeApplication_Impl
+ : public virtual POA_Deployment::NodeApplication
+ {
+ public:
+ enum Component_State
+ {
+ NEW_BORN, PRE_ACTIVE, ACTIVE, POST_ACTIVE, PASSIVE, DEACTIVATED
+ };
+
+ typedef struct _component_state_info
+ {
+ Components::CCMObject_var objref_;
+ Component_State state_;
+ } Component_State_Info;
+
+ NodeApplication_Impl (CORBA::ORB_ptr o,
+ PortableServer::POA_ptr p,
+ NodeApp_Configurator &c,
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps =0);
+
+ /// Default destructor.
+ virtual ~NodeApplication_Impl (void);
+
+ /**
+ * @method finishLaunch
+ *
+ * @brief This operation dose 2 things.
+ * 1. Get the external connction (facet and Event source)
+ * and connect them to the local receptacle/event sink.
+ * 2. If the start augment is true, start the Components.
+ * @Note:
+ * The connection containes the object ref of the provided object
+ * reference (facet/event consumer) of components from other NodeApplications.
+ * However the name field stores the name of the port on the local component.
+ */
+ virtual void
+ finishLaunch (const Deployment::Connections & connections,
+ CORBA::Boolean start,
+ CORBA::Boolean add_connection
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError,
+ Deployment::InvalidConnection));
+
+ /**
+ * @method start
+ */
+ virtual void
+ start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError));
+
+ /*------------- CIAO specific IDL operations (idl)----------
+ *
+ *-----------------------------------------------------------*/
+
+ /**
+ * @method ciao_preactivate
+ */
+ virtual void
+ ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError));
+
+ /**
+ * @method ciao_postactivate
+ */
+ virtual void
+ ciao_postactivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError));
+
+ /**
+ * @method ciao_passivate
+ */
+ virtual void
+ ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StopError));
+
+ /// Initialize the NodeApplication
+ virtual CORBA::Long init (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Start install homes and components.
+ virtual ::Deployment::ComponentInfos *
+ install (const ::Deployment::NodeImplementationInfo & node_impl_info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ::Deployment::UnknownImplId,
+ ::Deployment::ImplEntryPointNotFound,
+ ::Deployment::InstallationFailure,
+ ::Components::InvalidConfiguration));
+
+ /// Install a number of CIAO_Event_Service objects within the NA
+ virtual ::Deployment::CIAO_Event_Services *
+ install_es (const ::Deployment::ESInstallationInfos & es_infos
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((::CORBA::SystemException,
+ ::Deployment::InstallationFailure));
+
+ /// Get the object reference of the NodeApplicationManager.
+ /// This might come in handy later.
+ virtual ::CORBA::Object_ptr
+ get_node_application_manager (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Access the readonly attribute.
+ virtual ::Deployment::Properties *
+ properties (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Remove a component instance from the NodeApplication
+ virtual void remove_component (const char * inst_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((::CORBA::SystemException,
+ ::Components::RemoveFailure));
+
+ virtual void activate_component (const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((::CORBA::SystemException,
+ ::Deployment::StartError));
+
+ virtual void passivate_component (const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((::CORBA::SystemException,
+ ::Components::RemoveFailure));
+
+ /// Remove everything inside including all components and homes.
+ virtual void remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Create a container interface, which will be hosted in this NodeApplication.
+ virtual ::Deployment::Container_ptr
+ create_container (const ::Deployment::Properties &properties
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ::Components::CreateFailure,
+ ::Components::InvalidConfiguration));
+
+ /// Remove a container interface.
+ virtual void remove_container (::Deployment::Container_ptr cref
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ::Components::RemoveFailure));
+
+ /// Get all container object refs
+ virtual ::Deployment::Containers * get_containers (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /*------------- CIAO specific helper functions (C++)---------
+ *
+ *-----------------------------------------------------------*/
+
+ /// Get the containing POA. This operation does *not*
+ /// increase the reference count of the POA.
+ virtual PortableServer::POA_ptr _default_POA (void);
+
+ /// Return the cached object reference of this NodeApplication object.
+ /// This operation does *NOT* increase the reference count.
+ ::Deployment::NodeApplication_ptr
+ get_objref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ /*------- CIAO helper functions for pub/sub service -------
+ *
+ *--------------------------------------------------------*/
+
+ /// Set up a connection using the CIAO_Event_Service, which
+ /// is available as a field in the <Deployment::Connection>
+ /// struct type.
+ /// If <add_or_remove> input parameter is true, then we will
+ /// add the event connection, otherwise we will remove the
+ /// event connection.
+ void build_event_connection (
+ const Deployment::Connection & connection,
+ bool add_or_remove
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((Deployment::InvalidConnection,
+ CORBA::SystemException));
+
+ protected:
+ /// If <add_connection> is "false", then we shall "remove"
+ /// the connections, otherwise we will add these connections.
+ virtual void
+ finishLaunch_i (const Deployment::Connections & connections,
+ CORBA::Boolean start,
+ CORBA::Boolean add_connection
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::StartError,
+ Deployment::InvalidConnection));
+ virtual void
+ handle_facet_receptable_connection (
+ Components::CCMObject_ptr comp,
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection));
+
+ virtual void
+ handle_emitter_consumer_connection (
+ Components::CCMObject_ptr comp,
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection));
+
+ virtual void
+ handle_publisher_consumer_connection (
+ Components::CCMObject_ptr comp,
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection));
+
+ virtual bool
+ _is_es_consumer_conn (Deployment::Connection conn);
+
+ virtual bool
+ _is_publisher_es_conn (Deployment::Connection conn);
+
+ /// Register the publisher to the CIAO event service
+ /// The only fields of <connection> struct used in this method
+ /// are: <type>, <event_service>, <instanceName>, <portName>.
+ virtual void
+ handle_publisher_es_connection (
+ Components::CCMObject_ptr comp,
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection));
+
+ /// Register the consumer to the CIAO event service
+ virtual void
+ handle_es_consumer_connection (
+ const Deployment::Connection & connection,
+ CORBA::Boolean add_connection)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Deployment::InvalidConnection));
+
+ /// Create and initialize all the containers
+ virtual CORBA::Long create_all_containers (
+ const ::Deployment::ContainerImplementationInfos & container_infos
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Create a "key" for the connection
+ virtual ACE_CString *
+ create_connection_key (const Deployment::Connection & connection);
+
+ /// To build a map between a component instance and its container
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ Deployment::Container_var,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> Component_Container_Map;
+ typedef Component_Container_Map::iterator Component_Container_Iterator;
+ Component_Container_Map component_container_map_;
+
+
+ /// To store all created Component objects as well as their lifecycle
+ /// states..
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ Component_State_Info,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> CCMComponent_Map;
+ typedef CCMComponent_Map::iterator Component_Iterator;
+ CCMComponent_Map component_state_map_;
+
+ /// A Map which stores all the connection cookies
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ ::Components::Cookie_var,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> Cookie_Map;
+ typedef Cookie_Map::iterator Cookie_Map_Iterator;
+ Cookie_Map cookie_map_;
+
+ /// Synchronize access to the object set.
+ TAO_SYNCH_MUTEX lock_;
+
+ /// Keep a list of managed Container objects.
+ Object_Set<Deployment::Container, Deployment::Container_var> container_set_;
+
+ /// Keep a pointer to the managing ORB serving this servant.
+ CORBA::ORB_var orb_;
+
+ /// Keep a pointer to the managing POA.
+ // @@Gan/Jai, which POA is this? Same as the component POA or a
+ // different one. My sense is that its different. Could you please
+ //document it?
+ PortableServer::POA_var poa_;
+
+ // Configurator for allocating NodeApp resources and policies
+ NodeApp_Configurator &configurator_;
+
+ /// Cached properties
+ Deployment::Properties properties_;
+
+ /// And a reference to the NodeApplicationManager that created us.
+ ::CORBA::Object_var node_app_manager_;
+
+ /// Cache the object reference (of ourselves).
+ ::Deployment::NodeApplication_var objref_;
+
+ /// A factory to create CIAO event services
+ EventService_Factory_impl es_factory_;
+
+ /// Cache the (NA specific) installation info of all the
+ /// CIAO_Event_Services
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ ::Deployment::ESInstallationInfos_var,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> ES_Installation_Map;
+ typedef ES_Installation_Map::iterator ES_Installation_Map_Iterator;
+ ES_Installation_Map es_info_map_;
+
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps_;
+ private:
+ /// Default constructor, noop
+ NodeApplication_Impl(void);
+ };
+}
+
+#if defined (__ACE_INLINE__)
+# include "NodeApplication_Impl.inl"
+#endif /* __ACE_INLINE__ */
+
+#include /**/ "ace/post.h"
+#endif /* NODEAPPLICATION_IMPL_H */
diff --git a/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.inl b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.inl
new file mode 100644
index 00000000000..18b77e23645
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.inl
@@ -0,0 +1,82 @@
+/* -*- C++ -*- */
+// $Id$
+#include "Configurator_Factory.h"
+
+ACE_INLINE
+CIAO::NodeApplication_Impl::
+NodeApplication_Impl (CORBA::ORB_ptr o,
+ PortableServer::POA_ptr p,
+ NodeApp_Configurator &c,
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps)
+ : orb_ (CORBA::ORB::_duplicate (o)),
+ poa_ (PortableServer::POA::_duplicate (p)),
+ configurator_ (c),
+ es_factory_ (o, p),
+ static_entrypts_maps_ (static_entrypts_maps)
+{
+}
+
+// Access the readonly attribute
+ACE_INLINE
+Deployment::Properties *
+CIAO::NodeApplication_Impl::properties (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ Deployment::Properties * tmp;
+
+ ACE_NEW_THROW_EX (tmp,
+ Deployment::Properties (this->properties_),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return tmp;
+}
+
+ACE_INLINE
+PortableServer::POA_ptr
+CIAO::NodeApplication_Impl::_default_POA (void)
+{
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+}
+
+
+ACE_INLINE
+CORBA::Object_ptr
+CIAO::NodeApplication_Impl::get_node_application_manager (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return ::CORBA::Object::_duplicate (this->node_app_manager_.in ());
+}
+
+/*
+ACE_INLINE void
+CIAO::NodeApplication_Impl::
+set_objref (Components::Deployment::ServerActivator_ptr act,
+ const Components::ConfigValues &config,
+ Components::Deployment::ComponentServer_ptr cs
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (!CORBA::is_nil (this->node_app_manager_.in ()) ||
+ !CORBA::is_nil (this->objref_.in ()))
+ ACE_THROW (CORBA::BAD_INV_ORDER ());
+
+ this->config_ = new Components::ConfigValues (config);
+ this->activator_ = Components::Deployment::ServerActivator::_duplicate (act);
+ this->objref_ = Components::Deployment::ComponentServer::_duplicate (cs);
+}
+*/
+
+ACE_INLINE ::Deployment::NodeApplication_ptr
+CIAO::NodeApplication_Impl::
+get_objref (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (CORBA::is_nil (this->objref_.in ()))
+ {
+ this->objref_ = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return this->objref_.in ();
+}
diff --git a/TAO/CIAO/DAnCE/NodeApplication/RTConfig_Manager.cpp b/TAO/CIAO/DAnCE/NodeApplication/RTConfig_Manager.cpp
new file mode 100644
index 00000000000..9d74fa817c4
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/RTConfig_Manager.cpp
@@ -0,0 +1,468 @@
+// $Id$
+
+#include "RTConfig_Manager.h"
+#include "ciao/CIAO_common.h"
+#include "ace/SString.h"
+
+#if !defined (__ACE_INLINE__)
+# include "RTConfig_Manager.inl"
+#endif /* __ACE_INLINE__ */
+
+void
+CIAO::RTResource_Config_Manager::init (RTCORBA::RTORB_ptr rtorb)
+{
+ this->rtorb_ = RTCORBA::RTORB::_duplicate (rtorb);
+}
+
+void
+CIAO::RTResource_Config_Manager::print_resources
+(const CIAO::DAnCE::ServerResource &server_resource
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ const CIAO::DAnCE::ORBResource &orb_resource
+ = server_resource.orb_config.orb_resources[0];
+
+ CORBA::ULong i;
+
+ // Creating and binding name with RT Threadpool
+ for (i = 0; i < orb_resource.threadpool_list.length (); ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "-RTResource_Config_Manager::print_resource threadpool: %s\n"
+ "\tStack size: %d\n"
+ "\tStatic: %d\n"
+ "\tDynamic %d\n"
+ "\tDefault Prio: %d\n"
+ "\tBuffering %s\n"
+ "\tMax Buffered: %d\n"
+ "\tBuffer Size %d\n",
+ orb_resource.threadpool_list[i].Id.in (),
+ orb_resource.threadpool_list[i].stacksize,
+ orb_resource.threadpool_list[i].static_threads,
+ orb_resource.threadpool_list[i].dynamic_threads,
+ orb_resource.threadpool_list[i].default_priority,
+ (orb_resource.threadpool_list[i].allow_request_buffering ? "Y" : "N"),
+ orb_resource.threadpool_list[i].max_buffered_requests,
+ orb_resource.threadpool_list[i].max_request_buffer_size));
+ }
+
+ for (i = 0; i < orb_resource.threadpool_with_lanes_list.length (); ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "-RTResource_Config_Manager::print_resource threadpool_with %d, lanes: %s\n",
+ orb_resource.threadpool_with_lanes_list[i].threadpool_lanes.length (),
+ orb_resource.threadpool_with_lanes_list[i].Id.in ()));
+
+ for (CORBA::ULong l = 0;
+ l < orb_resource.threadpool_with_lanes_list[i].threadpool_lanes.length ();
+ ++l)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "\tLane %d:\n"
+ "\t\tPriority: %d\n"
+ "\t\tStatic: %d\n"
+ "\t\tDynamic: %d\n",
+ l,
+ orb_resource.threadpool_with_lanes_list[i].threadpool_lanes[l].lane_priority,
+ orb_resource.threadpool_with_lanes_list[i].threadpool_lanes[l].static_threads,
+ orb_resource.threadpool_with_lanes_list[i].threadpool_lanes[l].dynamic_threads));
+ }
+ ACE_DEBUG ((LM_DEBUG,
+ "\tStack size: %d\n"
+ "\tBorrowing: %s\n"
+ "\tBuffering %s\n"
+ "\tMax Buffered: %d\n"
+ "\tBuffer Size %d\n",
+ orb_resource.threadpool_with_lanes_list[i].stacksize,
+ (orb_resource.threadpool_with_lanes_list[i].allow_borrowing ? "Y" : "N"),
+ (orb_resource.threadpool_with_lanes_list[i].allow_request_buffering ? "Y" : "N"),
+ orb_resource.threadpool_with_lanes_list[i].max_buffered_requests,
+ orb_resource.threadpool_with_lanes_list[i].max_request_buffer_size));
+ }
+
+ for (i = 0; i < orb_resource.connection_bands_list.length (); ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "-RTResource_Config_Manager::print_resource connection %d bands: %s\n",
+ orb_resource.connection_bands_list[i].bands.length (),
+ orb_resource.connection_bands_list[i].Id.in ()));
+
+ for (CORBA::ULong l = 0;
+ l < orb_resource.connection_bands_list[i].bands.length ();
+ ++l)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "\tBand %d Prio: %d -- %d\n",
+ l,
+ orb_resource.connection_bands_list[i].bands[l].low,
+ orb_resource.connection_bands_list[i].bands[l].high));
+ }
+ }
+}
+
+void
+CIAO::RTResource_Config_Manager::init_resources
+(const CIAO::DAnCE::ServerResource &server_resource
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "RTResource_Config_Manager::init_resource.\n"));
+
+ if (CORBA::is_nil (this->rtorb_.in()))
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "RTResource_Config_Manager has not been properly initialized.\n"));
+ ACE_THROW (CORBA::INTERNAL ());
+ }
+
+ this->print_resources (server_resource);
+ // return;
+
+ const CIAO::DAnCE::ORBResource &orb_resource
+ = server_resource.orb_config.orb_resources[0];
+
+ CORBA::ULong i;
+
+ // Creating and binding name with RT Threadpool
+ for (i = 0; i < orb_resource.threadpool_list.length (); ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "RTResource_Config_Manager::init_resource threadpool: %s\n",
+ orb_resource.threadpool_list[i].Id.in ()));
+ RTCORBA::ThreadpoolId thr_id =
+ this->rtorb_->create_threadpool
+ (orb_resource.threadpool_list[i].stacksize,
+ orb_resource.threadpool_list[i].static_threads,
+ orb_resource.threadpool_list[i].dynamic_threads,
+ orb_resource.threadpool_list[i].default_priority,
+ orb_resource.threadpool_list[i].allow_request_buffering,
+ orb_resource.threadpool_list[i].max_buffered_requests,
+ orb_resource.threadpool_list[i].max_request_buffer_size
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK; // Simply pass back the exception here
+ // for now. We need to have a better way
+ // to handle execption here.
+ if (this->threadpool_map_.bind (orb_resource.threadpool_list[i].Id.in (),
+ thr_id) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Error binding thread pool Id: %s to map when initializing RTNodeApplication resources.\n", orb_resource.threadpool_list[i].Id.in ()));
+ ACE_THROW (CORBA::INTERNAL ());
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "RTResource_Config_Manager::init_resource added thread pool: %s\n",
+ orb_resource.threadpool_list[i].Id.in ()));
+ }
+ }
+
+ for (i = 0; i < orb_resource.threadpool_with_lanes_list.length (); ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "RTResource_Config_Manager::init_resource threadpool_with %d, lanes: %s\n",
+ orb_resource.threadpool_with_lanes_list[i].threadpool_lanes.length (),
+ orb_resource.threadpool_with_lanes_list[i].Id.in ()));
+
+ // Duplicate RTCORBA lanes
+ RTCORBA::ThreadpoolLanes lanes
+ (orb_resource.threadpool_with_lanes_list[i].threadpool_lanes.length ());
+ lanes.length (orb_resource.threadpool_with_lanes_list[i].threadpool_lanes.length ());
+
+ for (CORBA::ULong l = 0;
+ l < orb_resource.threadpool_with_lanes_list[i].threadpool_lanes.length ();
+ ++l)
+ {
+ lanes[l].lane_priority
+ = orb_resource.threadpool_with_lanes_list[i].threadpool_lanes[l].lane_priority;
+ lanes[l].static_threads
+ = orb_resource.threadpool_with_lanes_list[i].threadpool_lanes[l].static_threads;
+ lanes[l].dynamic_threads
+ = orb_resource.threadpool_with_lanes_list[i].threadpool_lanes[l].dynamic_threads;
+ }
+
+ RTCORBA::ThreadpoolId thr_id =
+ this->rtorb_->create_threadpool_with_lanes
+ (orb_resource.threadpool_with_lanes_list[i].stacksize,
+ lanes,
+ orb_resource.threadpool_with_lanes_list[i].allow_borrowing,
+ orb_resource.threadpool_with_lanes_list[i].allow_request_buffering,
+ orb_resource.threadpool_with_lanes_list[i].max_buffered_requests,
+ orb_resource.threadpool_with_lanes_list[i].max_request_buffer_size
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK; // Simply pass back the exception here
+ // for now. We need to have a better way
+ // to handle execption here.
+
+ if (this->threadpool_map_.bind (orb_resource.threadpool_with_lanes_list[i].Id.in (),
+ thr_id) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error binding thread pool name: %s to map when "
+ "initializing RTNodeApplication resources.\n",
+ orb_resource.threadpool_with_lanes_list[i].Id.in ()));
+ ACE_THROW (CORBA::INTERNAL ());
+ }
+
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "RTResource_Config_Manager::init_resource added thread pool with lanes: %s\n",
+ orb_resource.threadpool_with_lanes_list[i].Id.in ()));
+ }
+ }
+
+ for (i = 0; i < orb_resource.connection_bands_list.length (); ++i)
+ {
+ RTCORBA::PriorityBands
+ safebands(orb_resource.connection_bands_list[i].bands.length ());
+ safebands.length (orb_resource.connection_bands_list[i].bands.length ());
+
+ for (CORBA::ULong l = 0;
+ l < orb_resource.connection_bands_list[i].bands.length ();
+ ++l)
+ {
+ safebands[l].low = orb_resource.connection_bands_list[i].bands[l].low;
+ safebands[l].high = orb_resource.connection_bands_list[i].bands[l].high;
+ }
+
+ if (this->priority_bands_map_.bind (orb_resource.connection_bands_list[i].Id.in (),
+ safebands) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error binding priority bands name: %s to map "
+ "when initializing RTNodeApplication resources.\n",
+ orb_resource.connection_bands_list[i].Id.in ()));
+ ACE_THROW (CORBA::INTERNAL ());
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "RTResource_Config_Manager::init_resource added connection bands: %s\n",
+ orb_resource.connection_bands_list[i].Id.in ()));
+ }
+ }
+
+ // now initialize the policy set part of it.
+ // server_resource.orb_config.policy_set
+ const CIAO::DAnCE::PolicySets &sets = server_resource.orb_config.policy_set;
+ for (CORBA::ULong i = 0; i < sets.length (); ++i)
+ {
+ CORBA::ULong np = sets[i].policies.length ();
+ if (np == 0)
+ continue;
+
+ CORBA::PolicyList_var policy_list = new CORBA::PolicyList (np);
+ policy_list->length (np);
+
+ // Create a list of policies
+ for (CORBA::ULong pc = 0; pc < np; ++pc)
+ {
+ policy_list[pc] = this->create_single_policy (sets[i].policies[pc]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ // Bind the policy list to the name. The bind operation should
+ // surrender the ownership of the newly created PolicyList
+ // sequence to the map.
+ if (this->policy_map_.bind (sets[i].Id.in (),
+ policy_list) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Error binding Policy_Set with name: %s\n",
+ sets[i].Id.in ()));
+ ACE_THROW (CORBA::INTERNAL ());
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "RTResource_Config_Manager::init_resource added policy set: %s\n",
+ sets[i].Id.in ()));
+ }
+ }
+}
+
+void
+CIAO::RTResource_Config_Manager::fini (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TP_MAP::ITERATOR iter = this->threadpool_map_.begin ();
+ TP_MAP::ITERATOR end = this->threadpool_map_.end ();
+
+ for (; iter != end; ++iter)
+ {
+ this->rtorb_->destroy_threadpool ((*iter).int_id_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+}
+
+RTCORBA::ThreadpoolId
+CIAO::RTResource_Config_Manager::find_threadpool_by_name (const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (name == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Invalid name string found in \"find_threadpool_by_name\"\n"));
+ ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
+ }
+
+
+ RTCORBA::ThreadpoolId ret_id = 0; // return id
+
+ if (this->threadpool_map_.find (name, ret_id) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Unable to find a threadpool named %s\n",
+ name));
+ ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
+ }
+
+ return ret_id;
+}
+
+RTCORBA::PriorityBands *
+CIAO::RTResource_Config_Manager::find_priority_bands_by_name (const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (name == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Invalid name string found in \"find_priority_bands_by_name\"\n"));
+ ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
+ }
+
+ PB_MAP::ENTRY *entry = 0;
+
+ if (this->priority_bands_map_.find (name, entry) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Unable to find a connection bands named %s\n",
+ name));
+ ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
+ }
+
+ RTCORBA::PriorityBands_var retv = new RTCORBA::PriorityBands;
+ (*retv.ptr ()) = (*entry->int_id_.ptr ());
+ return retv._retn ();
+}
+
+CORBA::PolicyList *
+CIAO::RTResource_Config_Manager::find_policies_by_name (const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (name == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Invalid name string found in \"find_policies_by_name\"\n"));
+ ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
+ }
+
+
+ ACE_DEBUG ((LM_DEBUG, "RTResource_Config_Manager::find_policies_by_name: %s\n",
+ name));
+
+ POLICY_MAP::ENTRY *entry = 0;
+
+ if (this->policy_map_.find (name, entry) != 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Unable to find a PolicyList named %s\n",
+ name));
+ ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
+ }
+
+ // duplicate the sequence PolicyList.
+ CORBA::PolicyList_var retv =
+ new CORBA::PolicyList (entry->int_id_.in ());
+
+ ACE_DEBUG ((LM_DEBUG, "RTResource_Config_Manager::find_policies_by_name ok.\n"));
+
+ return retv._retn ();
+}
+
+CORBA::Policy_ptr
+CIAO::RTResource_Config_Manager::create_single_policy
+(const CIAO::DAnCE::PolicyDef &policy_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG,
+ "RTResource_Config_Manager::create_single_policy: %d\n",
+ policy_def._d ()));
+
+ CORBA::Policy_var retv;
+
+ switch (policy_def._d ())
+ {
+ case RTCORBA::PRIORITY_MODEL_POLICY_TYPE:
+ {
+ const CIAO::DAnCE::PriorityModelPolicyDef &tmp
+ = policy_def.PriorityModelDef ();
+
+ retv = this->rtorb_->create_priority_model_policy ((RTCORBA::PriorityModel) tmp.priority_model,
+ tmp.server_priority
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (! CORBA::is_nil (retv.in ()))
+ ACE_DEBUG ((LM_DEBUG,
+ "Create PriorityModel policy: %d - %d\n",
+ tmp.priority_model, tmp.server_priority));
+ }
+ break;
+
+ case RTCORBA::THREADPOOL_POLICY_TYPE:
+ {
+ RTCORBA::ThreadpoolId tpid =
+ this->find_threadpool_by_name (policy_def.ThreadpoolDef().Id.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retv = this->rtorb_->create_threadpool_policy (tpid
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (! CORBA::is_nil (retv.in ()))
+ ACE_DEBUG ((LM_DEBUG,
+ "Create Threadpool policy: %s, TPid: %d\n",
+ policy_def.ThreadpoolDef().Id.in (), tpid));
+ }
+ break;
+
+ case RTCORBA::PRIORITY_BANDED_CONNECTION_POLICY_TYPE:
+ {
+ RTCORBA::PriorityBands_var bands =
+ this->find_priority_bands_by_name (policy_def.PriorityBandedConnectionDef().Id.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retv =
+ this->rtorb_->create_priority_banded_connection_policy (bands.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (! CORBA::is_nil (retv.in ()))
+ ACE_DEBUG ((LM_DEBUG,
+ "Created Banded Connection policy: %s\n",
+ policy_def.PriorityBandedConnectionDef().Id.in ()));
+ }
+ break;
+
+ default:
+ ACE_DEBUG ((LM_DEBUG,
+ "Invalid policy type - RTPolicy_Set_Manager::create_single_policy\n"));
+ ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
+ }
+
+ return retv._retn ();
+}
+
diff --git a/TAO/CIAO/DAnCE/NodeApplication/RTNodeApp_Configurator.cpp b/TAO/CIAO/DAnCE/NodeApplication/RTNodeApp_Configurator.cpp
new file mode 100644
index 00000000000..5e81e669182
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/RTNodeApp_Configurator.cpp
@@ -0,0 +1,105 @@
+// $Id$
+
+#include "RTNodeApp_Configurator.h"
+#include "ciao/ServerResourcesC.h"
+#include "tao/RTPortableServer/RTPortableServer.h"
+
+int
+CIAO::RTNodeApp_Configurator::pre_orb_initialize ()
+{
+ ACE_DEBUG ((LM_DEBUG, "RTNodeApp_Configurator::pre_orb_init\n"));
+
+ return 0;
+}
+
+int
+CIAO::RTNodeApp_Configurator::post_orb_initialize (CORBA::ORB_ptr o)
+{
+ ACE_DEBUG ((LM_DEBUG, "RTNodeApp_Configurator::post_orb_init\n"));
+
+ this->orb_ = CORBA::ORB::_duplicate (o);
+
+ CORBA::Object_var object =
+ this->orb_->resolve_initial_references ("RTORB");
+
+ this->rtorb_ =
+ RTCORBA::RTORB::_narrow (object.in ());
+
+ this->config_manager_.init (this->rtorb_.in ());
+
+ return 0;
+}
+
+int
+CIAO::RTNodeApp_Configurator::init_resource_manager
+(const ::Deployment::Properties &properties)
+{
+
+ // if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG, "RTNodeApp_Configurator::init_resource_manager\n"));
+ // @@ Should we cache the properties that we consumed here?
+
+ for (CORBA::ULong i = 0; i < properties.length (); ++i)
+ {
+ // if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG, "RTNodeApp_Configurator::init_resource_manager processing property: %s\n",
+ properties[i].name.in ()));
+
+ if (ACE_OS::strcmp ("CIAOServerResource", properties[i].name.in ()) == 0)
+ {
+ const CIAO::DAnCE::ServerResource *svr_resource;
+ if (properties[i].value >>= svr_resource)
+ {
+ this->config_manager_.init_resources (*svr_resource);
+ // Now we have the information to initialize the manager.
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "ERROR: RTNodeApp_Configurator::init_resource_manager unable to extract CIAOServerResources\n"), -1);
+ }
+
+ // Ignore other stuff
+ }
+
+ return 0;
+}
+
+CORBA::PolicyList *
+CIAO::RTNodeApp_Configurator::find_container_policies
+(const ::Deployment::Properties &properties)
+{
+ ACE_DEBUG ((LM_DEBUG, "RTNodeApp_Configurator::find_container_policies\n"));
+ // @@ Should we cache the properties that we consumed here?
+
+ for (CORBA::ULong i = 0; i < properties.length (); ++i)
+ {
+ ACE_DEBUG ((LM_DEBUG, "RTNodeApp_Configurator::find_container_policies processing property: %s\n",
+ properties[i].name.in ()));
+
+ if (ACE_OS::strcmp ("ContainerPolicySet", properties[i].name) == 0)
+ {
+ const char *policy_name;
+ if (properties[i].value >>= policy_name)
+ {
+ return this->config_manager_.find_policies_by_name (policy_name);
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "ERROR: RTNodeApp_Configurator::find_container_policies unable to extract ContainerPolicySet\n"), 0);
+ }
+ }
+
+ return 0;
+}
+
+
+extern "C" CIAO_RTNA_Configurator_Export CIAO::NodeApp_Configurator *create_nodeapp_configurator (void);
+
+CIAO::NodeApp_Configurator *
+create_nodeapp_configurator (void)
+{
+ CIAO::RTNodeApp_Configurator *config;
+ ACE_NEW_RETURN (config, CIAO::RTNodeApp_Configurator, 0);
+ return config;
+}
+
diff --git a/TAO/CIAO/DAnCE/NodeApplication/RTNodeApp_Configurator.h b/TAO/CIAO/DAnCE/NodeApplication/RTNodeApp_Configurator.h
new file mode 100644
index 00000000000..c44786195e9
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplication/RTNodeApp_Configurator.h
@@ -0,0 +1,78 @@
+// $Id$
+/**========================================================
+ *
+ * @file RTNodeApp_Configurator.h
+ *
+ * @Brief This file contains the implementation of
+ * the RTNodeApp_Configurator, a concrete NodeApp_Configurator for
+ * setting up real-time support for NodeApplication.
+ *
+ *
+ * @author Nanbor Wang <nanbor@exothermic.txcorp.com>
+ *========================================================*/
+
+#ifndef RTNODEAPP_CONFIGURATOR_H
+#define RTNODEAPP_CONFIGURATOR_H
+#include /**/ "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "NodeApp_Configurator.h"
+#include "RTNA_Configurator_Export.h"
+#include "tao/RTCORBA/RTCORBA.h"
+#include "RTConfig_Manager.h"
+
+namespace CIAO
+{
+ /**
+ * @class RTNodeApp_Configurator
+ *
+ * @brief This class implements a concrete NodeApp_Configurator for
+ * setting up the NodeApplication process for RT support.
+ **/
+ class CIAO_RTNA_Configurator_Export RTNodeApp_Configurator :
+ public NodeApp_Configurator
+ {
+ public:
+ /// Default destructor.
+ virtual ~RTNodeApp_Configurator (void) {}
+
+ /**
+ * @brief "pre_orb_initialize" is called before ORB_init.
+ */
+ virtual int pre_orb_initialize (void);
+
+ /**
+ * @brief "initialize" is called after NodeApplication get a hold
+ * at this object.
+ */
+ virtual int post_orb_initialize (CORBA::ORB_ptr o);
+
+ /**
+ * @brief "init_resource_manager" is called by NodeApplication when
+ * it receives an "install" commands.
+ */
+ virtual int
+ init_resource_manager (const ::Deployment::Properties &properties);
+
+ /**
+ * @brief get a policyset by its name.
+ */
+ virtual CORBA::PolicyList *
+ find_container_policies (const ::Deployment::Properties &properties);
+
+ protected:
+ CORBA::ORB_var orb_;
+
+ RTCORBA::RTORB_var rtorb_;
+
+ RTResource_Config_Manager config_manager_;
+ };
+}
+
+#include /**/ "ace/post.h"
+#endif /* RTNODEAPP_CONFIGURATOR_H */
diff --git a/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Client.cpp b/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Client.cpp
new file mode 100644
index 00000000000..73a8071f305
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Client.cpp
@@ -0,0 +1,59 @@
+// $Id$
+
+// HTTP_Client.cpp, Stoyan
+
+#include "HTTP_Client.h"
+#include "HTTP_Handler.h"
+#include "ace/OS_NS_string.h"
+
+HTTP_Client::HTTP_Client (void)
+{
+}
+
+HTTP_Client::~HTTP_Client (void)
+{
+ this->close ();
+}
+
+// initialize address and filename. No network i/o in open
+int
+HTTP_Client::open (const ACE_TCHAR *filename,
+ const ACE_TCHAR *hostname,
+ u_short port)
+{
+ filename_ = ACE_OS::strdup (filename);
+ inet_addr_.set (port, hostname);
+ return 0;
+}
+
+// read from connection length bytes from offset, into Message block
+int
+HTTP_Client::read (ACE_Message_Block *mb)
+{
+
+ // Create a HTTP_Client Reader
+ HTTP_Reader HTTP_reader (mb, filename_);
+ HTTP_Handler *brp = &HTTP_reader;
+
+ // Connect to the server
+ if (connector_.connect (brp, inet_addr_) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "HTTP_Client::read():Connector error"), -1);
+
+ return HTTP_reader.byte_count ();
+
+}
+
+// close down the HTTP_Client
+int
+HTTP_Client::close (void)
+{
+
+ if (filename_)
+ {
+ ACE_OS::free ((void *) filename_);
+ filename_ = 0;
+ }
+ return 0;
+
+}
+
diff --git a/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Client.h b/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Client.h
new file mode 100644
index 00000000000..ac0f9cbea92
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Client.h
@@ -0,0 +1,72 @@
+
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file HTTP_Client.h
+ *
+ * $Id$
+ *
+ * This is the HTTP_Client class, which is the API for doing file
+ * uploads/downloads.
+ *
+ * @author Stoyan Paunov
+ */
+//=============================================================================
+
+
+#ifndef HTTP_Client_H
+#define HTTP_Client_H
+
+
+#include "ace/INET_Addr.h"
+#include "ace/Svc_Handler.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/Connector.h"
+#include "ace/Message_Block.h"
+#include "HTTP_Handler.h"
+
+/**
+ * @class HTTP_Client
+ *
+ * @brief HTTP_Client is intended to provide application API to
+ * classes that wish to do network i/o at a very
+ * high level of abstraction.
+ *
+ * This class provides the ability to retrieve data from
+ * the network, of specified length and offset, and potentially
+ * use any protocol "under the hood" to do so. It currently
+ * uses HTTP. See HTTP_Handler also.
+ */
+class HTTP_Client
+{
+public:
+ HTTP_Client (void);
+ ~HTTP_Client (void);
+
+ /// Initializes the class with the given filename, hostname and port.
+ /// it should be called with the filename, before any read/write calls
+ int open (const ACE_TCHAR *filename,
+ const ACE_TCHAR *hostname = ACE_DEFAULT_SERVER_HOST,
+ u_short port = 80);
+
+ /// Starts a connection, and reads a file from the server into
+ /// Message_Block mb
+ int read (ACE_Message_Block *mb);
+
+ /// Frees memory allocated for filename.
+ int close ();
+
+private:
+ /// Store the internet address of the server
+ ACE_INET_Addr inet_addr_;
+
+ /// The filename
+ ACE_TCHAR *filename_;
+
+ /// The connector endpoint to initiate the client connection
+ ACE_Connector<HTTP_Handler, ACE_SOCK_CONNECTOR> connector_;
+
+};
+
+#endif /* HTTP_Client_H */
diff --git a/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Handler.cpp b/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Handler.cpp
new file mode 100644
index 00000000000..ffd85ca1ebf
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Handler.cpp
@@ -0,0 +1,203 @@
+// $Id$
+
+// HTTP_Handler.cpp, Stoyan
+
+#include "HTTP_Handler.h"
+#include "ace/OS_NS_stdio.h"
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_strings.h"
+
+// Empty constructor for compliance with new Connector behavior.
+HTTP_Handler::HTTP_Handler (void)
+{
+}
+
+// Always use this constructor
+HTTP_Handler::HTTP_Handler (ACE_Message_Block * mb,
+ ACE_TCHAR *filename) :
+ mb_ (mb),
+ filename_ (ACE_OS::strdup (filename)),
+ bytecount_ (0)
+{
+}
+
+HTTP_Handler::~HTTP_Handler (void)
+{
+ if (filename_)
+ {
+ ACE_OS::free (filename_);
+ filename_ = 0;
+ }
+}
+
+// Called by Connector after connection is established
+int
+HTTP_Handler::open (void *)
+{
+ if (this->send_request () != 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "HTTP_Handler::open():send_request failed\n"), -1);
+
+ if (this->receive_reply () != 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "HTTP_Handler::open():receive_reply failed\n"), -1);
+ return 0;
+
+}
+
+// No-op
+int
+HTTP_Handler::close (u_long)
+{
+ return 0;
+}
+
+// Always overridden by the derived classes
+int
+HTTP_Handler::send_request (void)
+{
+ return -1;
+}
+
+// Always overridden by the derived classes
+int
+HTTP_Handler::receive_reply (void)
+{
+ return -1;
+}
+
+// used to retrieve the number of bytes read/written by the
+// last operation on the Blob
+size_t
+HTTP_Handler::byte_count (void)
+{
+ return bytecount_;
+}
+
+// Reader **************************************************
+
+HTTP_Reader::HTTP_Reader (ACE_Message_Block * mb,
+ ACE_TCHAR *filename,
+ const char *request_prefix,
+ const char *request_suffix) :
+ HTTP_Handler (mb, filename),
+ request_prefix_ (request_prefix),
+ request_suffix_ (request_suffix)
+{
+}
+
+// Send the HTTP request
+int
+HTTP_Reader::send_request (void)
+{
+ char mesg [MAX_HEADER_SIZE];
+
+ // Check to see if the request is too big
+ if (MAX_HEADER_SIZE < (ACE_OS::strlen (request_prefix_)
+ + ACE_OS::strlen (filename_)
+ + ACE_OS::strlen (request_suffix_) + 4))
+ ACE_ERROR_RETURN((LM_ERROR,"Request too large!"), -1);
+
+ // Create a message to send to the server requesting retrieval of the file
+ int len = ACE_OS::sprintf (mesg, "%s %s %s", request_prefix_, filename_, request_suffix_);
+
+ // Send the message to server
+ if (peer ().send_n (mesg, len) != len)
+ ACE_ERROR_RETURN((LM_ERROR,"Error sending request\n"), -1);
+
+
+ return 0;
+}
+
+// Recieve the HTTP Reply
+int
+HTTP_Reader::receive_reply (void)
+{
+ size_t num_recvd = 0;
+ char buf [MTU+1];
+ char *buf_ptr = 0;
+ size_t bytes_read = 0;
+
+ // Receive the first MTU bytes and strip the header off.
+ // Note that we assume that the header will fit into MTU bytes.
+
+ if (peer ().recv_n (buf, MTU, 0, &num_recvd) >= 0)
+ {
+ //Make sure that response type is 200 OK
+ if (ACE_OS::strstr (buf,"200 OK") == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "HTTP_Reader::receiveReply(): Response is not 200 OK\n" ), -1);
+
+ // Search for the header termination string "\r\n\r\n", or "\n\n". If
+ // found, move past it to get to the data portion.
+ if ((buf_ptr = ACE_OS::strstr (buf,"\r\n\r\n")) != 0)
+ buf_ptr += 4;
+ else if ((buf_ptr = ACE_OS::strstr (buf, "\n\n")) != 0) //for compatibility with JAWS
+ buf_ptr += 2;
+ else
+ buf_ptr = buf;
+
+ // Determine number of data bytes read. This is equal to the
+ // total bytes read minus number of header bytes.
+ bytes_read = num_recvd - (buf_ptr - buf);
+
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "HTTP_Reader::receiveReply():Error while reading header\n"), -1);
+
+ // ***************************************************************
+ // At this point, we have stripped off the header and are ready to
+ // process data. buf_ptr points to the data
+
+ //set the size of the ACE_Message_Block to the current bytes read
+ //NOTE: this function reallocates if necessary
+ //this->mb_->size (bytes_read);
+
+ ACE_Message_Block* temp; //pointer used temporarily
+ //for memory allocations before
+ //chaining to Message_Block
+
+ ACE_Message_Block* curr = this->mb_;
+
+ ACE_NEW_RETURN (temp, ACE_Message_Block (bytes_read), -1);
+ curr->cont (temp);
+
+ curr = curr->cont ();
+
+ // Copy over all the data bytes into our message buffer.
+ if (curr->copy (buf_ptr, bytes_read) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n",
+ "HTTP_Reader::receiveReply():Error copying data into Message_Block\n" ), -1);
+
+ //read the rest of the data into a number of ACE_Message_Blocks and
+ //chain them together in a link list fashion
+
+ num_recvd = 0;
+
+ do
+ {
+ if (curr->space () == 0)
+ {
+ ACE_NEW_RETURN (temp, ACE_Message_Block (MTU), -1);
+ curr->cont (temp);
+ curr = curr->cont ();
+ }
+
+ if (peer ().recv_n (curr->wr_ptr (), curr->space (), 0, &num_recvd) >= 0)
+ {
+ //move the write pointer
+ curr->wr_ptr (num_recvd);
+
+ //increment bytes_read
+ bytes_read += num_recvd;
+
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "HTTP_Reader::receiveReply():Error while reading header\n"), -1);
+
+ }while (num_recvd != 0);
+
+ // Set the byte count to number of bytes received
+ this->bytecount_ = bytes_read;
+
+ return 0;
+}
+
diff --git a/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Handler.h b/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Handler.h
new file mode 100644
index 00000000000..d1e9aae2894
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplicationManager/HTTP_Handler.h
@@ -0,0 +1,86 @@
+
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file HTTP_Handler.h
+ *
+ * $Id$
+ *
+ * HTTP_Handler is a base class for HTTP_Reader and
+ * HTTP_Writer which are created in response to calls to
+ * read/write, as appropriate
+ *
+ *
+ * @author Stoyan Paunov
+ */
+//=============================================================================
+
+
+#ifndef HTTP_HANDLER_H
+#define HTTP_HANDLER_H
+
+#include "ace/SOCK_Stream.h"
+#include "ace/Svc_Handler.h"
+#include "ace/Message_Block.h"
+
+/**
+ * @class HTTP_Handler
+ * class to retrieve data via HTTP
+ */
+class HTTP_Handler : public ACE_Svc_Handler <ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+{
+public:
+ /// Null constructor, insures that it works properly with Connector
+ HTTP_Handler (void);
+
+ /// Always use this constructor to make HTTP_Handlers
+ HTTP_Handler (ACE_Message_Block *mb,
+ ACE_TCHAR *filename);
+
+ /// returns the number of bytes read/written in the last operation.
+ size_t byte_count (void);
+
+ /// Activate this instance of the <HTTP_Handler>
+ virtual int open (void * = 0);
+
+ /// Close down the Blob
+ virtual int close (u_long flags = 0);
+
+ ~HTTP_Handler (void);
+
+protected:
+ virtual int send_request (void);
+ virtual int receive_reply (void);
+
+ ACE_Message_Block *mb_;
+ ACE_TCHAR *filename_;
+ size_t bytecount_;
+ enum
+ {
+ /// The handler assumes that the first 2048 bytes of a server response
+ /// contains the header
+ MAX_HEADER_SIZE = 2048,
+
+ /// set the MAX_TRANSMISSION_UNIT (MTU) = BUFSIZ as defined by OS
+ MTU = BUFSIZ
+ };
+};
+
+class HTTP_Reader : public HTTP_Handler
+{
+public:
+ HTTP_Reader (ACE_Message_Block *mb,
+ ACE_TCHAR *filename,
+ const char *request_prefix = "GET",
+ const char *request_suffix = "HTTP/1.0\r\n\r\n");
+
+private:
+ //NOTE: these functions return -1 on error
+ int send_request (void);
+ int receive_reply (void);
+ const char *request_prefix_;
+ const char *request_suffix_;
+};
+
+#endif /* HTTP_HANDLER_H */
diff --git a/TAO/CIAO/DAnCE/NodeApplicationManager/URL_Parser.cpp b/TAO/CIAO/DAnCE/NodeApplicationManager/URL_Parser.cpp
new file mode 100644
index 00000000000..3b1f7fab90b
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplicationManager/URL_Parser.cpp
@@ -0,0 +1,103 @@
+// $Id$
+
+#include "ace/Get_Opt.h"
+#include "ace/ARGV.h"
+#include "URL_Parser.h"
+
+#include "ace/OS_NS_string.h"
+
+bool
+URL_Parser::parse_args (int argc, ACE_TCHAR *argv[])
+{
+ ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("rwu:h:p:f:d"));
+
+ bool success = true;
+ int c;
+
+ while ((c = get_opt ()) != -1)
+ switch (c)
+ {
+ case 'd':
+ this->debug_ = 1;
+ break;
+ case 'u':
+ success = parseURL (get_opt.opt_arg ());
+ break;
+ // Usage fallthrough.
+ default:
+ success = false;
+ }
+ if (this->hostname_ == 0 || this->filename_ == 0)
+ success = false;
+
+ return success;
+}
+
+URL_Parser::URL_Parser (void)
+ : hostname_ ("127.0.0.1"),
+ port_ (ACE_DEFAULT_HTTP_SERVER_PORT),
+ filename_ (0),
+ debug_ (0)
+{
+}
+
+bool URL_Parser::parseURL (char* url)
+{
+ char* ptr;
+ bool success = true;
+
+ if ((ptr = ACE_OS::strstr (url, "http://")))
+ url += ACE_OS::strlen ("http://");
+
+ if (url[0] == '/')
+ {
+ this->filename_ = ACE_OS::strdup (url);
+ }
+ else
+ {
+ if ((ptr = ACE_OS::strstr (url, ":")))
+ this->port_ = ACE_OS::atoi (ptr + 1);
+ else
+ ptr = ACE_OS::strstr (url, "/");
+
+ if(!ptr)
+ success = false;
+ else
+ {
+ size_t host_len = ptr - url;
+ ACE_NEW_RETURN (this->hostname_, char [host_len + 1], false);
+ ACE_OS::strncpy (this->hostname_, url, host_len);
+ this->hostname_ [host_len] = '\0';
+
+ if ((ptr = ACE_OS::strstr (ptr, "/")))
+ {
+ this->filename_ = ACE_OS::strdup(ptr);
+ }
+ else
+ success = false;
+ }
+ }
+ return success;
+}
+
+
+void URL_Parser::Error (void)
+{
+ ACE_DEBUG ((LM_DEBUG, "./http_client -u http://hostname:port/filename [-d]\n"));
+
+}
+
+
+ URL_Parser::~URL_Parser()
+ {
+ if(this->hostname_)
+ {
+ delete [] this->hostname_;
+ this->hostname_ =0;
+ }
+ if (this->filename_)
+ {
+ ACE_OS::free (this->filename_);
+ this->filename_ = 0;
+ }
+ }
diff --git a/TAO/CIAO/DAnCE/NodeApplicationManager/URL_Parser.h b/TAO/CIAO/DAnCE/NodeApplicationManager/URL_Parser.h
new file mode 100644
index 00000000000..aaaeab4960c
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeApplicationManager/URL_Parser.h
@@ -0,0 +1,68 @@
+
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file URL_Parser.h
+ *
+ * $Id$
+ *
+ * Parses a URL into its logical chunks
+ *
+ *
+ * @author Stoyan Paunov
+ */
+//=============================================================================
+
+
+#ifndef URL_PARSER_H
+#define URL_PARSER_H
+
+#include "ace/Get_Opt.h"
+#include "ace/ARGV.h"
+#include "ace/Singleton.h" //for ACE_Singleton
+#include "ace/Null_Mutex.h" //for ACE_Null_Mutex
+
+//forward declaration
+class URL_Parser;
+
+typedef ACE_Singleton <URL_Parser, ACE_Null_Mutex> TheURL_Parser;
+
+
+class URL_Parser
+{
+public:
+
+ friend class ACE_Singleton <URL_Parser, ACE_Null_Mutex>;
+
+ /// parses commandline arguments
+ bool parse_args (int argc, ACE_TCHAR *argv[]);
+
+ //return false on failure
+ bool parseURL (char* url);
+
+ void Error (void);
+
+ /// Hostname to connect to
+ ACE_TCHAR *hostname_;
+
+ /// Port number to use
+ u_short port_;
+
+ /// Filename to upload/download
+ ACE_TCHAR *filename_;
+
+ /// turns on verbosity
+ int debug_;
+
+ //destructor
+ ~URL_Parser (void);
+
+protected:
+ URL_Parser (void);
+ // protected constructor, singleton
+};
+
+
+
+#endif /* URL_PARSER_H */
diff --git a/TAO/CIAO/DAnCE/NodeManager/CIAO_Monitor.cpp b/TAO/CIAO/DAnCE/NodeManager/CIAO_Monitor.cpp
new file mode 100644
index 00000000000..cbd494ac776
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeManager/CIAO_Monitor.cpp
@@ -0,0 +1,170 @@
+// $Id$
+//==========================================================================
+/// The RSS Monitor class defination
+/**
+ * @file CIAO_Monitor.cpp
+ *
+ * @brief The Monitor class defination
+ *
+ * @author Nilabja Roy <nilabjar@dre.vanderbilt.edu>
+ */
+//==========================================================================
+
+#include "CIAO_Monitor.h"
+#include "CIAO_common.h"
+#include "ace/OS_NS_stdio.h"
+
+
+extern "C" ACE_Proper_Export_Flag CIAO::MonitorBase * CIAO::createMonitor ()
+{
+ return new CIAO::CIAO_Monitor ();
+}
+
+CIAO::CIAO_Monitor::CIAO_Monitor ()
+{
+}
+
+/// The Desctructor
+CIAO::CIAO_Monitor::~CIAO_Monitor ()
+{
+}
+
+int CIAO::CIAO_Monitor::initialize_params (
+ ::Deployment::Domain& domain,
+ ::Deployment::TargetManager_ptr target_manager,
+ int interval
+ )
+{
+ current_domain_.reset (new ::Deployment::Domain (domain));
+ target_ptr_= target_manager;
+ this->interval_=interval;
+
+ return 0;
+}
+
+int CIAO::CIAO_Monitor::start (CORBA::ORB_ptr)
+{
+ return 0;
+}
+
+int CIAO::CIAO_Monitor::stop ()
+{
+ return 0;
+}
+
+::Deployment::Domain* CIAO::CIAO_Monitor::get_current_data ()
+{
+ if (CIAO::debug_level () > 9)
+ {
+ // ACE_DEBUG ((LM_DEBUG ,
+ // "CIAO_Monitor::Inside the get_current_data of[%s]\n",
+ // current_domain_->node[0].name.in ()));
+ }
+
+ CORBA::Double current_load = 0;
+
+ long user_cpu;
+ long user_cpu_low;
+ long sys_cpu;
+ long idle_time;
+
+ // get the load average value from the /proc/loadavg
+
+ FILE *load_file = 0;
+
+ load_file = ACE_OS::fopen ("/proc/stat", "r");
+
+ if (load_file == 0)
+ {
+ // load file cannot be opened ..
+ current_load = 0;
+ }
+ else
+ {
+ char buffer [99];
+
+ // read in the cpu label
+ fscanf (load_file, "%s", buffer);
+
+ //read the user_cpu
+ fscanf (load_file, "%ld", &user_cpu);
+
+ //read the user cpu low priority
+ fscanf (load_file, "%ld", &user_cpu_low);
+
+ //read the system cpu
+ fscanf (load_file, "%ld", &sys_cpu);
+
+ //read the cpu in idle time ..
+ fscanf (load_file, "%ld", &idle_time);
+
+
+ if (CIAO::debug_level () > 9)
+ {
+ // ACE_DEBUG ((LM_DEBUG , "Current load is %d\n",current_load));
+ }
+
+ ACE_OS::fclose (load_file);
+
+
+ // Calculate the percent CPU
+
+ long current_user_cpu = user_cpu - prev_user_cpu_;
+ long total_cpu_usage = user_cpu + user_cpu_low + sys_cpu +
+ idle_time - prev_user_cpu_ - prev_idle_time_ - prev_sys_cpu_
+ - prev_user_cpu_low_;
+
+ current_load = (current_user_cpu * 100)/total_cpu_usage;
+
+ // Save the current cpu values in the previous variables
+
+ prev_user_cpu_ = user_cpu;
+
+ prev_user_cpu_low_ = user_cpu_low;
+
+ prev_sys_cpu_ = sys_cpu;
+
+ prev_idle_time_ = idle_time;
+
+ }
+
+
+ CORBA::Any any;
+ any <<= current_load;
+
+ // here insert the util value, in the right position
+
+ for (unsigned int i = 0;
+ i < current_domain_->node[0].resource.length ();
+ i++)
+ {
+ if (!strcmp (current_domain_->node[0].resource[i].name, "Processor"))
+ {
+ // ACE_DEBUG ((LM_DEBUG , "CIAO::Monitor::The Resource found\n"));
+ for (unsigned int j = 0;
+ j < current_domain_->node[0].resource[i].property.length ();
+ j++)
+ {
+ if (!strcmp (
+ current_domain_
+ ->node[0].resource[i].property[j].name.in (),
+ "LoadAverage"))
+ {
+ //ACE_DEBUG ((LM_DEBUG , "CIAO::Monitor::The property found\n"));
+ current_domain_->node[0].resource[i].property[j].kind =
+ ::Deployment::Quantity;
+ current_domain_->node[0].resource[i].property[j].value =
+ any;
+ }
+ }
+ }
+ }
+
+
+ if (CIAO::debug_level () > 9)
+ {
+ //ACE_DEBUG ((LM_DEBUG , "CIAO::Monitor::Exiting from the get_current_data function\n"));
+ }
+
+ return current_domain_.get ();
+}
diff --git a/TAO/CIAO/DAnCE/NodeManager/CIAO_Monitor.h b/TAO/CIAO/DAnCE/NodeManager/CIAO_Monitor.h
new file mode 100644
index 00000000000..62fd78da735
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeManager/CIAO_Monitor.h
@@ -0,0 +1,119 @@
+// $Id$
+//==========================================================================
+/**
+ * @file CIAO_Monitor.h
+ *
+ * @brief The Monitor class.
+ *
+ * This class periodically records the
+ * loadavg value of the machine in which it
+ * loaded
+ *
+ * @author Nilabja Roy <nilabjar@dre.vanderbilt.edu>
+ */
+//==========================================================================
+
+
+#ifndef CIAO_MONITORH
+#define CIAO_MONITORH
+
+#include "BaseMonitor.h"
+#include "ace/Auto_Ptr.h"
+#include <memory>
+
+
+
+/**
+ * @namespace CIAO
+ *
+ * @brief The top level CIAO namespace
+ *
+ */
+
+namespace CIAO
+{
+ class ReceiverThread;
+
+ /**
+ * @class CIAO_Monitor
+ *
+ * @brief The Monitor class
+ *
+ */
+ class CIAO_Monitor : public MonitorBase
+ {
+ public:
+
+ /** @function Constructor
+ */
+ CIAO_Monitor ();
+
+ /** @function initialize_params
+ * @param domain The Initial Domain for this host
+ * @param target_manager TargetManager_ptr
+ * @param interval The time interval after whic updates need to be send.
+ * @description This function is called by the controller to initialize
+ * parameters.
+ */
+ virtual int initialize_params (
+ ::Deployment::Domain& domain,
+ ::Deployment::TargetManager_ptr target_manager,
+ int interval
+ );
+ /**
+ * @function Destructor
+ */
+ virtual ~CIAO_Monitor ();
+
+ /** @function start.
+ * @brief This method will starts up the Monitor
+ * in this case,
+ * @param orb The orb needed for resolving.
+ * @return -1 on error
+ */
+ int start (CORBA::ORB_ptr orb);
+
+ /**
+ * @function stop.
+ * @brief This method will starts up the Monitor
+ * in this case
+ * @return -1 on error
+ */
+ int stop ();
+
+ /**
+ * @function get_current_date.
+ * @brief This function retrieves the current
+ * Domain data
+ * @return -1 on error
+ */
+ ::Deployment::Domain* get_current_data ();
+
+ protected:
+
+ /// The TargetManager Object to be sent to the RSSSubscriber ..
+ ::Deployment::TargetManager_ptr target_ptr_;
+
+
+ /// The interval after which update is to be returned.
+ int interval_;
+
+ /// The Domain data structure
+ auto_ptr <Deployment::Domain> current_domain_;
+
+ ///The previous user cpu
+ long prev_user_cpu_;
+
+ ///The previous user cpu low priority
+ long prev_user_cpu_low_;
+
+ ///The previous system cpu
+ long prev_sys_cpu_;
+
+ ///The previous idle time
+ long prev_idle_time_;
+
+ };
+
+} // CIAO
+#endif /* CIAO_MONITORH */
diff --git a/TAO/CIAO/DAnCE/NodeManager/Monitor.mpc b/TAO/CIAO/DAnCE/NodeManager/Monitor.mpc
new file mode 100644
index 00000000000..b4f5f55cd31
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeManager/Monitor.mpc
@@ -0,0 +1,28 @@
+// $Id$
+
+
+// MPC file for the Monitor
+
+project(*monitorlib): ciao_client_dnc, ciao_events_base_dnc {
+ after += CIAO_TargetManager_stub
+ includes += $(CIAO_ROOT)/DAnCE/TargetManager
+ sharedname = ciaomonlib
+
+ libs += TargetManager_stub CIAO_Deployment_stub
+
+ IDL_Files {
+ }
+
+ Header_Files {
+ }
+
+ Inline_Files {
+ }
+
+ Template_Files {
+ }
+
+ Source_Files {
+ CIAO_Monitor.cpp
+ }
+}
diff --git a/TAO/CIAO/DAnCE/NodeManager/MonitorCB.cpp b/TAO/CIAO/DAnCE/NodeManager/MonitorCB.cpp
new file mode 100644
index 00000000000..c5333d60a77
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeManager/MonitorCB.cpp
@@ -0,0 +1,58 @@
+// $Id$
+//----------------------------------------------------------------------------------
+/**
+ * @file MonitorCB.cpp
+ *
+ * @brief The Monitor Update class
+ *
+ * The class which updates the resource data
+ *
+ * @author Nilabja Roy <nilabjar@dre.vanderbilt.edu>
+ */
+//----------------------------------------------------------------------------------
+
+#include "MonitorCB.h"
+#include "CIAO_common.h"
+
+
+CIAO::MonitorCB::MonitorCB (CORBA::ORB_ptr orb,
+ Deployment::TargetManager_ptr target,
+ int interval
+ ):orb_ (orb),
+ target_mgr_ (target),
+ interval_ (interval)
+{
+}
+
+int CIAO::MonitorCB::update_data (::Deployment::Domain& data)
+{
+ CORBA::StringSeq elements;
+ elements.length (0);
+
+ // data to be updated ...
+ ::Deployment::DomainUpdateKind update_kind
+ = ::Deployment::UpdateAvailable;
+
+ // The copy of the domain variable
+ ::Deployment::Domain_var domain
+ = new ::Deployment::Domain (data);
+
+ try
+ {
+ if (CIAO::debug_level () > 20)
+ {
+ ACE_DEBUG ((LM_DEBUG , "CIAO::NM::MonitorCB::Making a call to update\n"));
+ }
+ target_mgr_->updateDomain (elements , domain , update_kind);
+ }
+ catch (CORBA::Exception& ex)
+ {
+ //ACE_DEBUG ((LM_DEBUG, "CIAO::NM::MonitorCB::Unknown Exception\n"));
+ //ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "NM::MonitorCB::updateDomain");
+ }
+ catch (...)
+ {
+ // ignore
+ }
+ return 0;
+}
diff --git a/TAO/CIAO/DAnCE/NodeManager/MonitorController.cpp b/TAO/CIAO/DAnCE/NodeManager/MonitorController.cpp
new file mode 100644
index 00000000000..ecf2460915c
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeManager/MonitorController.cpp
@@ -0,0 +1,228 @@
+// $Id$
+
+//----------------------------------------------------------------------------------
+/**
+ * @file MonitorController.cpp
+ *
+ * @brief The Monitor Controller implementation.
+ *
+ * This is the facade class for Monitor
+ *
+ * @author Nilabja Roy <nilabjar@dre.vanderbilt.edu>
+ */
+//----------------------------------------------------------------------------------
+
+#include "MonitorController.h"
+#include "BaseMonitor.h"
+#include "MonitorCB.h"
+#include "CIAO_common.h"
+
+
+#include "ace/Log_Msg.h"
+#include "ace/DLL.h"
+#include "ace/SString.h"
+
+#include "NodeManager_Impl.h"
+
+
+
+namespace CIAO
+{
+ typedef MonitorBase* (*MonitorFactory) (void);
+
+ /// for the CIAO monitor
+ const char* monitor_lib_name = "ciaomonlib";
+
+ // The interval after which update will be sent.
+ // This value will sent by the EM in the later implementation
+ const int interval = 10;
+
+ static const char* factory_func = "createMonitor";
+}
+
+CIAO::MonitorController::MonitorController (CORBA::ORB_ptr orb,
+ ::Deployment::Domain& domain,
+ ::Deployment::TargetManager_ptr target,
+ ::CIAO::NodeManager_Impl_Base* node_mgr
+ )
+ : target_facet_i_ (::Deployment::TargetManager::_duplicate (target)),
+ terminate_flag_ (0),
+ orb_ (orb),
+ initial_domain_ (domain),
+ node_mgr_ (node_mgr),
+ monitor_cpu_usage_ (0),
+ add_component_pid_ (1)
+{
+}
+
+int CIAO::MonitorController::svc (void)
+{
+ ACE_DLL dll;
+
+ // forming the library name
+ ACE_CString lib_name = ACE_DLL_PREFIX;
+ lib_name += monitor_lib_name;
+
+ int retval
+ = dll.open (lib_name.c_str ());
+
+ if (retval != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p",
+ "dll.open"),
+ -1);
+
+
+ MonitorFactory factory =
+ (MonitorFactory) dll.symbol (factory_func);
+
+ if (factory == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p",
+ "dll.symbol"),
+ -1);
+ {
+ ACE_TRACE ((LM_DEBUG, "Inside the init call\n"));
+
+ // here creating the monitor object
+ monitor_.reset ((MonitorBase*) factory ());
+ monitor_->initialize_params (initial_domain_,
+ target_facet_i_.in (),
+ interval);
+
+
+ // Start the Monitor
+ monitor_->start (orb_);
+ auto_ptr <CIAO::MonitorCB> monitor_callback (new CIAO::MonitorCB (orb_,
+ target_facet_i_.in (),
+ interval));
+
+ // check if cpu needs to be monitored or not
+ for (unsigned int i = 0;i < initial_domain_.node[0].resource.length ();i++)
+ {
+ if (!strcmp (initial_domain_.node[0].resource[i].name, "Processor"))
+ monitor_cpu_usage_ = 1;
+ }
+
+ // Wait for system to stabilize itself
+ ACE_OS::sleep (interval);
+
+
+ // The loop in which UpdateData is called
+ while (!terminating ())
+ {
+
+ //ACE_DEBUG ((LM_DEBUG , "=The Terminate is %d\n", terminate_flag_));
+
+
+ // if monitoring of cpu is enable , monitor , else dont do
+ // anything
+ ::Deployment::Domain* domain;
+
+ if (monitor_cpu_usage_)
+ domain = monitor_->get_current_data ();
+ else
+ domain = &initial_domain_;
+
+
+
+ // ****** add component data *******************
+
+ NodeManager_Impl_Base::Component_Ids cids =
+ node_mgr_->get_component_detail ();
+
+ // Here save the old resource length
+ int counter = domain->node[0].resource.length ();
+
+ // if pid is already added , dont add
+ if (add_component_pid_)
+ {
+ // then add more resource element to the
+ // domain structure
+ // ACE_DEBUG ((LM_DEBUG , "Going to add CID/PID data\n"));
+ int new_res_size = domain->node[0].resource.length () +
+ cids.cid_seq_.size ();
+
+ domain->node[0].resource.length (new_res_size);
+
+ ACE_Unbounded_Set_Iterator<ACE_CString> iter (cids.cid_seq_);
+
+ for (iter = cids.cid_seq_.begin ();
+ iter != cids.cid_seq_.end ();
+ iter++,counter++)
+ {
+ domain->node[0].resource[counter].name =
+ CORBA::string_dup ("Component");
+ domain->node[0].resource[counter].resourceType.length (0);
+
+ // Have one property for now
+ domain->node[0].resource[counter].property.length (1);
+ domain->node[0].resource[counter].property[0].name =
+ CORBA::string_dup ((*iter).c_str ());
+ domain->node[0].resource[counter].property[0].kind =
+ ::Deployment::Quantity;
+ domain->node[0].resource[counter].property[0].dynamic =
+ 0;
+ domain->node[0].resource[counter].property[0].value <<=
+ CORBA::Long (cids.process_id_);
+
+ // ACE_DEBUG ((LM_DEBUG , "The process id is [%d]\n",
+ // CORBA::Long (cids.process_id_)));
+ }
+ // set the add_component_pid_ to 0
+ add_component_pid_ = 0;
+ }
+
+ //******add compoennt data
+
+ monitor_callback->update_data (*domain);
+
+ // data will be updated in intervals of 10 secs.
+ // in the latest version of spec , this value will
+ // come from Execution Manager
+ ACE_OS::sleep (interval);
+
+ }
+ monitor_->stop ();
+ }
+
+ // here delete the monitor object before
+ // unloading the library
+ monitor_.reset ();
+
+ // unload the library
+ dll.close ();
+
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , "CIAO::Monitor::Terminating Monitor\n"));
+ }
+ return 0;
+}
+
+CIAO::MonitorController::~MonitorController ()
+{
+ terminate ();
+ wait ();
+}
+
+void CIAO::MonitorController::terminate ()
+{
+ // make the terminate flag false
+ ACE_GUARD (ACE_SYNCH_MUTEX,
+ guard,
+ lock_
+ );
+ //ACE_DEBUG ((LM_DEBUG , "WITHIN TERMINATE CALL ......\n"));
+ terminate_flag_=1;
+}
+
+bool CIAO::MonitorController::terminating ()
+{
+ ACE_GUARD_RETURN (ACE_SYNCH_MUTEX,
+ guard,
+ lock_,
+ 0
+ );
+ return terminate_flag_;
+}
diff --git a/TAO/CIAO/DAnCE/NodeManager/MonitorController.h b/TAO/CIAO/DAnCE/NodeManager/MonitorController.h
new file mode 100644
index 00000000000..83714d682ef
--- /dev/null
+++ b/TAO/CIAO/DAnCE/NodeManager/MonitorController.h
@@ -0,0 +1,125 @@
+// $Id$
+
+//---------------------------------------------------------------------------------
+/**
+ * @file MonitorController.h
+ *
+ * @brief The Monitor Controller class.
+ *
+ * This class is invoked by the Nodemanager object and it
+ * in turn loads the proper Monitor which is strategised.
+ *
+ * @author Nilabja Roy
+ */
+//----------------------------------------------------------------------------------
+#ifndef MONITOR_CONTROLLER_H
+#define MONITOR_CONTROLLER_H
+
+#include "NodeManager_svnt_export.h"
+#include "Deployment_BaseC.h"
+
+#include "TargetManager/TargetManagerC.h"
+#include "ace/Task.h"
+#include "ace/Auto_Ptr.h"
+
+#include "ace/Synch_Traits.h"
+#include "ace/Synch.h"
+
+
+/**
+ * @namespace CIAO
+ *
+ * @brief The top level CIAO namespace
+ *
+ */
+
+namespace CIAO
+{
+
+ class MonitorBase;
+
+ class NodeManager_Impl_Base;
+
+ /**
+ * @class MonitorController
+ *
+ * @brief The Controller class
+ *
+ * Acts as a facade to the Monitor
+ * module
+ *
+ */
+ class NodeManager_svnt_Export MonitorController : public ACE_Task_Base
+ {
+ public:
+ /**
+ * @function svc.
+ * @brief The main function containing the
+ * entire activity.
+ *
+ * This function runs in the context of the
+ * thread
+ * @return int The status of the function
+ */
+ int svc (void);
+ /**
+ * @function terminate.
+ * @brief The terminate function
+ *
+ * This function is called to terminate the
+ * thread
+ */
+ void terminate ();
+
+
+ /// The Constructor.
+ MonitorController (CORBA::ORB_ptr orb,
+ ::Deployment::Domain& domain,
+ ::Deployment::TargetManager_ptr target,
+ ::CIAO::NodeManager_Impl_Base* node_mgr
+ );
+
+ ~MonitorController ();
+ protected:
+
+ /**
+ * @function terminating.
+ * @brief returns the terminating flag
+ * @return bool The terminting state of the thread
+ */
+ bool terminating ();
+
+ /// The monitor object
+ auto_ptr <MonitorBase> monitor_;
+
+ /// The TargetManagerImpl object
+ CIAO::TargetManagerImpl_var target_impl_cmp_;
+
+ /// The TargetManager Facet ....
+ Deployment::TargetManager_var target_facet_i_;
+
+ /// The terminate flag_
+ bool terminate_flag_;
+
+ //Thread Mutex for synchronizing call
+ ACE_SYNCH_MUTEX lock_;
+
+ // the ORB pointer ..
+ CORBA::ORB_ptr orb_;
+
+ /// The initial domain
+ ::Deployment::Domain initial_domain_;
+
+ /// The Node Manager
+ ::CIAO::NodeManager_Impl_Base* node_mgr_;
+
+ /// flag tells ; what to monitor
+ bool monitor_cpu_usage_;
+
+ /// TO add component pid or not ..
+ bool add_component_pid_;
+ };
+
+} // CIAO
+
+#endif
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/HTTP_Handler.cpp b/TAO/CIAO/DAnCE/RepositoryManager/HTTP_Handler.cpp
new file mode 100644
index 00000000000..ffd85ca1ebf
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/HTTP_Handler.cpp
@@ -0,0 +1,203 @@
+// $Id$
+
+// HTTP_Handler.cpp, Stoyan
+
+#include "HTTP_Handler.h"
+#include "ace/OS_NS_stdio.h"
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_strings.h"
+
+// Empty constructor for compliance with new Connector behavior.
+HTTP_Handler::HTTP_Handler (void)
+{
+}
+
+// Always use this constructor
+HTTP_Handler::HTTP_Handler (ACE_Message_Block * mb,
+ ACE_TCHAR *filename) :
+ mb_ (mb),
+ filename_ (ACE_OS::strdup (filename)),
+ bytecount_ (0)
+{
+}
+
+HTTP_Handler::~HTTP_Handler (void)
+{
+ if (filename_)
+ {
+ ACE_OS::free (filename_);
+ filename_ = 0;
+ }
+}
+
+// Called by Connector after connection is established
+int
+HTTP_Handler::open (void *)
+{
+ if (this->send_request () != 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "HTTP_Handler::open():send_request failed\n"), -1);
+
+ if (this->receive_reply () != 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "HTTP_Handler::open():receive_reply failed\n"), -1);
+ return 0;
+
+}
+
+// No-op
+int
+HTTP_Handler::close (u_long)
+{
+ return 0;
+}
+
+// Always overridden by the derived classes
+int
+HTTP_Handler::send_request (void)
+{
+ return -1;
+}
+
+// Always overridden by the derived classes
+int
+HTTP_Handler::receive_reply (void)
+{
+ return -1;
+}
+
+// used to retrieve the number of bytes read/written by the
+// last operation on the Blob
+size_t
+HTTP_Handler::byte_count (void)
+{
+ return bytecount_;
+}
+
+// Reader **************************************************
+
+HTTP_Reader::HTTP_Reader (ACE_Message_Block * mb,
+ ACE_TCHAR *filename,
+ const char *request_prefix,
+ const char *request_suffix) :
+ HTTP_Handler (mb, filename),
+ request_prefix_ (request_prefix),
+ request_suffix_ (request_suffix)
+{
+}
+
+// Send the HTTP request
+int
+HTTP_Reader::send_request (void)
+{
+ char mesg [MAX_HEADER_SIZE];
+
+ // Check to see if the request is too big
+ if (MAX_HEADER_SIZE < (ACE_OS::strlen (request_prefix_)
+ + ACE_OS::strlen (filename_)
+ + ACE_OS::strlen (request_suffix_) + 4))
+ ACE_ERROR_RETURN((LM_ERROR,"Request too large!"), -1);
+
+ // Create a message to send to the server requesting retrieval of the file
+ int len = ACE_OS::sprintf (mesg, "%s %s %s", request_prefix_, filename_, request_suffix_);
+
+ // Send the message to server
+ if (peer ().send_n (mesg, len) != len)
+ ACE_ERROR_RETURN((LM_ERROR,"Error sending request\n"), -1);
+
+
+ return 0;
+}
+
+// Recieve the HTTP Reply
+int
+HTTP_Reader::receive_reply (void)
+{
+ size_t num_recvd = 0;
+ char buf [MTU+1];
+ char *buf_ptr = 0;
+ size_t bytes_read = 0;
+
+ // Receive the first MTU bytes and strip the header off.
+ // Note that we assume that the header will fit into MTU bytes.
+
+ if (peer ().recv_n (buf, MTU, 0, &num_recvd) >= 0)
+ {
+ //Make sure that response type is 200 OK
+ if (ACE_OS::strstr (buf,"200 OK") == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "HTTP_Reader::receiveReply(): Response is not 200 OK\n" ), -1);
+
+ // Search for the header termination string "\r\n\r\n", or "\n\n". If
+ // found, move past it to get to the data portion.
+ if ((buf_ptr = ACE_OS::strstr (buf,"\r\n\r\n")) != 0)
+ buf_ptr += 4;
+ else if ((buf_ptr = ACE_OS::strstr (buf, "\n\n")) != 0) //for compatibility with JAWS
+ buf_ptr += 2;
+ else
+ buf_ptr = buf;
+
+ // Determine number of data bytes read. This is equal to the
+ // total bytes read minus number of header bytes.
+ bytes_read = num_recvd - (buf_ptr - buf);
+
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "HTTP_Reader::receiveReply():Error while reading header\n"), -1);
+
+ // ***************************************************************
+ // At this point, we have stripped off the header and are ready to
+ // process data. buf_ptr points to the data
+
+ //set the size of the ACE_Message_Block to the current bytes read
+ //NOTE: this function reallocates if necessary
+ //this->mb_->size (bytes_read);
+
+ ACE_Message_Block* temp; //pointer used temporarily
+ //for memory allocations before
+ //chaining to Message_Block
+
+ ACE_Message_Block* curr = this->mb_;
+
+ ACE_NEW_RETURN (temp, ACE_Message_Block (bytes_read), -1);
+ curr->cont (temp);
+
+ curr = curr->cont ();
+
+ // Copy over all the data bytes into our message buffer.
+ if (curr->copy (buf_ptr, bytes_read) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n",
+ "HTTP_Reader::receiveReply():Error copying data into Message_Block\n" ), -1);
+
+ //read the rest of the data into a number of ACE_Message_Blocks and
+ //chain them together in a link list fashion
+
+ num_recvd = 0;
+
+ do
+ {
+ if (curr->space () == 0)
+ {
+ ACE_NEW_RETURN (temp, ACE_Message_Block (MTU), -1);
+ curr->cont (temp);
+ curr = curr->cont ();
+ }
+
+ if (peer ().recv_n (curr->wr_ptr (), curr->space (), 0, &num_recvd) >= 0)
+ {
+ //move the write pointer
+ curr->wr_ptr (num_recvd);
+
+ //increment bytes_read
+ bytes_read += num_recvd;
+
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "HTTP_Reader::receiveReply():Error while reading header\n"), -1);
+
+ }while (num_recvd != 0);
+
+ // Set the byte count to number of bytes received
+ this->bytecount_ = bytes_read;
+
+ return 0;
+}
+
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/PC_Updater.cpp b/TAO/CIAO/DAnCE/RepositoryManager/PC_Updater.cpp
new file mode 100644
index 00000000000..b80dfa606f1
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/PC_Updater.cpp
@@ -0,0 +1,267 @@
+// $Id$
+
+#include "ace/Log_Msg.h"
+#include "ciao/Deployment_DataC.h"
+#include "PC_Updater.h"
+#include "PC_Updater_T.h"
+#include "ace/Containers_T.h" //for ACE_Double_Linked_List
+
+
+#include <iostream>
+using namespace std;
+
+namespace
+{
+ const size_t TEMP_LEN = 1024;
+}
+
+using namespace PC_Updater_T;
+
+
+ //PATH of glory/gory to update the locations of the IADs
+ //
+ //PackageConfiguration something;
+ //ComponentPackageDescriptions basePackage;
+ //PackagedComponentImplementations implementation;
+ //ComponentImplementationDescription referencedImplementation;
+ //
+ //MONOLITHIC Component:
+ //MonolithicImplementationDescriptions monolithicImpl;
+ //NamedImplementationArtifacts primaryArtifact;
+ //ImplementationArtifactDescription referencedArtifact;
+ //::CORBA::StringSeq location;
+ //
+ //ASSEMBLY-BASED Component
+ //ComponentAssemblyDescriptions assemblyImpl;
+ //SubcomponentInstantiationDescriptions instance;
+ //ComponentPackageDescriptions package;
+ //...
+
+
+ /*
+ * PC_Updater Constructors
+ */
+
+PC_Updater::PC_Updater (const char* server_path, const char* package)
+: server_path_ (server_path),
+ file_list_ (),
+ package_ (package),
+ success_ (true)
+{
+}
+
+
+PC_Updater::PC_Updater (ACE_CString& server_path, ACE_CString& package)
+: server_path_ (server_path),
+ file_list_ (),
+ package_ (package),
+ success_ (true)
+{
+}
+
+ /*
+ * PC_Updater - Destructor
+ */
+
+PC_Updater::~PC_Updater ()
+{
+ this->clear_list ();
+}
+
+
+void PC_Updater::clear_list ()
+{
+ while (!this->file_list_.is_empty ())
+ {
+ ZIP_File_Info* inf = this->file_list_.delete_head ();
+
+ //deallocate the head of the filename list
+ delete inf;
+ }
+}
+
+
+ /*
+ * PC_Updater - Object update methods
+ */
+
+
+ // PackageConfiguration
+
+ bool PC_Updater::update (const ::Deployment::PackageConfiguration &pc)
+ {
+ //get the list of files in the package and figure out the names of all necessary files
+ if (!ZIP_Wrapper::file_list_info (const_cast <char*> (this->package_.c_str ()), this->file_list_))
+ return false;
+
+ update_sequence (pc.basePackage, this);
+
+ return this->success_;
+ }
+
+
+ // ComponentInterfaceDescription
+
+ void PC_Updater::update (const ::Deployment::ComponentInterfaceDescription &cid)
+ {
+ }
+
+ // Requirement
+
+ void PC_Updater::update (const ::Deployment::Requirement &req)
+ {
+ }
+
+
+ // ComponentExternalPortEndpoint
+
+ void PC_Updater::update (const ::Deployment::ComponentExternalPortEndpoint &cepe)
+ {
+ }
+
+
+
+ // ImplementationDependency
+
+ void PC_Updater::update(const Deployment::ImplementationDependency &id)
+ {
+ }
+
+ // ComponentPackageReference
+
+ void PC_Updater::update (const ::Deployment::ComponentPackageReference &cpr)
+ {
+ }
+
+ // SubcomponentInstantiationDescription
+
+ void PC_Updater::update (const ::Deployment::SubcomponentInstantiationDescription &sid)
+ {
+ update_sequence (sid.basePackage, this);
+ }
+
+ // SubcomponentPortEndpoint
+
+ void PC_Updater::update (const ::Deployment::SubcomponentPortEndpoint& spe)
+ {
+ }
+
+ // AssemblyConnectionDescription
+
+ void PC_Updater::update (const ::Deployment::AssemblyConnectionDescription &acd)
+ {
+ }
+
+
+ // AssemblyPropertyMapping
+
+ void
+ PC_Updater::update (const ::Deployment::AssemblyPropertyMapping &apm)
+ {
+ }
+
+ // ComponentAssemblyDescription
+
+ void PC_Updater::update (const ::Deployment::ComponentAssemblyDescription& cad)
+ {
+ update_sequence (cad.instance, this);
+ }
+
+ // ImplementationArtifactDescription
+
+ void PC_Updater::update (const ::Deployment::ImplementationArtifactDescription &iad)
+ {
+ bool found = false;
+
+ //cout << "label: " << iad.label << endl;
+ //cout << "location: " << CORBA::string_dup (iad.location[0].in ()) << endl;
+
+ ACE_Double_Linked_List_Iterator<ZIP_File_Info> iter (this->file_list_);
+ char str [TEMP_LEN];
+
+ while (!iter.done ())
+ {
+ ACE_OS::strncpy ( str, iter.next ()->name_.c_str (), TEMP_LEN);
+ //weird. Need to call next to get current ?!?!
+
+ const char* name;
+
+ name = ACE_OS::strstr (str, iad.location[0]);
+
+ if (name)
+ {
+ ACE_CString loc (this->server_path_);
+ loc += name;
+ loc += iad.location[0];
+ loc += ext;
+
+ iad.location[0] = CORBA::string_dup (loc.c_str ());
+
+ //cout << "new location: " << iad.location[0].in () << endl << endl;
+
+ found = true;
+ break;
+ }
+ iter++;
+ }
+
+ if (!found)
+ this->success_ = false;
+ }
+
+ // NamedImplementationArtifact
+
+ void PC_Updater::update (const ::Deployment::NamedImplementationArtifact &nia)
+ {
+ update (nia.referencedArtifact);
+ }
+
+ // ImplementationRequirement
+
+ void PC_Updater::update (const ::Deployment::ImplementationRequirement &ir)
+ {
+ }
+
+ // MonolithicImplementationDescription
+
+ void PC_Updater::update (const ::Deployment::MonolithicImplementationDescription &mid)
+ {
+ update_sequence (mid.primaryArtifact, this);
+ }
+
+ // Capability
+
+ void PC_Updater::update (const ::Deployment::Capability &capability)
+ {
+ }
+
+
+
+ // ComponentImplementationDescription
+
+ void PC_Updater::update (
+ const ::Deployment::ComponentImplementationDescription &cid)
+ {
+ update_sequence (cid.assemblyImpl, this);
+ update_sequence (cid.monolithicImpl, this);
+ }
+
+ // PackagedComponentImplementation
+
+ void PC_Updater::update (const ::Deployment::PackagedComponentImplementation &pci)
+ {
+ PC_Updater::update (pci.referencedImplementation);
+ }
+
+ // ComponentPackageDescription
+
+ void PC_Updater::update (const ::Deployment::ComponentPackageDescription &comppkgdesc)
+ {
+ update_sequence (comppkgdesc.implementation, this);
+ }
+
+
+ // Property
+ void PC_Updater::update (const Deployment::Property& property)
+ {
+ }
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/PC_Updater.h b/TAO/CIAO/DAnCE/RepositoryManager/PC_Updater.h
new file mode 100644
index 00000000000..4396ee22621
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/PC_Updater.h
@@ -0,0 +1,112 @@
+/* -*- C++ -*- */
+
+//========================================================================
+/**
+ * file PC_Updater.h
+ *
+ * $Id$
+ *
+ * This class is used to update the location field of the implementation
+ * artifacts in the PackageConfiguration, so that they point to the
+ * physical libraries on the collocated HTTP server
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+ */
+//========================================================================
+
+#ifndef PC_UPDATER_H
+#define PC_UPDATER_H
+#include /**/ "ace/pre.h"
+
+#include "ciao/DeploymentC.h"
+#include "ace/SString.h" //for the ACE_CString
+
+#include "ZIP_Wrapper.h" //Wrapper around zzip
+#include "ace/Containers_T.h" //for ACE_Double_Linked_List
+#include "ace/Malloc_Allocator.h" //for ACE_New_Allocator needed by the doubly link list
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/**
+ * @class PC_Updater
+ *
+ * This class defines a set of overloaded methods used to update
+ * the contents of a PackageConfiguration. More specifically the class
+ * goes through the PackageConfiguration and updates the locations of the
+ * artifacts, wrt to their location on the HTTP server.
+ */
+class PC_Updater
+{
+public:
+
+ /// Constructors
+
+ PC_Updater (const char* server_path, const char* package);
+ PC_Updater (ACE_CString& server_path, ACE_CString& package);
+
+ ~PC_Updater ();
+
+ /// A whole slew of overloaded routines for different IDL
+ /// data types part of the PackageConfiguration.
+
+ bool update (const ::Deployment::PackageConfiguration &pc);
+
+ void update (const ::Deployment::Property &property);
+
+ void update (const ::Deployment::AssemblyConnectionDescription &acd);
+
+ void update (const ::Deployment::AssemblyPropertyMapping &apm);
+
+ void update (const ::Deployment::ComponentPackageDescription &comppkgdesc);
+
+ void update (const ::Deployment::MonolithicImplementationDescription &mid);
+
+ void update (const ::Deployment::PackagedComponentImplementation &pci);
+
+ void update (const ::Deployment::SubcomponentPortEndpoint &spe);
+
+ void update (const ::Deployment::Requirement &requirement);
+
+ void update (const ::Deployment::ComponentExternalPortEndpoint &cepe);
+
+ void update (const ::Deployment::ComponentPackageReference &cpr);
+
+ void update (const ::Deployment::ComponentImplementationDescription &cid);
+
+ void update (const ::Deployment::SubcomponentInstantiationDescription &sid);
+
+ void update (const ::Deployment::NamedImplementationArtifact &named_implementation);
+
+ void update (const ::Deployment::ComponentInterfaceDescription &cid);
+
+ void update (const ::Deployment::Capability &capability);
+
+ void update (const ::Deployment::ImplementationArtifactDescription &iad);
+
+ void update (const ::Deployment::ImplementationRequirement &ir);
+
+ void update(const Deployment::ImplementationDependency &id);
+
+ void update (const ::Deployment::ComponentAssemblyDescription& cad);
+
+protected:
+
+ void clear_list ();
+
+private:
+
+ ACE_CString server_path_;
+
+ /// create a doubly link list
+ //ACE_New_Allocator allocator_;
+ ACE_Double_Linked_List<ZIP_File_Info> file_list_;
+
+ ACE_CString package_;
+ bool success_;
+};
+
+#include /**/ "ace/post.h"
+
+#endif /* PC_UPDATER_H */
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/PC_Updater_T.cpp b/TAO/CIAO/DAnCE/RepositoryManager/PC_Updater_T.cpp
new file mode 100644
index 00000000000..01fd77a797d
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/PC_Updater_T.cpp
@@ -0,0 +1,21 @@
+// $Id$
+
+#ifndef PC_UPDATER_T_C
+#define PC_UPDATER_T_C
+#include "PC_Updater.h"
+#include "PC_Updater_T.h"
+
+namespace PC_Updater_T
+{
+ /// Dumps a sequence
+ template <typename SEQUENCE>
+ void update_sequence (const SEQUENCE &seq, PC_Updater* updater)
+ {
+ const CORBA::ULong size = seq.length ();
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ updater->update (seq[i]);
+ }
+}
+
+#endif /* PC_Updater_C */
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/README.txt b/TAO/CIAO/DAnCE/RepositoryManager/README.txt
new file mode 100644
index 00000000000..ee8eb6bcdce
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/README.txt
@@ -0,0 +1,30 @@
+This is the README file for the Repository Manager (RM).
+
+In order to be able to compile the RM you need to have ZZIP lib because the Repository
+Manager (RM) uses it to read the contents of CCM packages. ZZIP itself is a C++ wrapper
+around ZLIB, thus you will also need ZLIB. In order to compile the RM successfully
+you will need to do the following:
+
+1. Download ZLIB and ZZIP-LIB
+2. Compile the multi-threaded versions of these libraries
+3. [on Windows] create a separate directory for each library; create an include and a lib
+subdirectory within them. Then copy the libraries files in the library subdirectory.
+Copy zlib.h in the zlib_path/include and copy zziplib.h, zzip-conf.h and zzip-msvc.h
+(for Windows platforms; Linux might have its own file!!!). This step might be easier if
+you find a binary package of the libraries and just install it.
+4. Set $ZLIB_ROOT and $ZZIP_ROOT to point to the directories where you placed the
+libraries and the include files.
+5. Turn on zzip and zlib in default.features for MPC.
+6. MPC will handle the rest.
+
+
+Things to watch out for:
+On Windows make sure that you are linking the right ZIP libraries
+together with the rest of the libraries, i.e. if you are building the debug version of ACE,
+TAO and CIAO, then use the debug version of the ZIP libraries. Otherwise the RM will compile
+but it will not work properly.
+
+to compile the idl with the tao_idl compiler:
+
+tao_idl -GI new_RepositoryManager.idl -I%TAO_ROOT% -I%TAO_ROOT%\tao -I%TAO_ROOT%\orbsvcs -I%CIAO_ROOT%\DAnCE\ciao
+
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/RM_Helper.cpp b/TAO/CIAO/DAnCE/RepositoryManager/RM_Helper.cpp
new file mode 100644
index 00000000000..9c14b6b9608
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/RM_Helper.cpp
@@ -0,0 +1,253 @@
+// $Id$
+
+#include "RM_Helper.h"
+#include "ciao/Packaging_DataC.h" //for the PackageConfiguration declaration
+#include "tao/CDR.h" //for TAO CDR classes
+#include "ace/Message_Block.h" //for ACE_Message_Block
+#include "ace/Auto_Ptr.h" //for Auto_Ptr
+#include "ace/OS_NS_fcntl.h" //for open
+#include "ace/OS_NS_unistd.h" //for close
+#include "ace/OS_NS_sys_stat.h" //for filesize and mkdir
+
+
+void RM_Helper::pc_to_cdr (const Deployment::PackageConfiguration& pc, TAO_OutputCDR& cdr)
+{
+ cdr << pc;
+}
+
+
+void RM_Helper::cdr_to_pc (Deployment::PackageConfiguration& pc, TAO_InputCDR& cdr)
+{
+ cdr >> pc;
+}
+
+
+bool RM_Helper::externalize (const Deployment::PackageConfiguration& pc, const char* path)
+{
+ size_t bufsiz = 0;
+ TAO_OutputCDR out (bufsiz);
+
+ RM_Helper::pc_to_cdr (pc, out);
+
+ const ACE_Message_Block* mb = out.begin ();
+
+ return write_pc_to_disk (path, *(const_cast<ACE_Message_Block*> (mb)));
+}
+
+bool RM_Helper::reincarnate (Deployment::PackageConfiguration& pc, const char* path)
+{
+ size_t length = 0;
+ ACE_Auto_Ptr<ACE_Message_Block> mb (read_pc_from_disk (path, length));
+
+ if (!mb.get ())
+ return false;
+
+ TAO_InputCDR in (mb.get ());
+
+ RM_Helper::cdr_to_pc (pc, in);
+
+ return true;
+}
+
+
+//---------------------------------------------------------------------
+//These are a bit obsolete but until I am sure I will keep them
+
+//This function attempts to write a sequence of bytes to
+//a specified location. A 0 is returned in the case of an error
+//and a 1 upon success
+
+bool RM_Helper::write_to_disk (
+ const char* full_path,
+ const CORBA::Octet* buffer,
+ size_t length
+ )
+{
+
+ // Open a file handle to the local filesystem
+ ACE_HANDLE handle = ACE_OS::open (full_path, O_CREAT | O_TRUNC | O_WRONLY);
+ if (handle == ACE_INVALID_HANDLE)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::write_to_disk] file creation error")),
+ 0);
+
+ //write the data to the file
+ if (ACE_OS::write (handle, buffer, length) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::write_to_disk] file write error")),
+ 0);
+
+ // Close the file handle
+ ACE_OS::close (handle);
+
+ return 1;
+}
+
+
+//This function attempts to write a sequence of bytes from an
+//ACE_Message_Block to a specified location. A 0 is returned
+//in the case of an error and a 1 upon success
+
+bool RM_Helper::write_to_disk (
+ const char* full_path,
+ ACE_Message_Block& mb,
+ bool replace
+ )
+{
+
+ ACE_stat stat;
+
+ if (ACE_OS::stat(full_path, &stat) != -1 && !replace)
+ return 0;
+
+ // Open a file handle to the local filesystem
+ ACE_HANDLE handle = ACE_OS::open (full_path, O_CREAT | O_TRUNC | O_WRONLY);
+ if (handle == ACE_INVALID_HANDLE)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::write_to_disk] file creation error")),
+ 0);
+
+ //write the data to the file
+ for (ACE_Message_Block * curr = &mb; curr != 0; curr = curr->cont ())
+ if (ACE_OS::write_n (handle, curr->rd_ptr(), curr->length()) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("write error")),
+ 0);
+
+ // Close the file handle
+ ACE_OS::close (handle);
+
+ return 1;
+}
+
+
+//This function attempts to write a sequence of bytes from an
+//ACE_Message_Block to a specified location. A 0 is returned
+//in the case of an error and a 1 upon success
+//
+//NOTE: This function write the contents in a way that preserves the
+//structure of the ACE_Message_Block. It is relevant for
+//PackageConfigurations ONLY
+
+
+bool RM_Helper::write_pc_to_disk (
+ const char* full_path,
+ ACE_Message_Block& mb,
+ bool replace
+ )
+{
+
+ ACE_stat stat;
+
+ if (ACE_OS::stat(full_path, &stat) != -1 && !replace)
+ return 0;
+
+ // Open a file handle to the local filesystem
+ ACE_HANDLE handle = ACE_OS::open (full_path, O_CREAT | O_TRUNC | O_WRONLY);
+ if (handle == ACE_INVALID_HANDLE)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::write_to_disk] file creation error")),
+ 0);
+
+ //write the data to the file
+ for (ACE_Message_Block * curr = &mb; curr != 0; curr = curr->cont ())
+ if (ACE_OS::write_n (handle, curr->rd_ptr(), curr->length()) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("write error")),
+ 0);
+
+ // Close the file handle
+ ACE_OS::close (handle);
+
+ return 1;
+}
+
+
+//This function attempts to read a sequence of bytes from a specified
+//location and returns an octet sequence. A 0 is returned
+//in the case of an error and a 1 upon success
+
+CORBA::Octet* RM_Helper::read_from_disk (
+ const char* full_path,
+ size_t &length
+ )
+{
+ //open the file
+ ACE_HANDLE handle = ACE_OS::open (full_path, O_RDONLY);
+ if (handle == ACE_INVALID_HANDLE)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::read_from_disk] file open error")),
+ 0);
+
+ ACE_stat file_info;
+
+ ACE_OS::fstat (handle, &file_info);
+
+ CORBA::Octet* buffer;
+ ACE_NEW_RETURN (buffer, CORBA::Octet[file_info.st_size], 0);
+
+ //read the contents of the file into the buffer
+ if (ACE_OS::read_n (handle, buffer, file_info.st_size) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::read_from_disk] file read error")),
+ 0);
+
+ // Close the file handle
+ ACE_OS::close (handle);
+
+ length = file_info.st_size;
+ return buffer;
+}
+
+
+
+ ///function to read the contents of a file from disk into an ACE_Message_Block
+ ///returns a pointer to an ACE_Message_Block and updates the lenght on success
+ /// 0 on failure
+
+
+ACE_Message_Block* RM_Helper::read_pc_from_disk (
+ const char* full_path,
+ size_t &length
+ )
+{
+ length = 0;
+
+ //open the file
+ ACE_HANDLE handle = ACE_OS::open (full_path, O_RDONLY);
+ if (handle == ACE_INVALID_HANDLE)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::read_mb_from_disk] file open error")),
+ 0);
+
+ ACE_stat file_info;
+
+ ACE_OS::fstat (handle, &file_info);
+
+ ACE_Message_Block* mb;
+ ACE_NEW_RETURN (mb, ACE_Message_Block (file_info.st_size + 1), 0);
+
+ //read the contents of the file into the buffer
+ if (ACE_OS::read_n (handle, mb->wr_ptr (), file_info.st_size) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::read_mb_from_disk] file read error")),
+ 0);
+
+ mb->length (file_info.st_size);
+
+ // Close the file handle
+ ACE_OS::close (handle);
+
+ length = file_info.st_size;
+ return mb;
+}
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/RM_Helper.h b/TAO/CIAO/DAnCE/RepositoryManager/RM_Helper.h
new file mode 100644
index 00000000000..2314295ee78
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/RM_Helper.h
@@ -0,0 +1,100 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file RM_Helper.h
+ *
+ * $Id$
+ *
+ * This class aggregates a number of helper functions used by the
+ * CIAO RepositoryManager
+ *
+ *
+ * @author Stoyan Paunov
+ */
+//=============================================================================
+
+#ifndef RM_HELPER_H_
+#define RM_HELPER_H_
+
+
+#include "ciao/Packaging_DataC.h" //for the PackageConfiguration declaration
+#include "tao/CDR.h" //for TAO CDR classes
+#include "ace/Message_Block.h" //for ACE_Message_Block
+
+//int operator<< (ACE_OutputCDR& cdr, const Deployment::PackageConfiguration& pc);
+//int operator>> (ACE_InputCDR& cdr, Deployment::PackageConfiguration& pc);
+//Similar operators are generated by the IDL compiler
+//
+//Do search for "Deployment::PackageConfiguration &" in Packaging_DataC.cpp
+//
+//::CORBA::Boolean operator<< (
+// TAO_OutputCDR &strm,
+// const Deployment::PackageConfiguration &_tao_aggregate
+//
+//::CORBA::Boolean operator>> (
+// TAO_InputCDR &strm,
+// Deployment::PackageConfiguration &_tao_aggregate
+// )
+
+
+class RM_Helper
+{
+public:
+
+ static void pc_to_cdr (const Deployment::PackageConfiguration& pc, TAO_OutputCDR& cdr);
+
+ static void cdr_to_pc (Deployment::PackageConfiguration& pc, TAO_InputCDR& cdr);
+
+ static bool externalize (const Deployment::PackageConfiguration& pc, const char* path);
+
+ static bool reincarnate (Deployment::PackageConfiguration& pc, const char* path);
+
+ ///function that writes out a file to a specified location on the hard disk
+ ///returns 1 on success
+ /// 0 on error
+
+ static bool write_to_disk (const char* full_path,
+ const CORBA::Octet* buffer,
+ size_t length
+ );
+
+
+ ///function that writes out a file to a specified location on the hand disk
+ ///returns 1 on success
+ /// 0 on already exists and replace == false
+ /// 0 on error
+
+ static bool write_to_disk (const char* full_path,
+ ACE_Message_Block& mb,
+ bool replace = true
+ );
+
+ ///function that writes out a file to a specified location on the hand disk
+ ///returns 1 on success
+ /// 0 on already exists and replace == false
+ /// 0 on error
+ ///
+ ///NOTE: This function is relevant for PackageConfigurations ONLY
+
+ static bool write_pc_to_disk (const char* full_path,
+ ACE_Message_Block& mb,
+ bool replace = true
+ );
+
+ ///function to read the contents of a file from disk into a CORBA::OctetSeq
+ ///returns a pointer to a CORBA::Octet buffer and updates the lenght on success
+ /// 0 on failure
+
+ static CORBA::Octet* read_from_disk (const char* full_path, size_t &length);
+
+ ///function to read the contents of a file from disk into an ACE_Message_Block
+ ///returns a pointer to an ACE_Message_Block and updates the lenght on success
+ /// 0 on failure
+
+
+ static ACE_Message_Block* read_pc_from_disk (const char* full_path, size_t &length);
+
+};
+
+#endif
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/RMadmin.cpp b/TAO/CIAO/DAnCE/RepositoryManager/RMadmin.cpp
new file mode 100644
index 00000000000..60d90c29bc9
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/RMadmin.cpp
@@ -0,0 +1,273 @@
+/* -*- C++ -*- */
+
+/***
+ * file RMClient.cpp
+ *
+ * $Id$
+ *
+ * A sample client to the RepositoryManager showcasing how to use it
+ *
+ * author Stoyan Paunov <spaunov@isis.vanderbilt.edu>
+ **/
+
+#include "RepositoryManagerDaemonC.h"
+#include "Options.h"
+
+#include "ace/OS_NS_fcntl.h" //for open
+#include "ace/OS_NS_unistd.h" //for close
+#include "ace/OS_NS_sys_stat.h" //for filesize and fstat and mkdir
+
+#include "Config_Handlers/DnC_Dump.h"
+
+#include <iostream>
+using namespace std;
+
+#include "RM_Helper.h" //to be able to externalize/internalize a PackageConfiguration
+#include "tao/CDR.h" //for TAO CDR classes
+#include "ace/Message_Block.h" //for ACE_Message_Block
+
+
+
+//IOR file of the RM
+const char * ior = "file://RepositoryManagerDeamon.ior";
+
+
+///=============================COUPLE OF HELPER METHORS==================================
+CORBA::Octet* read_from_disk (
+ const char* full_path,
+ size_t &length
+ );
+
+int write_to_disk (
+ const char* full_path,
+ const CORBA::Octet* buffer,
+ size_t length
+ );
+///========================================================================================
+
+
+///main function that provides a sample interface for RM clients
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv,
+ ""ACE_ENV_ARG_PARAMETER);
+
+ ACE_TRY_CHECK;
+
+
+ CORBA::Object_var obj =
+ orb->string_to_object (ior
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CIAO::RepositoryManagerDaemon_var rm =
+ CIAO::RepositoryManagerDaemon::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (rm.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to acquire RepositoryManagerDaemon's objref\n"),
+ -1);
+ }
+
+
+ Options* options = TheOptions::instance ();
+ if (!options->parse_args (argc, argv))
+ return -1;
+
+ if (options->shutdown_)
+ {
+ rm->shutdown ();
+ }
+ else if (options->all_names_)
+ {
+ try
+ {
+ CORBA::StringSeq_var seq = rm->getAllNames ();
+ cout << "Known Names:\n";
+ cout << "Seq length () : " << seq->length () << endl;
+ for (size_t i = 0;
+ i < seq->length ();
+ ++i)
+ cout << seq[i] << endl;
+ }
+ catch (CORBA::Exception & ex)
+ {
+ cout << "\nException caught!" << ex << "\n";
+ return 0;
+ }
+ }
+ else if (options->all_types_)
+ {
+ try
+ {
+ CORBA::StringSeq_var seq = rm->getAllTypes ();
+ cout << "Known Component Interface Types:\n";
+ for (size_t i = 0;
+ i < seq->length ();
+ ++i)
+ cout << seq[i] << endl;
+ }
+ catch (CORBA::Exception & ex)
+ {
+ cout << "\nException caught!" << ex << "\n";
+ return 0;
+ }
+ }
+ else if (options->uuid_ != "" && options->names_by_type_)
+ {
+ try
+ {
+ CORBA::StringSeq_var seq = rm->findNamesByType (options->uuid_.c_str ());
+ cout << "Known Component Interface Types:\n";
+ for (size_t i = 0;
+ i < seq->length ();
+ ++i)
+ cout << seq[i] << endl;
+ }
+ catch (CORBA::Exception & ex)
+ {
+ cout << "\nException caught!" << ex << "\n";
+ return 0;
+ }
+
+ }
+ else if (options->install_)
+ {
+ try
+ {
+ rm->installPackage (options->name_.c_str (), options->path_.c_str ());
+ }
+ catch (CORBA::Exception & ex)
+ {
+ cout << "\nException caught!" << ex << "\n";
+ return 0;
+ }
+
+ cout << "\nReassuring that the package in the repository ..." << endl;
+ try
+ {
+ Deployment::PackageConfiguration_var pc = rm->findPackageByName (options->name_.c_str ());
+ cout << "The package was found!" << endl;
+ cout << "Label: " << pc->label << endl;
+ cout << "UUID: " << pc->UUID << endl;
+ }
+ catch (CORBA::Exception &)
+ {
+ cout << "\nError! Package not found!" << endl;
+ }
+ }
+ else if (options->delete_)
+ {
+ try
+ {
+ rm->deletePackage (options->name_.c_str ());
+ cout << options->name_.c_str () << " deleted" << endl;
+ }
+ catch (CORBA::Exception & ex)
+ {
+ cout << "\nException: " << ex << endl;
+ }
+
+ }
+ else if (options->find_)
+ {
+ if (options->name_ != "")
+ {
+ Deployment::PackageConfiguration_var pc = rm->findPackageByName (options->name_.c_str ());
+ cout << "The package was found!" << endl;
+ Deployment::DnC_Dump::dump (pc);
+ }
+ else
+ {
+ Deployment::PackageConfiguration_var pc = rm->findPackageByUUID (options->uuid_.c_str ());
+ cout << "The package was found!" << endl;
+ Deployment::DnC_Dump::dump (pc);
+ }
+ }
+
+ orb->shutdown (1);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Unknown exception \n");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
+
+
+
+CORBA::Octet* read_from_disk (
+ const char* full_path,
+ size_t &length
+ )
+{
+ //open the file
+
+ ACE_HANDLE handle = ACE_OS::open (full_path, O_RDONLY);
+ if (handle == ACE_INVALID_HANDLE)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::read_from_disk] file open error")),
+ 0);
+
+ ACE_stat file_info;
+
+ ACE_OS::fstat (handle, &file_info);
+
+ CORBA::Octet* buffer = 0;
+ ACE_NEW_RETURN (buffer, CORBA::Octet[file_info.st_size], 0);
+
+ // read the contents of the file into the buffer
+ if (ACE_OS::read_n (handle, buffer, file_info.st_size) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::write_to_disk] file write error")),
+ 0);
+
+ // Close the file handle
+ ACE_OS::close (handle);
+
+ length = file_info.st_size;
+ return buffer;
+}
+
+
+int write_to_disk (
+ const char* full_path,
+ const CORBA::Octet* buffer,
+ size_t length
+ )
+{
+ // Open a file handle to the local filesystem
+ ACE_HANDLE handle = ACE_OS::open (full_path, O_CREAT | O_TRUNC | O_WRONLY);
+ if (handle == ACE_INVALID_HANDLE)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::write_to_disk] file creation error")),
+ -1);
+
+ //write the data to the file
+ if (ACE_OS::write (handle, buffer, length) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("[RM::write_to_disk] file write error")),
+ -1);
+
+ // Close the file handle
+ ACE_OS::close (handle);
+
+ return 1;
+}
+
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager.cpp b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager.cpp
new file mode 100644
index 00000000000..813ee79f1cd
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager.cpp
@@ -0,0 +1,165 @@
+/* -*- C++ -*- */
+
+//======================================================================
+/**
+ * @file RepositoryManager.cpp
+ *
+ * $Id$
+ *
+ * Description:
+ * Main driver program for the CIAO RepositoryManager
+ * Please run as follows:
+ * RepositoryManagerDeamon [int:nthreads]
+ *
+ * @author Stoyan Paunov
+ */
+//======================================================================
+
+#include "RepositoryManager_Impl.h"
+#include "ace/OS_NS_stdio.h"
+#include "ace/streams.h"
+#include "ace/Auto_Ptr.h"
+#include "ace/Task.h"
+using namespace std;
+
+namespace
+{
+/// Name of the file holding the IOR of the RM
+const char * rm_ior = "RepositoryManagerDeamon.ior";
+
+/// Default number of worker threads to run in the multi-threaded RM
+unsigned int nthreads = 3;
+}
+
+
+/**
+ * @class Worker
+ *
+ * Class that implements the service routine of the worker threads
+ * of the repository manager
+ */
+class Worker : public ACE_Task_Base
+{
+public:
+ /// ctor
+ Worker (CORBA::ORB_ptr orb);
+
+ /// The thread entry point.
+ virtual int svc (void);
+
+private:
+ /// The orb
+ CORBA::ORB_var orb_;
+};
+
+
+///Main function
+
+int
+ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ try
+ {
+ //init the ORB
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
+
+ //Get the root POA object
+ CORBA::Object_var obj = orb->resolve_initial_references ("RootPOA");
+
+ //downcast to POA type
+ PortableServer::POA_var root_poa = PortableServer::POA::_narrow (obj.in ());
+
+ //activate the POA manager
+ PortableServer::POAManager_var mgr = root_poa->the_POAManager ();
+ mgr->activate ();
+
+ //create a servant
+ CIAO_RepositoryManagerDaemon_i* repo;
+ ACE_NEW_RETURN (repo, CIAO_RepositoryManagerDaemon_i (orb.in ()), 1);
+
+ //trasfer ownership to the POA
+ PortableServer::ServantBase_var distributor_owner_transfer(repo);
+
+ //register and implicitly activate servant
+ CIAO::RepositoryManagerDaemon_var RepositoryManagerDeamon = repo->_this ();
+
+ //convert the IOR to string
+ CORBA::String_var ior = orb->object_to_string (RepositoryManagerDeamon.in ());
+
+ //output the IOR to a file
+ FILE* ior_out = ACE_OS::fopen (rm_ior, "w");
+
+ if (ior_out == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ rm_ior),
+ 1);
+
+ ACE_OS::fprintf (ior_out, "%s", ior.in ());
+ ACE_OS::fclose (ior_out);
+
+ if (argc > 1)
+ nthreads = ACE_OS::atoi (argv[1]);
+
+ Worker worker (orb.in ());
+ if (worker.activate (THR_NEW_LWP | THR_JOINABLE, nthreads) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot activate worker threads\n"),
+ 1);
+
+ worker.thr_mgr ()->wait ();
+
+ ACE_DEBUG ((LM_DEBUG, "event loop finished\n"));
+
+ //done
+ return 0;
+
+ //Start accepting requests
+ orb->run ();
+
+ //allow objects registered with the POA ot get cleaned-up
+ root_poa->destroy (1, 1);
+
+ //shutdown the orb
+ orb->shutdown (1);
+
+ return 0;
+ }
+ catch (CORBA::Exception &ex) {
+ cerr << "CORBA Exception: " << ex << endl;
+
+ return 1;
+ }
+
+
+ return 0;
+}
+
+
+
+// ****************************************************************
+
+///Constuctor for the worker class
+Worker::Worker (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+///implementation of the service routine inherited from ACE::Task_Base
+
+int Worker::svc (void)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManagerDaemon.idl b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManagerDaemon.idl
new file mode 100644
index 00000000000..f86e14c1c8b
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManagerDaemon.idl
@@ -0,0 +1,13 @@
+// $Id$
+
+#include "RepositoryManager.idl"
+
+module CIAO
+{
+ interface RepositoryManagerDaemon : Deployment::RepositoryManager
+ {
+ // Shutdown the daemon process.
+ oneway void shutdown ();
+ };
+};
+
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/URL_Parser.cpp b/TAO/CIAO/DAnCE/RepositoryManager/URL_Parser.cpp
new file mode 100644
index 00000000000..7eed65dafbb
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/URL_Parser.cpp
@@ -0,0 +1,103 @@
+// $Id$
+
+#include "ace/Get_Opt.h"
+#include "ace/ARGV.h"
+#include "URL_Parser.h"
+
+#include "ace/OS_NS_string.h"
+
+bool
+URL_Parser::parse_args (int argc, ACE_TCHAR *argv[])
+{
+ ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("rwu:h:p:f:d"));
+
+ bool success = true;
+ int c;
+
+ while ((c = get_opt ()) != -1)
+ switch (c)
+ {
+ case 'd':
+ this->debug_ = 1;
+ break;
+ case 'u':
+ success = parseURL (get_opt.opt_arg ());
+ break;
+ // Usage fallthrough.
+ default:
+ success = false;
+ }
+ if (this->hostname_ == 0 || this->filename_ == 0)
+ success = false;
+
+ return success;
+}
+
+URL_Parser::URL_Parser (void)
+ : hostname_ ("127.0.0.1"),
+ port_ (ACE_DEFAULT_HTTP_SERVER_PORT),
+ filename_ (0),
+ debug_ (0)
+{
+}
+
+bool URL_Parser::parseURL (char* url)
+{
+ char* ptr;
+ bool success = true;
+
+ if (ptr = ACE_OS::strstr (url, "http://"))
+ url += ACE_OS::strlen ("http://");
+
+ if (url[0] == '/')
+ {
+ this->filename_ = ACE_OS::strdup (url);
+ }
+ else
+ {
+ if (ptr = ACE_OS::strstr (url, ":"))
+ this->port_ = ACE_OS::atoi (ptr + 1);
+ else
+ ptr = ACE_OS::strstr (url, "/");
+
+ if(!ptr)
+ success = false;
+ else
+ {
+ size_t host_len = ptr - url;
+ ACE_NEW_RETURN (this->hostname_, char [host_len + 1], false);
+ ACE_OS::strncpy (this->hostname_, url, host_len);
+ this->hostname_ [host_len] = '\0';
+
+ if (ptr = ACE_OS::strstr (ptr, "/"))
+ {
+ this->filename_ = ACE_OS::strdup(ptr);
+ }
+ else
+ success = false;
+ }
+ }
+ return success;
+}
+
+
+void URL_Parser::Error (void)
+{
+ ACE_DEBUG ((LM_DEBUG, "./http_client -u http://hostname:port/filename [-d]\n"));
+
+}
+
+
+ URL_Parser::~URL_Parser()
+ {
+ if(this->hostname_)
+ {
+ delete [] this->hostname_;
+ this->hostname_ =0;
+ }
+ if (this->filename_)
+ {
+ ACE_OS::free (this->filename_);
+ this->filename_ = 0;
+ }
+ }
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/URL_Parser.h b/TAO/CIAO/DAnCE/RepositoryManager/URL_Parser.h
new file mode 100644
index 00000000000..aaaeab4960c
--- /dev/null
+++ b/TAO/CIAO/DAnCE/RepositoryManager/URL_Parser.h
@@ -0,0 +1,68 @@
+
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file URL_Parser.h
+ *
+ * $Id$
+ *
+ * Parses a URL into its logical chunks
+ *
+ *
+ * @author Stoyan Paunov
+ */
+//=============================================================================
+
+
+#ifndef URL_PARSER_H
+#define URL_PARSER_H
+
+#include "ace/Get_Opt.h"
+#include "ace/ARGV.h"
+#include "ace/Singleton.h" //for ACE_Singleton
+#include "ace/Null_Mutex.h" //for ACE_Null_Mutex
+
+//forward declaration
+class URL_Parser;
+
+typedef ACE_Singleton <URL_Parser, ACE_Null_Mutex> TheURL_Parser;
+
+
+class URL_Parser
+{
+public:
+
+ friend class ACE_Singleton <URL_Parser, ACE_Null_Mutex>;
+
+ /// parses commandline arguments
+ bool parse_args (int argc, ACE_TCHAR *argv[]);
+
+ //return false on failure
+ bool parseURL (char* url);
+
+ void Error (void);
+
+ /// Hostname to connect to
+ ACE_TCHAR *hostname_;
+
+ /// Port number to use
+ u_short port_;
+
+ /// Filename to upload/download
+ ACE_TCHAR *filename_;
+
+ /// turns on verbosity
+ int debug_;
+
+ //destructor
+ ~URL_Parser (void);
+
+protected:
+ URL_Parser (void);
+ // protected constructor, singleton
+};
+
+
+
+#endif /* URL_PARSER_H */
diff --git a/TAO/CIAO/DAnCE/StaticConfigurator/README b/TAO/CIAO/DAnCE/StaticConfigurator/README
new file mode 100644
index 00000000000..e42c1099cfd
--- /dev/null
+++ b/TAO/CIAO/DAnCE/StaticConfigurator/README
@@ -0,0 +1,29 @@
+Please see $CIAO_ROOT/docs/static_dance.html for details.
+
+To run the static version of Hello example, do the following,
+
+1. Build ACE+TAO+CIAO statically
+2. Build $CIAO_ROOT/examples/Hello
+3. Generate the static function entrypoints (plan.h)
+ > cd $CIAO_ROOT/examples/Hello/descriptors
+ > $CIAO_ROOT/DAnCE/StaticConfigurator/StaticDAnCEParser -p flattened_deploymentplan_without_ns.cdp
+ > cp plan.h $CIAO_ROOT/DAnCE/StaticConfigurator/
+4. Build the static NodeManager for Hello example
+ > cd $CIAO_ROOT/DAnCE/StaticConfigurator
+ > cp StaticDAnCEApp.cpp.tmpl StaticDAnCEApp.cpp
+ > cp StaticDAnCEApp.mpc.tmpl StaticDAnCEApp.mpc
+ > $ACE_ROOT/bin/mwc.pl
+ > make
+5. Run the static node managers. Note that the ORBEndpoint values should
+ correspond to the ones in $CIAO_ROOT/examples/Hello/descriptors/TestNodeManagerMap.dat
+ > cd $CIAO_ROOT/DAnCE/StaticConfigurator
+ > ./StaticDAnCEApp -ORBEndpoint iiop://localhost:60001 &
+ > ./StaticDAnCEApp -ORBEndpoint iiop://localhost:60002 &
+6. Do the deployment. This is just the same as the non-static version of DAnCE
+ except that we have the NodeManagers already running and need not spawn node
+ managers. To accomplish this, change
+ $CIAO_ROOT/examples/Hello/descriptors/run_test_without_ns.pl
+ to *not* run the node manager daemons and do the following.
+ > cd $CIAO_ROOT/examples/Hello/descriptors
+ > ./run_test_without_ns.pl
+
diff --git a/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEApp.cpp.tmpl b/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEApp.cpp.tmpl
new file mode 100644
index 00000000000..370444d528f
--- /dev/null
+++ b/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEApp.cpp.tmpl
@@ -0,0 +1,119 @@
+// $Id$
+
+#include "Container_Base.h"
+#include "NodeManager/NodeManager_Impl.h"
+#include "ace/OS_NS_stdio.h"
+#include "ace/streams.h"
+#include "ace/Get_Opt.h"
+#include "tao/IORTable/IORTable.h"
+#include "tao/CDR.h"
+#include "plan.h"
+
+int
+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,
+ "");
+ try
+ {
+ // Get reference to Root POA.
+ CORBA::Object_var obj
+ = orb->resolve_initial_references ("RootPOA"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var poa
+ = PortableServer::POA::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Activate POA manager
+ PortableServer::POAManager_var mgr
+ = poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ mgr->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ int homes_table_size =
+ sizeof (homes_table)/sizeof(HomeAttributes);
+
+ CIAO::HOMECREATOR_FUNCPTR_MAP home_creator_fptr_map;
+ CIAO::HOMESERVANTCREATOR_FUNCPTR_MAP homesvnt_creator_fptr_map;
+ CIAO::Static_Config_EntryPoints_Maps static_config_entrypoints_maps;
+ static_config_entrypoints_maps.home_creator_funcptr_map_ = &home_creator_fptr_map;
+ static_config_entrypoints_maps.home_servant_creator_funcptr_map_ = &homesvnt_creator_fptr_map;
+
+ int i=0;
+ for (i=0; i<homes_table_size; ++i)
+ {
+ home_creator_fptr_map.bind (homes_table[i].executor_entrypt_,
+ homes_table[i].executor_fptr_);
+
+ homesvnt_creator_fptr_map.bind (homes_table[i].servant_entrypt_,
+ homes_table[i].servant_fptr_);
+ }
+
+ CIAO::Static_NodeManager_Impl *static_node_manager_impl;
+ // Create and install the CIAO Daemon servant
+
+ ACE_DEBUG ((LM_DEBUG, "creating static_node_manager\n"));
+
+ static_node_manager_impl =
+ new CIAO::Static_NodeManager_Impl("NodeManager",
+ orb.in (),
+ poa.in (),
+ "", //exe location
+ "", //exe options
+ 0, //spawn delay
+ &static_config_entrypoints_maps);
+
+ static_node_manager_impl->init ();
+
+ CORBA::Object_var table_object =
+ orb->resolve_initial_references ("IORTable"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ IORTable::Table_var adapter =
+ IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (adapter.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Nil IORTable\n"), -1);
+
+ CIAO::NodeManager_var manager =
+ static_node_manager_impl->_this ();
+
+ CORBA::String_var str =
+ orb->object_to_string (manager.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ adapter->bind ("NodeManager",
+ str.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Run the main event loop for the ORB.
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ catch (CORBA::Exception& ex)
+ {
+ ACE_PRINT_EXCEPTION (ex, "Caught CORBA Exception: ");
+ return -1;
+ }
+
+ return 0;
+}
diff --git a/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEApp.mpc.tmpl b/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEApp.mpc.tmpl
new file mode 100644
index 00000000000..d237d09ac20
--- /dev/null
+++ b/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEApp.mpc.tmpl
@@ -0,0 +1,24 @@
+// -*- MPC -*-
+// $Id$
+
+project(StaticDAnCEApp): ciao_component_dnc, iortable {
+ exename = StaticDAnCEApp
+ requires += exceptions
+ includes += ../NodeApplicationManager ../NodeManager
+ libs += NodeManager NodeManager_stub NodeApplicationManager
+ after += NodeManager NodeManager_stub NodeApplicationManager
+
+ libs += Hello_Base_DnC_stub
+ libs += Hello_Base_DnC_svnt
+ libs += Receiver_DnC_stub
+ libs += Receiver_DnC_svnt
+ libs += Receiver_DnC_exec
+ libs += Sender_DnC_stub
+ libs += Sender_DnC_svnt
+ libs += Sender_DnC_exec
+
+ Source_Files {
+ StaticDAnCEApp.cpp
+ }
+}
+
diff --git a/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEParser.cpp b/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEParser.cpp
new file mode 100644
index 00000000000..b5a496291d8
--- /dev/null
+++ b/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEParser.cpp
@@ -0,0 +1,162 @@
+//=============================================================================
+/**
+ * @file StaticDAnCEParser.cpp
+ *
+ * $Id$
+ *
+ * This parser is used in static deployment of CIAO components. This
+ * parser parses a deployment plan and generates a header file plan.h
+ * containing information about the home and servant creation
+ * function entry points. This can be used by a Static_NodeManager to
+ * instantiate instances of homes and servants just like the regular
+ * NodeManager. For more details, see
+ * $CIAO_ROOT/DAnCE/StaticConfigurator/docs/static_dance.html
+ *
+ * @author Venkita Subramonian <venkita@cse.wustl.edu>
+ */
+//=============================================================================
+
+#include "NodeApplicationManager/ImplementationInfo.h"
+#include "ace/OS_NS_stdio.h"
+#include "ace/streams.h"
+#include "ace/Get_Opt.h"
+#include "tao/IORTable/IORTable.h"
+#include "tao/CDR.h"
+#include "Config_Handlers/XML_File_Intf.h"
+
+using namespace CIAO;
+
+static void
+usage (const ACE_TCHAR* program)
+{
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Usage: %s -p <package URI>\n"),
+ program));
+}
+
+int
+ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ // top level package URL
+ char* package_url = 0;
+
+ // Initialize the ORB so that CORBA::Any will work
+ //
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ "");
+
+ ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("p:"));
+ int c;
+
+ while ((c = get_opt ()) != EOF)
+ {
+ switch (c)
+ {
+ case 'p':
+ package_url = get_opt.opt_arg ();
+ break;
+
+ default:
+ usage(argv[0]);
+ return -1;
+ }
+ }
+
+ if (package_url == 0) {
+ usage(argv[0]);
+ return -1;
+ }
+
+ CIAO::Config_Handlers::XML_File_Intf intf (package_url);
+
+ ::Deployment::DeploymentPlan_var plan =
+ intf.get_plan ();
+
+ ::Deployment::ComponentPlans dummy;
+ dummy.length (0);
+
+ NodeImplementationInfoHandler handler (plan, dummy);
+
+ Deployment::NodeImplementationInfo * node_impl_info =
+ handler.node_impl_info ();
+
+ if (!node_impl_info)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "DAnCE (%P|%t) StaticParser -"
+ "Failed to create Node Implementation Infos!\n"), 1);
+
+ }
+
+ Deployment::ContainerImplementationInfos& impl_infos = node_impl_info[0].impl_infos;
+
+ FILE* fp = fopen ("plan.h", "w");
+
+ CORBA::ULong i,j,num_containers,num_components;
+ num_containers = impl_infos.length ();
+ for (i = 0; i < num_containers; ++i)
+ {
+ num_components = impl_infos[i].impl_infos.length ();
+ for (j = 0; j < num_components; ++j)
+ {
+ ACE_DEBUG ((LM_DEBUG, "The info for installation: \n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n",
+ impl_infos[i].impl_infos[j].component_instance_name.in (),
+ impl_infos[i].impl_infos[j].executor_dll.in (),
+ impl_infos[i].impl_infos[j].executor_entrypt.in (),
+ impl_infos[i].impl_infos[j].servant_dll.in (),
+ impl_infos[i].impl_infos[j].servant_entrypt.in () ));
+ ACE_OS::fprintf (fp,
+ "extern \"C\" ::Components::HomeExecutorBase_ptr %s (void);\n",
+ impl_infos[i].impl_infos[j].executor_entrypt.in ());
+ ACE_OS::fprintf (fp,
+ "extern \"C\" ::PortableServer::Servant %s \n",
+ impl_infos[i].impl_infos[j].servant_entrypt.in ());
+ ACE_OS::fprintf (fp,
+ "\t\t(::Components::HomeExecutorBase_ptr p,\n");
+ ACE_OS::fprintf (fp,
+ "\t\t::CIAO::Session_Container *c,\n");
+ ACE_OS::fprintf (fp,
+ "\t\tconst char*\n");
+ ACE_OS::fprintf (fp,
+ "\t\tACE_ENV_ARG_DECL_WITH_DEFAULTS);\n");
+ }
+ }
+
+ ACE_OS::fprintf (fp, "struct HomeAttributes\n");
+ ACE_OS::fprintf (fp, "{\n");
+ ACE_OS::fprintf (fp, " ACE_TString component_instance_name_;\n");
+ ACE_OS::fprintf (fp, " /// Specify the entrypoint to component executor DLL.\n");
+ ACE_OS::fprintf (fp, " ACE_TString executor_entrypt_;\n");
+ ACE_OS::fprintf (fp, " ::CIAO::HomeFactory executor_fptr_;\n");
+ ACE_OS::fprintf (fp, " /// Specify the entrypoint to component servant DLL.\n");
+ ACE_OS::fprintf (fp, " ACE_TString servant_entrypt_;\n");
+ ACE_OS::fprintf (fp, " ::CIAO::ServantFactory servant_fptr_;\n");
+ ACE_OS::fprintf (fp, "};\n");
+ ACE_OS::fprintf (fp, "//Homes\n");
+ ACE_OS::fprintf (fp, "HomeAttributes homes_table[]= \n");
+ ACE_OS::fprintf (fp, "{\n");
+
+ num_containers = impl_infos.length ();
+ for (i = 0; i < num_containers; ++i)
+ {
+ num_components = impl_infos[i].impl_infos.length ();
+ for (j = 0; j < num_components; ++j)
+ {
+ ACE_OS::fprintf (fp, "\t{\"%s\", \"%s\", %s, \"%s\", %s}",
+ impl_infos[i].impl_infos[j].component_instance_name.in (),
+ impl_infos[i].impl_infos[j].executor_entrypt.in (),
+ impl_infos[i].impl_infos[j].executor_entrypt.in (),
+ impl_infos[i].impl_infos[j].servant_entrypt.in (),
+ impl_infos[i].impl_infos[j].servant_entrypt.in () );
+ if (!(i == num_containers -1 && j == num_components-1))
+ ACE_OS::fprintf (fp, ",\n");
+ }
+ }
+ ACE_OS::fprintf (fp, "};\n\n");
+
+ fclose (fp);
+
+ return 0;
+}
diff --git a/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEParser.mpc b/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEParser.mpc
new file mode 100644
index 00000000000..6ff77c3e1fa
--- /dev/null
+++ b/TAO/CIAO/DAnCE/StaticConfigurator/StaticDAnCEParser.mpc
@@ -0,0 +1,13 @@
+// -*- MPC -*-
+// $Id$
+
+project(StaticDAnCEParser): ciao_component_dnc, taoexe, ciao_config_handlers, ciao_domainapplicationmanager_dnc, iortable, exceptions, ciao_server_dnc {
+ exename = StaticDAnCEParser
+ includes += ..
+ libs += NodeApplicationManager
+ after += NodeApplicationManager NodeManager
+
+ Source_Files {
+ StaticDAnCEParser.cpp
+ }
+}
diff --git a/TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp b/TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp
new file mode 100644
index 00000000000..b10bf6fd51d
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp
@@ -0,0 +1,173 @@
+// $Id$
+/**
+ * @file CmpClient.cpp
+ *
+ * @brief This file contains a client of TargetManager.
+ *
+ * It picks up the TM ior from the Targetmanager.ior file
+ * present in the current directory, and makes the calls on the
+ * TM to getAllResources and getAvailable resources
+ */
+
+#include "Deployment_DataC.h"
+#include "TargetManagerC.h"
+#include "ace/streams.h"
+#include "Config_Handlers/DnC_Dump.h"
+
+
+int main (int argc, char* argv[])
+{
+ try {
+ // First initialize the ORB, that will remove some arguments...
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv,
+ "" /* the ORB name, it can be anything! */);
+
+ // There must be at least two arguments, the first is the factory
+ // name, the rest are the names of the stock symbols we want to
+ // get quotes for.
+ if (argc < 2) {
+ cerr << "Usage: " << argv[0]
+ << " Factory_IOR ..." << endl;
+ return 1;
+ }
+
+ // Use the first argument to create the factory object reference,
+ // in real applications we use the naming service, but let's do
+ // the easy part first!
+ CORBA::Object_var factory_object =
+ orb->string_to_object (argv[1]);
+
+ // Now downcast the object reference to the appropriate type
+ CIAO::TargetManagerImpl_var targetCmp =
+ CIAO::TargetManagerImpl::_narrow (factory_object.in ());
+
+ // Now get the facet reference from the target Manager Component
+ ACE_DEBUG((LM_DEBUG, "Making a Call to provide_targetMgr ()\n"));
+ Deployment::TargetManager_ptr targetI = targetCmp->provide_targetMgr ();
+
+ // Now make calls on the Target Manager facet
+
+ try
+ {
+ Deployment::Domain_var domainV = targetI->getAllResources ();
+ ACE_DEBUG ((LM_DEBUG , "\n\nGetAllResources Returned \n"));
+ ::Deployment::DnC_Dump::dump (domainV);
+ }
+ catch(CORBA::NO_IMPLEMENT &)
+ {
+ ACE_DEBUG((LM_DEBUG ,"Error:TargetManager:CORBA::NO_IMPLEMENT thrown\n"));
+ }
+ catch(CORBA::Exception &)
+ {
+ ACE_DEBUG((LM_DEBUG ,"Error:TargetManager:CORBA Generic Exception \n"));
+ ACE_DEBUG((LM_DEBUG ,"Error:TargetManager:Exception in TargetManager call\n"));
+ }
+
+
+ // make a call to the commit resources .....
+
+
+ Deployment::DeploymentPlan plan;
+
+ plan.instance.length (1);
+
+ ::Deployment::InstanceDeploymentDescription instance_;
+ instance_.node = CORBA::string_dup ("Delta");
+ instance_.deployedResource.length (1);
+ instance_.deployedResource[0].requirementName =
+ CORBA::string_dup ("Processor");
+ instance_.deployedResource[0].resourceName =
+ CORBA::string_dup ("CPULoad");
+
+ instance_.deployedResource[0].property.length (1);
+ instance_.deployedResource[0].property[0].name =
+ CORBA::string_dup ("LoadAverage");
+ CORBA::Double d = 20;
+ instance_.deployedResource[0].property[0].value <<= d;
+
+ plan.instance[0] = instance_;
+
+ bool resource_available = 1;
+
+ try
+ {
+ targetI->commitResources(plan);
+ ACE_DEBUG ((LM_DEBUG , "\n\ncommitResources Returned \n"));
+ }
+ catch(CORBA::NO_IMPLEMENT &)
+ {
+ cerr << "Error:TargetManager:CORBA::NO_IMPLEMENT thrown" << endl;
+ }
+ catch (Deployment::ResourceNotAvailable & e)
+ {
+ resource_available = 0;
+ cout << "TargetManager commitResources ResourceNotAvailable Exception" <<endl;
+
+ ACE_DEBUG ((LM_DEBUG ,
+ "ResourceNotAvailable\n name=[%s]\n elementName=[%s]\n resourceName=[%s]\n \
+ resourceType= [%s]\n propertyName=[%s]\n",
+ e.name.in (),
+ e.elementName.in (),
+ e.resourceName.in (),
+ e.resourceType.in (),
+ e.propertyName.in ()));
+ }
+ catch(CORBA::Exception & ex)
+ {
+ cout << "Error:TargetManager:commitResources Exception" <<endl;
+ cout << "Error:TargetManager:CORBA Generic Exception " << endl;
+ cerr << "Error:TargetManager:Exception in TargetManager call" << ex << endl;
+ }
+
+
+ // Make a call to release resources , if resource < 0
+ try
+ {
+ if (resource_available == 0)
+ {
+ targetI->releaseResources(plan);
+ ACE_DEBUG ((LM_DEBUG , "\n\nreleaseResources Returned \n"));
+ }
+ }
+ catch(CORBA::NO_IMPLEMENT &)
+ {
+ cerr << "Error:TargetManager:CORBA::NO_IMPLEMENT thrown" << endl;
+ }
+ catch (Deployment::ResourceNotAvailable & e)
+ {
+ cout << "Error:TargetManager releaseResources ResourceNotAvailable Exception" <<endl;
+ }
+ catch(CORBA::Exception & ex)
+ {
+ cout << "Error:TargetManager:releaseResources Exception" <<endl;
+ cout << "Error:TargetManager:CORBA Generic Exception " << endl;
+ cerr << "Error:TargetManager:Exception in TargetManager call" << ex << endl;
+ }
+
+
+ // Now make a call of getAvailableResources on the TargetManager ...
+ try
+ {
+ Deployment::Domain_var domainV = targetI->getAvailableResources();
+ ACE_DEBUG ((LM_DEBUG , "\n\nGetAvailableResources Returned \n"));
+ ::Deployment::DnC_Dump::dump (domainV);
+ }
+ catch(CORBA::NO_IMPLEMENT &)
+ {
+ cerr << "Error:TargetManager:CORBA::NO_IMPLEMENT thrown" << endl;
+ }
+ catch(CORBA::Exception & ex)
+ {
+ cout << "Error:TargetManager:CORBA Generic Exception " << endl;
+ cerr << "Error:TargetManager:Exception in TargetManager call" << ex << endl;
+ }
+
+ // Finally destroy the ORB
+ orb->destroy ();
+ }
+ catch (CORBA::Exception & ex) {
+ cerr << "Error:TargetManager:CORBA exception raised!" << ex << endl;
+ }
+ return 0;
+}
diff --git a/TAO/CIAO/DAnCE/TargetManager/Deployment_Configuration.h b/TAO/CIAO/DAnCE/TargetManager/Deployment_Configuration.h
new file mode 100644
index 00000000000..effca979a4c
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/Deployment_Configuration.h
@@ -0,0 +1,129 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Deployment_Configuration.h
+ *
+ * $Id$
+ *
+ * The Deployment_Configuration provides abstraction for the
+ * deployment mechanisms.
+ *
+ * @author Nanbor Wang <nanbor@cs.wustl.edu>
+ * @author Gan Deng <gan.deng@vanderbilt.edu>
+ */
+//=============================================================================
+#ifndef CIAO_DEPLOYMENT_CONFIGURATION_H
+#define CIAO_DEPLOYMENT_CONFIGURATION_H
+#include /**/ "ace/pre.h"
+
+#include "ace/Hash_Map_Manager_T.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ciao/NodeManagerC.h"
+#include "tao/Valuetype/ValueBase.h"
+#include "tao/Valuetype/Valuetype_Adapter_Impl.h"
+#include "ace/SString.h"
+
+#include "DomainApplicationManager/DomainApplicationManager_Export.h"
+
+namespace CIAO
+{
+ /**
+ * @class Deployment_Configuration
+ *
+ * @brief A class that provides strategies on deployment topology.
+ *
+ * This class provides strategies on how the DomainApplicationManager
+ * should deploy an deployment plan at domain-level. This is achieved
+ * by providing mappings from deployment destination names to actually
+ * NodeManager daemon IORs, and the strategy for which default NodeManager
+ * daemons a deployment mechanism should use.
+ *
+ * This is a trivial implementation of the deployment configuration
+ * strategy. We can enhance this class later on to provide
+ * different deployment location strategies, such as naming service.
+ */
+ class DomainApplicationManager_Export Deployment_Configuration
+ {
+ public:
+ typedef struct _node_manager_info
+ {
+ _node_manager_info (const char *ior = 0)
+ {
+ IOR_ = ior;
+ }
+
+ ACE_CString IOR_;
+ ::Deployment::NodeManager_var node_manager_;
+ } Node_Manager_Info;
+
+ Deployment_Configuration (CORBA::ORB_ptr o);
+
+ /// Destructor
+ virtual ~Deployment_Configuration (void);
+
+ /**
+ * Init method takes the filename to a configuration file which
+ * has a simple line format of name, ior string delimited by a
+ * space in each line.
+ *
+ * name IOR-string
+ *
+ * @retval 0 on success.
+ * @retval -1 otherwise.
+ */
+ int init (const char *filename);
+
+ /**
+ * @retval 0 if no valid name were found. When @c name = 0, then
+ * this function behave exactly as get_default_activator_ior.
+ */
+ virtual const char *get_node_manager_ior (const char *name);
+
+ /**
+ * Return the default NodeManager the DomainApplicationManager
+ * should use to deploy a component. In this implementation, the
+ * first entry in the deployment configuration data file is always
+ * the entry for default activator.
+ *
+ * @retval 0 if no valid daemon is configured.
+ */
+ virtual const char *get_default_node_manager_ior ();
+
+ /**
+ * @retval nil if no valid name were found.
+ */
+ virtual ::Deployment::NodeManager_ptr
+ get_node_manager (const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+ /**
+ * Return the reference to the default NodeManager the
+ * DomainApplicationManager should use to deploy a node-level
+ * deployment plan..
+ *
+ * @retval nil if no valid daemon is configured.
+ */
+ virtual ::Deployment::NodeManager_ptr
+ get_default_node_manager (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ protected:
+ CORBA::ORB_var orb_;
+
+ ACE_Hash_Map_Manager_Ex<ACE_CString,
+ Node_Manager_Info,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> deployment_info_;
+
+ Node_Manager_Info default_node_manager_;
+ };
+
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_DEPLOYMENT_CONFIGURATION_H */
diff --git a/TAO/CIAO/DAnCE/TargetManager/DomainDataManager.cpp b/TAO/CIAO/DAnCE/TargetManager/DomainDataManager.cpp
new file mode 100644
index 00000000000..9ea1944ba19
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/DomainDataManager.cpp
@@ -0,0 +1,574 @@
+// $Id$
+//===============================================================
+/**
+ * @file DomainDataManager.cpp
+ *
+ * @brief Maintains the Domain Information
+ *
+ * It contains the entire Domain information.Both the
+ * initial domain as well as the current available domain.
+ *
+ * @author Nilabja Roy nilabjar@dre.vanderbilt.edu
+ */
+//===============================================================
+#include "DomainDataManager.h"
+
+#include "Config_Handlers/DD_Handler.h"
+#include "Config_Handlers/DnC_Dump.h"
+#include "ciao/CIAO_common.h"
+
+const char * domain_file_name = "Domain.cdd";
+
+CIAO::DomainDataManager* CIAO::DomainDataManager::global_data_manager_ = 0;
+
+CIAO::DomainDataManager * CIAO::DomainDataManager::create (CORBA::ORB_ptr orb,
+ ::Deployment::TargetManager_ptr target
+ )
+{
+ if (global_data_manager_ == 0)
+ {
+ global_data_manager_ = new DomainDataManager (orb , target);
+ }
+ return global_data_manager_;
+}
+
+
+CIAO::DomainDataManager* CIAO::DomainDataManager::get_data_manager ()
+{
+ return global_data_manager_;
+}
+
+
+void CIAO::DomainDataManager::delete_data_manger ()
+{
+ if (global_data_manager_)
+ delete global_data_manager_;
+}
+
+
+
+int CIAO::DomainDataManager::update_domain (const ::CORBA::StringSeq &,
+ const ::Deployment::Domain & domainSubset,
+ ::Deployment::DomainUpdateKind )
+{
+ // Update the subset of the domain which the above
+ // parameter corresponds to
+
+ // for now consider only nodes
+ if (CIAO::debug_level () > 9)
+ {
+ /*
+ ACE_DEBUG ((LM_DEBUG ,
+ "TM::update_domain::Inside The update Domain of Manager\n"));
+ ACE_DEBUG ((LM_DEBUG ,
+ "TM::update_domain_::The length of domain is [%d]",
+ current_domain_.node.length ()));
+ ACE_DEBUG ((LM_DEBUG ,
+ "TM::update_domain::domainSubsetNode is \n" ));
+ */
+ }
+ int size = current_domain_.node.length ();
+
+ int i;
+ for (i=0;i < size;i++)
+ {
+ if (!strcmp (domainSubset.node[0].name ,
+ current_domain_.node[i].name))
+ {
+ // found a match
+ // for now overwrite the entire Node info ...
+ // but later , this has to be changed to overwrite
+ // only the specific part ...
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , "TM::Changed the cpu Value\n"));
+ }
+ current_domain_.node[i] = domainSubset.node[0];
+ break; // finished job ...break
+ }
+ }
+
+ if (i == size)
+ {
+ // thus the node is new .. add it to current_domain_
+ // later change it ...
+ current_domain_.node.length (size+1);
+ current_domain_.node[size]=domainSubset.node[0];
+ }
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG ,
+ "TM::Inside The update Domain of Manager\n"));
+ }
+ return 0;
+}
+
+CIAO::DomainDataManager::
+DomainDataManager (CORBA::ORB_ptr orb,
+ ::Deployment::TargetManager_ptr target)
+ : orb_ (CORBA::ORB::_duplicate (orb)),
+ deployment_config_ (orb_.in()),
+ target_mgr_ (::Deployment::TargetManager::_duplicate(target))
+{
+ // ACE_DEBUG((LM_DEBUG , "Calling DD_HANDLER\n"));
+ CIAO::Config_Handlers::DD_Handler dd (domain_file_name);
+ // ACE_DEBUG((LM_DEBUG , "After DD_HANDLER Constructor\n"));
+ ::Deployment::Domain* dmn = dd.domain_idl ();
+ // ACE_DEBUG((LM_DEBUG , "After DD_HANDLER domain_idl\n"));
+
+ if (CIAO::debug_level () > 9)
+ ::Deployment::DnC_Dump::dump (*dmn);
+
+ current_domain_ = *dmn;
+ initial_domain_ = current_domain_;
+
+ // initialize the provisioning domain
+ provisioned_data_ = initial_domain_;
+
+ call_all_node_managers ();
+
+}
+
+::Deployment::Domain* CIAO::DomainDataManager::get_current_domain ()
+{
+ return new ::Deployment::Domain (provisioned_data_);
+}
+
+::Deployment::Domain* CIAO::DomainDataManager::get_initial_domain ()
+{
+ return new ::Deployment::Domain (initial_domain_);
+}
+
+int CIAO::DomainDataManager::readin_domain_data ()
+{
+ // here read in Domain data ...
+ //
+ return 0;
+}
+
+int CIAO::DomainDataManager::call_all_node_managers ()
+{
+ if ( this->deployment_config_.init ("NodeDetails.dat") == -1 )
+ {
+ ACE_ERROR ((LM_ERROR,
+ "TargetM (%P|%t) DomainDataManager.cpp -"
+ "CIAO::DomainDataManager::call_all_node_managers -"
+ "ERROR while trying to initialize after reading "
+ "node details DAT file \n"));
+ return 0;
+ }
+
+ int length = initial_domain_.node.length ();
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Number of nodes in domain.cdd is : %d\n", length));
+ }
+
+ for (int i=0;i < length;i++)
+ {
+
+ ::Deployment::NodeManager_var node_manager;
+
+
+ try
+ {
+ node_manager =
+ deployment_config_.get_node_manager
+ (initial_domain_.node[i].name.in ());
+ }
+ catch (CORBA::Exception& ex)
+ {
+ ACE_ERROR ((LM_ERROR, "DANCE::TM (%P|%t) DomainDataManager.cpp: "
+ "Error trying to contact NodeManager %s\n",
+ initial_domain_.node[i].name.in ()));
+ continue;
+ }
+
+
+ if (!CORBA::is_nil (node_manager.in ()))
+ {
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Trying to contact nodemanager on %s\n",
+ initial_domain_.node[i].name.in ()));
+ }
+ Deployment::Logger_ptr log =
+ Deployment::Logger::_nil ();
+ ::Deployment::Domain sub_domain;
+ sub_domain.UUID = CORBA::string_dup("Node-Level-domain");
+ sub_domain.label = CORBA::string_dup("Node-level-domain");
+ sub_domain.sharedResource.length(0);
+ sub_domain.interconnect.length(0);
+ sub_domain.bridge.length(0);
+ sub_domain.infoProperty.length(0);
+ sub_domain.node.length (1);
+ sub_domain.node[0] = initial_domain_.node[i];
+ try
+ {
+ node_manager->joinDomain (sub_domain,
+ target_mgr_.in (),
+ log);
+ }
+ catch (CORBA::Exception& ex)
+ {
+ ACE_DEBUG ((LM_DEBUG , "TM::Error in calling Join Domain==\n"));
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught in "
+ "DomainDataManager::joinDomain");
+ }
+ }
+ }
+ return 0;
+
+}
+
+CIAO::Host_NodeManager_seq * CIAO::DomainDataManager::get_node_managers ()
+{
+ ::CIAO::Host_NodeManager_seq* node_mgr_seq =
+ new ::CIAO::Host_NodeManager_seq ();
+ node_mgr_seq->length (initial_domain_.node.length ());
+ for (unsigned int i=0;i < initial_domain_.node.length ();i++)
+ {
+ (*node_mgr_seq)[i].host_ =
+ CORBA::string_dup (initial_domain_.node[i].name);
+ ::Deployment::NodeManager_var node_manager =
+ deployment_config_.get_node_manager (initial_domain_.node[i].name);
+ // if (node_manager.in () != 0)
+ {
+ (*node_mgr_seq)[i].node_mgr_ = ::CIAO::NodeManagerDaemon::_narrow (node_manager.in ());
+ }
+ }
+ return node_mgr_seq;
+}
+
+CIAO::Host_Infos* CIAO::DomainDataManager::get_cpu_info ()
+{
+ CIAO::Host_Infos* host_info_seq = new CIAO::Host_Infos ();
+ host_info_seq->length (current_domain_.node.length ());
+
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG , "TM:: The node length is [%d]",
+ current_domain_.node.length ()));
+
+ for (unsigned int i=0;i < current_domain_.node.length ();i++)
+ {
+ (*host_info_seq)[i].hostname =
+ CORBA::string_dup (current_domain_.node[i].name);
+ // ACE_DEBUG ((LM_DEBUG , "The resource length is [%d]",
+ // current_domain_.node[i].resource.length ()));
+
+ for (unsigned int j = 0;j < current_domain_.node[i].resource.length ();j++)
+ {
+ if (!strcmp(
+ current_domain_.node[i].resource[j].name,
+ "Processor"))
+ {
+ current_domain_.node[i].resource[j].property[0].value
+ >>= (*host_info_seq)[i].cpu_util;
+ CORBA::Double d;
+ current_domain_.node[i].resource[j].property[0].value
+ >>= d;
+ // ACE_DEBUG ((LM_DEBUG, "TM::The current cpu util is [%f]\n", d));
+ }
+ }
+ }
+
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG , "TM::Returning from get_cpu_info"));
+
+ return host_info_seq;
+}
+
+CORBA::Long CIAO::DomainDataManager::get_pid (ACE_CString cmp)
+{
+ CORBA::Long pid;
+
+ // This is really ineffiecient this is O(n) ; searching all the nodes
+ // all the resources for a particular component.
+ // It needs to be stored in some other data structure
+
+ for (unsigned int i=0;i < current_domain_.node.length ();i++)
+ {
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG , "TM::The resource length is [%d]",
+ current_domain_.node[i].resource.length ()));
+
+ for (unsigned int j = 0;j < current_domain_.node[i].resource.length ();j++)
+ {
+ // The resource
+ if (!strcmp(
+ current_domain_.node[i].resource[j].name,
+ "Component") &&
+ ACE_CString (current_domain_.node[i].resource[j].property[0].name) ==
+ cmp)
+ {
+ current_domain_.node[i].resource[j].property[0].value
+ >>= pid;
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG,
+ "TM::getpid::The current pid is [%d]\n", pid));
+
+ }
+ } // resources
+ }// nodes
+
+ return pid;
+}
+
+void CIAO::DomainDataManager
+::commitResources (
+ const ::Deployment::DeploymentPlan & plan)
+{
+ // commit the resources
+ // parse into the plan and commit resources ...
+
+ // set the action value
+ current_action_ = commit;
+
+ for (unsigned int i = 0;i < plan.instance.length ();i++)
+ {
+ for (unsigned int j = 0;j < provisioned_data_.node.length ();j++)
+ {
+ if (!strcmp (plan.instance[i].node.in () ,
+ provisioned_data_.node[j].name.in ()))
+ {
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG ,
+ "TM::commitResource::Host name matched\n"));
+ try {
+ match_requirement_resource (
+ plan.instance[i].deployedResource,
+ provisioned_data_.node[j].resource);
+ }
+ catch (::Deployment::ResourceNotAvailable& ex)
+ {
+ // catch the exception and add parameters
+ ex.elementName =
+ CORBA::string_dup (provisioned_data_.node[j].name);
+
+ throw ex;
+ }
+ }
+ }
+ }
+}
+
+
+void CIAO::DomainDataManager::
+releaseResources (
+ const ::Deployment::DeploymentPlan& plan)
+{
+ // release the resources
+
+
+ // set the action value
+ current_action_ = release;
+
+ for (unsigned int i = 0;i < plan.instance.length ();i++)
+ {
+ for (unsigned int j = 0;j < provisioned_data_.node.length ();j++)
+ {
+ if (!strcmp (plan.instance[i].node.in () ,
+ provisioned_data_.node[j].name.in ()))
+ {
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG ,
+ "TM::commitResource::Host name matched\n"));
+
+ match_requirement_resource (
+ plan.instance[i].deployedResource,
+ provisioned_data_.node[j].resource);
+
+ }
+ }
+ }
+
+}
+
+
+void CIAO::DomainDataManager::
+match_requirement_resource (
+ ::Deployment::InstanceResourceDeploymentDescriptions deployed,
+ ::Deployment::Resources & available
+ )
+{
+ // here match the deployed to the available
+
+ for (unsigned int i = 0;i < deployed.length ();i++)
+ {
+ // for each deployed resource ....search the corresponding
+ // available resource
+ for (unsigned int j = 0;j < available.length ();j++)
+ {
+ if (!strcmp (deployed[i].requirementName, available[j].name))
+ {
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG ,
+ "TM::commitResource::Requirement name matched\n"));
+ // search for the resourcename in the resourceType
+ for (unsigned int k = 0;k < available[j].resourceType.length ();k++)
+ {
+ if (!strcmp (deployed[i].resourceName,
+ available[j].resourceType[k]))
+ {
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG ,
+ "TM::commitResource::Resource name matched\n"));
+
+ try {
+ match_properties (deployed[i].property,
+ available[j].property);
+ }
+ catch (::Deployment::ResourceNotAvailable& ex)
+ {
+ // catch the exception and add parameters
+ ex.resourceType =
+ CORBA::string_dup (available[j].resourceType[k]);
+ ex.resourceName =
+ CORBA::string_dup (available[j].name);
+ throw ex;
+ }
+ }
+ }
+ }
+ }
+ }
+
+}
+
+void CIAO::DomainDataManager::
+match_properties (
+ ::Deployment::Properties deployed,
+ ::Deployment::SatisfierProperties & available)
+{
+ for (unsigned int i = 0;i < deployed.length ();i++)
+ {
+ for (unsigned int j = 0;j < available.length ();j++)
+ if (!strcmp (deployed[i].name , available[j].name))
+ {
+ // check kind here ....and then subtract ....
+ // accordingly , ..this is complex ... better to write
+ // some specialised algo
+ // for now assuming Capacity ....
+ // and tk_double ....
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG ,
+ "TM::commitResource::Property name matched\n"));
+
+ commit_release_resource (deployed[i] , available[j]);
+
+ }
+ }
+}
+
+void CIAO::DomainDataManager::commit_release_resource (
+ ::Deployment::Property & deployed,
+ ::Deployment::SatisfierProperty & available)
+{
+ if (current_action_ == commit)
+ {
+
+ CORBA::Double required_d;
+
+ if ((deployed.value >>= required_d) == false)
+ ACE_ERROR ((LM_ERROR, "Failed to extract required amount\n"));
+
+ CORBA::Double available_d;
+
+ if ((available.value >>= available_d) == false)
+ ACE_ERROR ((LM_ERROR, "failed to extract available amount\n"));
+
+ if (available_d >= required_d)
+ {
+ available_d = available_d - required_d;
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG, "TM::The available is [%f]",
+ available_d));
+
+ available.value <<= available_d;
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, "Insufficient resources! Available: %d, Required %d\n",
+ available_d, required_d));
+ throw ::Deployment::ResourceNotAvailable ("",
+ "",
+ deployed.name.in (),
+ "",
+ "");
+ }
+
+
+ }
+ else
+ {
+ //must be release
+ CORBA::Double required_d;
+ deployed.value >>= required_d;
+ CORBA::Double available_d;
+ available.value >>= available_d;
+
+ available_d = available_d + required_d;
+
+
+ // Should we check for bin > 100 ??????
+
+ if (CIAO::debug_level () > 9)
+ ACE_DEBUG ((LM_DEBUG, "TM::The available is [%f]",
+ available_d));
+
+ available.value <<= available_d;
+ }
+}
+
+void CIAO::DomainDataManager::stop_monitors ()
+{
+
+ int length = initial_domain_.node.length ();
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Number of nodes in domain.cdd is : %d\n", length));
+ }
+
+ for (int i=0;i < length;i++)
+ {
+
+ ::Deployment::NodeManager_var node_manager;
+
+
+ try
+ {
+ node_manager =
+ deployment_config_.get_node_manager
+ (initial_domain_.node[i].name.in ());
+ }
+ catch (CORBA::Exception& ex)
+ {
+ ACE_ERROR ((LM_ERROR, "DANCE::TM (%P|%t) DomainDataManager.cpp: "
+ "Error in get Node Manager from Deployment Config %s\n",
+ initial_domain_.node[i].name.in ()));
+ continue;
+ }
+
+
+ if (!CORBA::is_nil (node_manager.in ()))
+ {
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Trying to contact nodemanager on %s\n",
+ initial_domain_.node[i].name.in ()));
+ }
+ try
+ {
+ node_manager->leaveDomain ();
+ }
+ catch (CORBA::Exception& ex)
+ {
+ ACE_DEBUG ((LM_DEBUG , "TM::Error in calling Leave Domain\n"));
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught in "
+ "DomainDataManager::leaveDomain");
+ }
+ }
+ }
+ return;
+
+}
diff --git a/TAO/CIAO/DAnCE/TargetManager/DomainDataManager.h b/TAO/CIAO/DAnCE/TargetManager/DomainDataManager.h
new file mode 100644
index 00000000000..ea704259a0e
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/DomainDataManager.h
@@ -0,0 +1,270 @@
+// $Id$
+//===============================================================
+/**
+ * @file DomainDataManager.h
+ *
+ * @brief Maintains the Domain Information
+ *
+ * It contains the entire Domain information.Both the
+ * initial domain as well as the current available domain.
+ *
+ * @author Nilabja Roy nilabjar@dre.vanderbilt.edu
+ */
+//===============================================================
+#ifndef DOMAIN_DATA_MGRH
+#define DOMAIN_DATA_MGRH
+
+#include "TargetManagerC.h"
+#include "Deployment_Configuration.h"
+
+/**
+ * @namespace CIAO
+ *
+ * @brief The main CIAO namespace
+ *
+ */
+namespace CIAO
+{
+ /**
+ * @class DomainDataManager
+ *
+ * @brief Responsible for maintaining the Domain Information
+ *
+ * It maintains both the Current Domain Information as well
+ * as the Initial domain at full capacity.
+ */
+ class DomainDataManager
+ {
+
+ public :
+ /**
+ * @operation updateDomain
+ * @brief This function is called by the other classes to update
+ * current domain data.
+ * @param elements The string sequence of elements
+ * being updated
+ * @param domainSubset The subset of the actual Domain to be updated
+ * @param updateKind Specifies the update type eg. add, delete, update
+ *
+ */
+ int update_domain (const ::CORBA::StringSeq & elements,
+ const ::Deployment::Domain & domainSubset,
+ ::Deployment::DomainUpdateKind updateKind
+ );
+ /**
+ * @operation getInitialDomain
+ * @brief This function is called the Executor code
+ * to get the Original Domain data.
+ * @return Domain* The Initial Domain
+ *
+ */
+ ::Deployment::Domain* get_initial_domain ();
+
+ /**
+ * @operation getCurrentDomain
+ * @brief This function is called the Executor code
+ * to get the Current Domain data.
+ * @return Domain* The Current Domain
+ */
+ ::Deployment::Domain* get_current_domain ();
+
+
+ /**
+ * @operation create
+ * @brief This function is called to create the Datamanager
+ * @param orb The orb pointer
+ * @param target The Target Manager Object Reference
+ *
+ * @description This function calls the constructor of the
+ * class Domain Data Manager
+ */
+ static DomainDataManager * create (CORBA::ORB_ptr orb,
+ ::Deployment::TargetManager_ptr target
+ );
+
+ /**
+ * @operation get_data_manager
+ * @brief Returns the static pointer to the
+ * data manager.
+ * @return DomainDataManager*
+ * @description The staic get_data_manger function returning
+ * the data_manager pointer
+ */
+ static DomainDataManager* get_data_manager ();
+
+ /**
+ * @operation delete_data_manager
+ * @brief deletes the data manager
+ */
+
+ static void delete_data_manger ();
+
+ /**
+ * @operation get_node_managers
+ * @brief returns the sequence of node managers
+ * object reference
+ */
+
+ CIAO::Host_NodeManager_seq *
+ get_node_managers ();
+
+ /**
+ * @operation get_cpu_info
+ * @brief returns the node specific cpu utilization
+ *
+ * @return CIAO::Host_Infos*
+ */
+
+ CIAO::Host_Infos* get_cpu_info ();
+
+ /**
+ * @operation get_pid
+ * @brief returns the pid of the component id submitted
+ * @param cmp The component id
+ *
+ * @return process id
+ */
+ CORBA::Long get_pid (ACE_CString cmp);
+
+ /**
+ * @operation commitResources
+ * @brief commits the resources that are specified
+ * in the plan.
+ * @param plan ::Deployment::DeploymentPlan
+ * @exception ::Deployment::ResourceNotAvailable thrown
+ * when the resources mentioned in the plan exceeds
+ * the current resource.
+ * @exception ::Deployment::PlanError thrown if the plan has any
+ * error
+ *
+ */
+ void commitResources (
+ const ::Deployment::DeploymentPlan & plan);
+
+ /**
+ * @operation releaseResources
+ * @brief The function releases the resources held by a plan
+ *
+ * @param argname ::Deployment::DeploymentPlan the plan whose
+ * resources are to be released
+ */
+ void releaseResources (
+ const ::Deployment::DeploymentPlan& plan);
+
+ /**
+ * @operation stop_monitors
+ * @brief The function makes a call on the leaveDomain on the
+ * NodeManager
+ *
+ * @description The node manager in turn stops the monitor
+ *
+ */
+
+ void stop_monitors ();
+
+ protected:
+
+
+ /**
+ * @operation Constructor
+ * @param orb The orb pointer
+ * @param target The Target Manager Object Reference
+ * @description The constructor made proteccted so that no one can create
+ * it.
+ */
+ DomainDataManager (CORBA::ORB_ptr orb,
+ ::Deployment::TargetManager_ptr target
+ );
+
+ /**
+ * @operation readinDomainData
+ * @brief It will read the initial Domain data from
+ * XML files.
+ */
+ int readin_domain_data ();
+
+ /**
+ * @operation match_requirement_resource
+ * @brief Match the deployed resources to the
+ * available resource
+ */
+ void match_requirement_resource (
+ ::Deployment::InstanceResourceDeploymentDescriptions deployed,
+ ::Deployment::Resources& available
+ );
+
+ /**
+ * @operation match_properties
+ * @brief Match the properties of a Requirement to the
+ * properties of available resource
+ * @param deployed The deployed Properties
+ * @param available The available Properties
+ */
+
+ void match_properties (
+ ::Deployment::Properties deployed,
+ ::Deployment::SatisfierProperties& available);
+
+
+ /// The different actiona that can take place
+ enum Action {commit , release};
+
+ /**
+ * @operation commit_release_resource
+ * @brief Either commits or releases the given resource
+ * based on the current Action set.
+ * @param deployed ::Deployment::Property is the resource
+ * to be commited/released
+ * @param available ::Deployment::SatisfierProperty is the
+ * available resource from which committed/released.
+ * @exception ::Deployment::ResourceNotAvailable thrown
+ * when the deployed resources exceeds
+ * the available resource.
+ */
+
+ void commit_release_resource ( ::Deployment::Property & deployed,
+ ::Deployment::SatisfierProperty & available);
+
+ /**
+ * @operation call_all_node_managers
+ * @brief This function calls all NM and gives them
+ * the sub-domain
+ */
+ int call_all_node_managers ();
+
+ /// The ORB pointer
+ CORBA::ORB_var orb_;
+
+ /// The Deployment Configuration
+ CIAO::Deployment_Configuration deployment_config_;
+
+ /// The Initial Domain - contains resources
+ /// at total capacity
+ ::Deployment::Domain initial_domain_;
+
+
+ /// The Current Domain - contains resources
+ /// at current capacity
+ ::Deployment::Domain current_domain_;
+
+ /// The Target Manager Context
+ ::Deployment::TargetManager_var target_mgr_;
+
+ /**
+ * The staic data manager pointer implementing
+ * singleton pattern
+ */
+ static DomainDataManager* global_data_manager_;
+
+ /**
+ * The static provisioned Domain data
+ */
+ ::Deployment::Domain provisioned_data_;
+
+ ///The current action
+ Action current_action_;
+ };
+
+} // CIAO
+
+#endif /* DOMAIN_DATA_MGRH */
diff --git a/TAO/CIAO/DAnCE/TargetManager/TM_Client.mpc b/TAO/CIAO/DAnCE/TargetManager/TM_Client.mpc
new file mode 100644
index 00000000000..aba5c8737d3
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/TM_Client.mpc
@@ -0,0 +1,28 @@
+// $Id$
+
+// Client.mpc,v 1.6 2005/02/18 09:07:06 jwillemsen Exp
+
+
+project(TMClient): ciao_client_dnc,ciao_deployment_stub, ciao_config_handlers {
+ after += CIAO_TargetManager_stub
+ includes += $(CIAO_ROOT)/DAnCE $(TAO_ROOT)/orbsvcs
+ includes += $(CIAO_ROOT)/DAnCE/TargetManager
+ libs += TargetManager_stub
+
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ CmpClient.cpp
+ }
+
+ Header_Files {
+ }
+
+ Inline_Files {
+ }
+
+ Template_Files {
+ }
+}
diff --git a/TAO/CIAO/DAnCE/TargetManager/TargetManager.idl b/TAO/CIAO/DAnCE/TargetManager/TargetManager.idl
new file mode 100644
index 00000000000..21200871e68
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/TargetManager.idl
@@ -0,0 +1,38 @@
+// $Id$
+
+/**
+ * @file TargetManager.idl
+ * @brief TargetManager interface defintion
+ *
+ * @author Nilabja R <nilabjar@dre.vanderbilt.edu>
+ */
+
+#ifndef TARGETMGR_IDL
+#define TARGETMGR_IDL
+
+
+
+#include "ciao/Components.idl"
+#include "ciao/Target_Data.idl"
+#include "TargetManagerExt.idl"
+
+/**
+ * @module CIAO
+ *
+ * @brief TargetManager interface defintion
+ *
+ */
+module CIAO
+{
+ component TargetManagerImpl
+ {
+ provides ::Deployment::TargetManager targetMgr;
+ provides CIAO::TargetManagerExt target_manager_ext;
+ };
+
+ home TargetManagerHome manages TargetManagerImpl
+ {
+ };
+};
+
+#endif
diff --git a/TAO/CIAO/DAnCE/TargetManager/TargetManager.mpc b/TAO/CIAO/DAnCE/TargetManager/TargetManager.mpc
new file mode 100644
index 00000000000..07200eb0eca
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/TargetManager.mpc
@@ -0,0 +1,62 @@
+// $Id$
+
+project(CIAO_TargetManager_stub): ciao_client_dnc, ciao_deployment_stub {
+ after += NodeManager_stub
+ sharedname = TargetManager_stub
+ idlflags += -Wb,stub_export_macro=TARGETMANAGER_STUB_Export -Wb,stub_export_include=TargetManager_stub_export.h -Wb,skel_export_macro=TARGETMANAGER_SVNT_Export -Wb,skel_export_include=TargetManager_svnt_export.h
+ dynamicflags = TARGETMANAGER_STUB_BUILD_DLL
+
+ libs += NodeManager_stub
+
+ IDL_Files {
+ TargetManager.idl
+ TargetManagerExt.idl
+ }
+
+ Source_Files {
+ TargetManagerC.cpp
+ TargetManagerExtC.cpp
+ }
+}
+
+project(CIAO_TargetManager_svnt) : ciao_servant_dnc {
+ after += CIAO_TargetManager_stub
+ sharedname = TargetManager_svnt
+ libs += TargetManager_stub NodeManager_stub
+
+ idlflags += -Wb,export_macro=TARGETMANAGER_SVNT_Export -Wb,export_include=TargetManager_svnt_export.h
+ dynamicflags = TARGETMANAGER_SVNT_BUILD_DLL
+
+ CIDL_Files {
+ TargetManager.cidl
+ }
+
+ IDL_Files {
+ TargetManagerE.idl
+ }
+
+ Source_Files {
+ TargetManagerEC.cpp
+ TargetManagerS.cpp
+ TargetManagerExtS.cpp
+ TargetManager_svnt.cpp
+ }
+}
+
+
+project(CIAO_TargetManager_exec) : ciao_servant_dnc, ciao_config_handlers, ciao_domainapplicationmanager_dnc {
+ after += CIAO_TargetManager_svnt
+ sharedname = TargetManager_exec
+ libs += TargetManager_stub TargetManager_svnt NodeManager_stub
+
+ idlflags += -Wb,export_macro=TARGETMANAGER_EXEC_Export -Wb,export_include=TargetManager_exec_export.h
+ dynamicflags = TARGETMANAGER_EXEC_BUILD_DLL
+
+ Source_Files {
+ DomainDataManager.cpp
+ TargetManager_exec.cpp
+ }
+
+ IDL_Files {
+ }
+}
diff --git a/TAO/CIAO/DAnCE/TargetManager/TargetManagerExt.idl b/TAO/CIAO/DAnCE/TargetManager/TargetManagerExt.idl
new file mode 100644
index 00000000000..3336f3ffe5c
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/TargetManagerExt.idl
@@ -0,0 +1,80 @@
+// $Id$
+
+/**
+ * @file TargetManagerExt.idl
+ *
+ * @brief The Extensions to the TM interface for ARMS demo
+ *
+ * @author Nilabja R <nilabjar@dre.vanderbilt.edu>
+ * @author Nishanth Shankaran <nshankar@dre.vanderbilt.edu>
+ *
+ * This file declares a interface which will be implemented as
+ * a facet by the TargetManager component
+ */
+
+/**
+ * @module CIAO
+ *
+ * @brief The CIAO module
+ */
+
+//#include <ciao/Deployment.idl>
+#include "DAnCE/Interfaces/NodeManagerDaemon.idl"
+
+module CIAO
+{
+ /**
+ * @struct Cpu_Info
+ * @brief Consists of individual host-cpu info
+ */
+ struct Host_Info
+ {
+ string hostname;
+ double cpu_util;
+ };
+
+ /// The sequence of CPU infos
+ typedef sequence<Host_Info> Host_Infos;
+
+ /**
+ * @struct Component_Cpu_Util
+ * @brief Contains a component CPU Util
+ */
+ struct Component_Info
+ {
+ string component_name;
+ double cpu_util;
+ };
+
+ /// The sequence of component cpu utilization
+ typedef sequence <Component_Info> Component_Infos;
+
+
+ /**
+ * @struct Host_NodeManager
+ * @brief Contains the node manager to host reference
+ */
+ struct Host_NodeManager
+ {
+ string host_;
+ ::CIAO::NodeManagerDaemon node_mgr_;
+ };
+
+ /// Sequence of NodeManager.
+ typedef sequence <Host_NodeManager> Host_NodeManager_seq;
+
+ /**
+ * @interface TargetManagerExt
+ * @brief The Target Manager Extension
+ *
+ * Contains the interface used by the RACE
+ * controller.
+ */
+ interface TargetManagerExt
+ {
+ long get_pid (in string component_uuid);
+ Host_Infos get_host_cpu ();
+ Component_Infos get_component_cpu ();
+ Host_NodeManager_seq get_all_node_managers ();
+ };
+};
diff --git a/TAO/CIAO/DAnCE/TargetManager/TargetManager_exec.cpp b/TAO/CIAO/DAnCE/TargetManager/TargetManager_exec.cpp
new file mode 100644
index 00000000000..7fe8f24a707
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/TargetManager_exec.cpp
@@ -0,0 +1,362 @@
+// $Id$
+//===============================================================
+/**
+ * @file TargetManager_exec.cpp
+ *
+ * @brief TargetManager Executor code
+ *
+ * @author Nilabja Roy nilabjar@dre.vanderbilt.edu
+ */
+//===============================================================
+#include "TargetManager_exec.h"
+#include "ciao/CIAO_common.h"
+#include <orbsvcs/CosNamingC.h>
+#include "Config_Handlers/DD_Handler.h"
+#include "Config_Handlers/DnC_Dump.h"
+
+using namespace std;
+
+namespace CIDL_TargetManager_i
+{
+ //==================================================================
+ // Facet Executor Implementation Class: TargetManager_exec_i
+ //==================================================================
+
+ TargetManager_exec_i::
+ TargetManager_exec_i (TargetManagerImpl_exec_i* exec ,
+ CORBA::ORB_ptr orb,
+ TargetManagerImpl_Context *context
+ )
+ : _exec (exec),
+ orb_ (orb),
+ context_ (context)
+ {
+ // The DomainDataManager created here ...
+
+ // get its own obj ref , then call
+
+
+ CORBA::Object_var object = context_->get_CCM_object ();
+ CIAO::TargetManagerImpl_var target_impl =
+ CIAO::TargetManagerImpl::_narrow (object.in ());
+ ::Deployment::TargetManager_var target =
+ target_impl->provide_targetMgr ();
+ // dataManager_.reset (new CIAO::DomainDataManager (orb, target.in ()));
+ CIAO::DomainDataManager::create (orb, target.in());
+ }
+
+ TargetManager_exec_i::~TargetManager_exec_i (void)
+ {
+ }
+
+ // Operations from ::Deployment::TargetManager
+
+ ::Deployment::Domain *
+ TargetManager_exec_i::getAllResources (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ return CIAO::DomainDataManager::
+ get_data_manager ()->get_initial_domain ();
+ }
+
+ ::Deployment::Domain *
+ TargetManager_exec_i::getAvailableResources (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ return CIAO::DomainDataManager::
+ get_data_manager ()->get_current_domain ();
+ }
+
+ void
+ TargetManager_exec_i::commitResources (
+ const ::Deployment::DeploymentPlan & plan
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Deployment::ResourceNotAvailable,
+ ::Deployment::PlanError))
+ {
+ return CIAO::DomainDataManager::
+ get_data_manager ()->commitResources (plan);
+ }
+
+ void
+ TargetManager_exec_i::releaseResources (
+ const ::Deployment::DeploymentPlan & plan
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ return CIAO::DomainDataManager::
+ get_data_manager ()->releaseResources (plan);
+ }
+
+ void
+ TargetManager_exec_i::updateDomain (
+ const ::CORBA::StringSeq & elements ,
+ const ::Deployment::Domain & domainSubset ,
+ ::Deployment::DomainUpdateKind updateKind
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , ".. Update Domain called ...\n"));
+ }
+ CIAO::DomainDataManager::
+ get_data_manager ()->update_domain (
+ elements,
+ domainSubset,
+ updateKind
+ );
+ }
+
+ //==================================================================
+ // Facet Executor Implementation Class: TargetManagerExt_exec_i
+ // required for RACE
+ //==================================================================
+
+ TargetManagerExt_exec_i::TargetManagerExt_exec_i (void)
+ {
+ }
+
+ TargetManagerExt_exec_i::~TargetManagerExt_exec_i (void)
+ {
+ }
+
+ // Operations from ::CIAO::TargetManagerExt
+
+ ::CORBA::Long
+ TargetManagerExt_exec_i::get_pid (
+ const char * component_uuid
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ ACE_DEBUG ((LM_DEBUG, "Get PID :: Skeleton Impl"));
+ return CIAO::DomainDataManager::
+ get_data_manager ()->get_pid (component_uuid);
+ }
+
+ ::CIAO::Host_Infos *
+ TargetManagerExt_exec_i::get_host_cpu (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ ACE_DEBUG ((LM_DEBUG, "Get host cpu :: Skeleton Impl entering\n"));
+ return CIAO::DomainDataManager::
+ get_data_manager ()->get_cpu_info ();
+ }
+
+ ::CIAO::Component_Infos *
+ TargetManagerExt_exec_i::get_component_cpu (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ ACE_DEBUG ((LM_DEBUG, "Get component cpu :: Skeleton Impl"));
+ return 0;
+ }
+
+ ::CIAO::Host_NodeManager_seq *
+ TargetManagerExt_exec_i::get_all_node_managers
+ (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ return CIAO::DomainDataManager::
+ get_data_manager ()->get_node_managers ();
+ }
+
+ //==================================================================
+ // Component Executor Implementation Class: TargetManagerImpl_exec_i
+ //==================================================================
+
+ TargetManagerImpl_exec_i::TargetManagerImpl_exec_i (void)
+ : exec_object_ (0)
+ {
+ }
+
+ TargetManagerImpl_exec_i::~TargetManagerImpl_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ ::Deployment::CCM_TargetManager_ptr
+ TargetManagerImpl_exec_i::get_targetMgr (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ // Your code here.
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , "Calling TM constructor"));
+ }
+
+ if (this->exec_object_.in () == 0)
+ {
+ this->exec_object_ = new TargetManager_exec_i(this,
+ context_->_ciao_the_Container()->the_ORB(),
+ context_
+ );
+ }
+ return this->exec_object_.in ();
+ }
+
+ ::CIAO::CCM_TargetManagerExt_ptr TargetManagerImpl_exec_i
+ ::get_target_manager_ext (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED
+ ) ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ if (this->exec_ext_object_.in () == 0)
+ {
+ this->exec_ext_object_ = new TargetManagerExt_exec_i();
+ }
+ return this->exec_ext_object_.in ();
+ }
+
+ // Operations from Components::SessionComponent
+
+ void
+ TargetManagerImpl_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ this->context_ =
+ TargetManagerImpl_Context::_narrow (
+ ctx
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (this->context_ == 0)
+ {
+ ACE_THROW (CORBA::INTERNAL ());
+ }
+ }
+
+ void
+ TargetManagerImpl_exec_i::ciao_preactivate (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ TargetManagerImpl_exec_i::ciao_postactivate (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+
+ void
+ TargetManagerImpl_exec_i::ccm_activate (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , "Inside CCM_ACTIVATE\n"));
+ }
+ get_targetMgr ();
+ }
+
+ void
+ TargetManagerImpl_exec_i::ccm_passivate (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ }
+
+ void
+ TargetManagerImpl_exec_i::ccm_remove (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ // Your code here.
+ ACE_DEBUG ((LM_DEBUG , "TM::ccm_remove , calling LeaveDomain\n"));
+ return CIAO::DomainDataManager::
+ get_data_manager ()->stop_monitors ();
+ ACE_DEBUG ((LM_DEBUG , "TM::ccm_remove , After calling LeaveDomain\n"));
+ }
+
+
+ //==================================================================
+ // Home Executor Implementation Class: TargetManagerHome_exec_i
+ //==================================================================
+
+ TargetManagerHome_exec_i::TargetManagerHome_exec_i (void)
+ {
+ }
+
+ TargetManagerHome_exec_i::~TargetManagerHome_exec_i (void)
+ {
+ }
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ ::Components::EnterpriseComponent_ptr
+ TargetManagerHome_exec_i::create (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException))
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_THROW_EX (
+ retval,
+ TargetManagerImpl_exec_i,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (::Components::EnterpriseComponent::_nil ());
+
+ return retval;
+ }
+
+ extern "C" TARGETMANAGER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_CIAO_TargetManagerHome_Impl (void)
+ {
+ ::Components::HomeExecutorBase_ptr retval =
+ ::Components::HomeExecutorBase::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ TargetManagerHome_exec_i,
+ ::Components::HomeExecutorBase::_nil ());
+
+ return retval;
+ }
+}
diff --git a/TAO/CIAO/DAnCE/TargetManager/TargetManager_exec.h b/TAO/CIAO/DAnCE/TargetManager/TargetManager_exec.h
new file mode 100644
index 00000000000..1b3b7b0e470
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/TargetManager_exec.h
@@ -0,0 +1,236 @@
+// $Id$
+//===============================================================
+/**
+ * @file TargetManager_exec.h
+ *
+ * @brief TargetManager Executor code
+ *
+ * @author Nilabja Roy nilabjar@dre.vanderbilt.edu
+ */
+//===============================================================
+
+#ifndef CIAO_TARGETMANAGER_EXEC_H
+#define CIAO_TARGETMANAGER_EXEC_H
+
+#include /**/ "ace/pre.h"
+
+#include "TargetManager_svnt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "TargetManager_exec_export.h"
+#include "tao/LocalObject.h"
+#include "DomainDataManager.h"
+
+namespace CIDL_TargetManager_i
+{
+ class TargetManager_exec_i;
+
+ class TARGETMANAGER_EXEC_Export TargetManagerImpl_exec_i
+ : public virtual TargetManagerImpl_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ TargetManagerImpl_exec_i (void);
+ virtual ~TargetManagerImpl_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Attribute operations.
+
+ // Port operations.
+
+ virtual ::Deployment::CCM_TargetManager_ptr
+ get_targetMgr (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::CIAO::CCM_TargetManagerExt_ptr
+ get_target_manager_ext (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((::CORBA::SystemException));
+
+ // Operations from Components::SessionComponent
+
+ virtual void
+ set_session_context (
+ ::Components::SessionContext_ptr ctx
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_preactivate (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ciao_postactivate (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_activate (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_passivate (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ virtual void
+ ccm_remove (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+
+ protected:
+ /// The service context pointer
+ TargetManagerImpl_Context *context_;
+
+ /// The exec Object
+ ::Deployment::CCM_TargetManager_var exec_object_;
+
+ ::CIAO::CCM_TargetManagerExt_var exec_ext_object_;
+ };
+
+ class TARGETMANAGER_EXEC_Export TargetManagerExt_exec_i
+ : public virtual ::CIAO::CCM_TargetManagerExt,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ TargetManagerExt_exec_i (void);
+ virtual ~TargetManagerExt_exec_i (void);
+
+ // Operations from ::CIAO::TargetManagerExt
+
+ virtual ::CORBA::Long
+ get_pid (
+ const char * component_uuid
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::CIAO::Host_Infos *
+ get_host_cpu (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::CIAO::Component_Infos *
+ get_component_cpu (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::CIAO::Host_NodeManager_seq *
+ get_all_node_managers (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ };
+
+ class TARGETMANAGER_EXEC_Export TargetManager_exec_i
+ : public virtual ::Deployment::CCM_TargetManager,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ TargetManager_exec_i (TargetManagerImpl_exec_i* exec,
+ CORBA::ORB_ptr orb,
+ TargetManagerImpl_Context *context
+ );
+ virtual ~TargetManager_exec_i (void);
+
+ // Operations from ::Deployment::TargetManager
+
+ virtual ::Deployment::Domain *
+ getAllResources (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Deployment::Domain *
+ getAvailableResources (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ commitResources (
+ const ::Deployment::DeploymentPlan & plan
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Deployment::ResourceNotAvailable,
+ ::Deployment::PlanError));
+
+ virtual void
+ releaseResources (
+ const ::Deployment::DeploymentPlan & argname
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void
+ updateDomain (
+ const ::CORBA::StringSeq & elements,
+ const ::Deployment::Domain & domainSubset,
+ ::Deployment::DomainUpdateKind updateKind
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ private:
+ TargetManagerImpl_exec_i * _exec;
+
+ ///The pointer to the Domain Manager
+ std::auto_ptr<CIAO::DomainDataManager> dataManager_;
+
+ /// The CORBA ORB ...
+ CORBA::ORB_var orb_;
+
+ /// The context object ...
+ TargetManagerImpl_Context *context_;
+ };
+
+
+
+ class TARGETMANAGER_EXEC_Export TargetManagerHome_exec_i
+ : public virtual TargetManagerHome_Exec,
+ public virtual TAO_Local_RefCounted_Object
+ {
+ public:
+ TargetManagerHome_exec_i (void);
+ virtual ~TargetManagerHome_exec_i (void);
+
+ // Supported or inherited operations.
+
+ // Home operations.
+
+ // Factory and finder operations.
+
+ // Attribute operations.
+
+ // Implicit operations.
+
+ virtual ::Components::EnterpriseComponent_ptr
+ create (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::Components::CCMException));
+ };
+
+ extern "C" TARGETMANAGER_EXEC_Export ::Components::HomeExecutorBase_ptr
+ create_CIAO_TargetManagerHome_Impl (void);
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_TARGETMANAGER_EXEC_H */
diff --git a/TAO/CIAO/DAnCE/TargetManager/descriptors/Domain.cdd b/TAO/CIAO/DAnCE/TargetManager/descriptors/Domain.cdd
new file mode 100644
index 00000000000..fe21a4b48f5
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/descriptors/Domain.cdd
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Deployment:domain
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
+
+<UUID>effd4bd0-6db0-4c50-9bb7-db9decebae1c</UUID>
+<label>Hello Domain</label>
+
+
+<node>
+ <name>TargetManagerNode_1</name>
+ <label>Sender's Node</label>
+ <resource>
+ <name>Processor</name>
+ <resourceType>CPULoad</resourceType>
+ <property>
+ <name>LoadAverage</name>
+ <kind>Quantity</kind>
+ <dynamic>true</dynamic>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value><long>99</long></value>
+ </value>
+ </property>
+ </resource>
+</node>
+<node>
+ <name>TargetManagerNode_2</name>
+ <label>Receiver's Node</label>
+ <resource>
+ <name>Processor</name>
+ <resourceType>CPULoad</resourceType>
+ <property>
+ <name>LoadAverage</name>
+ <kind>Quantity</kind>
+ <dynamic>true</dynamic>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value><long>99</long></value>
+ </value>
+ </property>
+ </resource>
+</node>
+
+
+<interconnect>
+ <name>NoBridgeInterConnect</name>
+ <connect>
+ <name>Receiver</name>
+ <resource>
+ <name>Processor</name>
+ <resourceType>CPULoad</resourceType>
+ <property>
+ <name>LoadAverage</name>
+ <kind>Quantity</kind>
+ <dynamic>true</dynamic>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value><long>99</long></value>
+ </value>
+ </property>
+ </resource>
+ </connect>
+</interconnect>
+
+
+<bridge>
+ <name>NoBridge</name>
+ <connect>
+ <name>NoBridgeInterConnect</name>
+ <connect>
+ <name>Receiver</name>
+ <resource>
+ <name>Processor</name>
+ <resourceType>CPULoad</resourceType>
+ <property>
+ <name>LoadAverage</name>
+ <kind>Quantity</kind>
+ <dynamic>true</dynamic>
+ <value>
+ <type>
+ <kind>tk_long</kind>
+ </type>
+ <value><long>99</long></value>
+ </value>
+ </property>
+ </resource>
+ </connect>
+ </connect>
+</bridge>
+
+
+</Deployment:domain>
diff --git a/TAO/CIAO/DAnCE/TargetManager/descriptors/flattened_deploymentplan.cdp b/TAO/CIAO/DAnCE/TargetManager/descriptors/flattened_deploymentplan.cdp
new file mode 100644
index 00000000000..fae71c39fa1
--- /dev/null
+++ b/TAO/CIAO/DAnCE/TargetManager/descriptors/flattened_deploymentplan.cdp
@@ -0,0 +1,92 @@
+<Deployment:deploymentPlan
+ xmlns:Deployment="http://www.omg.org/Deployment"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.omg.org/Deployment Modified_Deployment.xsd">
+
+ <label>Hello-DeploymentPlan</label>
+ <!-- Could be ZERO -->
+ <realizes>
+ <label>BasicSP-realizes-cid</label>
+ <UUID>c0965470-7b83-11d9-9669-0800200c9a66</UUID>
+ <specificType><!-- @@ What does here? --></specificType>
+ <supportedType>IDL:BasicSP/EC:1.0</supportedType>
+ <port>
+ <name>read_message</name>
+ <specificType>IDL:Hello/ReadMessage:1.0</specificType>
+ <supportedType>IDL:Hello/ReadMessage:1.0</supportedType>
+ <provider>false></provider>
+ <exclusiveProvider>false</exclusiveProvider>
+ <exclusiveUser>true</exclusiveUser>
+ <optional>false</optional>
+ <kind>SimplexReceptacle</kind>
+ </port>
+ </realizes>
+
+ <implementation id="TargetManager-mdd">
+ <name>TargetManager-mdd</name>
+ <source><!-- @@ Don't know what goes here --></source>
+ <artifact>TargetManager_exec</artifact>
+ <artifact>TargetManager_svnt</artifact>
+ <!--
+ <execParameter></execParameter>
+ <deployRequirement></deployRequirement>
+ -->
+ </implementation>
+
+ <instance id="TargetManager-idd">
+ <name>TargetManager-idd</name>
+ <node>TargetManagerNode_1</node>
+ <source><!-- @@ What goes here --></source>
+ <implementation>TargetManager-mdd</implementation>
+ <configProperty>
+ <name>ComponentIOR</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>TargetManager.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
+ <!-- @@ Runtime library name must match exactly in "location" tag -->
+
+ <artifact id="TargetManager_exec">
+ <name>TargetManager_exec</name>
+ <source><!-- @@ Not sure about this--></source>
+ <node><!-- blank --></node>
+ <location>TargetManager_exec</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CIAO_TargetManagerHome_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+
+ <artifact id="TargetManager_svnt">
+ <name>TargetManager_svnt</name>
+ <source><!-- @@ Not sure --></source>
+ <node><!-- blank --></node>
+ <location>TargetManager_svnt</location>
+ <execParameter>
+ <name>entryPoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_CIAO_TargetManagerHome_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ </artifact>
+</Deployment:deploymentPlan>
diff --git a/TAO/CIAO/DAnCE/tests/NodeApplicationTest/NodeApp_test_client_dynamic.cpp b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/NodeApp_test_client_dynamic.cpp
new file mode 100644
index 00000000000..33f74f55976
--- /dev/null
+++ b/TAO/CIAO/DAnCE/tests/NodeApplicationTest/NodeApp_test_client_dynamic.cpp
@@ -0,0 +1,166 @@
+// $Id$
+
+#include "Deployment_CoreC.h"
+#include "Client_init.h"
+#include "NodeAppTest_RoundTripC.h"
+#include "ace/Get_Opt.h"
+#include "assert.h"
+
+const char *ior = "file://test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s \n"
+ "-k <ComponentServer ior> \n"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CIAO::Client_init (orb.in ());
+
+ CORBA::Object_var tmp =
+ orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Deployment::NodeApplication_var node_app =
+ Deployment::NodeApplication::_narrow(tmp.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (node_app.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil nodeapplication reference <%s>\n",
+ ior),
+ 1);
+ }
+
+
+ ACE_DEBUG ((LM_DEBUG, "Try installing Home and Component\n"));
+
+ Deployment::ComponentImplementationInfo info;
+
+ // Add the names and entry points of each of the DLLs
+ info.component_instance_name =
+ CORBA::string_dup ("NodeAppTest_RoundTrip");
+ info.executor_dll =
+ CORBA::string_dup ("NodeAppTest_RoundTrip_exec");
+ info.executor_entrypt =
+ CORBA::string_dup ("createRoundTripHome_Impl");
+ info.servant_dll =
+ CORBA::string_dup ("NodeAppTest_RoundTrip_svnt");
+ info.servant_entrypt =
+ CORBA::string_dup (
+ "create_NodeAppTest_NodeAppTest_RoundTripHome_Servant"
+ );
+
+ // Create a ContainerImplementationInfo sequence
+ Deployment::ContainerImplementationInfo container_info;
+ container_info.impl_infos.length (1);
+ container_info.impl_infos[0] = info;
+
+ // Create a NodeImplementationInfo sequence
+ Deployment::NodeImplementationInfo node_info;
+ node_info.impl_infos.length (1);
+ node_info.impl_infos[0] = container_info;
+
+ // Install test component and its home on NodeApplication
+ Deployment::ComponentInfos_var comp_info =
+ node_app->install (node_info ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ assert (comp_info->length () == 1); //return 1 component objeref
+
+ const CORBA::ULong i = 0;
+ Components::CCMObject_var objref = (comp_info[i]).component_ref;
+
+ NodeAppTest::NodeAppTest_RoundTrip_var roundtrip_var =
+ NodeAppTest::NodeAppTest_RoundTrip::_narrow (objref.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (roundtrip_var.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil RoundTrip reference\n"),
+ 1);
+ }
+
+ // Invoke Operation on the Interface
+ ACE_DEBUG ((LM_DEBUG, "Try cube_long operation on the Interface \n"));
+ CORBA::Long input = 1L;
+ CORBA::Long output =
+ roundtrip_var->cube_long (input ACE_ENV_ARG_PARAMETER);
+
+ if (input == output)
+ ACE_DEBUG ((LM_DEBUG, "Retrun values matched!!\n"));
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, "Return values did not match: failure\n"));
+ exit (1);
+ }
+
+ // Install another set of components
+ ACE_DEBUG ((LM_DEBUG, "Try installing another component dynamically\n"));
+
+ // Modifying the component instance name since it must be unique
+ (node_info.impl_infos[0]).impl_infos[0].component_instance_name =
+ CORBA::string_dup ("NodeAppTest_RoundTrip_2");
+ Deployment::ComponentInfos_var comp_info_new =
+ node_app->install (node_info ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ assert (comp_info_new->length () == 1); //return 1 component objeref
+
+ ACE_DEBUG ((LM_DEBUG, "Try removing the second component and its home\n"));
+ node_app->remove_component ("NodeAppTest_RoundTrip");
+ ACE_DEBUG ((LM_DEBUG, "Component and Home removed successfully\n"));
+
+ ACE_DEBUG ((LM_DEBUG, "=====Try removing all remaining components and homes\n"));
+ node_app->remove ();
+ ACE_DEBUG ((LM_DEBUG, "=====Components and Homes removed successfully\n"));
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_DEBUG ((LM_DEBUG, "=====Test success!!\n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/CIAO/ciao/Deployment_Events.idl b/TAO/CIAO/ciao/Deployment_Events.idl
new file mode 100644
index 00000000000..1d4d431287c
--- /dev/null
+++ b/TAO/CIAO/ciao/Deployment_Events.idl
@@ -0,0 +1,68 @@
+// $Id$
+
+/**
+ * @file Deployment_Events.idl
+ *
+ * @brief A collection of IDL data types for CIAO pub/sub services deployment.
+ *
+ * @author Gan Deng
+ */
+
+#if !defined (CIAO_DEPLOYMENT_EVENT_SERVICES_IDL)
+#define CIAO_DEPLOYMENT_EVENT_SERVICES_IDL
+
+#include <orb.idl>
+
+module CIAO
+{
+ module DAnCE
+ {
+ /// CIAO specific extension to describe pub/sub services in the deployment
+ enum EventServiceType
+ {
+ EC,
+ RTEC,
+ NOTIFY,
+ RTNOTIFY
+ };
+
+ /// Each element in the EventSourceSet denotes a event source id
+ typedef string EventSourceId;
+
+ typedef sequence<EventSourceId> EventSourceSet;
+
+ /// Event Filters
+ enum FilterType
+ {
+ CONJUNCTION,
+ DISJUNCTION,
+ LOGICAL_AND,
+ NEGATE
+ };
+
+ struct EventFilter
+ {
+ string name;
+ FilterType type;
+ EventSourceSet sources;
+ };
+
+ typedef sequence < EventFilter > EventFilters;
+
+ /// CIAO specific extension to describe pub/sub services in the deployment
+ struct EventServiceDeploymentDescription
+ {
+ string name;
+ string node;
+ EventServiceType type;
+ string svc_cfg_file;
+
+ EventFilters filters;
+ };
+
+ typedef sequence < EventServiceDeploymentDescription >
+ EventServiceDeploymentDescriptions;
+ };
+};
+
+#endif /* CIAO_DEPLOYMENT_EVENT_SERVICES_IDL */
diff --git a/TAO/CIAO/ciao/Deployment_common.h b/TAO/CIAO/ciao/Deployment_common.h
new file mode 100644
index 00000000000..725b6afd953
--- /dev/null
+++ b/TAO/CIAO/ciao/Deployment_common.h
@@ -0,0 +1,54 @@
+// $Id$
+
+/**
+ * @file Deployment_common.h
+ *
+ * This file collects common type definitions used across different
+ * objects of DAnCE toolchain.
+ *
+ * @author Gan Deng <dengg@dre.vanderbilt.edu>
+ */
+
+#ifndef DANCE_COMMON_H
+#define DANCE_COMMON_H
+#include /**/ "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined ACE_LACKS_PRAGMA_ONCE
+#pragma once
+#endif /* ! ACE_LACKS_PRAGMA_ONCE */
+
+/// A struct which captures the binding information about a component
+
+namespace CIAO
+{
+ /// A struct which captures the compnent binding information, which
+ /// is useful for inter-assembly connection setup
+ typedef struct _component_binding
+ {
+ _component_binding ()
+ {
+ providedReference_ = 0;
+ }
+
+ ACE_CString name_;
+ ACE_CString plan_uuid_;
+ ACE_CString node_;
+
+ Deployment::Connections_var providedReference_;
+
+ bool operator==(const struct _component_binding & comp)
+ {
+ if (this->name_ == comp.name_ &&
+ this->plan_uuid_ == comp.plan_uuid_ &&
+ this->node_ == comp.node_)
+ return true;
+ else
+ return false;
+ }
+ } Component_Binding_Info;
+}
+
+#include /**/ "ace/post.h"
+#endif /* DANCE_COMMON_H */
diff --git a/TAO/CIAO/ciao/DomainApplicationManager.idl b/TAO/CIAO/ciao/DomainApplicationManager.idl
new file mode 100644
index 00000000000..c0030465638
--- /dev/null
+++ b/TAO/CIAO/ciao/DomainApplicationManager.idl
@@ -0,0 +1,57 @@
+// $Id$
+#ifndef DOMAINAPPLICATIONMANAGER_IDL
+#define DOMAINAPPLICATIONMANAGER_IDL
+
+#include "Deployment.idl"
+
+module Deployment {
+ /// CIAO 's DomainApplicationManager interface differs spec-defined interface
+ /// in the same that it also integrates the spec-defined interface for
+ /// DomainApplication into itself
+ interface DomainApplicationManager
+ {
+ DeploymentPlan getPlan ();
+
+ /// CIAO specific version of startLaunch implementation, this one
+ /// differs with spec-defined operation in the sense that it doesn't
+ /// return DomainApplication object reference.
+ void startLaunch (in Properties configProperty, in boolean start)
+ raises (ResourceNotAvailable, StartError, InvalidProperty);
+
+ void finishLaunch (in boolean start,
+ in boolean is_ReDAC)
+ raises (StartError, InvalidConnection);
+
+ void start ()
+ raises (StartError);
+
+ /// CIAO specific extention
+ /// Fetch NodeApplication based on the given node name
+ NodeApplication get_node_app (in string node_name)
+ raises (NoSuchName);
+
+ /// CIAO specific extension, it differs with the spec defined one
+ /// for no input parameter.
+ void destroyApplication ()
+ raises (StopError);
+
+ /// CIAO specific extension to destroy NodeApplicationManager
+ void destroyManager ()
+ raises (StopError);
+
+ /// CIAO specific extension
+ /// Perform the actual redeployment and reconfiguration on the dommain level.
+ void perform_redeployment (in DeploymentPlan new_plan)
+ raises (PlanError,
+ InstallationFailure,
+ UnknownImplId,
+ ImplEntryPointNotFound,
+ InvalidConnection,
+ InvalidProperty,
+ ::Components::RemoveFailure);
+ };
+
+ typedef sequence < DomainApplicationManager > DomainApplicationManagers;
+};
+
+#endif /* DOMAINAPPLICATIONMANAGER_IDL */
diff --git a/TAO/CIAO/ciao/ExecutionManager.idl b/TAO/CIAO/ciao/ExecutionManager.idl
new file mode 100644
index 00000000000..a5108b77281
--- /dev/null
+++ b/TAO/CIAO/ciao/ExecutionManager.idl
@@ -0,0 +1,50 @@
+// $Id$
+#ifndef EXECUTIONMANAGER_IDL
+#define EXECUTIONMANAGER_IDL
+
+#include "Deployment.idl"
+#include "DomainApplicationManager.idl"
+
+module Deployment {
+ interface ExecutionManager {
+ DomainApplicationManager preparePlan (in DeploymentPlan plan,
+ in boolean commitResources)
+ raises (ResourceNotAvailable, PlanError, StartError);
+
+ DomainApplicationManagers getManagers ();
+
+ DomainApplicationManager getManager (in string plan_uuid)
+ raises (PlanNotExist);
+
+ void destroyManager (in DomainApplicationManager manager)
+ raises (StopError);
+
+ /// CIAO specific extention
+ /// Destroy ApplicationManagers by plan_uuid, the unique semantics of this
+ /// operation lies in the fact that if some components are
+ /// still up and running, then the ApplicationManagers won't be destroyed.
+ void destroyManagerByPlan (in string plan_uuid)
+ raises (StopError);
+
+ /// CIAO specific extention
+ /// "Get" operation, return the DeploymentPlan
+ DeploymentPlan getPlan (in string plan_uuid);
+
+ /// CIAO specific operation to handle dynamic system redeployment
+ /// and reconfiguration
+ /// This operation could handle dynamic redeployment, and this
+ /// is the operation exposed to clients directly. Other
+ /// "perform_redeployment" operation defined on DAM and NA
+ /// are implementaion details within DAnCE.
+ void perform_redeployment (in DeploymentPlan new_plan)
+ raises (PlanError,
+ InstallationFailure,
+ UnknownImplId,
+ ImplEntryPointNotFound,
+ InvalidConnection,
+ InvalidProperty,
+ ::Components::RemoveFailure);
+ };
+};
+
+#endif /* EXECUTIONMANAGER_IDL */
diff --git a/TAO/CIAO/ciao/NodeApplicationManager.idl b/TAO/CIAO/ciao/NodeApplicationManager.idl
new file mode 100644
index 00000000000..1c3e33ad05b
--- /dev/null
+++ b/TAO/CIAO/ciao/NodeApplicationManager.idl
@@ -0,0 +1,50 @@
+// $Id$
+#ifndef NODEAPPLICATIONMANAGER_IDL
+#define NODEAPPLICATIONMANAGER_IDL
+
+#include "Deployment.idl"
+
+module Deployment {
+ interface ApplicationManager {
+ Application startLaunch (in Properties configProperty,
+ out Connections providedReference,
+ in boolean start)
+ raises (ResourceNotAvailable, StartError, InvalidProperty);
+ void destroyApplication (in Application app)
+ raises (StopError);
+ };
+
+ interface NodeApplicationManager :
+ ApplicationManager
+ {
+ /// CIAO specific operation to handle dynamic system redeployment
+ /// and reconfiguration
+ /// This operation could handle dynamic redeployment for
+ /// a node-level deployment plan within a node
+ /// @para add_or_remove If true, we add new components only, vice vesa.
+ Application perform_redeployment (in Properties configProperty,
+ out Connections providedReference,
+ in boolean add_or_remove,
+ in boolean start)
+ raises (PlanError,
+ InstallationFailure,
+ UnknownImplId,
+ ImplEntryPointNotFound,
+ InvalidConnection,
+ InvalidProperty,
+ ::Components::RemoveFailure);
+
+ /// CIAO specific operation to reset deployment plan
+ void reset_plan (in DeploymentPlan plan);
+
+ /// CIAO speicfic operation to set the information of
+ /// "shared components" (through NodeManager)
+ void set_shared_components (in ComponentPlans components);
+
+ /// CIAO specific function to set priority
+ /// o component , required by RACE
+ long set_priority (in string cid , in Sched_Params params);
+ };
+};
+
+#endif /* NODEAPPLICATIONMANAGER_IDL */
diff --git a/TAO/CIAO/ciao/NodeManager.idl b/TAO/CIAO/ciao/NodeManager.idl
new file mode 100644
index 00000000000..47651ac52bb
--- /dev/null
+++ b/TAO/CIAO/ciao/NodeManager.idl
@@ -0,0 +1,38 @@
+// $Id$
+#ifndef NODEMANAGER_IDL
+#define NODEMANAGER_IDL
+
+#include "Deployment.idl"
+
+module Deployment {
+
+ interface NodeApplicationManager;
+
+ interface NodeManager {
+ void joinDomain (in Domain ciao_domain,
+ in TargetManager manager,
+ in Logger log);
+
+ void leaveDomain ();
+
+ NodeApplicationManager preparePlan (in DeploymentPlan plan)
+ raises (StartError, PlanError);
+
+ void destroyManager (in NodeApplicationManager appManager)
+ raises (StopError, InvalidReference);
+
+ /// CIAO specific extension
+ /// Destroy the NAM and all the associated NAs with this child_plan
+ /// We can guarantee that the input DeploymentPlan is valid, since it
+ /// is fetched from the cached DeploymentPlan of DAM, which has been
+ /// validated before.
+ void destroyPlan (in DeploymentPlan plan)
+ raises (StopError);
+
+ /// CIAO specific extension
+ /// Get all the shared components installed in this node
+ ComponentPlans get_shared_components ();
+ };
+};
+
+#endif /* NODEMANAGER_IDL */
diff --git a/TAO/CIAO/ciao/RepositoryManager.idl b/TAO/CIAO/ciao/RepositoryManager.idl
new file mode 100644
index 00000000000..f7fbe6f4d36
--- /dev/null
+++ b/TAO/CIAO/ciao/RepositoryManager.idl
@@ -0,0 +1,38 @@
+// $Id$
+#ifndef REPOSITORY_MANAGER_IDL
+#define REPOSITORY_MANAGER_IDL
+
+#include "Packaging_Data.idl"
+#include "Deployment.idl"
+
+module Deployment {
+
+ exception NameExists {
+ };
+
+ exception PackageError {
+ string source;
+ string reason;
+ };
+
+ interface RepositoryManager {
+ void installPackage (in string installationName, in string location)
+ raises (NameExists, PackageError);
+ void createPackage (in string installationName,
+ in PackageConfiguration package,
+ in string baseLocation,
+ in boolean replace)
+ raises (NameExists, PackageError);
+ PackageConfiguration findPackageByName (in string name)
+ raises (NoSuchName);
+ PackageConfiguration findPackageByUUID (in string UUID)
+ raises (NoSuchName);
+ ::CORBA::StringSeq findNamesByType (in string type);
+ ::CORBA::StringSeq getAllNames ();
+ ::CORBA::StringSeq getAllTypes ();
+ void deletePackage (in string installationName)
+ raises (NoSuchName);
+ };
+};
+
+#endif /* REPOSITOR_MANAGER_IDL */
diff --git a/TAO/CIAO/ciao/Servant_Impl_Utils_T.cpp b/TAO/CIAO/ciao/Servant_Impl_Utils_T.cpp
new file mode 100644
index 00000000000..5d75ef51fd3
--- /dev/null
+++ b/TAO/CIAO/ciao/Servant_Impl_Utils_T.cpp
@@ -0,0 +1,143 @@
+// $Id$
+
+#ifndef CIAO_SERVANT_IMPL_UTILS_T_C
+#define CIAO_SERVANT_IMPL_UTILS_T_C
+
+#include "Servant_Impl_Base.h"
+#include "ciao/Cookies.h"
+
+namespace CIAO
+{
+ template<typename T_var>
+ void
+ Servant_Impl_Base::describe_simplex_receptacle (
+ const char *port_name,
+ const char *port_type_repo_id,
+ T_var &connection,
+ ::Components::ReceptacleDescriptions_var &descriptions,
+ CORBA::ULong slot
+ )
+ {
+ ::Components::ReceptacleDescription *elem = 0;
+ ACE_NEW (elem,
+ ::OBV_Components::ReceptacleDescription);
+ ::Components::ReceptacleDescription_var safe_elem = elem;
+
+ elem->name (port_name);
+ elem->type_id (port_type_repo_id);
+ elem->is_multiple (false);
+ elem->connections ().length (1UL);
+ elem->connections ()[0UL]->ck (0);
+
+ // Valuetype 'set' call increments the reference count.
+ elem->connections ()[0UL]->objref (connection.in ());
+
+ descriptions[slot] = safe_elem._retn ();
+ }
+
+ template<typename T_var>
+ void
+ Servant_Impl_Base::describe_multiplex_receptacle (
+ const char *port_name,
+ const char *port_type_repo_id,
+ ACE_Active_Map_Manager<T_var> &objrefs,
+ ::Components::ReceptacleDescriptions_var &descriptions,
+ CORBA::ULong slot
+ )
+ {
+ ::Components::ReceptacleDescription *elem = 0;
+ ACE_NEW (elem,
+ ::OBV_Components::ReceptacleDescription);
+ ::Components::ReceptacleDescription_var safe_elem = elem;
+
+ elem->name (port_name);
+ elem->type_id (port_type_repo_id);
+ elem->is_multiple (true);
+ elem->connections ().length (objrefs.current_size ());
+
+ CORBA::ULong map_slot = 0UL;
+
+ for (typename ACE_Active_Map_Manager<T_var>::CONST_ITERATOR iter (
+ objrefs
+ );
+ 0 == iter.done ();
+ iter.advance (), ++map_slot)
+ {
+ ::Components::Cookie *cookie_from_key = 0;
+ ACE_NEW (cookie_from_key,
+ ::CIAO::Map_Key_Cookie ((*iter).ext_id_));
+
+ // Both valuetype 'set' calls increment the reference count.
+ elem->connections ()[map_slot]->ck (cookie_from_key);
+ CORBA::remove_ref (cookie_from_key);
+ elem->connections ()[map_slot]->objref ((*iter).int_id_.in ());
+ }
+
+ descriptions[slot] = safe_elem._retn ();
+ }
+
+ template<typename T_var>
+ void
+ Servant_Impl_Base::describe_pub_event_source (
+ const char *port_name,
+ const char *port_type_repo_id,
+ ACE_Active_Map_Manager<T_var> &consumers,
+ ::Components::PublisherDescriptions_var &descriptions,
+ CORBA::ULong slot
+ )
+ {
+ ::Components::PublisherDescription *elem = 0;
+ ACE_NEW (elem,
+ ::OBV_Components::PublisherDescription);
+ ::Components::PublisherDescription_var safe_elem = elem;
+
+ elem->name (port_name);
+ elem->type_id (port_type_repo_id);
+
+ CORBA::ULong map_slot = 0UL;
+
+ for (typename ACE_Active_Map_Manager<T_var>::CONST_ITERATOR iter (
+ consumers
+ );
+ 0 == iter.done ();
+ iter.advance (), ++map_slot)
+ {
+ ::Components::Cookie *cookie_from_key = 0;
+ ACE_NEW (cookie_from_key,
+ ::CIAO::Map_Key_Cookie ((*iter).ext_id_));
+
+ // Both valuetype 'set' calls increment the reference count.
+ elem->consumer ()[map_slot]->ck (cookie_from_key);
+ CORBA::remove_ref (cookie_from_key);
+ elem->consumer ()[map_slot]->consumer ((*iter).int_id_.in ());
+ }
+
+ descriptions[slot] = safe_elem._retn ();
+ }
+
+ template<typename T_var>
+ void
+ Servant_Impl_Base::describe_emit_event_source (
+ const char *port_name,
+ const char *port_type_repo_id,
+ T_var &consumer_ref,
+ ::Components::EmitterDescriptions_var &descriptions,
+ CORBA::ULong slot
+ )
+ {
+ ::Components::EmitterDescription *elem = 0;
+ ACE_NEW (elem,
+ ::OBV_Components::EmitterDescription);
+ ::Components::EmitterDescription_var safe_elem = elem;
+
+ elem->name (port_name);
+ elem->type_id (port_type_repo_id);
+
+ // Valuetype 'set' call increments the reference count.
+ elem->consumer (consumer_ref.in ());
+
+ descriptions[slot] = safe_elem._retn ();
+ }
+}
+
+#endif /* CIAO_SERVANT_IMPL_T_C */
diff --git a/TAO/CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl b/TAO/CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl
new file mode 100644
index 00000000000..bcfcca9ef93
--- /dev/null
+++ b/TAO/CIAO/ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl
@@ -0,0 +1,69 @@
+// $Id$
+
+/**
+ * @file CIAO_Events.idl
+ *
+ * @author George Edwards <g.edwards@vanderbilt.edu>
+ * @author Gan Deng <dengg@dre.vanderbilt.edu>
+ *
+ * @brief Interfaces for configuring CIAO's event mechanism.
+ */
+
+#include "ciao/CCM_Event.idl"
+
+module CIAO
+{
+ /// A component's UUID + port name.
+ typedef string CONNECTION_ID;
+
+ enum EventServiceType
+ {
+ DIRECT,
+ EC,
+ RTEC,
+ NOTIFY,
+ RTNOTIFY
+ };
+
+ interface Supplier_Config
+ {
+ attribute CONNECTION_ID supplier_id;
+
+ readonly attribute EventServiceType service_type;
+
+ void destroy ();
+ };
+
+ interface Consumer_Config : Supplier_Config
+ {
+ attribute CONNECTION_ID consumer_id;
+ attribute Components::EventConsumerBase consumer;
+
+ void start_conjunction_group (in long size);
+
+ void start_disjunction_group (in long size);
+
+ void insert_source (in CONNECTION_ID source_id);
+
+ void insert_type (in long event_type);
+ };
+
+ interface CIAO_Event_Service : Components::EventConsumerBase
+ {
+ Supplier_Config create_supplier_config ();
+
+ Consumer_Config create_consumer_config ();
+
+ void connect_event_supplier (in Supplier_Config supplier_conf);
+
+ void connect_event_consumer (in Consumer_Config consumer_conf);
+
+ void disconnect_event_supplier (in CONNECTION_ID conn_id)
+ raises (Components::InvalidConnection);
+
+ void disconnect_event_consumer (in CONNECTION_ID conn_id)
+ raises (Components::InvalidConnection);
+
+ //void push_event (in Components::EventBase ev);
+ };
+};
diff --git a/TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.h b/TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.h
new file mode 100644
index 00000000000..0ba65234b21
--- /dev/null
+++ b/TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.h
@@ -0,0 +1,332 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file CIAO_RTEvent.h
+ *
+ * $Id$
+ *
+ * @author Gan Deng <dengg@dre.vanderbilt.edu>
+ * @author George Edwards <g.edwards@vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef CIAO_RTEVENT_H
+#define CIAO_RTEVENT_H
+#include /**/ "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "CIAO_RTEVENT_Export.h"
+#include "ciaosvcs/Events/CIAO_Events_Base/CIAO_EventServiceBase.h"
+#include "CIAO_RTEventS.h"
+
+#include "orbsvcs/orbsvcs/Event_Utilities.h"
+#include "orbsvcs/orbsvcs/Event/EC_Event_Channel.h"
+#include "orbsvcs/orbsvcs/Event/EC_Default_Factory.h"
+#include "ace/Hash_Map_Manager.h"
+
+namespace CIAO
+{
+
+ /**
+ * @class RTEventService
+ *
+ * An implementation of EventServiceBase using the RT event channel.
+ *
+ * @@ (GD) There should be a place where the deployment tool could
+ * specify the RT Event Channel service configuration file.
+ * This should be the place where the RtecEventChannel servant was
+ * first time initialized.
+ */
+ class CIAO_RTEVENT_Export RTEventService :
+ public virtual EventServiceBase
+ {
+ public:
+
+ RTEventService (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa);
+
+ virtual ~RTEventService (void);
+
+ virtual Supplier_Config_ptr
+ create_supplier_config (void)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Consumer_Config_ptr
+ create_consumer_config (void)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void connect_event_supplier (
+ CIAO::Supplier_Config_ptr supplier_config
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException));
+
+ virtual void connect_event_consumer (
+ CIAO::Consumer_Config_ptr consumer_config
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException));
+
+ virtual void
+ disconnect_event_supplier (
+ const char * consumer_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ Components::InvalidConnection));
+
+ virtual void disconnect_event_consumer (
+ const char * connection_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ Components::InvalidConnection));
+
+ virtual void push_event (
+ Components::EventBase * ev
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException));
+
+ private:
+ // @@ (GD) This is the place where use could provide a parameter
+ // which specifies the event channel service configuration file.
+ void create_rt_event_channel (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException));
+
+ private:
+
+ /// Reference to the ORB
+ CORBA::ORB_var orb_;
+
+ /// Reference to the Root POA
+ PortableServer::POA_var root_poa_;
+
+ /**
+ * @var RtecEventChannelAdmin::EventChannel_var rt_event_channel_
+ *
+ * Reference to the RT event channel.
+ */
+ RtecEventChannelAdmin::EventChannel_var rt_event_channel_;
+
+ /**
+ * @var RtecEventComm::EventType type_id_
+ *
+ * The type of event.
+ */
+ RtecEventComm::EventType type_id_;
+
+ /**
+ * @var RtecEventComm::EventSourceID source_id_
+ * @@@ Need to change this into a map, since multiple sources
+ * could be connected to the event channel.
+ *
+ * The supplier id.
+ */
+ RtecEventComm::EventSourceID source_id_;
+
+ /**
+ * @var RtecEventChannelAdmin::ProxyPushConsumer_var proxy_consumer_
+ *
+ * The proxy consumer to which events are pushed.
+ */
+ RtecEventChannelAdmin::ProxyPushConsumer_var proxy_consumer_;
+
+ /**
+ * @var ACE_Hash_Map_Manager<> proxy_supplier_map_
+ *
+ * Mapping of each event sink to a proxy supplier for disconnect purposes.
+ */
+ ACE_Hash_Map_Manager_Ex<ACE_CString,
+ RtecEventChannelAdmin::ProxyPushSupplier_ptr,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> proxy_supplier_map_;
+
+ };
+
+ /**
+ * @class RTEventServiceSupplier_impl
+ *
+ * An implementation of the PushSupplier interface.
+ */
+ class RTEventServiceSupplier_impl :
+ public virtual POA_RtecEventComm::PushSupplier
+ {
+ public:
+
+ RTEventServiceSupplier_impl (
+ PortableServer::POA_ptr poa);
+
+ virtual void disconnect_push_supplier (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException));
+
+ private:
+
+ PortableServer::POA_var poa_;
+ };
+
+ /**
+ * @class RTEventServiceConsumer_impl
+ *
+ * An implementation of the PushConsumer interface.
+ */
+ class RTEventServiceConsumer_impl :
+ public virtual POA_RtecEventComm::PushConsumer
+ {
+ public:
+
+ RTEventServiceConsumer_impl (
+ PortableServer::POA_ptr poa,
+ Components::EventConsumerBase_ptr consumer);
+
+ virtual void push (
+ const RtecEventComm::EventSet& events)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException));
+
+ virtual void disconnect_push_consumer (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((
+ CORBA::SystemException));
+
+ private:
+
+ PortableServer::POA_var poa_;
+
+ Components::EventConsumerBase_var event_consumer_;
+ };
+
+ /**
+ * @class RTEvent_Consumer_Config_impl
+ *
+ * Implementation of the RTEvent_Consumer_Config IDL interface that
+ * configures TAO's RT event channel. An object of this type will be returned
+ * from @c CIAO::Container::create_consumer_config () when @c RTEC is
+ * specified as the event service type.
+ */
+ class RTEvent_Consumer_Config_impl :
+ public virtual POA_CIAO::RTEvent_Consumer_Config,
+ public virtual Event_Consumer_Config_Base
+ {
+
+ public:
+ RTEvent_Consumer_Config_impl (PortableServer::POA_ptr poa);
+
+ virtual ~RTEvent_Consumer_Config_impl (void);
+
+ virtual void start_conjunction_group (CORBA::Long size ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void start_disjunction_group (CORBA::Long size ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void insert_source (const char * source_id ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void insert_type (::CORBA::Long event_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((::CORBA::SystemException));
+
+ virtual void consumer_id (const char * consumer_id ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CONNECTION_ID consumer_id (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void supplier_id (const char * supplier_id ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CONNECTION_ID supplier_id (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void consumer (Components::EventConsumerBase_ptr consumer ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Components::EventConsumerBase_ptr consumer (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual EventServiceType service_type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ //@@ (GD) There should be a place where the deployment tool could
+ // set up the rt_event_qos properties for Consumer Config.
+
+ virtual RtecEventChannelAdmin::ConsumerQOS * rt_event_qos (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ private:
+
+ ACE_CString consumer_id_;
+
+ ACE_CString supplier_id_;
+
+ Components::EventConsumerBase_var consumer_;
+
+ EventServiceType service_type_;
+
+ ACE_ConsumerQOS_Factory qos_;
+
+ PortableServer::POA_var poa_;
+ };
+
+ /**
+ * @class RTEvent_Supplier_Config_impl
+ *
+ * Implementation of the RTEvent_Supplier_Config IDL interface that
+ * configures TAO's RT event channel. An object of this type will be returned
+ * from @c CIAO::Container::create_supplier_config () when @c RTEC is
+ * specified as the event service type.
+ */
+ class RTEvent_Supplier_Config_impl :
+ public virtual POA_CIAO::RTEvent_Supplier_Config
+ {
+ public:
+ RTEvent_Supplier_Config_impl (PortableServer::POA_ptr poa);
+
+ virtual ~RTEvent_Supplier_Config_impl (void);
+
+ void supplier_id (const char * supplier_id ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CONNECTION_ID supplier_id (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ EventServiceType service_type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ //@@ (GD) There should be a place where the deployment tool could
+ // set up the rt_event_qos properties for Supplier Config.
+
+ RtecEventChannelAdmin::SupplierQOS * rt_event_qos (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ private:
+ ACE_CString supplier_id_;
+
+ EventServiceType service_type_;
+
+ ACE_SupplierQOS_Factory qos_;
+
+ PortableServer::POA_var poa_;
+ };
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_RTEVENT_H */
diff --git a/TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.idl b/TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.idl
new file mode 100644
index 00000000000..b51d00ec07d
--- /dev/null
+++ b/TAO/CIAO/ciaosvcs/Events/CIAO_RTEC/CIAO_RTEvent.idl
@@ -0,0 +1,38 @@
+// $Id$
+
+/**
+ * @file CIAO_RTEvent.idl
+ *
+ * @author Gan Deng <dengg@dre.vanderbilt.edu>
+ * @author George Edwards
+ *
+ * @brief Interfaces for configuring CIAO's RT event channel.
+ */
+
+#include <ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl>
+#include <orbsvcs/orbsvcs/RtecEventChannelAdmin.idl>
+
+module CIAO
+{
+ interface RTEvent_Consumer_Config :
+ Consumer_Config
+ {
+ //void start_logical_and_group (in long size);
+
+ //void start_negation ();
+
+ //void insert_bitmasked_value (in long source_mask,
+ // in long type_mask,
+ // in long source_value,
+ // in long type_value);
+
+ readonly attribute RtecEventChannelAdmin::ConsumerQOS rt_event_qos;
+ };
+
+ interface RTEvent_Supplier_Config :
+ Supplier_Config
+ {
+ readonly attribute RtecEventChannelAdmin::SupplierQOS rt_event_qos;
+ };
+
+};
diff --git a/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents.cpp b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents.cpp
new file mode 100644
index 00000000000..de7c731b954
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents.cpp
@@ -0,0 +1,3015 @@
+/* $Id$
+ * This code was generated by the XML Schema Compiler.
+ *
+ * Changes made to this code will most likely be overwritten
+ * when the handlers are recompiled.
+ *
+ * If you find errors or feel that there are bugfixes to be made,
+ * please contact the current XSC maintainer:
+ * Will Otte <wotte@dre.vanderbilt.edu>
+ */
+
+#include "CIAOEvents.hpp"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+
+ // EventServiceType
+ //
+
+ EventServiceType::Value EventServiceType::
+ integral () const
+ {
+ return v_;
+ }
+
+ bool
+ operator== (::CIAO::Config_Handlers::EventServiceType const& a, ::CIAO::Config_Handlers::EventServiceType const& b)
+ {
+ return a.v_ == b.v_;
+ }
+
+ bool
+ operator!= (::CIAO::Config_Handlers::EventServiceType const& a, ::CIAO::Config_Handlers::EventServiceType const& b)
+ {
+ return a.v_ != b.v_;
+ }
+
+ EventServiceType::
+ EventServiceType (EventServiceType::Value v)
+ : v_ (v)
+ {
+ }
+
+ // CIAOEventsDef
+ //
+
+ CIAOEventsDef::
+ CIAOEventsDef ()
+ :
+ ::XSCRT::Type (),
+ regulator__ ()
+ {
+ }
+
+ CIAOEventsDef::
+ CIAOEventsDef (::CIAO::Config_Handlers::CIAOEventsDef const& s)
+ :
+ ::XSCRT::Type (),
+ id_ (s.id_.get () ? new ::XMLSchema::ID< ACE_TCHAR > (*s.id_) : 0),
+ regulator__ ()
+ {
+ {
+ for (eventServiceConfiguration_const_iterator i (s.eventServiceConfiguration_.begin ());i != s.eventServiceConfiguration_.end ();++i) add_eventServiceConfiguration (*i);
+ }
+
+ if (id_.get ()) id_->container (this);
+ }
+
+ ::CIAO::Config_Handlers::CIAOEventsDef& CIAOEventsDef::
+ operator= (::CIAO::Config_Handlers::CIAOEventsDef const& s)
+ {
+ eventServiceConfiguration_.clear ();
+ {
+ for (eventServiceConfiguration_const_iterator i (s.eventServiceConfiguration_.begin ());i != s.eventServiceConfiguration_.end ();++i) add_eventServiceConfiguration (*i);
+ }
+
+ if (s.id_.get ()) id (*(s.id_));
+ else id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (0);
+
+ return *this;
+ }
+
+
+ // CIAOEventsDef
+ //
+ CIAOEventsDef::eventServiceConfiguration_iterator CIAOEventsDef::
+ begin_eventServiceConfiguration ()
+ {
+ return eventServiceConfiguration_.begin ();
+ }
+
+ CIAOEventsDef::eventServiceConfiguration_iterator CIAOEventsDef::
+ end_eventServiceConfiguration ()
+ {
+ return eventServiceConfiguration_.end ();
+ }
+
+ CIAOEventsDef::eventServiceConfiguration_const_iterator CIAOEventsDef::
+ begin_eventServiceConfiguration () const
+ {
+ return eventServiceConfiguration_.begin ();
+ }
+
+ CIAOEventsDef::eventServiceConfiguration_const_iterator CIAOEventsDef::
+ end_eventServiceConfiguration () const
+ {
+ return eventServiceConfiguration_.end ();
+ }
+
+ void CIAOEventsDef::
+ add_eventServiceConfiguration (::CIAO::Config_Handlers::EventServiceDescription const& e)
+ {
+ eventServiceConfiguration_.push_back (e);
+ }
+
+ size_t CIAOEventsDef::
+ count_eventServiceConfiguration(void) const
+ {
+ return eventServiceConfiguration_.size ();
+ }
+
+ // CIAOEventsDef
+ //
+ bool CIAOEventsDef::
+ id_p () const
+ {
+ return id_.get () != 0;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR > const& CIAOEventsDef::
+ id () const
+ {
+ return *id_;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR >& CIAOEventsDef::
+ id ()
+ {
+ return *id_;
+ }
+
+ void CIAOEventsDef::
+ id (::XMLSchema::ID< ACE_TCHAR > const& e)
+ {
+ if (id_.get ())
+ {
+ *id_ = e;
+ }
+
+ else
+ {
+ id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (new ::XMLSchema::ID< ACE_TCHAR > (e));
+ id_->container (this);
+ }
+ }
+
+
+ // EventServiceDescription
+ //
+
+ EventServiceDescription::
+ EventServiceDescription (::XMLSchema::string< ACE_TCHAR > const& name__,
+ ::XMLSchema::string< ACE_TCHAR > const& node__,
+ ::CIAO::Config_Handlers::EventServiceType const& type__,
+ ::XMLSchema::string< ACE_TCHAR > const& svc_cfg_file__)
+ :
+ ::XSCRT::Type (),
+ name_ (new ::XMLSchema::string< ACE_TCHAR > (name__)),
+ node_ (new ::XMLSchema::string< ACE_TCHAR > (node__)),
+ type_ (new ::CIAO::Config_Handlers::EventServiceType (type__)),
+ svc_cfg_file_ (new ::XMLSchema::string< ACE_TCHAR > (svc_cfg_file__)),
+ regulator__ ()
+ {
+ name_->container (this);
+ node_->container (this);
+ type_->container (this);
+ svc_cfg_file_->container (this);
+ }
+
+ EventServiceDescription::
+ EventServiceDescription (::CIAO::Config_Handlers::EventServiceDescription const& s)
+ :
+ ::XSCRT::Type (),
+ name_ (new ::XMLSchema::string< ACE_TCHAR > (*s.name_)),
+ node_ (new ::XMLSchema::string< ACE_TCHAR > (*s.node_)),
+ type_ (new ::CIAO::Config_Handlers::EventServiceType (*s.type_)),
+ svc_cfg_file_ (new ::XMLSchema::string< ACE_TCHAR > (*s.svc_cfg_file_)),
+ id_ (s.id_.get () ? new ::XMLSchema::ID< ACE_TCHAR > (*s.id_) : 0),
+ regulator__ ()
+ {
+ name_->container (this);
+ node_->container (this);
+ type_->container (this);
+ svc_cfg_file_->container (this);
+ {
+ for (filter_const_iterator i (s.filter_.begin ());i != s.filter_.end ();++i) add_filter (*i);
+ }
+
+ if (id_.get ()) id_->container (this);
+ }
+
+ ::CIAO::Config_Handlers::EventServiceDescription& EventServiceDescription::
+ operator= (::CIAO::Config_Handlers::EventServiceDescription const& s)
+ {
+ name (s.name ());
+
+ node (s.node ());
+
+ type (s.type ());
+
+ svc_cfg_file (s.svc_cfg_file ());
+
+ filter_.clear ();
+ {
+ for (filter_const_iterator i (s.filter_.begin ());i != s.filter_.end ();++i) add_filter (*i);
+ }
+
+ if (s.id_.get ()) id (*(s.id_));
+ else id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (0);
+
+ return *this;
+ }
+
+
+ // EventServiceDescription
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& EventServiceDescription::
+ name () const
+ {
+ return *name_;
+ }
+
+ void EventServiceDescription::
+ name (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *name_ = e;
+ }
+
+ // EventServiceDescription
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& EventServiceDescription::
+ node () const
+ {
+ return *node_;
+ }
+
+ void EventServiceDescription::
+ node (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *node_ = e;
+ }
+
+ // EventServiceDescription
+ //
+ ::CIAO::Config_Handlers::EventServiceType const& EventServiceDescription::
+ type () const
+ {
+ return *type_;
+ }
+
+ void EventServiceDescription::
+ type (::CIAO::Config_Handlers::EventServiceType const& e)
+ {
+ *type_ = e;
+ }
+
+ // EventServiceDescription
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& EventServiceDescription::
+ svc_cfg_file () const
+ {
+ return *svc_cfg_file_;
+ }
+
+ void EventServiceDescription::
+ svc_cfg_file (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *svc_cfg_file_ = e;
+ }
+
+ // EventServiceDescription
+ //
+ EventServiceDescription::filter_iterator EventServiceDescription::
+ begin_filter ()
+ {
+ return filter_.begin ();
+ }
+
+ EventServiceDescription::filter_iterator EventServiceDescription::
+ end_filter ()
+ {
+ return filter_.end ();
+ }
+
+ EventServiceDescription::filter_const_iterator EventServiceDescription::
+ begin_filter () const
+ {
+ return filter_.begin ();
+ }
+
+ EventServiceDescription::filter_const_iterator EventServiceDescription::
+ end_filter () const
+ {
+ return filter_.end ();
+ }
+
+ void EventServiceDescription::
+ add_filter (::CIAO::Config_Handlers::Filter const& e)
+ {
+ filter_.push_back (e);
+ }
+
+ size_t EventServiceDescription::
+ count_filter(void) const
+ {
+ return filter_.size ();
+ }
+
+ // EventServiceDescription
+ //
+ bool EventServiceDescription::
+ id_p () const
+ {
+ return id_.get () != 0;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR > const& EventServiceDescription::
+ id () const
+ {
+ return *id_;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR >& EventServiceDescription::
+ id ()
+ {
+ return *id_;
+ }
+
+ void EventServiceDescription::
+ id (::XMLSchema::ID< ACE_TCHAR > const& e)
+ {
+ if (id_.get ())
+ {
+ *id_ = e;
+ }
+
+ else
+ {
+ id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (new ::XMLSchema::ID< ACE_TCHAR > (e));
+ id_->container (this);
+ }
+ }
+
+
+ // FilterType
+ //
+
+ FilterType::Value FilterType::
+ integral () const
+ {
+ return v_;
+ }
+
+ bool
+ operator== (::CIAO::Config_Handlers::FilterType const& a, ::CIAO::Config_Handlers::FilterType const& b)
+ {
+ return a.v_ == b.v_;
+ }
+
+ bool
+ operator!= (::CIAO::Config_Handlers::FilterType const& a, ::CIAO::Config_Handlers::FilterType const& b)
+ {
+ return a.v_ != b.v_;
+ }
+
+ FilterType::
+ FilterType (FilterType::Value v)
+ : v_ (v)
+ {
+ }
+
+ // Filter
+ //
+
+ Filter::
+ Filter (::XMLSchema::string< ACE_TCHAR > const& name__,
+ ::CIAO::Config_Handlers::FilterType const& type__)
+ :
+ ::XSCRT::Type (),
+ name_ (new ::XMLSchema::string< ACE_TCHAR > (name__)),
+ type_ (new ::CIAO::Config_Handlers::FilterType (type__)),
+ regulator__ ()
+ {
+ name_->container (this);
+ type_->container (this);
+ }
+
+ Filter::
+ Filter (::CIAO::Config_Handlers::Filter const& s)
+ :
+ ::XSCRT::Type (),
+ name_ (new ::XMLSchema::string< ACE_TCHAR > (*s.name_)),
+ type_ (new ::CIAO::Config_Handlers::FilterType (*s.type_)),
+ id_ (s.id_.get () ? new ::XMLSchema::ID< ACE_TCHAR > (*s.id_) : 0),
+ regulator__ ()
+ {
+ name_->container (this);
+ type_->container (this);
+ {
+ for (source_const_iterator i (s.source_.begin ());i != s.source_.end ();++i) add_source (*i);
+ }
+
+ if (id_.get ()) id_->container (this);
+ }
+
+ ::CIAO::Config_Handlers::Filter& Filter::
+ operator= (::CIAO::Config_Handlers::Filter const& s)
+ {
+ name (s.name ());
+
+ type (s.type ());
+
+ source_.clear ();
+ {
+ for (source_const_iterator i (s.source_.begin ());i != s.source_.end ();++i) add_source (*i);
+ }
+
+ if (s.id_.get ()) id (*(s.id_));
+ else id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (0);
+
+ return *this;
+ }
+
+
+ // Filter
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& Filter::
+ name () const
+ {
+ return *name_;
+ }
+
+ void Filter::
+ name (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *name_ = e;
+ }
+
+ // Filter
+ //
+ ::CIAO::Config_Handlers::FilterType const& Filter::
+ type () const
+ {
+ return *type_;
+ }
+
+ void Filter::
+ type (::CIAO::Config_Handlers::FilterType const& e)
+ {
+ *type_ = e;
+ }
+
+ // Filter
+ //
+ Filter::source_iterator Filter::
+ begin_source ()
+ {
+ return source_.begin ();
+ }
+
+ Filter::source_iterator Filter::
+ end_source ()
+ {
+ return source_.end ();
+ }
+
+ Filter::source_const_iterator Filter::
+ begin_source () const
+ {
+ return source_.begin ();
+ }
+
+ Filter::source_const_iterator Filter::
+ end_source () const
+ {
+ return source_.end ();
+ }
+
+ void Filter::
+ add_source (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ source_.push_back (e);
+ }
+
+ size_t Filter::
+ count_source(void) const
+ {
+ return source_.size ();
+ }
+
+ // Filter
+ //
+ bool Filter::
+ id_p () const
+ {
+ return id_.get () != 0;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR > const& Filter::
+ id () const
+ {
+ return *id_;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR >& Filter::
+ id ()
+ {
+ return *id_;
+ }
+
+ void Filter::
+ id (::XMLSchema::ID< ACE_TCHAR > const& e)
+ {
+ if (id_.get ())
+ {
+ *id_ = e;
+ }
+
+ else
+ {
+ id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (new ::XMLSchema::ID< ACE_TCHAR > (e));
+ id_->container (this);
+ }
+ }
+
+
+ // MCastSenderDescription
+ //
+
+ MCastSenderDescription::
+ MCastSenderDescription (::XMLSchema::string< ACE_TCHAR > const& node__,
+ ::CIAO::Config_Handlers::EventServiceType const& type__,
+ ::XMLSchema::string< ACE_TCHAR > const& svc_cfg_file__)
+ :
+ ::XSCRT::Type (),
+ node_ (new ::XMLSchema::string< ACE_TCHAR > (node__)),
+ type_ (new ::CIAO::Config_Handlers::EventServiceType (type__)),
+ svc_cfg_file_ (new ::XMLSchema::string< ACE_TCHAR > (svc_cfg_file__)),
+ regulator__ ()
+ {
+ node_->container (this);
+ type_->container (this);
+ svc_cfg_file_->container (this);
+ }
+
+ MCastSenderDescription::
+ MCastSenderDescription (::CIAO::Config_Handlers::MCastSenderDescription const& s)
+ :
+ ::XSCRT::Type (),
+ node_ (new ::XMLSchema::string< ACE_TCHAR > (*s.node_)),
+ type_ (new ::CIAO::Config_Handlers::EventServiceType (*s.type_)),
+ svc_cfg_file_ (new ::XMLSchema::string< ACE_TCHAR > (*s.svc_cfg_file_)),
+ id_ (s.id_.get () ? new ::XMLSchema::ID< ACE_TCHAR > (*s.id_) : 0),
+ regulator__ ()
+ {
+ node_->container (this);
+ type_->container (this);
+ svc_cfg_file_->container (this);
+ if (id_.get ()) id_->container (this);
+ }
+
+ ::CIAO::Config_Handlers::MCastSenderDescription& MCastSenderDescription::
+ operator= (::CIAO::Config_Handlers::MCastSenderDescription const& s)
+ {
+ node (s.node ());
+
+ type (s.type ());
+
+ svc_cfg_file (s.svc_cfg_file ());
+
+ if (s.id_.get ()) id (*(s.id_));
+ else id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (0);
+
+ return *this;
+ }
+
+
+ // MCastSenderDescription
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& MCastSenderDescription::
+ node () const
+ {
+ return *node_;
+ }
+
+ void MCastSenderDescription::
+ node (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *node_ = e;
+ }
+
+ // MCastSenderDescription
+ //
+ ::CIAO::Config_Handlers::EventServiceType const& MCastSenderDescription::
+ type () const
+ {
+ return *type_;
+ }
+
+ void MCastSenderDescription::
+ type (::CIAO::Config_Handlers::EventServiceType const& e)
+ {
+ *type_ = e;
+ }
+
+ // MCastSenderDescription
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& MCastSenderDescription::
+ svc_cfg_file () const
+ {
+ return *svc_cfg_file_;
+ }
+
+ void MCastSenderDescription::
+ svc_cfg_file (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *svc_cfg_file_ = e;
+ }
+
+ // MCastSenderDescription
+ //
+ bool MCastSenderDescription::
+ id_p () const
+ {
+ return id_.get () != 0;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR > const& MCastSenderDescription::
+ id () const
+ {
+ return *id_;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR >& MCastSenderDescription::
+ id ()
+ {
+ return *id_;
+ }
+
+ void MCastSenderDescription::
+ id (::XMLSchema::ID< ACE_TCHAR > const& e)
+ {
+ if (id_.get ())
+ {
+ *id_ = e;
+ }
+
+ else
+ {
+ id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (new ::XMLSchema::ID< ACE_TCHAR > (e));
+ id_->container (this);
+ }
+ }
+
+
+ // MCastReceiverDescription
+ //
+
+ MCastReceiverDescription::
+ MCastReceiverDescription (::XMLSchema::string< ACE_TCHAR > const& node__,
+ ::CIAO::Config_Handlers::EventServiceType const& type__,
+ ::XMLSchema::string< ACE_TCHAR > const& svc_cfg_file__)
+ :
+ ::XSCRT::Type (),
+ node_ (new ::XMLSchema::string< ACE_TCHAR > (node__)),
+ type_ (new ::CIAO::Config_Handlers::EventServiceType (type__)),
+ svc_cfg_file_ (new ::XMLSchema::string< ACE_TCHAR > (svc_cfg_file__)),
+ regulator__ ()
+ {
+ node_->container (this);
+ type_->container (this);
+ svc_cfg_file_->container (this);
+ }
+
+ MCastReceiverDescription::
+ MCastReceiverDescription (::CIAO::Config_Handlers::MCastReceiverDescription const& s)
+ :
+ ::XSCRT::Type (),
+ node_ (new ::XMLSchema::string< ACE_TCHAR > (*s.node_)),
+ type_ (new ::CIAO::Config_Handlers::EventServiceType (*s.type_)),
+ svc_cfg_file_ (new ::XMLSchema::string< ACE_TCHAR > (*s.svc_cfg_file_)),
+ id_ (s.id_.get () ? new ::XMLSchema::ID< ACE_TCHAR > (*s.id_) : 0),
+ regulator__ ()
+ {
+ node_->container (this);
+ type_->container (this);
+ svc_cfg_file_->container (this);
+ if (id_.get ()) id_->container (this);
+ }
+
+ ::CIAO::Config_Handlers::MCastReceiverDescription& MCastReceiverDescription::
+ operator= (::CIAO::Config_Handlers::MCastReceiverDescription const& s)
+ {
+ node (s.node ());
+
+ type (s.type ());
+
+ svc_cfg_file (s.svc_cfg_file ());
+
+ if (s.id_.get ()) id (*(s.id_));
+ else id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (0);
+
+ return *this;
+ }
+
+
+ // MCastReceiverDescription
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& MCastReceiverDescription::
+ node () const
+ {
+ return *node_;
+ }
+
+ void MCastReceiverDescription::
+ node (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *node_ = e;
+ }
+
+ // MCastReceiverDescription
+ //
+ ::CIAO::Config_Handlers::EventServiceType const& MCastReceiverDescription::
+ type () const
+ {
+ return *type_;
+ }
+
+ void MCastReceiverDescription::
+ type (::CIAO::Config_Handlers::EventServiceType const& e)
+ {
+ *type_ = e;
+ }
+
+ // MCastReceiverDescription
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& MCastReceiverDescription::
+ svc_cfg_file () const
+ {
+ return *svc_cfg_file_;
+ }
+
+ void MCastReceiverDescription::
+ svc_cfg_file (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *svc_cfg_file_ = e;
+ }
+
+ // MCastReceiverDescription
+ //
+ bool MCastReceiverDescription::
+ id_p () const
+ {
+ return id_.get () != 0;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR > const& MCastReceiverDescription::
+ id () const
+ {
+ return *id_;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR >& MCastReceiverDescription::
+ id ()
+ {
+ return *id_;
+ }
+
+ void MCastReceiverDescription::
+ id (::XMLSchema::ID< ACE_TCHAR > const& e)
+ {
+ if (id_.get ())
+ {
+ *id_ = e;
+ }
+
+ else
+ {
+ id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (new ::XMLSchema::ID< ACE_TCHAR > (e));
+ id_->container (this);
+ }
+ }
+
+
+ // EC_to_MCastSender
+ //
+
+ EC_to_MCastSender::
+ EC_to_MCastSender (::XMLSchema::string< ACE_TCHAR > const& destination__)
+ :
+ ::XSCRT::Type (),
+ destination_ (new ::XMLSchema::string< ACE_TCHAR > (destination__)),
+ regulator__ ()
+ {
+ destination_->container (this);
+ }
+
+ EC_to_MCastSender::
+ EC_to_MCastSender (::CIAO::Config_Handlers::EC_to_MCastSender const& s)
+ :
+ ::XSCRT::Type (),
+ destination_ (new ::XMLSchema::string< ACE_TCHAR > (*s.destination_)),
+ id_ (s.id_.get () ? new ::XMLSchema::ID< ACE_TCHAR > (*s.id_) : 0),
+ regulator__ ()
+ {
+ destination_->container (this);
+ if (id_.get ()) id_->container (this);
+ }
+
+ ::CIAO::Config_Handlers::EC_to_MCastSender& EC_to_MCastSender::
+ operator= (::CIAO::Config_Handlers::EC_to_MCastSender const& s)
+ {
+ destination (s.destination ());
+
+ if (s.id_.get ()) id (*(s.id_));
+ else id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (0);
+
+ return *this;
+ }
+
+
+ // EC_to_MCastSender
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& EC_to_MCastSender::
+ destination () const
+ {
+ return *destination_;
+ }
+
+ void EC_to_MCastSender::
+ destination (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *destination_ = e;
+ }
+
+ // EC_to_MCastSender
+ //
+ bool EC_to_MCastSender::
+ id_p () const
+ {
+ return id_.get () != 0;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR > const& EC_to_MCastSender::
+ id () const
+ {
+ return *id_;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR >& EC_to_MCastSender::
+ id ()
+ {
+ return *id_;
+ }
+
+ void EC_to_MCastSender::
+ id (::XMLSchema::ID< ACE_TCHAR > const& e)
+ {
+ if (id_.get ())
+ {
+ *id_ = e;
+ }
+
+ else
+ {
+ id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (new ::XMLSchema::ID< ACE_TCHAR > (e));
+ id_->container (this);
+ }
+ }
+
+
+ // MCastReceiver_to_EC
+ //
+
+ MCastReceiver_to_EC::
+ MCastReceiver_to_EC (::XMLSchema::string< ACE_TCHAR > const& source__,
+ ::XMLSchema::string< ACE_TCHAR > const& destination__)
+ :
+ ::XSCRT::Type (),
+ source_ (new ::XMLSchema::string< ACE_TCHAR > (source__)),
+ destination_ (new ::XMLSchema::string< ACE_TCHAR > (destination__)),
+ regulator__ ()
+ {
+ source_->container (this);
+ destination_->container (this);
+ }
+
+ MCastReceiver_to_EC::
+ MCastReceiver_to_EC (::CIAO::Config_Handlers::MCastReceiver_to_EC const& s)
+ :
+ ::XSCRT::Type (),
+ source_ (new ::XMLSchema::string< ACE_TCHAR > (*s.source_)),
+ destination_ (new ::XMLSchema::string< ACE_TCHAR > (*s.destination_)),
+ id_ (s.id_.get () ? new ::XMLSchema::ID< ACE_TCHAR > (*s.id_) : 0),
+ regulator__ ()
+ {
+ source_->container (this);
+ destination_->container (this);
+ if (id_.get ()) id_->container (this);
+ }
+
+ ::CIAO::Config_Handlers::MCastReceiver_to_EC& MCastReceiver_to_EC::
+ operator= (::CIAO::Config_Handlers::MCastReceiver_to_EC const& s)
+ {
+ source (s.source ());
+
+ destination (s.destination ());
+
+ if (s.id_.get ()) id (*(s.id_));
+ else id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (0);
+
+ return *this;
+ }
+
+
+ // MCastReceiver_to_EC
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& MCastReceiver_to_EC::
+ source () const
+ {
+ return *source_;
+ }
+
+ void MCastReceiver_to_EC::
+ source (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *source_ = e;
+ }
+
+ // MCastReceiver_to_EC
+ //
+ ::XMLSchema::string< ACE_TCHAR > const& MCastReceiver_to_EC::
+ destination () const
+ {
+ return *destination_;
+ }
+
+ void MCastReceiver_to_EC::
+ destination (::XMLSchema::string< ACE_TCHAR > const& e)
+ {
+ *destination_ = e;
+ }
+
+ // MCastReceiver_to_EC
+ //
+ bool MCastReceiver_to_EC::
+ id_p () const
+ {
+ return id_.get () != 0;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR > const& MCastReceiver_to_EC::
+ id () const
+ {
+ return *id_;
+ }
+
+ ::XMLSchema::ID< ACE_TCHAR >& MCastReceiver_to_EC::
+ id ()
+ {
+ return *id_;
+ }
+
+ void MCastReceiver_to_EC::
+ id (::XMLSchema::ID< ACE_TCHAR > const& e)
+ {
+ if (id_.get ())
+ {
+ *id_ = e;
+ }
+
+ else
+ {
+ id_ = ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > (new ::XMLSchema::ID< ACE_TCHAR > (e));
+ id_->container (this);
+ }
+ }
+ }
+
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+
+ // EventServiceType
+ //
+
+ EventServiceType::
+ EventServiceType (::XSCRT::XML::Element< ACE_TCHAR > const& e)
+ : ::XSCRT::Type (e)
+ {
+ ::std::basic_string< ACE_TCHAR > v (e.value ());
+
+ if (v == "EC") v_ = EC_l;
+ else if (v == "RTEC") v_ = RTEC_l;
+ else if (v == "NOTIFY") v_ = NOTIFY_l;
+ else if (v == "RTNOTIFY") v_ = RTNOTIFY_l;
+ else
+ {
+ }
+ }
+
+ EventServiceType::
+ EventServiceType (::XSCRT::XML::Attribute< ACE_TCHAR > const& a)
+ : ::XSCRT::Type (a)
+ {
+ ::std::basic_string< ACE_TCHAR > v (a.value ());
+
+ if (v == "EC") v_ = EC_l;
+ else if (v == "RTEC") v_ = RTEC_l;
+ else if (v == "NOTIFY") v_ = NOTIFY_l;
+ else if (v == "RTNOTIFY") v_ = RTNOTIFY_l;
+ else
+ {
+ }
+ }
+
+ EventServiceType const EventServiceType::EC (EventServiceType::EC_l);
+ EventServiceType const EventServiceType::RTEC (EventServiceType::RTEC_l);
+ EventServiceType const EventServiceType::NOTIFY (EventServiceType::NOTIFY_l);
+ EventServiceType const EventServiceType::RTNOTIFY (EventServiceType::RTNOTIFY_l);
+
+ // CIAOEventsDef
+ //
+
+ CIAOEventsDef::
+ CIAOEventsDef (::XSCRT::XML::Element< ACE_TCHAR > const& e)
+ :Base__ (e), regulator__ ()
+ {
+
+ ::XSCRT::Parser< ACE_TCHAR > p (e);
+
+ while (p.more_elements ())
+ {
+ ::XSCRT::XML::Element< ACE_TCHAR > e (p.next_element ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (e.name ()));
+
+ if (n == "eventServiceConfiguration")
+ {
+ ::CIAO::Config_Handlers::EventServiceDescription t (e);
+ add_eventServiceConfiguration (t);
+ }
+
+ else
+ {
+ }
+ }
+
+ while (p.more_attributes ())
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a (p.next_attribute ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (a.name ()));
+ if (n == "id")
+ {
+ ::XMLSchema::ID< ACE_TCHAR > t (a);
+ id (t);
+ }
+
+ else
+ {
+ }
+ }
+ }
+
+ // EventServiceDescription
+ //
+
+ EventServiceDescription::
+ EventServiceDescription (::XSCRT::XML::Element< ACE_TCHAR > const& e)
+ :Base__ (e), regulator__ ()
+ {
+
+ ::XSCRT::Parser< ACE_TCHAR > p (e);
+
+ while (p.more_elements ())
+ {
+ ::XSCRT::XML::Element< ACE_TCHAR > e (p.next_element ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (e.name ()));
+
+ if (n == "name")
+ {
+ name_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ name_->container (this);
+ }
+
+ else if (n == "node")
+ {
+ node_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ node_->container (this);
+ }
+
+ else if (n == "type")
+ {
+ type_ = ::std::auto_ptr< ::CIAO::Config_Handlers::EventServiceType > (new ::CIAO::Config_Handlers::EventServiceType (e));
+ type_->container (this);
+ }
+
+ else if (n == "svc_cfg_file")
+ {
+ svc_cfg_file_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ svc_cfg_file_->container (this);
+ }
+
+ else if (n == "filter")
+ {
+ ::CIAO::Config_Handlers::Filter t (e);
+ add_filter (t);
+ }
+
+ else
+ {
+ }
+ }
+
+ while (p.more_attributes ())
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a (p.next_attribute ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (a.name ()));
+ if (n == "id")
+ {
+ ::XMLSchema::ID< ACE_TCHAR > t (a);
+ id (t);
+ }
+
+ else
+ {
+ }
+ }
+ }
+
+ // FilterType
+ //
+
+ FilterType::
+ FilterType (::XSCRT::XML::Element< ACE_TCHAR > const& e)
+ : ::XSCRT::Type (e)
+ {
+ ::std::basic_string< ACE_TCHAR > v (e.value ());
+
+ if (v == "CONJUNCTION") v_ = CONJUNCTION_l;
+ else if (v == "DISJUNCTION") v_ = DISJUNCTION_l;
+ else if (v == "LOGICAL_AND") v_ = LOGICAL_AND_l;
+ else if (v == "NEGATE") v_ = NEGATE_l;
+ else
+ {
+ }
+ }
+
+ FilterType::
+ FilterType (::XSCRT::XML::Attribute< ACE_TCHAR > const& a)
+ : ::XSCRT::Type (a)
+ {
+ ::std::basic_string< ACE_TCHAR > v (a.value ());
+
+ if (v == "CONJUNCTION") v_ = CONJUNCTION_l;
+ else if (v == "DISJUNCTION") v_ = DISJUNCTION_l;
+ else if (v == "LOGICAL_AND") v_ = LOGICAL_AND_l;
+ else if (v == "NEGATE") v_ = NEGATE_l;
+ else
+ {
+ }
+ }
+
+ FilterType const FilterType::CONJUNCTION (FilterType::CONJUNCTION_l);
+ FilterType const FilterType::DISJUNCTION (FilterType::DISJUNCTION_l);
+ FilterType const FilterType::LOGICAL_AND (FilterType::LOGICAL_AND_l);
+ FilterType const FilterType::NEGATE (FilterType::NEGATE_l);
+
+ // Filter
+ //
+
+ Filter::
+ Filter (::XSCRT::XML::Element< ACE_TCHAR > const& e)
+ :Base__ (e), regulator__ ()
+ {
+
+ ::XSCRT::Parser< ACE_TCHAR > p (e);
+
+ while (p.more_elements ())
+ {
+ ::XSCRT::XML::Element< ACE_TCHAR > e (p.next_element ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (e.name ()));
+
+ if (n == "name")
+ {
+ name_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ name_->container (this);
+ }
+
+ else if (n == "type")
+ {
+ type_ = ::std::auto_ptr< ::CIAO::Config_Handlers::FilterType > (new ::CIAO::Config_Handlers::FilterType (e));
+ type_->container (this);
+ }
+
+ else if (n == "source")
+ {
+ ::XMLSchema::string< ACE_TCHAR > t (e);
+ add_source (t);
+ }
+
+ else
+ {
+ }
+ }
+
+ while (p.more_attributes ())
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a (p.next_attribute ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (a.name ()));
+ if (n == "id")
+ {
+ ::XMLSchema::ID< ACE_TCHAR > t (a);
+ id (t);
+ }
+
+ else
+ {
+ }
+ }
+ }
+
+ // MCastSenderDescription
+ //
+
+ MCastSenderDescription::
+ MCastSenderDescription (::XSCRT::XML::Element< ACE_TCHAR > const& e)
+ :Base__ (e), regulator__ ()
+ {
+
+ ::XSCRT::Parser< ACE_TCHAR > p (e);
+
+ while (p.more_elements ())
+ {
+ ::XSCRT::XML::Element< ACE_TCHAR > e (p.next_element ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (e.name ()));
+
+ if (n == "node")
+ {
+ node_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ node_->container (this);
+ }
+
+ else if (n == "type")
+ {
+ type_ = ::std::auto_ptr< ::CIAO::Config_Handlers::EventServiceType > (new ::CIAO::Config_Handlers::EventServiceType (e));
+ type_->container (this);
+ }
+
+ else if (n == "svc_cfg_file")
+ {
+ svc_cfg_file_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ svc_cfg_file_->container (this);
+ }
+
+ else
+ {
+ }
+ }
+
+ while (p.more_attributes ())
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a (p.next_attribute ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (a.name ()));
+ if (n == "id")
+ {
+ ::XMLSchema::ID< ACE_TCHAR > t (a);
+ id (t);
+ }
+
+ else
+ {
+ }
+ }
+ }
+
+ // MCastReceiverDescription
+ //
+
+ MCastReceiverDescription::
+ MCastReceiverDescription (::XSCRT::XML::Element< ACE_TCHAR > const& e)
+ :Base__ (e), regulator__ ()
+ {
+
+ ::XSCRT::Parser< ACE_TCHAR > p (e);
+
+ while (p.more_elements ())
+ {
+ ::XSCRT::XML::Element< ACE_TCHAR > e (p.next_element ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (e.name ()));
+
+ if (n == "node")
+ {
+ node_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ node_->container (this);
+ }
+
+ else if (n == "type")
+ {
+ type_ = ::std::auto_ptr< ::CIAO::Config_Handlers::EventServiceType > (new ::CIAO::Config_Handlers::EventServiceType (e));
+ type_->container (this);
+ }
+
+ else if (n == "svc_cfg_file")
+ {
+ svc_cfg_file_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ svc_cfg_file_->container (this);
+ }
+
+ else
+ {
+ }
+ }
+
+ while (p.more_attributes ())
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a (p.next_attribute ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (a.name ()));
+ if (n == "id")
+ {
+ ::XMLSchema::ID< ACE_TCHAR > t (a);
+ id (t);
+ }
+
+ else
+ {
+ }
+ }
+ }
+
+ // EC_to_MCastSender
+ //
+
+ EC_to_MCastSender::
+ EC_to_MCastSender (::XSCRT::XML::Element< ACE_TCHAR > const& e)
+ :Base__ (e), regulator__ ()
+ {
+
+ ::XSCRT::Parser< ACE_TCHAR > p (e);
+
+ while (p.more_elements ())
+ {
+ ::XSCRT::XML::Element< ACE_TCHAR > e (p.next_element ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (e.name ()));
+
+ if (n == "destination")
+ {
+ destination_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ destination_->container (this);
+ }
+
+ else
+ {
+ }
+ }
+
+ while (p.more_attributes ())
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a (p.next_attribute ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (a.name ()));
+ if (n == "id")
+ {
+ ::XMLSchema::ID< ACE_TCHAR > t (a);
+ id (t);
+ }
+
+ else
+ {
+ }
+ }
+ }
+
+ // MCastReceiver_to_EC
+ //
+
+ MCastReceiver_to_EC::
+ MCastReceiver_to_EC (::XSCRT::XML::Element< ACE_TCHAR > const& e)
+ :Base__ (e), regulator__ ()
+ {
+
+ ::XSCRT::Parser< ACE_TCHAR > p (e);
+
+ while (p.more_elements ())
+ {
+ ::XSCRT::XML::Element< ACE_TCHAR > e (p.next_element ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (e.name ()));
+
+ if (n == "source")
+ {
+ source_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ source_->container (this);
+ }
+
+ else if (n == "destination")
+ {
+ destination_ = ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > (new ::XMLSchema::string< ACE_TCHAR > (e));
+ destination_->container (this);
+ }
+
+ else
+ {
+ }
+ }
+
+ while (p.more_attributes ())
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a (p.next_attribute ());
+ ::std::basic_string< ACE_TCHAR > n (::XSCRT::XML::uq_name (a.name ()));
+ if (n == "id")
+ {
+ ::XMLSchema::ID< ACE_TCHAR > t (a);
+ id (t);
+ }
+
+ else
+ {
+ }
+ }
+ }
+ }
+
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+
+ ::CIAO::Config_Handlers::CIAOEventsDef
+ CIAOEvents (xercesc::DOMDocument const* d)
+ {
+ ::XSCRT::XML::Element< ACE_TCHAR > e (d->getDocumentElement ());
+ if (e.name () == "CIAOEvents")
+ {
+ ::CIAO::Config_Handlers::CIAOEventsDef r (e);
+ return r;
+ }
+
+ else
+ {
+ throw 1;
+ }
+ }
+ }
+
+}
+
+#include "XMLSchema/TypeInfo.hpp"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+
+ namespace
+ {
+ ::XMLSchema::TypeInfoInitializer < ACE_TCHAR > XMLSchemaTypeInfoInitializer_ (::XSCRT::extended_type_info_map ());
+
+ struct EventServiceTypeTypeInfoInitializer
+ {
+ EventServiceTypeTypeInfoInitializer ()
+ {
+ ::XSCRT::TypeId id (typeid (EventServiceType));
+ ::XSCRT::ExtendedTypeInfo nf (id);
+
+ nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type));
+
+ ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf));
+ }
+ };
+
+ EventServiceTypeTypeInfoInitializer EventServiceTypeTypeInfoInitializer_;
+
+ struct CIAOEventsDefTypeInfoInitializer
+ {
+ CIAOEventsDefTypeInfoInitializer ()
+ {
+ ::XSCRT::TypeId id (typeid (CIAOEventsDef));
+ ::XSCRT::ExtendedTypeInfo nf (id);
+
+ nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type));
+ ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf));
+ }
+ };
+
+ CIAOEventsDefTypeInfoInitializer CIAOEventsDefTypeInfoInitializer_;
+
+ struct EventServiceDescriptionTypeInfoInitializer
+ {
+ EventServiceDescriptionTypeInfoInitializer ()
+ {
+ ::XSCRT::TypeId id (typeid (EventServiceDescription));
+ ::XSCRT::ExtendedTypeInfo nf (id);
+
+ nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type));
+ ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf));
+ }
+ };
+
+ EventServiceDescriptionTypeInfoInitializer EventServiceDescriptionTypeInfoInitializer_;
+
+ struct FilterTypeTypeInfoInitializer
+ {
+ FilterTypeTypeInfoInitializer ()
+ {
+ ::XSCRT::TypeId id (typeid (FilterType));
+ ::XSCRT::ExtendedTypeInfo nf (id);
+
+ nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type));
+
+ ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf));
+ }
+ };
+
+ FilterTypeTypeInfoInitializer FilterTypeTypeInfoInitializer_;
+
+ struct FilterTypeInfoInitializer
+ {
+ FilterTypeInfoInitializer ()
+ {
+ ::XSCRT::TypeId id (typeid (Filter));
+ ::XSCRT::ExtendedTypeInfo nf (id);
+
+ nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type));
+ ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf));
+ }
+ };
+
+ FilterTypeInfoInitializer FilterTypeInfoInitializer_;
+
+ struct MCastSenderDescriptionTypeInfoInitializer
+ {
+ MCastSenderDescriptionTypeInfoInitializer ()
+ {
+ ::XSCRT::TypeId id (typeid (MCastSenderDescription));
+ ::XSCRT::ExtendedTypeInfo nf (id);
+
+ nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type));
+ ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf));
+ }
+ };
+
+ MCastSenderDescriptionTypeInfoInitializer MCastSenderDescriptionTypeInfoInitializer_;
+
+ struct MCastReceiverDescriptionTypeInfoInitializer
+ {
+ MCastReceiverDescriptionTypeInfoInitializer ()
+ {
+ ::XSCRT::TypeId id (typeid (MCastReceiverDescription));
+ ::XSCRT::ExtendedTypeInfo nf (id);
+
+ nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type));
+ ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf));
+ }
+ };
+
+ MCastReceiverDescriptionTypeInfoInitializer MCastReceiverDescriptionTypeInfoInitializer_;
+
+ struct EC_to_MCastSenderTypeInfoInitializer
+ {
+ EC_to_MCastSenderTypeInfoInitializer ()
+ {
+ ::XSCRT::TypeId id (typeid (EC_to_MCastSender));
+ ::XSCRT::ExtendedTypeInfo nf (id);
+
+ nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type));
+ ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf));
+ }
+ };
+
+ EC_to_MCastSenderTypeInfoInitializer EC_to_MCastSenderTypeInfoInitializer_;
+
+ struct MCastReceiver_to_ECTypeInfoInitializer
+ {
+ MCastReceiver_to_ECTypeInfoInitializer ()
+ {
+ ::XSCRT::TypeId id (typeid (MCastReceiver_to_EC));
+ ::XSCRT::ExtendedTypeInfo nf (id);
+
+ nf.add_base (::XSCRT::ExtendedTypeInfo::Access::public_, false, typeid (::XSCRT::Type));
+ ::XSCRT::extended_type_info_map ().insert (::std::make_pair (id, nf));
+ }
+ };
+
+ MCastReceiver_to_ECTypeInfoInitializer MCastReceiver_to_ECTypeInfoInitializer_;
+ }
+ }
+
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+
+ namespace Traversal
+ {
+ // CIAOEventsDef
+ //
+ //
+
+ void CIAOEventsDef::
+ traverse (Type& o)
+ {
+ pre (o);
+ eventServiceConfiguration (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void CIAOEventsDef::
+ traverse (Type const& o)
+ {
+ pre (o);
+ eventServiceConfiguration (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void CIAOEventsDef::
+ pre (Type&)
+ {
+ }
+
+ void CIAOEventsDef::
+ pre (Type const&)
+ {
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration (Type& o)
+ {
+ // VC6 anathema strikes again
+ //
+ CIAOEventsDef::Type::eventServiceConfiguration_iterator b (o.begin_eventServiceConfiguration()), e (o.end_eventServiceConfiguration());
+
+ if (b != e)
+ {
+ eventServiceConfiguration_pre (o);
+ for (; b != e;)
+ {
+ dispatch (*b);
+ if (++b != e) eventServiceConfiguration_next (o);
+ }
+
+ eventServiceConfiguration_post (o);
+ }
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration (Type const& o)
+ {
+ // VC6 anathema strikes again
+ //
+ CIAOEventsDef::Type::eventServiceConfiguration_const_iterator b (o.begin_eventServiceConfiguration()), e (o.end_eventServiceConfiguration());
+
+ if (b != e)
+ {
+ eventServiceConfiguration_pre (o);
+ for (; b != e;)
+ {
+ dispatch (*b);
+ if (++b != e) eventServiceConfiguration_next (o);
+ }
+
+ eventServiceConfiguration_post (o);
+ }
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration_pre (Type&)
+ {
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration_pre (Type const&)
+ {
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration_next (Type&)
+ {
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration_next (Type const&)
+ {
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration_post (Type&)
+ {
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration_post (Type const&)
+ {
+ }
+
+ void CIAOEventsDef::
+ id (Type& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void CIAOEventsDef::
+ id (Type const& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void CIAOEventsDef::
+ id_none (Type&)
+ {
+ }
+
+ void CIAOEventsDef::
+ id_none (Type const&)
+ {
+ }
+
+ void CIAOEventsDef::
+ post (Type&)
+ {
+ }
+
+ void CIAOEventsDef::
+ post (Type const&)
+ {
+ }
+
+ // EventServiceDescription
+ //
+ //
+
+ void EventServiceDescription::
+ traverse (Type& o)
+ {
+ pre (o);
+ name (o);
+ node (o);
+ type (o);
+ svc_cfg_file (o);
+ filter (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void EventServiceDescription::
+ traverse (Type const& o)
+ {
+ pre (o);
+ name (o);
+ node (o);
+ type (o);
+ svc_cfg_file (o);
+ filter (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void EventServiceDescription::
+ pre (Type&)
+ {
+ }
+
+ void EventServiceDescription::
+ pre (Type const&)
+ {
+ }
+
+ void EventServiceDescription::
+ name (Type& o)
+ {
+ dispatch (o.name ());
+ }
+
+ void EventServiceDescription::
+ name (Type const& o)
+ {
+ dispatch (o.name ());
+ }
+
+ void EventServiceDescription::
+ node (Type& o)
+ {
+ dispatch (o.node ());
+ }
+
+ void EventServiceDescription::
+ node (Type const& o)
+ {
+ dispatch (o.node ());
+ }
+
+ void EventServiceDescription::
+ type (Type& o)
+ {
+ dispatch (o.type ());
+ }
+
+ void EventServiceDescription::
+ type (Type const& o)
+ {
+ dispatch (o.type ());
+ }
+
+ void EventServiceDescription::
+ svc_cfg_file (Type& o)
+ {
+ dispatch (o.svc_cfg_file ());
+ }
+
+ void EventServiceDescription::
+ svc_cfg_file (Type const& o)
+ {
+ dispatch (o.svc_cfg_file ());
+ }
+
+ void EventServiceDescription::
+ filter (Type& o)
+ {
+ // VC6 anathema strikes again
+ //
+ EventServiceDescription::Type::filter_iterator b (o.begin_filter()), e (o.end_filter());
+
+ if (b != e)
+ {
+ filter_pre (o);
+ for (; b != e;)
+ {
+ dispatch (*b);
+ if (++b != e) filter_next (o);
+ }
+
+ filter_post (o);
+ }
+
+ else filter_none (o);
+ }
+
+ void EventServiceDescription::
+ filter (Type const& o)
+ {
+ // VC6 anathema strikes again
+ //
+ EventServiceDescription::Type::filter_const_iterator b (o.begin_filter()), e (o.end_filter());
+
+ if (b != e)
+ {
+ filter_pre (o);
+ for (; b != e;)
+ {
+ dispatch (*b);
+ if (++b != e) filter_next (o);
+ }
+
+ filter_post (o);
+ }
+
+ else filter_none (o);
+ }
+
+ void EventServiceDescription::
+ filter_pre (Type&)
+ {
+ }
+
+ void EventServiceDescription::
+ filter_pre (Type const&)
+ {
+ }
+
+ void EventServiceDescription::
+ filter_next (Type&)
+ {
+ }
+
+ void EventServiceDescription::
+ filter_next (Type const&)
+ {
+ }
+
+ void EventServiceDescription::
+ filter_post (Type&)
+ {
+ }
+
+ void EventServiceDescription::
+ filter_post (Type const&)
+ {
+ }
+
+ void EventServiceDescription::
+ filter_none (Type&)
+ {
+ }
+
+ void EventServiceDescription::
+ filter_none (Type const&)
+ {
+ }
+
+ void EventServiceDescription::
+ id (Type& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void EventServiceDescription::
+ id (Type const& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void EventServiceDescription::
+ id_none (Type&)
+ {
+ }
+
+ void EventServiceDescription::
+ id_none (Type const&)
+ {
+ }
+
+ void EventServiceDescription::
+ post (Type&)
+ {
+ }
+
+ void EventServiceDescription::
+ post (Type const&)
+ {
+ }
+
+ // Filter
+ //
+ //
+
+ void Filter::
+ traverse (Type& o)
+ {
+ pre (o);
+ name (o);
+ type (o);
+ source (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void Filter::
+ traverse (Type const& o)
+ {
+ pre (o);
+ name (o);
+ type (o);
+ source (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void Filter::
+ pre (Type&)
+ {
+ }
+
+ void Filter::
+ pre (Type const&)
+ {
+ }
+
+ void Filter::
+ name (Type& o)
+ {
+ dispatch (o.name ());
+ }
+
+ void Filter::
+ name (Type const& o)
+ {
+ dispatch (o.name ());
+ }
+
+ void Filter::
+ type (Type& o)
+ {
+ dispatch (o.type ());
+ }
+
+ void Filter::
+ type (Type const& o)
+ {
+ dispatch (o.type ());
+ }
+
+ void Filter::
+ source (Type& o)
+ {
+ // VC6 anathema strikes again
+ //
+ Filter::Type::source_iterator b (o.begin_source()), e (o.end_source());
+
+ if (b != e)
+ {
+ source_pre (o);
+ for (; b != e;)
+ {
+ dispatch (*b);
+ if (++b != e) source_next (o);
+ }
+
+ source_post (o);
+ }
+ }
+
+ void Filter::
+ source (Type const& o)
+ {
+ // VC6 anathema strikes again
+ //
+ Filter::Type::source_const_iterator b (o.begin_source()), e (o.end_source());
+
+ if (b != e)
+ {
+ source_pre (o);
+ for (; b != e;)
+ {
+ dispatch (*b);
+ if (++b != e) source_next (o);
+ }
+
+ source_post (o);
+ }
+ }
+
+ void Filter::
+ source_pre (Type&)
+ {
+ }
+
+ void Filter::
+ source_pre (Type const&)
+ {
+ }
+
+ void Filter::
+ source_next (Type&)
+ {
+ }
+
+ void Filter::
+ source_next (Type const&)
+ {
+ }
+
+ void Filter::
+ source_post (Type&)
+ {
+ }
+
+ void Filter::
+ source_post (Type const&)
+ {
+ }
+
+ void Filter::
+ id (Type& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void Filter::
+ id (Type const& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void Filter::
+ id_none (Type&)
+ {
+ }
+
+ void Filter::
+ id_none (Type const&)
+ {
+ }
+
+ void Filter::
+ post (Type&)
+ {
+ }
+
+ void Filter::
+ post (Type const&)
+ {
+ }
+
+ // MCastSenderDescription
+ //
+ //
+
+ void MCastSenderDescription::
+ traverse (Type& o)
+ {
+ pre (o);
+ node (o);
+ type (o);
+ svc_cfg_file (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void MCastSenderDescription::
+ traverse (Type const& o)
+ {
+ pre (o);
+ node (o);
+ type (o);
+ svc_cfg_file (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void MCastSenderDescription::
+ pre (Type&)
+ {
+ }
+
+ void MCastSenderDescription::
+ pre (Type const&)
+ {
+ }
+
+ void MCastSenderDescription::
+ node (Type& o)
+ {
+ dispatch (o.node ());
+ }
+
+ void MCastSenderDescription::
+ node (Type const& o)
+ {
+ dispatch (o.node ());
+ }
+
+ void MCastSenderDescription::
+ type (Type& o)
+ {
+ dispatch (o.type ());
+ }
+
+ void MCastSenderDescription::
+ type (Type const& o)
+ {
+ dispatch (o.type ());
+ }
+
+ void MCastSenderDescription::
+ svc_cfg_file (Type& o)
+ {
+ dispatch (o.svc_cfg_file ());
+ }
+
+ void MCastSenderDescription::
+ svc_cfg_file (Type const& o)
+ {
+ dispatch (o.svc_cfg_file ());
+ }
+
+ void MCastSenderDescription::
+ id (Type& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void MCastSenderDescription::
+ id (Type const& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void MCastSenderDescription::
+ id_none (Type&)
+ {
+ }
+
+ void MCastSenderDescription::
+ id_none (Type const&)
+ {
+ }
+
+ void MCastSenderDescription::
+ post (Type&)
+ {
+ }
+
+ void MCastSenderDescription::
+ post (Type const&)
+ {
+ }
+
+ // MCastReceiverDescription
+ //
+ //
+
+ void MCastReceiverDescription::
+ traverse (Type& o)
+ {
+ pre (o);
+ node (o);
+ type (o);
+ svc_cfg_file (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void MCastReceiverDescription::
+ traverse (Type const& o)
+ {
+ pre (o);
+ node (o);
+ type (o);
+ svc_cfg_file (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void MCastReceiverDescription::
+ pre (Type&)
+ {
+ }
+
+ void MCastReceiverDescription::
+ pre (Type const&)
+ {
+ }
+
+ void MCastReceiverDescription::
+ node (Type& o)
+ {
+ dispatch (o.node ());
+ }
+
+ void MCastReceiverDescription::
+ node (Type const& o)
+ {
+ dispatch (o.node ());
+ }
+
+ void MCastReceiverDescription::
+ type (Type& o)
+ {
+ dispatch (o.type ());
+ }
+
+ void MCastReceiverDescription::
+ type (Type const& o)
+ {
+ dispatch (o.type ());
+ }
+
+ void MCastReceiverDescription::
+ svc_cfg_file (Type& o)
+ {
+ dispatch (o.svc_cfg_file ());
+ }
+
+ void MCastReceiverDescription::
+ svc_cfg_file (Type const& o)
+ {
+ dispatch (o.svc_cfg_file ());
+ }
+
+ void MCastReceiverDescription::
+ id (Type& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void MCastReceiverDescription::
+ id (Type const& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void MCastReceiverDescription::
+ id_none (Type&)
+ {
+ }
+
+ void MCastReceiverDescription::
+ id_none (Type const&)
+ {
+ }
+
+ void MCastReceiverDescription::
+ post (Type&)
+ {
+ }
+
+ void MCastReceiverDescription::
+ post (Type const&)
+ {
+ }
+
+ // EC_to_MCastSender
+ //
+ //
+
+ void EC_to_MCastSender::
+ traverse (Type& o)
+ {
+ pre (o);
+ destination (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void EC_to_MCastSender::
+ traverse (Type const& o)
+ {
+ pre (o);
+ destination (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void EC_to_MCastSender::
+ pre (Type&)
+ {
+ }
+
+ void EC_to_MCastSender::
+ pre (Type const&)
+ {
+ }
+
+ void EC_to_MCastSender::
+ destination (Type& o)
+ {
+ dispatch (o.destination ());
+ }
+
+ void EC_to_MCastSender::
+ destination (Type const& o)
+ {
+ dispatch (o.destination ());
+ }
+
+ void EC_to_MCastSender::
+ id (Type& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void EC_to_MCastSender::
+ id (Type const& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void EC_to_MCastSender::
+ id_none (Type&)
+ {
+ }
+
+ void EC_to_MCastSender::
+ id_none (Type const&)
+ {
+ }
+
+ void EC_to_MCastSender::
+ post (Type&)
+ {
+ }
+
+ void EC_to_MCastSender::
+ post (Type const&)
+ {
+ }
+
+ // MCastReceiver_to_EC
+ //
+ //
+
+ void MCastReceiver_to_EC::
+ traverse (Type& o)
+ {
+ pre (o);
+ source (o);
+ destination (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void MCastReceiver_to_EC::
+ traverse (Type const& o)
+ {
+ pre (o);
+ source (o);
+ destination (o);
+ if (o.id_p ()) id (o);
+ else id_none (o);
+ post (o);
+ }
+
+ void MCastReceiver_to_EC::
+ pre (Type&)
+ {
+ }
+
+ void MCastReceiver_to_EC::
+ pre (Type const&)
+ {
+ }
+
+ void MCastReceiver_to_EC::
+ source (Type& o)
+ {
+ dispatch (o.source ());
+ }
+
+ void MCastReceiver_to_EC::
+ source (Type const& o)
+ {
+ dispatch (o.source ());
+ }
+
+ void MCastReceiver_to_EC::
+ destination (Type& o)
+ {
+ dispatch (o.destination ());
+ }
+
+ void MCastReceiver_to_EC::
+ destination (Type const& o)
+ {
+ dispatch (o.destination ());
+ }
+
+ void MCastReceiver_to_EC::
+ id (Type& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void MCastReceiver_to_EC::
+ id (Type const& o)
+ {
+ dispatch (o.id ());
+ }
+
+ void MCastReceiver_to_EC::
+ id_none (Type&)
+ {
+ }
+
+ void MCastReceiver_to_EC::
+ id_none (Type const&)
+ {
+ }
+
+ void MCastReceiver_to_EC::
+ post (Type&)
+ {
+ }
+
+ void MCastReceiver_to_EC::
+ post (Type const&)
+ {
+ }
+ }
+ }
+
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+
+ namespace Writer
+ {
+ // EventServiceType
+ //
+ //
+
+ EventServiceType::
+ EventServiceType (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+
+ EventServiceType::
+ EventServiceType ()
+ {
+ }
+
+ void EventServiceType::
+ traverse (Type const& o)
+ {
+ ::std::basic_string< ACE_TCHAR > s;
+
+ if (o == ::CIAO::Config_Handlers::EventServiceType::EC) s = "EC";
+ else if (o == ::CIAO::Config_Handlers::EventServiceType::RTEC) s = "RTEC";
+ else if (o == ::CIAO::Config_Handlers::EventServiceType::NOTIFY) s = "NOTIFY";
+ else if (o == ::CIAO::Config_Handlers::EventServiceType::RTNOTIFY) s = "RTNOTIFY";
+ else
+ {
+ }
+
+ if (::XSCRT::XML::Attribute< ACE_TCHAR >* a = attr_ ())
+ {
+ a->value (s);
+ }
+
+ else
+ {
+ top_().value (s);
+ }
+ }
+
+ // CIAOEventsDef
+ //
+ //
+
+ CIAOEventsDef::
+ CIAOEventsDef (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+
+ CIAOEventsDef::
+ CIAOEventsDef ()
+ {
+ }
+
+ void CIAOEventsDef::
+ traverse (Type const& o)
+ {
+ Traversal::CIAOEventsDef::traverse (o);
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration_pre (Type const&)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("eventServiceConfiguration", top_ ()));
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration_next (Type const& o)
+ {
+ eventServiceConfiguration_post (o);
+ eventServiceConfiguration_pre (o);
+ }
+
+ void CIAOEventsDef::
+ eventServiceConfiguration_post (Type const&)
+ {
+ pop_ ();
+ }
+
+ void CIAOEventsDef::
+ id (Type const& o)
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a ("id", "", top_ ());
+ attr_ (&a);
+ Traversal::CIAOEventsDef::id (o);
+ attr_ (0);
+ }
+
+ // EventServiceDescription
+ //
+ //
+
+ EventServiceDescription::
+ EventServiceDescription (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+
+ EventServiceDescription::
+ EventServiceDescription ()
+ {
+ }
+
+ void EventServiceDescription::
+ traverse (Type const& o)
+ {
+ Traversal::EventServiceDescription::traverse (o);
+ }
+
+ void EventServiceDescription::
+ name (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("name", top_ ()));
+ Traversal::EventServiceDescription::name (o);
+ pop_ ();
+ }
+
+ void EventServiceDescription::
+ node (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("node", top_ ()));
+ Traversal::EventServiceDescription::node (o);
+ pop_ ();
+ }
+
+ void EventServiceDescription::
+ type (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("type", top_ ()));
+ Traversal::EventServiceDescription::type (o);
+ pop_ ();
+ }
+
+ void EventServiceDescription::
+ svc_cfg_file (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("svc_cfg_file", top_ ()));
+ Traversal::EventServiceDescription::svc_cfg_file (o);
+ pop_ ();
+ }
+
+ void EventServiceDescription::
+ filter_pre (Type const&)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("filter", top_ ()));
+ }
+
+ void EventServiceDescription::
+ filter_next (Type const& o)
+ {
+ filter_post (o);
+ filter_pre (o);
+ }
+
+ void EventServiceDescription::
+ filter_post (Type const&)
+ {
+ pop_ ();
+ }
+
+ void EventServiceDescription::
+ id (Type const& o)
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a ("id", "", top_ ());
+ attr_ (&a);
+ Traversal::EventServiceDescription::id (o);
+ attr_ (0);
+ }
+
+ // FilterType
+ //
+ //
+
+ FilterType::
+ FilterType (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+
+ FilterType::
+ FilterType ()
+ {
+ }
+
+ void FilterType::
+ traverse (Type const& o)
+ {
+ ::std::basic_string< ACE_TCHAR > s;
+
+ if (o == ::CIAO::Config_Handlers::FilterType::CONJUNCTION) s = "CONJUNCTION";
+ else if (o == ::CIAO::Config_Handlers::FilterType::DISJUNCTION) s = "DISJUNCTION";
+ else if (o == ::CIAO::Config_Handlers::FilterType::LOGICAL_AND) s = "LOGICAL_AND";
+ else if (o == ::CIAO::Config_Handlers::FilterType::NEGATE) s = "NEGATE";
+ else
+ {
+ }
+
+ if (::XSCRT::XML::Attribute< ACE_TCHAR >* a = attr_ ())
+ {
+ a->value (s);
+ }
+
+ else
+ {
+ top_().value (s);
+ }
+ }
+
+ // Filter
+ //
+ //
+
+ Filter::
+ Filter (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+
+ Filter::
+ Filter ()
+ {
+ }
+
+ void Filter::
+ traverse (Type const& o)
+ {
+ Traversal::Filter::traverse (o);
+ }
+
+ void Filter::
+ name (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("name", top_ ()));
+ Traversal::Filter::name (o);
+ pop_ ();
+ }
+
+ void Filter::
+ type (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("type", top_ ()));
+ Traversal::Filter::type (o);
+ pop_ ();
+ }
+
+ void Filter::
+ source_pre (Type const&)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("source", top_ ()));
+ }
+
+ void Filter::
+ source_next (Type const& o)
+ {
+ source_post (o);
+ source_pre (o);
+ }
+
+ void Filter::
+ source_post (Type const&)
+ {
+ pop_ ();
+ }
+
+ void Filter::
+ id (Type const& o)
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a ("id", "", top_ ());
+ attr_ (&a);
+ Traversal::Filter::id (o);
+ attr_ (0);
+ }
+
+ // MCastSenderDescription
+ //
+ //
+
+ MCastSenderDescription::
+ MCastSenderDescription (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+
+ MCastSenderDescription::
+ MCastSenderDescription ()
+ {
+ }
+
+ void MCastSenderDescription::
+ traverse (Type const& o)
+ {
+ Traversal::MCastSenderDescription::traverse (o);
+ }
+
+ void MCastSenderDescription::
+ node (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("node", top_ ()));
+ Traversal::MCastSenderDescription::node (o);
+ pop_ ();
+ }
+
+ void MCastSenderDescription::
+ type (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("type", top_ ()));
+ Traversal::MCastSenderDescription::type (o);
+ pop_ ();
+ }
+
+ void MCastSenderDescription::
+ svc_cfg_file (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("svc_cfg_file", top_ ()));
+ Traversal::MCastSenderDescription::svc_cfg_file (o);
+ pop_ ();
+ }
+
+ void MCastSenderDescription::
+ id (Type const& o)
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a ("id", "", top_ ());
+ attr_ (&a);
+ Traversal::MCastSenderDescription::id (o);
+ attr_ (0);
+ }
+
+ // MCastReceiverDescription
+ //
+ //
+
+ MCastReceiverDescription::
+ MCastReceiverDescription (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+
+ MCastReceiverDescription::
+ MCastReceiverDescription ()
+ {
+ }
+
+ void MCastReceiverDescription::
+ traverse (Type const& o)
+ {
+ Traversal::MCastReceiverDescription::traverse (o);
+ }
+
+ void MCastReceiverDescription::
+ node (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("node", top_ ()));
+ Traversal::MCastReceiverDescription::node (o);
+ pop_ ();
+ }
+
+ void MCastReceiverDescription::
+ type (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("type", top_ ()));
+ Traversal::MCastReceiverDescription::type (o);
+ pop_ ();
+ }
+
+ void MCastReceiverDescription::
+ svc_cfg_file (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("svc_cfg_file", top_ ()));
+ Traversal::MCastReceiverDescription::svc_cfg_file (o);
+ pop_ ();
+ }
+
+ void MCastReceiverDescription::
+ id (Type const& o)
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a ("id", "", top_ ());
+ attr_ (&a);
+ Traversal::MCastReceiverDescription::id (o);
+ attr_ (0);
+ }
+
+ // EC_to_MCastSender
+ //
+ //
+
+ EC_to_MCastSender::
+ EC_to_MCastSender (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+
+ EC_to_MCastSender::
+ EC_to_MCastSender ()
+ {
+ }
+
+ void EC_to_MCastSender::
+ traverse (Type const& o)
+ {
+ Traversal::EC_to_MCastSender::traverse (o);
+ }
+
+ void EC_to_MCastSender::
+ destination (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("destination", top_ ()));
+ Traversal::EC_to_MCastSender::destination (o);
+ pop_ ();
+ }
+
+ void EC_to_MCastSender::
+ id (Type const& o)
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a ("id", "", top_ ());
+ attr_ (&a);
+ Traversal::EC_to_MCastSender::id (o);
+ attr_ (0);
+ }
+
+ // MCastReceiver_to_EC
+ //
+ //
+
+ MCastReceiver_to_EC::
+ MCastReceiver_to_EC (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+
+ MCastReceiver_to_EC::
+ MCastReceiver_to_EC ()
+ {
+ }
+
+ void MCastReceiver_to_EC::
+ traverse (Type const& o)
+ {
+ Traversal::MCastReceiver_to_EC::traverse (o);
+ }
+
+ void MCastReceiver_to_EC::
+ source (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("source", top_ ()));
+ Traversal::MCastReceiver_to_EC::source (o);
+ pop_ ();
+ }
+
+ void MCastReceiver_to_EC::
+ destination (Type const& o)
+ {
+ push_ (::XSCRT::XML::Element< ACE_TCHAR > ("destination", top_ ()));
+ Traversal::MCastReceiver_to_EC::destination (o);
+ pop_ ();
+ }
+
+ void MCastReceiver_to_EC::
+ id (Type const& o)
+ {
+ ::XSCRT::XML::Attribute< ACE_TCHAR > a ("id", "", top_ ());
+ attr_ (&a);
+ Traversal::MCastReceiver_to_EC::id (o);
+ attr_ (0);
+ }
+ }
+ }
+
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+
+ void
+ CIAOEvents (::CIAO::Config_Handlers::CIAOEventsDef const& s, xercesc::DOMDocument* d)
+ {
+ ::XSCRT::XML::Element< ACE_TCHAR > e (d->getDocumentElement ());
+ if (e.name () != "CIAOEvents")
+ {
+ throw 1;
+ }
+
+ struct W : virtual ::CIAO::Config_Handlers::Writer::CIAOEventsDef,
+ virtual ::CIAO::Config_Handlers::Writer::EventServiceDescription,
+ virtual ::XMLSchema::Writer::FundamentalType< ::XMLSchema::string< ACE_TCHAR >, ACE_TCHAR >,
+ virtual ::CIAO::Config_Handlers::Writer::EventServiceType,
+ virtual ::CIAO::Config_Handlers::Writer::Filter,
+ virtual ::CIAO::Config_Handlers::Writer::FilterType,
+ virtual ::XMLSchema::Writer::FundamentalType< ::XMLSchema::ID< ACE_TCHAR >, ACE_TCHAR >,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ W (::XSCRT::XML::Element< ACE_TCHAR >& e)
+ : ::XSCRT::Writer< ACE_TCHAR > (e)
+ {
+ }
+ };
+
+ W w (e);
+ w.dispatch (s);
+ }
+ }
+
+}
+
diff --git a/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents.hpp b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents.hpp
new file mode 100644
index 00000000000..c71e1986d78
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents.hpp
@@ -0,0 +1,1499 @@
+/* $Id$
+ * This code was generated by the XML Schema Compiler.
+ *
+ * Changes made to this code will most likely be overwritten
+ * when the handlers are recompiled.
+ *
+ * If you find errors or feel that there are bugfixes to be made,
+ * please contact the current XSC maintainer:
+ * Will Otte <wotte@dre.vanderbilt.edu>
+ */
+
+
+// Fix for Borland compilers, which seem to have a broken
+// <string> include.
+#ifdef __BORLANDC__
+# include <string.h>
+#endif
+
+#include "CIAO_Events_Handlers_Export.h"
+#ifndef CIAOEVENTS_HPP
+#define CIAOEVENTS_HPP
+
+// Forward declarations.
+//
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class EventServiceType;
+ class CIAOEventsDef;
+ class EventServiceDescription;
+ class FilterType;
+ class Filter;
+ class MCastSenderDescription;
+ class MCastReceiverDescription;
+ class EC_to_MCastSender;
+ class MCastReceiver_to_EC;
+ }
+}
+
+#include <memory>
+#include <list>
+#include "XMLSchema/Types.hpp"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class CIAO_Events_Handlers_Export EventServiceType : public ::XSCRT::Type
+ {
+ public:
+ EventServiceType (::XSCRT::XML::Element< ACE_TCHAR > const&);
+ EventServiceType (::XSCRT::XML::Attribute< ACE_TCHAR > const&);
+
+ static EventServiceType const EC;
+ static EventServiceType const RTEC;
+ static EventServiceType const NOTIFY;
+ static EventServiceType const RTNOTIFY;
+
+ enum Value
+ {
+ EC_l,RTEC_l,NOTIFY_l,RTNOTIFY_l
+ };
+
+
+ Value
+ integral () const;
+
+ friend bool CIAO_Events_Handlers_Export
+ operator== (EventServiceType const& a, EventServiceType const& b);
+
+ friend bool CIAO_Events_Handlers_Export
+ operator!= (EventServiceType const& a, EventServiceType const& b);
+
+ private:
+ EventServiceType (Value v);
+
+ Value v_;
+ };
+
+ bool CIAO_Events_Handlers_Export operator== (EventServiceType const &a, EventServiceType const &b);
+
+ bool CIAO_Events_Handlers_Export operator!= (EventServiceType const &a, EventServiceType const &b);
+
+
+ class CIAO_Events_Handlers_Export CIAOEventsDef : public ::XSCRT::Type
+ {
+ //@@ VC6 anathema
+ typedef ::XSCRT::Type Base__;
+
+ // eventServiceConfiguration
+ //
+ public:
+ typedef ::std::list< ::CIAO::Config_Handlers::EventServiceDescription >::iterator eventServiceConfiguration_iterator;
+ typedef ::std::list< ::CIAO::Config_Handlers::EventServiceDescription >::const_iterator eventServiceConfiguration_const_iterator;
+ eventServiceConfiguration_iterator begin_eventServiceConfiguration ();
+ eventServiceConfiguration_iterator end_eventServiceConfiguration ();
+ eventServiceConfiguration_const_iterator begin_eventServiceConfiguration () const;
+ eventServiceConfiguration_const_iterator end_eventServiceConfiguration () const;
+ void add_eventServiceConfiguration (::CIAO::Config_Handlers::EventServiceDescription const& );
+ size_t count_eventServiceConfiguration (void) const;
+
+ protected:
+ ::std::list< ::CIAO::Config_Handlers::EventServiceDescription > eventServiceConfiguration_;
+
+ // id
+ //
+ public:
+ bool id_p () const;
+ ::XMLSchema::ID< ACE_TCHAR > const& id () const;
+ ::XMLSchema::ID< ACE_TCHAR >& id ();
+ void id (::XMLSchema::ID< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > id_;
+
+ public:
+ CIAOEventsDef ();
+
+ CIAOEventsDef (::XSCRT::XML::Element< ACE_TCHAR > const&);
+ CIAOEventsDef (CIAOEventsDef const& s);
+
+ CIAOEventsDef&
+ operator= (CIAOEventsDef const& s);
+
+ private:
+ char regulator__;
+ };
+
+
+ class CIAO_Events_Handlers_Export EventServiceDescription : public ::XSCRT::Type
+ {
+ //@@ VC6 anathema
+ typedef ::XSCRT::Type Base__;
+
+ // name
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& name () const;
+ void name (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > name_;
+
+ // node
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& node () const;
+ void node (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > node_;
+
+ // type
+ //
+ public:
+ ::CIAO::Config_Handlers::EventServiceType const& type () const;
+ void type (::CIAO::Config_Handlers::EventServiceType const& );
+
+ protected:
+ ::std::auto_ptr< ::CIAO::Config_Handlers::EventServiceType > type_;
+
+ // svc_cfg_file
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& svc_cfg_file () const;
+ void svc_cfg_file (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > svc_cfg_file_;
+
+ // filter
+ //
+ public:
+ typedef ::std::list< ::CIAO::Config_Handlers::Filter >::iterator filter_iterator;
+ typedef ::std::list< ::CIAO::Config_Handlers::Filter >::const_iterator filter_const_iterator;
+ filter_iterator begin_filter ();
+ filter_iterator end_filter ();
+ filter_const_iterator begin_filter () const;
+ filter_const_iterator end_filter () const;
+ void add_filter (::CIAO::Config_Handlers::Filter const& );
+ size_t count_filter (void) const;
+
+ protected:
+ ::std::list< ::CIAO::Config_Handlers::Filter > filter_;
+
+ // id
+ //
+ public:
+ bool id_p () const;
+ ::XMLSchema::ID< ACE_TCHAR > const& id () const;
+ ::XMLSchema::ID< ACE_TCHAR >& id ();
+ void id (::XMLSchema::ID< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > id_;
+
+ public:
+ EventServiceDescription (::XMLSchema::string< ACE_TCHAR > const& name__,
+ ::XMLSchema::string< ACE_TCHAR > const& node__,
+ ::CIAO::Config_Handlers::EventServiceType const& type__,
+ ::XMLSchema::string< ACE_TCHAR > const& svc_cfg_file__);
+
+ EventServiceDescription (::XSCRT::XML::Element< ACE_TCHAR > const&);
+ EventServiceDescription (EventServiceDescription const& s);
+
+ EventServiceDescription&
+ operator= (EventServiceDescription const& s);
+
+ private:
+ char regulator__;
+ };
+
+
+ class CIAO_Events_Handlers_Export FilterType : public ::XSCRT::Type
+ {
+ public:
+ FilterType (::XSCRT::XML::Element< ACE_TCHAR > const&);
+ FilterType (::XSCRT::XML::Attribute< ACE_TCHAR > const&);
+
+ static FilterType const CONJUNCTION;
+ static FilterType const DISJUNCTION;
+ static FilterType const LOGICAL_AND;
+ static FilterType const NEGATE;
+
+ enum Value
+ {
+ CONJUNCTION_l,DISJUNCTION_l,LOGICAL_AND_l,NEGATE_l
+ };
+
+
+ Value
+ integral () const;
+
+ friend bool CIAO_Events_Handlers_Export
+ operator== (FilterType const& a, FilterType const& b);
+
+ friend bool CIAO_Events_Handlers_Export
+ operator!= (FilterType const& a, FilterType const& b);
+
+ private:
+ FilterType (Value v);
+
+ Value v_;
+ };
+
+ bool CIAO_Events_Handlers_Export operator== (FilterType const &a, FilterType const &b);
+
+ bool CIAO_Events_Handlers_Export operator!= (FilterType const &a, FilterType const &b);
+
+
+ class CIAO_Events_Handlers_Export Filter : public ::XSCRT::Type
+ {
+ //@@ VC6 anathema
+ typedef ::XSCRT::Type Base__;
+
+ // name
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& name () const;
+ void name (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > name_;
+
+ // type
+ //
+ public:
+ ::CIAO::Config_Handlers::FilterType const& type () const;
+ void type (::CIAO::Config_Handlers::FilterType const& );
+
+ protected:
+ ::std::auto_ptr< ::CIAO::Config_Handlers::FilterType > type_;
+
+ // source
+ //
+ public:
+ typedef ::std::list< ::XMLSchema::string< ACE_TCHAR > >::iterator source_iterator;
+ typedef ::std::list< ::XMLSchema::string< ACE_TCHAR > >::const_iterator source_const_iterator;
+ source_iterator begin_source ();
+ source_iterator end_source ();
+ source_const_iterator begin_source () const;
+ source_const_iterator end_source () const;
+ void add_source (::XMLSchema::string< ACE_TCHAR > const& );
+ size_t count_source (void) const;
+
+ protected:
+ ::std::list< ::XMLSchema::string< ACE_TCHAR > > source_;
+
+ // id
+ //
+ public:
+ bool id_p () const;
+ ::XMLSchema::ID< ACE_TCHAR > const& id () const;
+ ::XMLSchema::ID< ACE_TCHAR >& id ();
+ void id (::XMLSchema::ID< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > id_;
+
+ public:
+ Filter (::XMLSchema::string< ACE_TCHAR > const& name__,
+ ::CIAO::Config_Handlers::FilterType const& type__);
+
+ Filter (::XSCRT::XML::Element< ACE_TCHAR > const&);
+ Filter (Filter const& s);
+
+ Filter&
+ operator= (Filter const& s);
+
+ private:
+ char regulator__;
+ };
+
+
+ class CIAO_Events_Handlers_Export MCastSenderDescription : public ::XSCRT::Type
+ {
+ //@@ VC6 anathema
+ typedef ::XSCRT::Type Base__;
+
+ // node
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& node () const;
+ void node (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > node_;
+
+ // type
+ //
+ public:
+ ::CIAO::Config_Handlers::EventServiceType const& type () const;
+ void type (::CIAO::Config_Handlers::EventServiceType const& );
+
+ protected:
+ ::std::auto_ptr< ::CIAO::Config_Handlers::EventServiceType > type_;
+
+ // svc_cfg_file
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& svc_cfg_file () const;
+ void svc_cfg_file (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > svc_cfg_file_;
+
+ // id
+ //
+ public:
+ bool id_p () const;
+ ::XMLSchema::ID< ACE_TCHAR > const& id () const;
+ ::XMLSchema::ID< ACE_TCHAR >& id ();
+ void id (::XMLSchema::ID< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > id_;
+
+ public:
+ MCastSenderDescription (::XMLSchema::string< ACE_TCHAR > const& node__,
+ ::CIAO::Config_Handlers::EventServiceType const& type__,
+ ::XMLSchema::string< ACE_TCHAR > const& svc_cfg_file__);
+
+ MCastSenderDescription (::XSCRT::XML::Element< ACE_TCHAR > const&);
+ MCastSenderDescription (MCastSenderDescription const& s);
+
+ MCastSenderDescription&
+ operator= (MCastSenderDescription const& s);
+
+ private:
+ char regulator__;
+ };
+
+
+ class CIAO_Events_Handlers_Export MCastReceiverDescription : public ::XSCRT::Type
+ {
+ //@@ VC6 anathema
+ typedef ::XSCRT::Type Base__;
+
+ // node
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& node () const;
+ void node (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > node_;
+
+ // type
+ //
+ public:
+ ::CIAO::Config_Handlers::EventServiceType const& type () const;
+ void type (::CIAO::Config_Handlers::EventServiceType const& );
+
+ protected:
+ ::std::auto_ptr< ::CIAO::Config_Handlers::EventServiceType > type_;
+
+ // svc_cfg_file
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& svc_cfg_file () const;
+ void svc_cfg_file (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > svc_cfg_file_;
+
+ // id
+ //
+ public:
+ bool id_p () const;
+ ::XMLSchema::ID< ACE_TCHAR > const& id () const;
+ ::XMLSchema::ID< ACE_TCHAR >& id ();
+ void id (::XMLSchema::ID< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > id_;
+
+ public:
+ MCastReceiverDescription (::XMLSchema::string< ACE_TCHAR > const& node__,
+ ::CIAO::Config_Handlers::EventServiceType const& type__,
+ ::XMLSchema::string< ACE_TCHAR > const& svc_cfg_file__);
+
+ MCastReceiverDescription (::XSCRT::XML::Element< ACE_TCHAR > const&);
+ MCastReceiverDescription (MCastReceiverDescription const& s);
+
+ MCastReceiverDescription&
+ operator= (MCastReceiverDescription const& s);
+
+ private:
+ char regulator__;
+ };
+
+
+ class CIAO_Events_Handlers_Export EC_to_MCastSender : public ::XSCRT::Type
+ {
+ //@@ VC6 anathema
+ typedef ::XSCRT::Type Base__;
+
+ // destination
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& destination () const;
+ void destination (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > destination_;
+
+ // id
+ //
+ public:
+ bool id_p () const;
+ ::XMLSchema::ID< ACE_TCHAR > const& id () const;
+ ::XMLSchema::ID< ACE_TCHAR >& id ();
+ void id (::XMLSchema::ID< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > id_;
+
+ public:
+ EC_to_MCastSender (::XMLSchema::string< ACE_TCHAR > const& destination__);
+
+ EC_to_MCastSender (::XSCRT::XML::Element< ACE_TCHAR > const&);
+ EC_to_MCastSender (EC_to_MCastSender const& s);
+
+ EC_to_MCastSender&
+ operator= (EC_to_MCastSender const& s);
+
+ private:
+ char regulator__;
+ };
+
+
+ class CIAO_Events_Handlers_Export MCastReceiver_to_EC : public ::XSCRT::Type
+ {
+ //@@ VC6 anathema
+ typedef ::XSCRT::Type Base__;
+
+ // source
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& source () const;
+ void source (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > source_;
+
+ // destination
+ //
+ public:
+ ::XMLSchema::string< ACE_TCHAR > const& destination () const;
+ void destination (::XMLSchema::string< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::string< ACE_TCHAR > > destination_;
+
+ // id
+ //
+ public:
+ bool id_p () const;
+ ::XMLSchema::ID< ACE_TCHAR > const& id () const;
+ ::XMLSchema::ID< ACE_TCHAR >& id ();
+ void id (::XMLSchema::ID< ACE_TCHAR > const& );
+
+ protected:
+ ::std::auto_ptr< ::XMLSchema::ID< ACE_TCHAR > > id_;
+
+ public:
+ MCastReceiver_to_EC (::XMLSchema::string< ACE_TCHAR > const& source__,
+ ::XMLSchema::string< ACE_TCHAR > const& destination__);
+
+ MCastReceiver_to_EC (::XSCRT::XML::Element< ACE_TCHAR > const&);
+ MCastReceiver_to_EC (MCastReceiver_to_EC const& s);
+
+ MCastReceiver_to_EC&
+ operator= (MCastReceiver_to_EC const& s);
+
+ private:
+ char regulator__;
+ };
+ }
+
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ CIAO_Events_Handlers_Export
+ ::CIAO::Config_Handlers::CIAOEventsDef
+ CIAOEvents (xercesc::DOMDocument const*);
+ }
+}
+
+#include "XMLSchema/Traversal.hpp"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ namespace Traversal
+ {
+ typedef
+ ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::EventServiceType >
+ EventServiceType;
+
+ struct CIAO_Events_Handlers_Export CIAOEventsDef : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::CIAOEventsDef >
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ pre (Type const&);
+
+ virtual void
+ eventServiceConfiguration (Type&);
+
+ virtual void
+ eventServiceConfiguration (Type const&);
+
+ virtual void
+ eventServiceConfiguration_pre (Type&);
+
+ virtual void
+ eventServiceConfiguration_pre (Type const&);
+
+ virtual void
+ eventServiceConfiguration_next (Type&);
+
+ virtual void
+ eventServiceConfiguration_next (Type const&);
+
+ virtual void
+ eventServiceConfiguration_post (Type&);
+
+ virtual void
+ eventServiceConfiguration_post (Type const&);
+
+ virtual void
+ id (Type&);
+
+ virtual void
+ id (Type const&);
+
+ virtual void
+ id_none (Type&);
+
+ virtual void
+ id_none (Type const&);
+
+ virtual void
+ post (Type&);
+
+ virtual void
+ post (Type const&);
+ };
+
+ struct CIAO_Events_Handlers_Export EventServiceDescription : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::EventServiceDescription >
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ pre (Type const&);
+
+ virtual void
+ name (Type&);
+
+ virtual void
+ name (Type const&);
+
+ virtual void
+ node (Type&);
+
+ virtual void
+ node (Type const&);
+
+ virtual void
+ type (Type&);
+
+ virtual void
+ type (Type const&);
+
+ virtual void
+ svc_cfg_file (Type&);
+
+ virtual void
+ svc_cfg_file (Type const&);
+
+ virtual void
+ filter (Type&);
+
+ virtual void
+ filter (Type const&);
+
+ virtual void
+ filter_pre (Type&);
+
+ virtual void
+ filter_pre (Type const&);
+
+ virtual void
+ filter_next (Type&);
+
+ virtual void
+ filter_next (Type const&);
+
+ virtual void
+ filter_post (Type&);
+
+ virtual void
+ filter_post (Type const&);
+
+ virtual void
+ filter_none (Type&);
+
+ virtual void
+ filter_none (Type const&);
+
+ virtual void
+ id (Type&);
+
+ virtual void
+ id (Type const&);
+
+ virtual void
+ id_none (Type&);
+
+ virtual void
+ id_none (Type const&);
+
+ virtual void
+ post (Type&);
+
+ virtual void
+ post (Type const&);
+ };
+
+ typedef
+ ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::FilterType >
+ FilterType;
+
+ struct CIAO_Events_Handlers_Export Filter : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::Filter >
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ pre (Type const&);
+
+ virtual void
+ name (Type&);
+
+ virtual void
+ name (Type const&);
+
+ virtual void
+ type (Type&);
+
+ virtual void
+ type (Type const&);
+
+ virtual void
+ source (Type&);
+
+ virtual void
+ source (Type const&);
+
+ virtual void
+ source_pre (Type&);
+
+ virtual void
+ source_pre (Type const&);
+
+ virtual void
+ source_next (Type&);
+
+ virtual void
+ source_next (Type const&);
+
+ virtual void
+ source_post (Type&);
+
+ virtual void
+ source_post (Type const&);
+
+ virtual void
+ id (Type&);
+
+ virtual void
+ id (Type const&);
+
+ virtual void
+ id_none (Type&);
+
+ virtual void
+ id_none (Type const&);
+
+ virtual void
+ post (Type&);
+
+ virtual void
+ post (Type const&);
+ };
+
+ struct CIAO_Events_Handlers_Export MCastSenderDescription : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::MCastSenderDescription >
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ pre (Type const&);
+
+ virtual void
+ node (Type&);
+
+ virtual void
+ node (Type const&);
+
+ virtual void
+ type (Type&);
+
+ virtual void
+ type (Type const&);
+
+ virtual void
+ svc_cfg_file (Type&);
+
+ virtual void
+ svc_cfg_file (Type const&);
+
+ virtual void
+ id (Type&);
+
+ virtual void
+ id (Type const&);
+
+ virtual void
+ id_none (Type&);
+
+ virtual void
+ id_none (Type const&);
+
+ virtual void
+ post (Type&);
+
+ virtual void
+ post (Type const&);
+ };
+
+ struct CIAO_Events_Handlers_Export MCastReceiverDescription : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::MCastReceiverDescription >
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ pre (Type const&);
+
+ virtual void
+ node (Type&);
+
+ virtual void
+ node (Type const&);
+
+ virtual void
+ type (Type&);
+
+ virtual void
+ type (Type const&);
+
+ virtual void
+ svc_cfg_file (Type&);
+
+ virtual void
+ svc_cfg_file (Type const&);
+
+ virtual void
+ id (Type&);
+
+ virtual void
+ id (Type const&);
+
+ virtual void
+ id_none (Type&);
+
+ virtual void
+ id_none (Type const&);
+
+ virtual void
+ post (Type&);
+
+ virtual void
+ post (Type const&);
+ };
+
+ struct CIAO_Events_Handlers_Export EC_to_MCastSender : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::EC_to_MCastSender >
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ pre (Type const&);
+
+ virtual void
+ destination (Type&);
+
+ virtual void
+ destination (Type const&);
+
+ virtual void
+ id (Type&);
+
+ virtual void
+ id (Type const&);
+
+ virtual void
+ id_none (Type&);
+
+ virtual void
+ id_none (Type const&);
+
+ virtual void
+ post (Type&);
+
+ virtual void
+ post (Type const&);
+ };
+
+ struct CIAO_Events_Handlers_Export MCastReceiver_to_EC : ::XMLSchema::Traversal::Traverser< ::CIAO::Config_Handlers::MCastReceiver_to_EC >
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ pre (Type const&);
+
+ virtual void
+ source (Type&);
+
+ virtual void
+ source (Type const&);
+
+ virtual void
+ destination (Type&);
+
+ virtual void
+ destination (Type const&);
+
+ virtual void
+ id (Type&);
+
+ virtual void
+ id (Type const&);
+
+ virtual void
+ id_none (Type&);
+
+ virtual void
+ id_none (Type const&);
+
+ virtual void
+ post (Type&);
+
+ virtual void
+ post (Type const&);
+ };
+ }
+ }
+
+}
+
+#include "XMLSchema/Writer.hpp"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ namespace Writer
+ {
+ struct EventServiceType : Traversal::EventServiceType,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ EventServiceType (::XSCRT::XML::Element< ACE_TCHAR >&);
+
+ virtual void
+ traverse (Type &o)
+ {
+ this->traverse (const_cast <Type const &> (o));
+ }
+
+ virtual void
+ traverse (Type const&);
+
+ protected:
+ EventServiceType ();
+ };
+
+ struct CIAOEventsDef : Traversal::CIAOEventsDef,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ typedef ::CIAO::Config_Handlers::CIAOEventsDef Type;
+ CIAOEventsDef (::XSCRT::XML::Element< ACE_TCHAR >&);
+
+ virtual void
+ traverse (Type &o)
+ {
+
+ this->traverse (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ eventServiceConfiguration_pre (Type &o)
+ {
+
+ this->eventServiceConfiguration_pre (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ eventServiceConfiguration_pre (Type const&);
+
+ virtual void
+ eventServiceConfiguration_next (Type &o)
+ {
+
+ this->eventServiceConfiguration_next (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ eventServiceConfiguration_next (Type const&);
+
+ virtual void
+ eventServiceConfiguration_post (Type &o)
+ {
+
+ this->eventServiceConfiguration_post (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ eventServiceConfiguration_post (Type const&);
+
+ virtual void
+ id (Type &o)
+ {
+
+ this->id (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ id (Type const&);
+
+ protected:
+ CIAOEventsDef ();
+ };
+
+ struct EventServiceDescription : Traversal::EventServiceDescription,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ typedef ::CIAO::Config_Handlers::EventServiceDescription Type;
+ EventServiceDescription (::XSCRT::XML::Element< ACE_TCHAR >&);
+
+ virtual void
+ traverse (Type &o)
+ {
+
+ this->traverse (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ name (Type &o)
+ {
+
+ this->name (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ name (Type const&);
+
+ virtual void
+ node (Type &o)
+ {
+
+ this->node (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ node (Type const&);
+
+ virtual void
+ type (Type &o)
+ {
+
+ this->type (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ type (Type const&);
+
+ virtual void
+ svc_cfg_file (Type &o)
+ {
+
+ this->svc_cfg_file (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ svc_cfg_file (Type const&);
+
+ virtual void
+ filter_pre (Type &o)
+ {
+
+ this->filter_pre (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ filter_pre (Type const&);
+
+ virtual void
+ filter_next (Type &o)
+ {
+
+ this->filter_next (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ filter_next (Type const&);
+
+ virtual void
+ filter_post (Type &o)
+ {
+
+ this->filter_post (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ filter_post (Type const&);
+
+ virtual void
+ id (Type &o)
+ {
+
+ this->id (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ id (Type const&);
+
+ protected:
+ EventServiceDescription ();
+ };
+
+ struct FilterType : Traversal::FilterType,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ FilterType (::XSCRT::XML::Element< ACE_TCHAR >&);
+
+ virtual void
+ traverse (Type &o)
+ {
+ this->traverse (const_cast <Type const &> (o));
+ }
+
+ virtual void
+ traverse (Type const&);
+
+ protected:
+ FilterType ();
+ };
+
+ struct Filter : Traversal::Filter,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ typedef ::CIAO::Config_Handlers::Filter Type;
+ Filter (::XSCRT::XML::Element< ACE_TCHAR >&);
+
+ virtual void
+ traverse (Type &o)
+ {
+
+ this->traverse (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ name (Type &o)
+ {
+
+ this->name (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ name (Type const&);
+
+ virtual void
+ type (Type &o)
+ {
+
+ this->type (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ type (Type const&);
+
+ virtual void
+ source_pre (Type &o)
+ {
+
+ this->source_pre (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ source_pre (Type const&);
+
+ virtual void
+ source_next (Type &o)
+ {
+
+ this->source_next (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ source_next (Type const&);
+
+ virtual void
+ source_post (Type &o)
+ {
+
+ this->source_post (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ source_post (Type const&);
+
+ virtual void
+ id (Type &o)
+ {
+
+ this->id (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ id (Type const&);
+
+ protected:
+ Filter ();
+ };
+
+ struct MCastSenderDescription : Traversal::MCastSenderDescription,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ typedef ::CIAO::Config_Handlers::MCastSenderDescription Type;
+ MCastSenderDescription (::XSCRT::XML::Element< ACE_TCHAR >&);
+
+ virtual void
+ traverse (Type &o)
+ {
+
+ this->traverse (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ node (Type &o)
+ {
+
+ this->node (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ node (Type const&);
+
+ virtual void
+ type (Type &o)
+ {
+
+ this->type (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ type (Type const&);
+
+ virtual void
+ svc_cfg_file (Type &o)
+ {
+
+ this->svc_cfg_file (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ svc_cfg_file (Type const&);
+
+ virtual void
+ id (Type &o)
+ {
+
+ this->id (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ id (Type const&);
+
+ protected:
+ MCastSenderDescription ();
+ };
+
+ struct MCastReceiverDescription : Traversal::MCastReceiverDescription,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ typedef ::CIAO::Config_Handlers::MCastReceiverDescription Type;
+ MCastReceiverDescription (::XSCRT::XML::Element< ACE_TCHAR >&);
+
+ virtual void
+ traverse (Type &o)
+ {
+
+ this->traverse (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ node (Type &o)
+ {
+
+ this->node (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ node (Type const&);
+
+ virtual void
+ type (Type &o)
+ {
+
+ this->type (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ type (Type const&);
+
+ virtual void
+ svc_cfg_file (Type &o)
+ {
+
+ this->svc_cfg_file (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ svc_cfg_file (Type const&);
+
+ virtual void
+ id (Type &o)
+ {
+
+ this->id (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ id (Type const&);
+
+ protected:
+ MCastReceiverDescription ();
+ };
+
+ struct EC_to_MCastSender : Traversal::EC_to_MCastSender,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ typedef ::CIAO::Config_Handlers::EC_to_MCastSender Type;
+ EC_to_MCastSender (::XSCRT::XML::Element< ACE_TCHAR >&);
+
+ virtual void
+ traverse (Type &o)
+ {
+
+ this->traverse (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ destination (Type &o)
+ {
+
+ this->destination (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ destination (Type const&);
+
+ virtual void
+ id (Type &o)
+ {
+
+ this->id (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ id (Type const&);
+
+ protected:
+ EC_to_MCastSender ();
+ };
+
+ struct MCastReceiver_to_EC : Traversal::MCastReceiver_to_EC,
+ virtual ::XSCRT::Writer< ACE_TCHAR >
+ {
+ typedef ::CIAO::Config_Handlers::MCastReceiver_to_EC Type;
+ MCastReceiver_to_EC (::XSCRT::XML::Element< ACE_TCHAR >&);
+
+ virtual void
+ traverse (Type &o)
+ {
+
+ this->traverse (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ traverse (Type const&);
+
+ virtual void
+ source (Type &o)
+ {
+
+ this->source (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ source (Type const&);
+
+ virtual void
+ destination (Type &o)
+ {
+
+ this->destination (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ destination (Type const&);
+
+ virtual void
+ id (Type &o)
+ {
+
+ this->id (const_cast <Type const &> (o));
+ }
+
+
+ virtual void
+ id (Type const&);
+
+ protected:
+ MCastReceiver_to_EC ();
+ };
+ }
+ }
+
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ CIAO_Events_Handlers_Export
+ void
+ CIAOEvents (::CIAO::Config_Handlers::CIAOEventsDef const&, xercesc::DOMDocument*);
+ }
+}
+
+#endif // CIAOEVENTS_HPP
diff --git a/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.cpp
new file mode 100644
index 00000000000..6c265bea2a5
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.cpp
@@ -0,0 +1,155 @@
+// $Id$
+#include "Utils/XML_Helper.h"
+#include "CIAOEvents_Handler.h"
+#include "CIAOEvents.hpp"
+#include "ciao/Deployment_EventsC.h"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ CIAOEvents_Handler::CIAOEvents_Handler (const ACE_TCHAR *file) :
+ idl_esd_(0),
+ esd_(0),
+ retval_ (false)
+ {
+ XML_Helper helper;
+
+ XERCES_CPP_NAMESPACE::DOMDocument *dom =
+ helper.create_dom (file);
+
+ if (!dom)
+ throw CIAOEvents_Handler::NoESD ();
+
+ this->esd_.reset (new CIAOEventsDef
+ (CIAOEvents (dom)));
+
+ if (!this->build_esd ())
+ throw NoESD ();
+ }
+
+ CIAOEvents_Handler::CIAOEvents_Handler (CIAOEventsDef *esd):
+ idl_esd_(0),
+ esd_(esd),
+ retval_(false)
+ {
+ if(!this->build_esd())
+ throw NoESD ();
+ }
+
+
+ CIAOEvents_Handler::~CIAOEvents_Handler (void)
+ {
+ }
+
+ bool
+ CIAOEvents_Handler::build_esd ()
+ {
+ this->idl_esd_.reset ( new ::CIAO::DAnCE::EventServiceDeploymentDescriptions );
+
+
+ this->idl_esd_->length (this->esd_->count_eventServiceConfiguration ());
+ CORBA::ULong pos_i = 0;
+ for (CIAOEventsDef::eventServiceConfiguration_const_iterator i = this->esd_->begin_eventServiceConfiguration ();
+ i != this->esd_->end_eventServiceConfiguration ();
+ i++)
+ {
+ CIAO::DAnCE::EventServiceDeploymentDescription a_esd;
+
+ a_esd.name = CORBA::string_dup (i->name ().c_str ());
+ a_esd.node = CORBA::string_dup (i->node ().c_str ());
+
+ switch (i->type ().integral ())
+ {
+ case ::CIAO::Config_Handlers::EventServiceType::EC_l:
+ a_esd.type = CIAO::DAnCE::EC;
+ break;
+ case ::CIAO::Config_Handlers::EventServiceType::NOTIFY_l:
+ a_esd.type = CIAO::DAnCE::NOTIFY;
+ break;
+ case ::CIAO::Config_Handlers::EventServiceType::RTEC_l:
+ a_esd.type = CIAO::DAnCE::RTEC;
+ break;
+ case ::CIAO::Config_Handlers::EventServiceType::RTNOTIFY_l:
+ a_esd.type = CIAO::DAnCE::RTNOTIFY;
+ break;
+ default:
+ ACE_ERROR ((LM_ERROR,
+ "Invalid event service type\n"));
+ return false;
+ }
+
+ a_esd.svc_cfg_file = CORBA::string_dup (i->svc_cfg_file ().c_str ());
+
+
+ a_esd.filters.length (i->count_filter ());
+ CORBA::ULong pos_j = 0;
+ for (EventServiceDescription::filter_const_iterator j = i->begin_filter ();
+ j != i->end_filter ();
+ j++)
+ {
+ a_esd.filters[pos_j].name = CORBA::string_dup (j->name ().c_str ());
+ switch (j->type ().integral ())
+ {
+ case ::CIAO::Config_Handlers::FilterType::CONJUNCTION_l:
+ a_esd.filters[pos_j].type = CIAO::DAnCE::CONJUNCTION;
+ break;
+ case ::CIAO::Config_Handlers::FilterType::DISJUNCTION_l:
+ a_esd.filters[pos_j].type = CIAO::DAnCE::DISJUNCTION;
+ break;
+ case ::CIAO::Config_Handlers::FilterType::LOGICAL_AND_l:
+ a_esd.filters[pos_j].type = CIAO::DAnCE::LOGICAL_AND;
+ break;
+ case ::CIAO::Config_Handlers::FilterType::NEGATE_l:
+ a_esd.filters[pos_j].type = CIAO::DAnCE::NEGATE;
+ break;
+ default:
+ ACE_ERROR ((LM_ERROR,
+ "Invalid filter type\n"));
+ return false;
+ }
+
+ a_esd.filters[pos_j].sources.length (j->count_source ());
+ CORBA::ULong pos_k = 0;
+ for (Filter::source_const_iterator k = j->begin_source ();
+ k != j->end_source ();
+ k++)
+ {
+ a_esd.filters[pos_j].sources[pos_k] = CORBA::string_dup (k->c_str ());
+ pos_k++;
+
+ }
+ pos_j++;
+ }
+
+ (*this->idl_esd_)[pos_i] = a_esd;
+ pos_i++;
+ }
+ return true;
+ }
+
+
+ ::CIAO::DAnCE::EventServiceDeploymentDescriptions const *
+ CIAOEvents_Handler::esd_idl () const
+ throw (CIAOEvents_Handler::NoESD)
+ {
+ if(!this->idl_esd_.get())
+ throw NoESD ();
+
+ //else
+ return this->idl_esd_.get();
+ }
+
+ ::CIAO::DAnCE::EventServiceDeploymentDescriptions *
+ CIAOEvents_Handler::esd_idl ()
+ throw (CIAOEvents_Handler::NoESD)
+ {
+ if(!this->idl_esd_.get())
+ throw NoESD();
+
+ //else
+ return this->idl_esd_.release();
+ }
+ }
+}
+
diff --git a/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.h b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.h
new file mode 100644
index 00000000000..7a27aa76a64
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAOEvents_Handler.h
@@ -0,0 +1,74 @@
+//================================================
+/**
+ * @file CIAOEvents_Handler.h
+ *
+ * $Id$
+ *
+ * @author Ming Xiong <mxiong@dre.vanderbilt.edu>
+ */
+//================================================
+
+#ifndef CIAO_CONFIG_HANDLERS_CIAOEvents_HANDLER_H
+#define CIAO_CONFIG_HANDLERS_CIAOEvents_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "Utils/XML_Helper.h"
+#include "ciao/Deployment_EventsC.h"
+#include "CIAO_Events_Handlers_Export.h"
+#include "ciao/DeploymentC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class CIAOEventsDef;
+
+ /*
+ * @class CIAOEvents_Handler
+ *
+ * @brief Handler class for <CIAOEvents> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC objects, parsed from the descriptor files, to the
+ * corresponding CORBA IDL type for the schema element.
+ *
+ */
+ class CIAO_Events_Handlers_Export CIAOEvents_Handler
+ {
+
+ public:
+ class NoESD {};
+
+ CIAOEvents_Handler (const ACE_TCHAR *file);
+
+ CIAOEvents_Handler(CIAOEventsDef *esd);
+
+ ~CIAOEvents_Handler (void);
+
+ CIAO::DAnCE::EventServiceDeploymentDescriptions const *esd_idl (void) const
+ throw (CIAOEvents_Handler::NoESD);
+
+ CIAO::DAnCE::EventServiceDeploymentDescriptions *esd_idl (void)
+ throw (CIAOEvents_Handler::NoESD);
+
+ private:
+ bool build_esd ();
+
+ auto_ptr <CIAO::DAnCE::EventServiceDeploymentDescriptions > idl_esd_;
+
+ auto_ptr <CIAOEventsDef> esd_;
+
+ bool retval_;
+
+ };
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_CONFIG_HANDLERS_CIAOEvents_HANDLER_H*/
diff --git a/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers.mpc b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers.mpc
new file mode 100644
index 00000000000..77e20b50566
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers.mpc
@@ -0,0 +1,28 @@
+//$Id$
+
+project (CIAO_Events_Handlers) : acelib, ciao_deployment_stub, xerces, exceptions, ciao_xml_utils, ciao_events_dnc {
+ sharedname = CIAO_Events_Handlers
+ dynamicflags = CIAO_EVENTS_HANDLERS_BUILD_DLL
+ macros += XML_USE_PTHREADS
+ includes += $(CIAO_ROOT)/tools/Config_Handlers
+
+ Source_Files {
+ CIAOEvents.cpp
+ CIAOEvents_Handler.cpp
+ }
+
+ Header_Files {
+ }
+}
+
+project (CIAO_Events_Handlers_Tests) : ciao_component_dnc, xerces, exceptions, ciao_xml_utils, ciao_server_dnc {
+ exename = test
+ after += CIAO_Events_Handlers
+ macros += XML_USE_PTHREADS
+ includes += $(CIAO_ROOT)/tools/Config_Handlers
+ libs += CIAO_Events_Handlers
+
+ Source_Files {
+ test.cpp
+ }
+}
diff --git a/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers_Export.h b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers_Export.h
new file mode 100644
index 00000000000..efe95849905
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/CIAO_Events_Handlers_Export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -n CIAO_Events_Handlers
+// ------------------------------
+#ifndef CIAO_EVENTS_HANDLERS_EXPORT_H
+#define CIAO_EVENTS_HANDLERS_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if !defined (CIAO_EVENTS_HANDLERS_HAS_DLL)
+# define CIAO_EVENTS_HANDLERS_HAS_DLL 1
+#endif /* ! CIAO_EVENTS_HANDLERS_HAS_DLL */
+
+#if defined (CIAO_EVENTS_HANDLERS_HAS_DLL) && (CIAO_EVENTS_HANDLERS_HAS_DLL == 1)
+# if defined (CIAO_EVENTS_HANDLERS_BUILD_DLL)
+# define CIAO_Events_Handlers_Export ACE_Proper_Export_Flag
+# define CIAO_EVENTS_HANDLERS_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define CIAO_EVENTS_HANDLERS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* CIAO_EVENTS_HANDLERS_BUILD_DLL */
+# define CIAO_Events_Handlers_Export ACE_Proper_Import_Flag
+# define CIAO_EVENTS_HANDLERS_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define CIAO_EVENTS_HANDLERS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* CIAO_EVENTS_HANDLERS_BUILD_DLL */
+#else /* CIAO_EVENTS_HANDLERS_HAS_DLL == 1 */
+# define CIAO_Events_Handlers_Export
+# define CIAO_EVENTS_HANDLERS_SINGLETON_DECLARATION(T)
+# define CIAO_EVENTS_HANDLERS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* CIAO_EVENTS_HANDLERS_HAS_DLL == 1 */
+
+// Set CIAO_EVENTS_HANDLERS_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (CIAO_EVENTS_HANDLERS_NTRACE)
+# if (ACE_NTRACE == 1)
+# define CIAO_EVENTS_HANDLERS_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define CIAO_EVENTS_HANDLERS_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !CIAO_EVENTS_HANDLERS_NTRACE */
+
+#if (CIAO_EVENTS_HANDLERS_NTRACE == 1)
+# define CIAO_EVENTS_HANDLERS_TRACE(X)
+#else /* (CIAO_EVENTS_HANDLERS_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define CIAO_EVENTS_HANDLERS_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (CIAO_EVENTS_HANDLERS_NTRACE == 1) */
+
+#endif /* CIAO_EVENTS_HANDLERS_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/tools/Config_Handlers/CIAO_Events/test.cpp b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/test.cpp
new file mode 100644
index 00000000000..63c024a0a89
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/CIAO_Events/test.cpp
@@ -0,0 +1,58 @@
+// $Id$
+
+#include <iostream>
+
+#include "CIAOEvents.hpp"
+#include "CIAOEvents_Handler.h"
+#include "ciao/Deployment_EventsC.h"
+
+#include "ace/Get_Opt.h"
+#include "tao/ORB.h"
+
+static const char *input_file = "test.ced";
+
+
+static int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "i:");
+
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'i':
+ input_file = get_opts.opt_arg ();
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-i <input file> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command-line
+ return 0;
+}
+
+using namespace CIAO::Config_Handlers;
+
+int main (int argc, char *argv[])
+{
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CIAOEvents_Handler event_handler (input_file);
+ // Convert XSC to idl datatype
+
+ std::cout << "Instance document import succeeded. Dumping contents to file\n";
+
+ std::cout << "Test completed!";
+
+ return 0;
+
+}
diff --git a/TAO/CIAO/tools/Config_Handlers/DD_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/DD_Handler.cpp
new file mode 100644
index 00000000000..e3e6b4e7626
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/DD_Handler.cpp
@@ -0,0 +1,244 @@
+// $Id$
+
+#include "Utils/XML_Helper.h"
+#include "SatisfierProperty_Handler.h"
+#include "DD_Handler.h"
+#include "Any_Handler.h"
+#include "Deployment.hpp"
+#include "ciao/Deployment_BaseC.h"
+#include "CIAO_common.h"
+
+using namespace std;
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ DD_Handler::DD_Handler (const ACE_TCHAR *file) :
+ idl_domain_(0),
+ domain_ (0),
+ retval_ (false)
+ {
+ CIAO_TRACE("DP_PCD_Handler::constructor");
+ XML_Helper helper;
+
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , "inside DD_Handler"));
+ }
+
+
+ XERCES_CPP_NAMESPACE::DOMDocument *dom =
+ helper.create_dom (file);
+
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , "after create dom"));
+ }
+
+ if (!dom)
+ throw DD_Handler::NoDomain ();
+
+ Domain *dm =
+ new Domain (domain (dom));
+
+ // Domain d = domain (dom);
+
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , "dom"));
+ }
+
+
+ this->domain_.reset (dm);
+
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , "after reset"));
+ }
+
+ if (!this->build_domain ())
+ throw NoDomain ();
+ }
+
+ DD_Handler::DD_Handler (Domain *dmn):
+ idl_domain_(0),
+ domain_(dmn),
+ retval_(false)
+ {
+ CIAO_TRACE("DP_PCD_Handler::constructor - Domain");
+ if(!this->build_domain ())
+ throw NoDomain ();
+ }
+
+ DD_Handler::DD_Handler (::Deployment::Domain *dmn):
+ idl_domain_(dmn),
+ domain_(0),
+ retval_(false)
+ {
+ if(!this->build_xsc())
+ throw NoDomain ();
+ }
+
+ DD_Handler::~DD_Handler (void)
+ {
+ }
+
+ bool
+ DD_Handler::build_domain ()
+ {
+ CIAO_TRACE("DP_PCD_Handler::build_domain");
+ this->idl_domain_.reset ( new ::Deployment::Domain );
+
+ // Read in the name
+ // Check if the label is there or not
+ if (domain_->label_p ())
+ this->idl_domain_->label =
+ CORBA::string_dup (domain_->label ().c_str ());
+
+ if (domain_->UUID_p ())
+ this->idl_domain_->UUID =
+ CORBA::string_dup (domain_->UUID ().c_str ());
+
+ CORBA::ULong len = domain_->count_node ();
+ this->idl_domain_->node.length (len);
+
+ if (CIAO::debug_level () > 9)
+ {
+ ACE_DEBUG ((LM_DEBUG , "The node length is [%d]\n",len));
+ }
+
+ //Resource _resource;
+ int i =0;
+ for (Domain::node_const_iterator iter = domain_->begin_node ();
+ iter != domain_->end_node ();
+ ++iter,++i
+ )
+ {
+ // Node* thisNode = (Node*)iter;
+ this->idl_domain_->node[i].name =
+ CORBA::string_dup (iter->name ().c_str ());
+
+ if (iter->label_p ())
+ this->idl_domain_->node[i].label =
+ CORBA::string_dup (iter->label ().c_str ());
+
+ // length is hard-coded for now ...
+ // here iterate over the resources ...
+ CORBA::ULong res_len = iter->count_resource ();
+ this->idl_domain_->node[i].resource.length (res_len);
+
+ int res_id=0;
+ // FOR EACH RESOURCE ....
+ for (Node::resource_const_iterator res_iter = iter->begin_resource ();
+ res_iter != iter->end_resource ();
+ res_iter++, res_id++)
+ {
+
+ this->idl_domain_->node[i].resource[res_id].name =
+ CORBA::string_dup (res_iter->name ().c_str ());
+
+ CORBA::ULong resource_type_len = res_iter->count_resourceType ();
+ this->idl_domain_->node[i].resource[res_id].resourceType.length (resource_type_len);
+
+ int res_type_id =0;
+
+ // FOR EACH RESOURCE TYPE
+ for (Resource::resourceType_const_iterator res_type_iter =
+ res_iter->begin_resourceType ();
+ res_type_iter != res_iter->end_resourceType ();
+ res_type_iter++, res_type_id++)
+ {
+ this->idl_domain_->node[i].resource[res_id].resourceType[res_type_id] =
+ CORBA::string_dup (res_type_iter->c_str ());
+ }
+
+ CORBA::ULong property_len = res_iter->count_property ();
+ this->idl_domain_->node[i].resource[res_id].property.length (property_len);
+
+ // int property_id =0;
+
+ std::for_each (res_iter->begin_property (),
+ res_iter->end_property (),
+ SatisfierProperty_Functor (this->idl_domain_->node[i].resource[res_id].property));
+
+ /*
+ //FOR EACH PROPERTY
+ for (Resource::property_const_iterator property_iter =
+ res_iter->begin_property ();
+ property_iter != res_iter->end_property ();
+ property_iter++, property_id++)
+ {
+ this->idl_domain_->node[i].resource[res_id].property[property_id ].name =
+ CORBA::string_dup (property_iter->name ().c_str ());
+
+
+ this->idl_domain_->node[i].resource[res_id].property[property_id].kind =
+ ::Deployment::Quantity;
+
+ Any the_any = property_iter->value ();
+ CORBA::Any a_corba_any;
+ Any_Handler::extract_into_any (the_any , a_corba_any);
+ this->idl_domain_->node[i].resource[res_id].property[property_id].value
+ = a_corba_any;
+ }
+ */
+ }
+ }
+
+ return true;
+
+ }
+
+ bool
+ DD_Handler::build_xsc ()
+ {
+ return true;
+ }
+
+ ::Deployment::Domain const *
+ DD_Handler::domain_idl () const
+ throw (DD_Handler::NoDomain)
+ {
+ if(!this->idl_domain_.get())
+ throw NoDomain ();
+
+ //else
+ return this->idl_domain_.get();
+ }
+
+ ::Deployment::Domain *
+ DD_Handler::domain_idl ()
+ throw (DD_Handler::NoDomain)
+ {
+ if(!this->idl_domain_.get())
+ throw NoDomain();
+
+ //else
+ return this->idl_domain_.release();
+ }
+
+ Domain const *
+ DD_Handler::domain_xsc () const
+ throw (DD_Handler::NoDomain)
+ {
+ if(!this->domain_.get())
+ throw NoDomain ();
+
+ //else
+ return this->domain_.get();
+ }
+
+ Domain *
+ DD_Handler::domain_xsc ()
+ throw (DD_Handler::NoDomain)
+ {
+ if(!this->domain_.get())
+ throw NoDomain ();
+
+ //else
+ return this->domain_.release();
+ }
+ }
+}
+
diff --git a/TAO/CIAO/tools/Config_Handlers/DD_Handler.h b/TAO/CIAO/tools/Config_Handlers/DD_Handler.h
new file mode 100644
index 00000000000..89aef35182d
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/DD_Handler.h
@@ -0,0 +1,139 @@
+// $Id$
+//======================================
+/**
+* @file DD_Handler.h
+*
+* @brief Contains the Domain Descriptior
+* Handler
+*
+* @author Nilabja Roy <nilabjar@dre.vanderbilt.edu>
+*
+*/
+//======================================
+
+#ifndef CIAO_CONFIG_HANDLERS_DD_HANDLER_H
+#define CIAO_CONFIG_HANDLERS_DD_HANDLER_H
+#include /**/ "ace/pre.h"
+
+#include "Config_Handlers_Export.h"
+#include "ace/Auto_Ptr.h"
+// #include "Utils/XML_Helper.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace Deployment
+{
+struct Domain;
+}
+
+namespace CIAO
+{
+namespace Config_Handlers
+{
+class Domain;
+
+/*
+* @class DD_Handler
+*
+* @brief Handler class for <Domain>
+*/
+
+class Config_Handlers_Export DD_Handler
+{
+public:
+class NoDomain {};
+
+/**
+* @operation constructor
+*
+* @param The file to be read
+*/
+DD_Handler (const ACE_TCHAR *file);
+
+/**
+* @operation constructor
+*
+* @param dmn The Domain structure
+*/
+DD_Handler(Domain *dmn);
+
+/**
+* @operation constructor
+*
+* @param dmn The Deployment::Domain structure
+*/
+DD_Handler(::Deployment::Domain *dmn);
+
+/**
+* @operation destructor
+*
+*/
+~DD_Handler (void);
+
+/**
+* @operation domain_idl
+*
+* @brief Returns the const IDL domain
+* @return Domain* the IDL domain pointer
+*/
+::Deployment::Domain const *domain_idl (void) const
+throw (NoDomain);
+
+/**
+* @operation domain_idl
+*
+* @brief Returns the IDL domain
+* @return Domain* the IDL domain pointer
+*/
+::Deployment::Domain *domain_idl (void)
+throw (NoDomain);
+
+/**
+* @operation domain_xsc
+*
+* @brief Returns the const XSC domain
+* @return Domain* the XSC domain pointer
+*/
+Domain const *domain_xsc (void) const
+throw (NoDomain);
+
+/**
+* @operation domain_xsc
+*
+* @brief Returns the XSC domain
+* @return Domain* the XSC domain pointer
+*/
+Domain *domain_xsc (void)
+throw (NoDomain);
+
+private:
+/**
+* @operation build_domain
+*
+* @brief builds the domain structure
+*/
+bool build_domain ();
+
+/**
+* @operation build_xsc
+*
+* @brief builds the XSC data structure
+*/
+bool build_xsc ();
+
+/// The Deployment Domain structure
+auto_ptr < ::Deployment::Domain > idl_domain_;
+
+/// The XSC Domain structure
+auto_ptr <Domain> domain_;
+
+/// The return value used
+bool retval_;
+};
+}
+}
+
+#include /**/ "ace/post.h"
+#endif /* DD_HANDLER_H */
diff --git a/TAO/CIAO/tools/Config_Handlers/ESD_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/ESD_Handler.cpp
new file mode 100644
index 00000000000..1ae8a526842
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/ESD_Handler.cpp
@@ -0,0 +1,127 @@
+// $Id$
+
+#include "ESD_Handler.h"
+#include "Basic_Deployment_Data.hpp"
+#include "ciao/Deployment_DataC.h"
+#include "cdp.hpp"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ void
+ ESD_Handler::es_deployment_descrs (
+ const DeploymentPlan &src,
+ Deployment::EventServiceDeploymentDescriptions& dest)
+ throw (Config_Error)
+ {
+ CIAO_TRACE("ESD_Handler::instance_deployment_descrs");
+ DeploymentPlan::es_const_iterator esd_e = src.end_instance ();
+
+ CORBA::ULong pos = 0;
+ dest.length (src.count_instance ());
+ for (DeploymentPlan::es_const_iterator esd_b =
+ src.begin_instance ();
+ esd_b != esd_e;
+ ++esd_b)
+ {
+ ESD_Handler::instance_deployment_descr ((*esd_b),
+ dest[pos], pos);
+ pos++;
+ }
+ }
+
+
+ void
+ ESD_Handler::es_deployment_descr (
+ const EventServiceDeploymentDescription& src,
+ Deployment::EventServiceDeploymentDescription& dest,
+ CORBA::ULong pos)
+ throw (Config_Error)
+ {
+ CIAO_TRACE("IDD_Handler::es_deployment_descr");
+ try
+ {
+ dest.name = src.name ().c_str ();
+ dest.node = src.node ().c_str ();
+ dest.svc_cfg_file = src.svc_cfg_file ().c_str ());
+
+ switch (desc.type ().integral ())
+ {
+ case EventServiceType::EC_l:
+ dest.type = Deployment::EC;
+ break;
+
+ case EventServiceType::RTEC_l:
+ dest.type = Deployment::RTEC;
+ break;
+
+ case EventServiceType::NOTIFY_l:
+ dest.type = Deployment::NOTIFY;
+ break;
+
+ case EventServiceType::RTNOTIFY_l:
+ dest.type = Deployment::RTNOTIFY;
+ break;
+
+ default:
+ throw Config_Error (desc.requirementName (),
+ "Unknown EventServiceType.");
+ break;
+ }
+ }
+ catch (Config_Error &ex)
+ {
+ ex.name_ = src.name () + ":" + ex.name_;
+ throw ex;
+ }
+ // Done!
+ }
+
+ EventServiceDeploymentDescription
+ ESD_Handler::es_deployment_descr (
+ const Deployment::EventServiceDeploymentDescription& src)
+ throw (Config_Error)
+ {
+ CIAO_TRACE("ESD_Handler::es_deployment_descr - reverse");
+ //Get all the string
+ XMLSchema::string < ACE_TCHAR > name ((src.name));
+ XMLSchema::string < ACE_TCHAR > node ((src.node));
+ XMLSchema::string < ACE_TCHAR > svc_cfg_file ((src.svc_cfg_file));
+
+ // Instantiate the IDD
+ EventServiceDeploymentDescription esd (
+ name,
+ node,
+ EventServiceType::RTEC_l,
+ svc_cfg_file);
+
+ switch (src.EventServiceType)
+ {
+ case Deployment::EC:
+ esd.EventServiceType (EventServiceType::EC);
+ break;
+
+ case Deployment::RTEC:
+ esd.EventServiceType (EventServiceType::RTEC);
+ break;
+
+ case Deployment::NOTIFY:
+ esd.EventServiceType (EventServiceType::NOTIFY);
+ break;
+
+ case Deployment::RTNOTIFY:
+ esd.EventServiceType (EventServiceType::RTNOTIFY);
+ break;
+
+ default:
+ throw Config_Error (src.resourceName.in (),
+ "Unknown EventServiceType.");
+ break;
+ }
+
+ return esd;
+ }
+
+ }
+}
diff --git a/TAO/CIAO/tools/Config_Handlers/ESD_Handler.h b/TAO/CIAO/tools/Config_Handlers/ESD_Handler.h
new file mode 100644
index 00000000000..f89480f00e4
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/ESD_Handler.h
@@ -0,0 +1,73 @@
+//==============================================================
+/**
+ * @file ESD_Handler.h
+ *
+ * $Id$
+ *
+ * @author Gan Deng <dengg@dre.vanderbilt.edu>
+ */
+//================================================================
+
+#ifndef CIAO_CONFIG_HANDLERS_IDD_HANDLER_H
+#define CIAO_CONFIG_HANDLERS_IDD_HANDLER_H
+#include /**/ "ace/pre.h"
+
+#include "Common.h"
+#include "tao/Basic_Types.h"
+#include "Config_Handlers_Export.h"
+#include "IDREF_Base.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace Deployment
+{
+ struct EventServiceDeploymentDescription;
+ class EventServiceDeploymentDescriptions;
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class DeploymentPlan;
+ class EventServiceDeploymentDescription;
+
+ /*
+ * @class ESD_Handler
+ *
+ * @brief Handler class for <EventServiceDeploymentDescription> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC EventServiceDeploymentDescription objects, parsed from
+ * the descriptor files, to the corresponding CORBA IDL type.
+ *
+ */
+
+ class Config_Handlers_Export ESD_Handler
+ {
+ public:
+ static void es_deployment_descrs (
+ const DeploymentPlan &src,
+ ::Deployment::EventServiceDeploymentDescriptions& dest)
+ throw (Config_Error);
+
+ static EventServiceDeploymentDescription es_deployment_descr (
+ const Deployment::EventServiceDeploymentDescription &src)
+ throw (Config_Error);
+
+ static IDREF_Base<CORBA::ULong> IDREF;
+
+ private:
+ static void es_deployment_descr (
+ const EventServiceDeploymentDescription &src,
+ ::Deployment::EventServiceDeploymentDescription &dest,
+ CORBA::ULong pos)
+ throw (Config_Error);
+ };
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_CONFIG_HANDLERS_IDD_HANDLER_H*/
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CAD_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CAD_Handler.cpp
new file mode 100644
index 00000000000..df3c0884b60
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CAD_Handler.cpp
@@ -0,0 +1,259 @@
+// $Id$
+
+#include "Package_Handlers/CAD_Handler.h"
+#include "Basic_Deployment_Data.hpp"
+#include "cid.hpp"
+#include "ciao/DeploymentC.h"
+#include "Req_Handler.h"
+#include "CEPE_Handler.h"
+#include "ERE_Handler.h"
+#include "Utils/Exceptions.h"
+
+#include "Package_Handlers/SID_Handler.h"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ namespace Packaging
+ {
+ namespace
+ {
+ struct SPE_Handler
+ {
+ static void handle_spe (const SubcomponentPortEndpoint &desc,
+ ::Deployment::SubcomponentPortEndpoint &toconfig)
+ {
+ CIAO_TRACE("SPE_Handler::get_spe");
+
+ toconfig.portName = desc.portName ().c_str ();
+
+ ACE_CString str (desc.instance ().id ().c_str ());
+ CORBA::ULong pos (0);
+
+ SID_Handler::IDREF.find_ref (str, pos);
+ toconfig.instanceRef = pos;
+ }
+
+ static SubcomponentPortEndpoint
+ get_spe (const ::Deployment::SubcomponentPortEndpoint &src)
+ {
+ CIAO_TRACE("SPE_Handler::get_spe - reverse");
+ ACE_CString str;
+ SID_Handler::IDREF.find_ref (src.instanceRef, str);
+
+ return SubcomponentPortEndpoint (src.portName.in (),
+ str.c_str ());
+ }
+ };
+
+ typedef Sequence_Handler < SubcomponentPortEndpoint,
+ ::Deployment::SubcomponentPortEndpoints,
+ ::Deployment::SubcomponentPortEndpoint,
+ SPE_Handler::handle_spe > SPE_Functor;
+
+ struct ACD_Handler
+ {
+ static void handle_acd (const AssemblyConnectionDescription &desc,
+ ::Deployment::AssemblyConnectionDescription &toconfig)
+ {
+ CIAO_TRACE("ACD_Handler::get_acd");
+
+ toconfig.name = desc.name ().c_str ();
+
+ toconfig.deployRequirement.length (desc.count_deployRequirement ());
+ std::for_each (desc.begin_deployRequirement (),
+ desc.end_deployRequirement (),
+ Requirement_Functor (toconfig.deployRequirement));
+
+ toconfig.internalEndpoint.length (desc.count_internalEndpoint ());
+ std::for_each (desc.begin_internalEndpoint (),
+ desc.end_internalEndpoint (),
+ SPE_Functor (toconfig.internalEndpoint));
+
+ toconfig.externalEndpoint.length (desc.count_externalEndpoint ());
+ std::for_each (desc.begin_externalEndpoint (),
+ desc.end_externalEndpoint (),
+ CEPE_Functor (toconfig.externalEndpoint));
+
+ toconfig.externalReference.length (desc.count_externalReference ());
+ std::for_each (desc.begin_externalReference (),
+ desc.end_externalReference (),
+ ERE_Functor (toconfig.externalReference));
+
+ }
+
+ static AssemblyConnectionDescription
+ get_acd (const ::Deployment::AssemblyConnectionDescription &src)
+ {
+ CIAO_TRACE("ACD_Handler::get_acd - reverse");
+
+ AssemblyConnectionDescription retval (src.name.in ());
+
+ for (CORBA::ULong i = 0; i < src.deployRequirement.length (); ++i)
+ retval.add_deployRequirement
+ (Req_Handler::get_requirement (src.deployRequirement[i]));
+
+ for (CORBA::ULong i = 0; i < src.internalEndpoint.length (); ++i)
+ retval.add_internalEndpoint
+ (SPE_Handler::get_spe (src.internalEndpoint[i]));
+
+ for (CORBA::ULong i = 0; i < src.externalEndpoint.length (); ++i)
+ retval.add_externalEndpoint
+ (CEPE_Handler::external_port_endpoint (src.externalEndpoint[i]));
+
+ for (CORBA::ULong i = 0; i < src.externalReference.length (); ++i)
+ retval.add_externalReference
+ (ERE_Handler::external_ref_endpoint (src.externalReference[i]));
+
+ return retval;
+ }
+ };
+
+ typedef Sequence_Handler < AssemblyConnectionDescription,
+ ::Deployment::AssemblyConnectionDescriptions,
+ ::Deployment::AssemblyConnectionDescription,
+ ACD_Handler::handle_acd > ACD_Functor;
+
+
+ struct SPR_Handler
+ {
+ static void handle_spr (const SubcomponentPropertyReference &desc,
+ ::Deployment::SubcomponentPropertyReference &toconfig)
+ {
+ CIAO_TRACE("SPR_Handler::get_spr");
+
+ toconfig.propertyName = desc.propertyName ().c_str ();
+
+ ACE_CString str (desc.instance ().id ().c_str ());
+ CORBA::ULong pos (0);
+
+ SID_Handler::IDREF.find_ref (str, pos);
+ toconfig.instanceRef = pos;
+
+ }
+
+ static SubcomponentPropertyReference
+ get_spr (const ::Deployment::SubcomponentPropertyReference &src)
+ {
+ CIAO_TRACE("SPR_HAndler::get_spr - reverse");
+ ACE_CString str;
+ SID_Handler::IDREF.find_ref (src.instanceRef, str);
+
+ return SubcomponentPropertyReference (src.propertyName.in (),
+ str.c_str ());
+ }
+
+ };
+
+ typedef Sequence_Handler < SubcomponentPropertyReference,
+ ::Deployment::SubcomponentPropertyReferences,
+ ::Deployment::SubcomponentPropertyReference,
+ SPR_Handler::handle_spr > SPR_Functor;
+
+ struct APM_Handler
+ {
+ static void handle_apm (const AssemblyPropertyMapping &desc,
+ ::Deployment::AssemblyPropertyMapping &toconfig)
+ {
+ CIAO_TRACE("APM_Handler::get_apm");
+
+ toconfig.name = desc.name ().c_str ();
+ toconfig.externalName = desc.externalName ().c_str ();
+
+ toconfig.delegatesTo.length (desc.count_delegatesTo ());
+ std::for_each (desc.begin_delegatesTo (),
+ desc.end_delegatesTo (),
+ SPR_Functor (toconfig.delegatesTo));
+ }
+
+ static AssemblyPropertyMapping
+ get_apm (const ::Deployment::AssemblyPropertyMapping &src)
+ {
+ CIAO_TRACE("APM_Handler::get_apm - reverse");
+
+ AssemblyPropertyMapping retval (src.name.in (),
+ src.externalName.in ());
+
+ for (CORBA::ULong i = 0; i < src.delegatesTo.length (); ++i)
+ retval.add_delegatesTo (SPR_Handler::get_spr (src.delegatesTo[i]));
+
+ return retval;
+ }
+ };
+
+ typedef Sequence_Handler < AssemblyPropertyMapping,
+ ::Deployment::AssemblyPropertyMappings,
+ ::Deployment::AssemblyPropertyMapping,
+ APM_Handler::handle_apm > APM_Functor;
+ }
+
+
+
+ void
+ CAD_Handler::component_assem_descr (const ComponentAssemblyDescription &desc,
+ ::Deployment::ComponentAssemblyDescription &toconfig)
+ {
+ CIAO_TRACE("CAD_Handler::component_assem_descr");
+
+ toconfig.instance.length (desc.count_instance ());
+ std::for_each (desc.begin_instance (),
+ desc.end_instance (),
+ SID_Functor (toconfig.instance));
+
+ /* @@ MAJO: Implement Locality */
+
+ toconfig.connection.length (desc.count_connection ());
+ std::for_each (desc.begin_connection (),
+ desc.end_connection (),
+ ACD_Functor (toconfig.connection));
+
+ toconfig.externalProperty.length (desc.count_externalProperty ());
+ std::for_each (desc.begin_externalProperty (),
+ desc.end_externalProperty (),
+ APM_Functor (toconfig.externalProperty));
+ }
+
+ ComponentAssemblyDescription
+ CAD_Handler::component_assem_descr (const ::Deployment::ComponentAssemblyDescription &src)
+ {
+ CIAO_TRACE("CAD_Handler::component_assem_descr - reverse");
+
+ ComponentAssemblyDescription retval;
+
+ for (CORBA::ULong i = 0; i < src.instance.length (); ++i)
+ retval.add_instance
+ (SID_Handler::sub_comp_inst_descr (src.instance[i]));
+
+ for (CORBA::ULong i = 0; i < src.connection.length (); ++i)
+ retval.add_connection (ACD_Handler::get_acd (src.connection[i]));
+
+ for (CORBA::ULong i = 0; i < src.externalProperty.length (); ++i)
+ retval.add_externalProperty (APM_Handler::get_apm (src.externalProperty[i]));
+
+ return retval;
+
+ }
+
+ ComponentAssemblyDescription *
+ CAD_Handler::resolve_cad (const char *)
+ {
+ /* xercesc::DOMDocument *dom =
+ this->xml_helper_->create_dom (uri);
+
+ if (!dom)
+ throw Parse_Error ("Unable to create DOM for CAD");
+
+ try {
+ return new ComponentAssemblyDescription
+ (componentAssemblyDescription (dom));
+ }
+ catch (...) {
+ throw Parse_Error ("Unable to create XSC structure for CAD");
+ */
+ return 0;
+ }
+ }
+ }
+}
+
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CAD_Handler.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CAD_Handler.h
new file mode 100644
index 00000000000..b4c0b790fc0
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CAD_Handler.h
@@ -0,0 +1,59 @@
+/**
+ * @file CAD_Handler.h
+ * @author William Otte <wotte@dre.vanderbilt.edu>
+ *
+ * $Id$
+ */
+
+#ifndef CIAO_PACKAGING_CAD_HANDLER_H
+#define CIAO_PACKAGING_CAD_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "Utils/XML_Helper.h"
+#include "ciao/DeploymentC.h"
+#include "Package_Handlers/Packaging_Handlers_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace Deployment
+{
+ struct ComponentAssemblyDescription;
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class ComponentAssemblyDescription;
+
+ namespace Packaging
+ {
+
+ /**
+ * @class CAD_Handler
+ *
+ * @brief Handler class for ComponentAssemblyDescription.
+ */
+ class Packaging_Handlers_Export CAD_Handler
+ {
+ public:
+ static void component_assem_descr (const ComponentAssemblyDescription &desc,
+ ::Deployment::ComponentAssemblyDescription &toconfig);
+
+ static ComponentAssemblyDescription
+ component_assem_descr (const ::Deployment::ComponentAssemblyDescription &src);
+
+ private:
+ static ComponentAssemblyDescription * resolve_cad (const char *uri);
+ };
+
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_PACKAGING_CAD_HANDLER_H */
+
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CID_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CID_Handler.cpp
new file mode 100644
index 00000000000..8818ff34518
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CID_Handler.cpp
@@ -0,0 +1,383 @@
+// $Id$
+#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
+#include "Package_Handlers/CID_Handler.h"
+#include "Package_Handlers/CPD_Handler.h"
+#include "Package_Handlers/IAD_Handler.h"
+#include "Package_Handlers/CAD_Handler.h"
+#include "Package_Handlers/Comp_Intf_Descr_Handler.h"
+#include "Package_Handlers/NIA_Handler.h"
+#include "SatisfierProperty_Handler.h"
+#include "Req_Handler.h"
+
+#include "Basic_Deployment_Data.hpp"
+#include "ciao/Deployment_DataC.h"
+#include "Utils/XML_Helper.h"
+#include "Utils/Exceptions.h"
+
+#include "Deployment.hpp"
+#include "Property_Handler.h"
+
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ namespace Packaging
+ {
+
+ IDREF_Base<CORBA::ULong> CID_Handler::IDREF;
+
+ namespace
+ {
+ struct Capability_Handler
+ {
+ static void handle_capability (const Capability &desc,
+ ::Deployment::Capability &toconfig)
+ {
+ CIAO_TRACE ("Capability_Handler::get_capability");
+
+ toconfig.name = desc.name ().c_str ();
+
+ toconfig.resourceType.length (desc.count_resourceType ());
+ std::for_each (desc.begin_resourceType (),
+ desc.end_resourceType (),
+ String_Seq_Functor (toconfig.resourceType));
+
+ toconfig.property.length (desc.count_property ());
+ std::for_each (desc.begin_property (),
+ desc.end_property (),
+ SatisfierProperty_Functor (toconfig.property));
+ }
+
+ static Capability get_capability (const ::Deployment::Capability &src)
+ {
+ CIAO_TRACE ("Capability_Handler::get_capability - reverse");
+
+ Capability retval (src.name.in ());
+
+ for (CORBA::ULong i = 0; i < src.resourceType.length (); ++i)
+ retval.add_resourceType (src.resourceType[i]);
+
+ for (CORBA::ULong i = 0; i < src.property.length (); ++i)
+ retval.add_property (SatisfierProperty_Handler::get_sat_property (src.property[i]));
+
+ return retval;
+ }
+ };
+
+ typedef Sequence_Handler < Capability,
+ ::Deployment::Capabilities,
+ ::Deployment::Capability,
+ Capability_Handler::handle_capability > Capability_Functor;
+
+ struct IR_Handler
+ {
+ static void handle_ir (const ImplementationRequirement &desc,
+ ::Deployment::ImplementationRequirement &toconfig)
+ {
+ CIAO_TRACE ("IR_Handler::get_ir");
+
+ if (desc.resourceUsage_p ())
+ {
+ switch (desc.resourceUsage ().integral ())
+ {
+ case ResourceUsageKind::None_l:
+ toconfig.resourceUsage = Deployment::None;
+ break;
+
+ case ResourceUsageKind::InstanceUsesResource_l:
+ toconfig.resourceUsage = Deployment::InstanceUsesResource;
+ break;
+
+ case ResourceUsageKind::ResourceUsesInstance_l:
+ toconfig.resourceUsage = Deployment::ResourceUsesInstance;
+ break;
+
+ case ResourceUsageKind::PortUsesResource_l:
+ toconfig.resourceUsage = Deployment::PortUsesResource;
+ break;
+
+ case ResourceUsageKind::ResourceUsesPort_l:
+ toconfig.resourceUsage = Deployment::ResourceUsesPort;
+ break;
+
+ default:
+ throw Config_Error (desc.name (),
+ "Unknown ResourceUsageKind.");
+ break;
+ }
+ }
+
+ if (desc.resourcePort_p ())
+ toconfig.resourcePort = desc.resourcePort ().c_str ();
+
+ if (desc.componentPort_p ())
+ toconfig.componentPort = desc.componentPort ().c_str ();
+
+ toconfig.resourceType = desc.resourceType ().c_str ();
+ toconfig.name = desc.name ().c_str ();
+
+ std::for_each (desc.begin_property (),
+ desc.end_property (),
+ Property_Functor (toconfig.property ));
+ }
+
+ static ImplementationRequirement
+ get_ir (const ::Deployment::ImplementationRequirement &src)
+ {
+ CIAO_TRACE ("IR_Handler::get_ir - reverse");
+
+ ImplementationRequirement retval (src.resourceType.in (),
+ src.name.in ());
+
+ if (src.resourceUsage.length () == 1)
+ switch (src.resourceUsage[0])
+ {
+ case Deployment::None:
+ retval.resourceUsage (ResourceUsageKind::None);
+ break;
+
+ case Deployment::InstanceUsesResource:
+ retval.resourceUsage (ResourceUsageKind::InstanceUsesResource);
+ break;
+
+ case Deployment::ResourceUsesInstance:
+ retval.resourceUsage (ResourceUsageKind::ResourceUsesInstance);
+ break;
+
+ case Deployment::PortUsesResource:
+ retval.resourceUsage (ResourceUsageKind::PortUsesResource);
+ break;
+
+ case Deployment::ResourceUsesPort:
+ retval.resourceUsage (ResourceUsageKind::ResourceUsesPort);
+ break;
+
+ default:
+ throw Config_Error (src.name.in (),
+ "Unknown ResourceUsageKind.");
+ break;
+ }
+
+ retval.resourcePort (src.resourcePort.in ());
+
+ retval.componentPort (src.componentPort.in ());
+
+ for (CORBA::ULong i = 0; i < src.property.length (); ++i)
+ retval.add_property (Property_Handler::get_property (src.property[i]));
+
+ return retval;
+ }
+ };
+
+ typedef Sequence_Handler < ImplementationRequirement,
+ ::Deployment::ImplementationRequirements,
+ ::Deployment::ImplementationRequirement,
+ IR_Handler::handle_ir > IR_Functor;
+
+
+
+ struct MID_Handler
+ {
+ static void handle_mid (const MonolithicImplementationDescription &desc,
+ ::Deployment::MonolithicImplementationDescription &toconfig)
+ {
+ CIAO_TRACE ("MID_Handler::get_mid");
+
+ toconfig.nodeExecParameter.length (desc.count_nodeExecParameter ());
+ std::for_each (desc.begin_nodeExecParameter (),
+ desc.end_nodeExecParameter (),
+ Property_Functor (toconfig.nodeExecParameter));
+
+ toconfig.componentExecParameter.length (desc.count_componentExecParameter ());
+ std::for_each (desc.begin_componentExecParameter (),
+ desc.end_componentExecParameter (),
+ Property_Functor (toconfig.componentExecParameter));
+
+ toconfig.deployRequirement.length (desc.count_deployRequirement ());
+ std::for_each (desc.begin_deployRequirement (),
+ desc.end_deployRequirement (),
+ IR_Functor (toconfig.deployRequirement));
+
+ toconfig.primaryArtifact.length (desc.count_primaryArtifact ());
+ std::for_each (desc.begin_primaryArtifact (),
+ desc.end_primaryArtifact (),
+ NIA_Functor (toconfig.primaryArtifact));
+ }
+
+ static MonolithicImplementationDescription
+ get_mid (const ::Deployment::MonolithicImplementationDescription &src)
+ {
+ CIAO_TRACE ("MID_Handler::get_mid - reverse");
+
+ MonolithicImplementationDescription retval;
+
+ for (CORBA::ULong i = 0; i < src.nodeExecParameter.length (); ++i)
+ retval.add_nodeExecParameter
+ (Property_Handler::get_property (src.nodeExecParameter[i]));
+
+ for (CORBA::ULong i = 0; i < src.componentExecParameter.length (); ++i)
+ retval.add_componentExecParameter
+ (Property_Handler::get_property (src.componentExecParameter[i]));
+
+ for (CORBA::ULong i = 0; i < src.deployRequirement.length (); ++i)
+ retval.add_deployRequirement
+ (IR_Handler::get_ir (src.deployRequirement[i]));
+
+ for (CORBA::ULong i = 0; i < src.primaryArtifact.length (); ++i)
+ retval.add_primaryArtifact
+ (NIA_Handler::get_nia (src.primaryArtifact[i]));
+
+ return retval;
+ }
+
+ };
+
+ typedef Sequence_Handler < MonolithicImplementationDescription,
+ ::Deployment::MonolithicImplementationDescriptions,
+ ::Deployment::MonolithicImplementationDescription,
+ MID_Handler::handle_mid > MID_Functor;
+
+ }
+
+ void
+ CID_Handler::component_impl_descr (
+ const ComponentImplementationDescription &desc,
+ ::Deployment::ComponentImplementationDescription &toconfig)
+ {
+ CIAO_TRACE ("CID_Handler::component_impl_descr");
+
+ const ComponentImplementationDescription *cid = 0;
+ std::auto_ptr <ComponentImplementationDescription> xsc_cid;
+
+ if (desc.href_p ())
+ {
+ xsc_cid.reset (CID_Handler::resolve_cid (desc.href ().c_str ()));
+ cid = xsc_cid.get ();
+ }
+ else
+ cid = &desc;
+
+ if (cid->label_p ())
+ toconfig.label = cid->label ().c_str ();
+
+ if (cid->UUID_p ())
+ toconfig.UUID = cid->UUID ().c_str ();
+
+ if (cid->implements_p ())
+ { // MAJO: We should be able to assume this exists, fix broken interpeters..
+ Comp_Intf_Descr_Handler::comp_intf_descr (cid->implements (),
+ toconfig.implements);
+ }
+
+ if (cid->assemblyImpl_p ())
+ {
+ toconfig.assemblyImpl.length (1);
+ CAD_Handler::component_assem_descr (cid->assemblyImpl (),
+ toconfig.assemblyImpl[0]);
+ }
+ else if (cid->monolithicImpl_p ())
+ {
+ toconfig.monolithicImpl.length (1);
+ MID_Handler::handle_mid (cid->monolithicImpl (),
+ toconfig.monolithicImpl[0]);
+ }
+ else
+ throw Plan_Error ("ComponentImplementationDescription must have either assemblyImpl or monolithicImpl");
+
+ // configProperty
+ toconfig.configProperty.length (cid->count_configProperty ());
+ std::for_each (cid->begin_configProperty (),
+ cid->end_configProperty (),
+ Property_Functor (toconfig.configProperty));
+
+ // capability
+ toconfig.capability.length (cid->count_capability ());
+ std::for_each (cid->begin_capability (),
+ cid->end_capability (),
+ Capability_Functor (toconfig.capability));
+
+ // dependsOn
+ toconfig.dependsOn.length (cid->count_dependsOn ());
+ CORBA::ULong pos = 0;
+ for (ComponentImplementationDescription::dependsOn_const_iterator i = cid->begin_dependsOn ();
+ i != cid->end_dependsOn ();
+ ++i)
+ toconfig.dependsOn[pos++].requiredType = i->requiredType ().c_str ();
+
+ // infoProperty
+ toconfig.infoProperty.length (cid->count_infoProperty ());
+ std::for_each (cid->begin_infoProperty (),
+ cid->end_infoProperty (),
+ Property_Functor (toconfig.infoProperty));
+
+ }
+
+ ComponentImplementationDescription
+ CID_Handler::component_impl_descr (const Deployment::ComponentImplementationDescription& src)
+ {
+ CIAO_TRACE ("CID_Handler::component_impl_descr - reverse");
+
+ ComponentImplementationDescription retval;
+
+ retval.label (src.label.in ());
+ retval.UUID (src.UUID.in ());
+
+ {
+ retval.implements (Comp_Intf_Descr_Handler::comp_intf_descr (src.implements));
+ }
+
+ if (src.assemblyImpl.length () == 1)
+ {
+ retval.assemblyImpl (CAD_Handler::component_assem_descr (src.assemblyImpl[0]));
+ }
+ else if (src.monolithicImpl.length () == 1)
+ {
+ retval.monolithicImpl (MID_Handler::get_mid (src.monolithicImpl[0]));
+ }
+ else
+ ACE_DEBUG ((LM_WARNING, "Warning: ComponentImplementationDescription lacks "
+ "either a required assemblyImpl or monolithicImpl, or has too many"));
+
+ for (CORBA::ULong i = 0; i < src.configProperty.length (); ++i)
+ {
+ retval.add_configProperty (
+ Property_Handler::get_property (src.configProperty[i]));
+ }
+
+ for (CORBA::ULong i = 0; i < src.dependsOn.length (); ++i)
+ {
+ retval.add_dependsOn (ImplementationDependency (src.dependsOn[i].requiredType.in ()));
+ }
+
+ for (CORBA::ULong i = 0; i < src.infoProperty.length (); ++i)
+ {
+ retval.add_infoProperty (
+ Property_Handler::get_property (src.infoProperty[i]));
+ }
+
+ return retval;
+ }
+
+ ComponentImplementationDescription *
+ CID_Handler::resolve_cid (const char *uri)
+ {
+ CIAO_TRACE ("CID_Handler::resolve_cid");
+
+ xercesc::DOMDocument *dom = XML_HELPER->create_dom (uri);
+
+ if (!dom)
+ throw Parse_Error ("Unable to create DOM for CID");
+
+ try {
+ return new ComponentImplementationDescription
+ (componentImplementationDescription (dom));
+ }
+ catch (...) {
+ throw Parse_Error ("Unable to create XSC structure for CID");
+ }
+ }
+ }
+
+ }
+}
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CID_Handler.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CID_Handler.h
new file mode 100644
index 00000000000..ef1263ad139
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CID_Handler.h
@@ -0,0 +1,67 @@
+/**
+ * @file CID_Handler.h
+ *
+ * $Id$
+ *
+ * @author William Otte <wotte@dre.vanderbilt.edu
+ */
+
+#ifndef CIAO_PACKAGING_CID_HANDLER_H
+#define CIAO_PACKAGING_CID_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "IDREF_Base.h"
+#include "Package_Handlers/Packaging_Handlers_Export.h"
+#include "tao/Basic_Types.h"
+
+namespace Deployment
+{
+ struct ComponentImplementationDescription;
+}
+
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class ComponentImplementationDescription;
+
+ namespace Packaging
+ {
+
+ /**
+ * @class CID_Handler
+ *
+ * @brief Handler class for <CCMComponentImplementationDescription> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC objects, parsed from the descriptor files, to the
+ * corresponding CORBA IDL type for the schema element.
+ *
+ */
+ class Packaging_Handlers_Export CID_Handler
+ {
+
+ public:
+ /// Maps the values from the XSC object
+ /// <ComponentImplementationDescription> to the CORBA IDL type
+ /// <Deployment::ComponentImplementationDescription>.
+ static void component_impl_descr (const ComponentImplementationDescription &desc,
+ ::Deployment::ComponentImplementationDescription &toconfig);
+
+ static IDREF_Base<CORBA::ULong> IDREF;
+
+ static ComponentImplementationDescription
+ component_impl_descr (const Deployment::ComponentImplementationDescription& src);
+
+ private:
+
+ static ComponentImplementationDescription * resolve_cid (const char *uri);
+ };
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_PACKAGING_CID_HANDLER_H*/
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.cpp
new file mode 100644
index 00000000000..09f02684a21
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.cpp
@@ -0,0 +1,159 @@
+// $Id$
+#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
+#include "Package_Handlers/CPD_Handler.h"
+#include "Package_Handlers/CID_Handler.h"
+#include "Package_Handlers/Comp_Intf_Descr_Handler.h"
+#include "Basic_Deployment_Data.hpp"
+#include "ciao/Packaging_DataC.h"
+#include "Deployment.hpp"
+#include "Utils/Exceptions.h"
+#include "Property_Handler.h"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ namespace Packaging
+ {
+ namespace
+ {
+ struct PCI_Handler
+ {
+ static void handle_pci (const PackagedComponentImplementation &desc,
+ ::Deployment::PackagedComponentImplementation &toconfig)
+ {
+ CIAO_TRACE ("PCI_Handler::get_pci");
+ toconfig.name = desc.name ().c_str ();
+
+ CID_Handler::component_impl_descr (desc.referencedImplementation (),
+ toconfig.referencedImplementation);
+ }
+
+ static PackagedComponentImplementation
+ get_pci (const ::Deployment::PackagedComponentImplementation &src)
+ {
+ CIAO_TRACE ("PCI_Handler::get_pci - reverse");
+ return PackagedComponentImplementation (src.name.in (),
+ CID_Handler::component_impl_descr (src.referencedImplementation));
+ }
+ };
+
+ typedef Sequence_Handler < PackagedComponentImplementation,
+ ::Deployment::PackagedComponentImplementations,
+ ::Deployment::PackagedComponentImplementation,
+ PCI_Handler::handle_pci > PCI_Functor;
+ }
+
+ void
+ CPD_Handler::handle_component_package_descr (const ComponentPackageDescription &desc,
+ ::Deployment::ComponentPackageDescription &toconfig)
+ {
+ CIAO_TRACE ("CPD_Handler::component_package_descr");
+
+ auto_ptr < ComponentPackageDescription > xsc_cpd;
+ const ComponentPackageDescription *cpd = 0;
+
+ if (desc.href_p ())
+ {
+ xsc_cpd.reset (CPD_Handler::resolve_cpd (desc.href ().c_str ()));
+ cpd = xsc_cpd.get ();
+ }
+ else
+ cpd = &desc;
+
+ if (cpd->label_p ())
+ toconfig.label = cpd->label ().c_str ();
+
+ if (cpd->UUID_p ())
+ toconfig.UUID = cpd->UUID ().c_str ();
+
+ // CID
+ if (cpd->realizes_p ())
+ Comp_Intf_Descr_Handler::comp_intf_descr (cpd->realizes (),
+ toconfig.realizes);
+
+ // Config Properties
+ toconfig.configProperty.length (desc.count_configProperty ());
+ std::for_each (cpd->begin_infoProperty (),
+ cpd->end_infoProperty (),
+ Property_Functor (toconfig.configProperty));
+
+ // ACE_DEBUG ((LM_ERROR, "***** Count of PCIs is %i\n",
+ // cpd->count_implementation ()));
+
+ // Packaged Component Implementations
+ toconfig.implementation.length ( cpd->count_implementation ());
+ std::for_each (cpd->begin_implementation (),
+ cpd->end_implementation (),
+ PCI_Functor (toconfig.implementation));
+
+ // Info Properties
+ toconfig.infoProperty.length (cpd->count_infoProperty ());
+ std::for_each (cpd->begin_infoProperty (),
+ cpd->end_infoProperty (),
+ Property_Functor (toconfig.infoProperty));
+ }
+
+ ComponentPackageDescription
+ CPD_Handler::component_package_descr (const Deployment::ComponentPackageDescription& src)
+ {
+ CIAO_TRACE ("CPD_Handler::component_package_descr - reverse");
+ ComponentPackageDescription toconfig;
+
+ if (src.label.in () != 0)
+ toconfig.label (src.label.in ());
+
+ if (src.UUID.in () != 0)
+ toconfig.UUID (src.UUID.in ());
+
+ {
+ toconfig.realizes
+ (Comp_Intf_Descr_Handler::comp_intf_descr (src.realizes));
+ }
+
+ for (size_t i = 0; i < src.configProperty.length (); ++i)
+ {
+ toconfig.add_configProperty (
+ Property_Handler::get_property (src.configProperty[i]));
+ }
+
+ { // Packaged Component Implementations
+ for (size_t i = 0; i < src.implementation.length (); ++i)
+ toconfig.add_implementation (
+ PCI_Handler::get_pci (src.implementation[i]));
+ }
+
+ for (size_t i = 0; i < src.infoProperty.length (); ++i)
+ {
+ toconfig.add_infoProperty (
+ Property_Handler::get_property (src.infoProperty[i]));
+ }
+
+ return toconfig;
+ }
+
+ ComponentPackageDescription * CPD_Handler::resolve_cpd (const char *uri)
+ {
+ CIAO_TRACE ("CPD_Handler::resolve_cpd");
+ if (!XML_HELPER->is_initialized ())
+ return 0;
+
+ xercesc::DOMDocument* dom =
+ XML_HELPER->create_dom (uri);
+
+ if (!dom)
+ throw Parse_Error ("Unable to create DOM for component package description");
+
+ try {
+ //ACE_ERROR ((LM_ERROR, "Creating new CPD XSC Object\n"));
+ return new ComponentPackageDescription (componentPackageDescription (dom));
+ }
+ catch (...) {
+ throw Parse_Error ("Unable to create XSC structure for CID");
+ }
+ }
+ }
+
+
+ }
+}
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.h
new file mode 100644
index 00000000000..9535d24eef2
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.h
@@ -0,0 +1,74 @@
+//================================================
+/**
+ * @file CPD_Handler.h
+ *
+ * $Id$
+ *
+ * @author Ming Xiong <mxiong@dre.vanderbilt.edu>
+ */
+//================================================
+
+#ifndef CIAO_CONFIG_HANDLERS_STD_CPD_HANDLER_H
+#define CIAO_CONFIG_HANDLERS_STD_CPD_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include <memory>
+#include "Utils/XML_Helper.h"
+#include "Utils/Functors.h"
+#include "Package_Handlers/Packaging_Handlers_Export.h"
+
+namespace Deployment
+{
+ struct ComponentPackageDescription;
+ class ComponentPackageDescriptions;
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class ComponentPackageDescription;
+
+ namespace Packaging
+ {
+
+ /*
+ * @class CPD_Handler
+ *
+ * @brief Handler class for <CCMComponentPackageDescription> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC objects, parsed from the descriptor files, to the
+ * corresponding CORBA IDL type for the schema element.
+ *
+ */
+ class Packaging_Handlers_Export CPD_Handler
+ {
+
+ public:
+ /// Maps the values from the XSC object
+ /// <ComponentPackageDescription> to the CORBA IDL type
+ /// <Deployment::ComponentPackageDescription>.
+ static void handle_component_package_descr (const ComponentPackageDescription &desc,
+ ::Deployment::ComponentPackageDescription &toconfig);
+
+ static ComponentPackageDescription
+ component_package_descr (const Deployment::ComponentPackageDescription& src);
+ private:
+ static ComponentPackageDescription * resolve_cpd (const char *uri);
+
+ };
+
+ typedef Sequence_Handler < ComponentPackageDescription,
+ ::Deployment::ComponentPackageDescriptions,
+ ::Deployment::ComponentPackageDescription,
+ CPD_Handler::handle_component_package_descr > CPD_Functor;
+
+ }
+
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_CONFIG_HANDLERS_CPD_HANDLER_H*/
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Comp_Intf_Descr_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Comp_Intf_Descr_Handler.cpp
new file mode 100644
index 00000000000..74223c6b2d8
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Comp_Intf_Descr_Handler.cpp
@@ -0,0 +1,164 @@
+// $Id$
+#include "Comp_Intf_Descr_Handler.h"
+
+#include "Utils/XML_Helper.h"
+#include "Utils/Exceptions.h"
+#include "Utils/Functors.h"
+#include "DataType_Handler.h"
+#include "Property_Handler.h"
+#include "Deployment.hpp"
+#include "Package_Handlers/CPD_Handler.h"
+#include "tools/Config_Handlers/CPD_Handler.h"
+#include "ciao/CIAO_common.h"
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ namespace Packaging
+ {
+ namespace
+ {
+ struct Comp_Prop_Handler
+ {
+ static void handle_cpd (const ComponentPropertyDescription &desc,
+ ::Deployment::ComponentPropertyDescription &toconfig)
+ {
+ CIAO_TRACE ("Comp_Prop_Handler::get_cpd");
+
+ toconfig.name = desc.name ().c_str ();
+ DataType_Handler::data_type (desc.type (),
+ toconfig.type);
+ }
+
+ static ComponentPropertyDescription
+ get_cpd (const ::Deployment::ComponentPropertyDescription &src)
+ {
+ CIAO_TRACE ("Comp_Prop_Handler::get_cpd - reverse");
+
+ return ComponentPropertyDescription (src.name.in (),
+ DataType_Handler::data_type (src.type));
+ }
+
+ };
+
+ typedef Sequence_Handler < ComponentPropertyDescription,
+ ::Deployment::ComponentPropertyDescriptions,
+ ::Deployment::ComponentPropertyDescription,
+ Comp_Prop_Handler::handle_cpd > Comp_Prop_Functor;
+ }
+
+ void
+ Comp_Intf_Descr_Handler::comp_intf_descr (
+ const ComponentInterfaceDescription &desc,
+ ::Deployment::ComponentInterfaceDescription &toconfig)
+ {
+ CIAO_TRACE ("Comp_Intf_Descr_Handler::comp_intf_descr");
+
+ const ComponentInterfaceDescription *cid = 0;
+ std::auto_ptr <ComponentInterfaceDescription> safe_cid;
+
+ if (desc.href_p ())
+ {
+ safe_cid.reset (Comp_Intf_Descr_Handler::resolve_cid (desc.href ().c_str ()));
+ cid = safe_cid.get ();
+ }
+ else
+ cid = &desc;
+
+ if (cid->label_p ())
+ toconfig.label = cid->label ().c_str ();
+
+ if (cid->UUID_p ())
+ toconfig.UUID = cid->UUID ().c_str ();
+
+ // MAJO: SpecificType should be required.
+ if (cid->specificType_p ())
+ toconfig.specificType = cid->specificType ().c_str ();
+
+ toconfig.supportedType.length (cid->count_supportedType ());
+ std::for_each (cid->begin_supportedType (),
+ cid->end_supportedType (),
+ String_Seq_Functor (toconfig.supportedType));
+
+ toconfig.idlFile.length (cid->count_idlFile ());
+ std::for_each (cid->begin_idlFile (),
+ cid->end_idlFile (),
+ String_Seq_Functor (toconfig.idlFile));
+
+ toconfig.configProperty.length (cid->count_configProperty ());
+ std::for_each (cid->begin_configProperty (),
+ cid->end_configProperty (),
+ Property_Functor (toconfig.configProperty));
+
+ toconfig.port.length (cid->count_port ());
+ std::for_each (cid->begin_port (),
+ cid->end_port (),
+ CIAO::Config_Handlers::CPD_Functor (toconfig.port));
+
+ toconfig.property.length (cid->count_property ());
+ std::for_each (cid->begin_property (),
+ cid->end_property (),
+ Comp_Prop_Functor (toconfig.property));
+
+ toconfig.infoProperty.length (cid->count_infoProperty ());
+ std::for_each (cid->begin_infoProperty (),
+ cid->end_infoProperty (),
+ Property_Functor (toconfig.infoProperty));
+ }
+
+
+ ComponentInterfaceDescription
+ Comp_Intf_Descr_Handler::comp_intf_descr (
+ const ::Deployment::ComponentInterfaceDescription &src)
+ {
+ CIAO_TRACE ("Comp_Intf_Descr_Handler::comp_intf_descr - reverse");
+ ComponentInterfaceDescription retval;
+
+ retval.label (src.label.in ());
+ retval.UUID (src.UUID.in ());
+ retval.specificType (src.specificType.in ());
+
+ for (CORBA::ULong i = 0; i < src.supportedType.length (); ++i)
+ retval.add_supportedType (src.supportedType[i]);
+
+ for (CORBA::ULong i = 0; i < src.idlFile.length (); ++i)
+ retval.add_idlFile (src.idlFile[i]);
+
+ for (CORBA::ULong i = 0; i < src.configProperty.length (); ++i)
+ retval.add_configProperty (
+ Property_Handler::get_property (src.configProperty[i]));
+
+ for (CORBA::ULong i = 0; i < src.port.length (); ++i)
+ retval.add_port
+ (CIAO::Config_Handlers::CPD_Handler::component_port_description (src.port[i]));
+
+ for (CORBA::ULong i = 0; i < src.property.length (); ++i)
+ retval.add_property (Comp_Prop_Handler::get_cpd (src.property[i]));
+
+ for (CORBA::ULong i = 0; i < src.infoProperty.length (); ++i)
+ retval.add_infoProperty (
+ Property_Handler::get_property (src.infoProperty[i]));
+
+ return retval;
+ }
+
+ ComponentInterfaceDescription *
+ Comp_Intf_Descr_Handler::resolve_cid (const char *uri)
+ {
+ CIAO_TRACE ("Comp_Intf_Descr_Handler::resolve_cid");
+
+ xercesc::DOMDocument *dom = XML_HELPER->create_dom (uri);
+
+ if (!dom)
+ throw Parse_Error ("Unable to create DOM for Component Interface Description.");
+
+ try {
+ return new ComponentInterfaceDescription
+ (componentInterfaceDescription (dom));
+ }
+ catch (...) {
+ throw Parse_Error ("Unable to create XSC structure for Component Interface Description");
+ }
+ }
+ }
+ }}
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Comp_Intf_Descr_Handler.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Comp_Intf_Descr_Handler.h
new file mode 100644
index 00000000000..e4eb2b0af58
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Comp_Intf_Descr_Handler.h
@@ -0,0 +1,54 @@
+/**
+ * @file Comp_Intf_Descr_Handler.h
+ * @author William Otte <wotte@dre.vanderbilt.edu>
+ *
+ * $Id$
+ */
+
+#ifndef CIAO_PACKAGING_COMP_INTF_DESCR_HANDLER_H
+#define CIAO_PACKAGING_COMP_INTF_DESCR_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "Utils/XML_Helper.h"
+#include "ciao/DeploymentC.h"
+#include "Package_Handlers/Packaging_Handlers_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class ComponentInterfaceDescription;
+
+ namespace Packaging
+ {
+
+ /**
+ * @class Comp_Intf_Descr_Handler
+ *
+ * @brief Handler class for ComponentInterfaceDescription.
+ */
+ class Packaging_Handlers_Export Comp_Intf_Descr_Handler
+ {
+ public:
+ static void comp_intf_descr (const ComponentInterfaceDescription &descr,
+ ::Deployment::ComponentInterfaceDescription &toconfig);
+
+ static ComponentInterfaceDescription
+ comp_intf_descr (const ::Deployment::ComponentInterfaceDescription &src);
+
+ private:
+ static ComponentInterfaceDescription *resolve_cid (const char *uri);
+ };
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_PACKAGING_COMP_INTF_DESCR_HANDLER_H */
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/IAD_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/IAD_Handler.cpp
new file mode 100644
index 00000000000..f77a5f092f1
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/IAD_Handler.cpp
@@ -0,0 +1,122 @@
+// $Id$
+#include "Package_Handlers/IAD_Handler.h"
+#include "Package_Handlers/NIA_Handler.h"
+#include "Basic_Deployment_Data.hpp"
+#include "ciao/Packaging_DataC.h"
+#include "Property_Handler.h"
+#include "Req_Handler.h"
+#include "Utils/Functors.h"
+#include "Utils/Exceptions.h"
+#include "Utils/XML_Helper.h"
+
+#include "Deployment.hpp"
+#include "ciao/CIAO_common.h"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ namespace Packaging
+ {
+
+ void
+ IAD_Handler::impl_artifact_descr (const ImplementationArtifactDescription &desc,
+ ::Deployment::ImplementationArtifactDescription &toconfig)
+ {
+ CIAO_TRACE ("IAD_Handler::impl_artifact_descr");
+
+ const ImplementationArtifactDescription *iad = 0;
+ std::auto_ptr <ImplementationArtifactDescription> safe_iad;
+
+ if (desc.href_p ())
+ {
+ safe_iad.reset (IAD_Handler::resolve_iad (desc.href ().c_str ()));
+ iad = safe_iad.get ();
+ }
+ else
+ iad = &desc;
+
+
+ if (iad->label_p ())
+ toconfig.label = iad->label ().c_str ();
+
+ if (iad->UUID_p ())
+ toconfig.UUID = iad->UUID ().c_str ();
+
+ toconfig.location.length (iad->count_location ());
+ std::for_each (iad->begin_location (),
+ iad->end_location (),
+ String_Seq_Functor (toconfig.location));
+
+ toconfig.dependsOn.length (iad->count_dependsOn ());
+ std::for_each (iad->begin_dependsOn (),
+ iad->end_dependsOn (),
+ NIA_Functor (toconfig.dependsOn));
+
+ toconfig.execParameter.length (iad->count_execParameter ());
+ std::for_each (iad->begin_execParameter (),
+ iad->end_execParameter (),
+ Property_Functor (toconfig.execParameter));
+
+ toconfig.infoProperty.length (iad->count_infoProperty ());
+ std::for_each (iad->begin_infoProperty (),
+ iad->end_infoProperty (),
+ Property_Functor (toconfig.infoProperty));
+
+ toconfig.deployRequirement.length (iad->count_deployRequirement ());
+ std::for_each (iad->begin_deployRequirement (),
+ iad->end_deployRequirement (),
+ Requirement_Functor (toconfig.deployRequirement ));
+ }
+
+ ImplementationArtifactDescription
+ IAD_Handler::impl_artifact_descr (const ::Deployment::ImplementationArtifactDescription &src)
+ {
+ CIAO_TRACE ("IAD_Handler::impl_artifact_descr - reverse");
+ ImplementationArtifactDescription retval;
+
+ retval.label (src.label.in ());
+ retval.UUID (src.UUID.in ());
+
+ for (CORBA::ULong i = 0; i < src.location.length (); ++i)
+ retval.add_location (src.location[i]);
+
+ for (CORBA::ULong i = 0; i < src.dependsOn.length (); ++i)
+ retval.add_dependsOn (NIA_Handler::get_nia (src.dependsOn[i]));
+
+ for (CORBA::ULong i = 0; i < src.execParameter.length (); ++i)
+ retval.add_execParameter
+ (Property_Handler::get_property (src.execParameter[i]));
+
+ for (CORBA::ULong i = 0; i < src.infoProperty.length (); ++i)
+ retval.add_infoProperty
+ (Property_Handler::get_property ( src.infoProperty[i]));
+
+ for (CORBA::ULong i = 0; i < src.deployRequirement.length (); ++i)
+ retval.add_deployRequirement
+ (Req_Handler::get_requirement (src.deployRequirement[i]));
+
+ return retval;
+ }
+
+ ImplementationArtifactDescription * IAD_Handler::resolve_iad (const char *uri)
+ {
+ CIAO_TRACE ("IAD_Handler::resolve_iad");
+
+ xercesc::DOMDocument *dom = XML_HELPER->create_dom (uri);
+
+ if (!dom)
+ throw Parse_Error ("Unable to create DOM for IAD");
+
+ try {
+ return new ImplementationArtifactDescription
+ (implementationArtifactDescription (dom));
+ }
+ catch (...) {
+ throw Parse_Error ("Unable to create XSC structure for IAD");
+ }
+ }
+
+ }
+ }
+}
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/IAD_Handler.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/IAD_Handler.h
new file mode 100644
index 00000000000..869dbe25a8a
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/IAD_Handler.h
@@ -0,0 +1,66 @@
+//================================================
+/**
+ * @file IAD_Handler.h
+ *
+ * $Id$
+ *
+ * @author William Otte <wotte@dre.vanderbilt.edu>
+ */
+//================================================
+
+#ifndef CIAO_CONFIG_HANDLERS_STD_IAD_HANDLER_H
+#define CIAO_CONFIG_HANDLERS_STD_IAD_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "Package_Handlers/Packaging_Handlers_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace Deployment
+{
+ struct ImplementationArtifactDescription;
+ struct ImplementationArtifactDescriptions;
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class ImplementationArtifactDescription;
+ namespace Packaging
+ {
+ /*
+ * @class IAD_Handler
+ *
+ * @brief Handler class for <CCMImplementationArtifactDescription> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC objects, parsed from the descriptor files, to the
+ * corresponding CORBA IDL type for the schema element.
+ *
+ */
+ class Packaging_Handlers_Export IAD_Handler
+ {
+ public:
+ /// Maps the values from the XSC object
+ /// <ImplementationArtifactDescription> to the CORBA IDL type
+ /// <Deployment::ImplementationArtifactDescription>.
+ static void
+ impl_artifact_descr (const ImplementationArtifactDescription &desc,
+ ::Deployment::ImplementationArtifactDescription &toconfig);
+
+
+ static ImplementationArtifactDescription
+ impl_artifact_descr (const Deployment::ImplementationArtifactDescription& src);
+
+ static ImplementationArtifactDescription * resolve_iad (const char *uri);
+ };
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_CONFIG_HANDLERS_STD_IAD_HANDLER_H*/
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/NIA_Handler.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/NIA_Handler.h
new file mode 100644
index 00000000000..edc5fe7fa6c
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/NIA_Handler.h
@@ -0,0 +1,65 @@
+/**
+ * @file NIA_Handler.h
+ * @author William Otte <wotte@dre.vanderbilt.edu>
+ * $Id$
+ */
+
+#ifndef CIAO_PACKAGING_NIA_HANDLER_H
+#define CIAO_PACKAGING_NIA_HANDLER_H
+
+#include /**/ "ace/pre.h"
+#include "Package_Handlers/Packaging_Handlers_Export.h"
+#include "Utils/Functors.h"
+#include "ciao/Packaging_DataC.h"
+#include "iad.hpp"
+
+namespace Deployment
+{
+ struct NamedImplementationArtifact;
+ class NamedImplementationArtifacts;
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class NamedImplementationArtifact;
+
+ namespace Packaging
+ {
+ /**
+ * @class NIA_Handler
+ * @brief Handler class for NamedImplementationArtifact types.
+ */
+ class Packaging_Handlers_Export NIA_Handler
+ {
+ public:
+ static void handle_nia (const NamedImplementationArtifact &desc,
+ ::Deployment::NamedImplementationArtifact &toconfig)
+ {
+ toconfig.name = desc.name ().c_str ();
+ IAD_Handler::impl_artifact_descr (desc.referencedArtifact (),
+ toconfig.referencedArtifact);
+ }
+
+
+ static NamedImplementationArtifact
+ get_nia (const ::Deployment::NamedImplementationArtifact &src)
+ {
+ return NamedImplementationArtifact (src.name.in (),
+ IAD_Handler::impl_artifact_descr (src.referencedArtifact));
+ }
+
+ };
+
+ typedef Sequence_Handler < NamedImplementationArtifact,
+ ::Deployment::NamedImplementationArtifacts,
+ ::Deployment::NamedImplementationArtifact,
+ NIA_Handler::handle_nia > NIA_Functor;
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+
+#endif /* CIAO_PACKAGING_NIA_HANDLER_H */
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PCD_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PCD_Handler.cpp
new file mode 100644
index 00000000000..675060fd082
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PCD_Handler.cpp
@@ -0,0 +1,160 @@
+// $Id$
+#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
+#include "ciao/CIAO_common.h"
+#include "ciao/Packaging_DataC.h"
+#include "Utils/XML_Helper.h"
+#include "Utils/XercesString.h"
+#include "Utils/Exceptions.h"
+#include "Package_Handlers/PCD_Handler.h"
+#include "Package_Handlers/CPD_Handler.h"
+#include "Deployment.hpp"
+#include "Property_Handler.h"
+#include "Req_Handler.h"
+
+#include "Basic_Deployment_Data.hpp"
+
+#include <memory>
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ namespace Packaging
+ {
+ void
+ PCD_Handler::package_config (const ACE_TCHAR *uri,
+ ::Deployment::PackageConfiguration &toconfig)
+ {
+ const xercesc::DOMDocument *dom = XML_HELPER->create_dom (uri);
+
+ if (dom == 0)
+ {
+ std::string error ("Unable to open file: ");
+ error += uri;
+ throw Parse_Error (error);
+ }
+
+ XStr root = dom->getDocumentElement ()->getTagName ();
+
+ if (root == XStr ("Deployment:topLevelPackageDescription"))
+ {
+ TopLevelPackageDescription tpd = topLevelPackageDescription (dom);
+ PCD_Handler::package_config (tpd.package (),
+ toconfig);
+ }
+ else if (root == XStr ("Deployment:packageConfiguration"))
+ {
+ PackageConfiguration pcd (packageConfiguration (dom));
+ PCD_Handler::package_config (pcd, toconfig);
+ }
+ else
+ {
+ std::string error ("Invliad file passed to package_config, has base ");
+
+ char *croot = xercesc::XMLString::transcode (root);
+
+ error += croot;
+
+ delete [] croot;
+
+ throw Plan_Error ("Invalid file passed to package_config, had base");
+ }
+ }
+
+ void
+ PCD_Handler::package_config (const PackageConfiguration &desc,
+ ::Deployment::PackageConfiguration &toconfig)
+ {
+ CIAO_TRACE ("PCD_Handler::package_config");
+ std::auto_ptr < PackageConfiguration > xsc_pcd;
+
+ const PackageConfiguration *pcd;
+
+ if (desc.href_p ())
+ {
+ // Take ownership of the resolved pcd
+ xsc_pcd.reset (PCD_Handler:: resolve_package_config (desc.href ().c_str ()));
+ pcd = xsc_pcd.get ();
+ }
+ else
+ pcd = &desc;
+
+ if (pcd->label_p ())
+ toconfig.label =
+ pcd->label ().c_str ();
+
+ if (pcd->UUID_p ())
+ toconfig.UUID =
+ pcd->UUID ().c_str ();
+
+ if (pcd->basePackage_p ())
+ {
+ toconfig.basePackage.length (1);
+ CPD_Handler::handle_component_package_descr (pcd->basePackage (),
+ toconfig.basePackage [0]);
+ }
+
+ // @@ MAJO: Support other elements present here.
+
+ toconfig.configProperty.length (desc.count_configProperty ());
+ std::for_each (desc.begin_configProperty (),
+ desc.end_configProperty (),
+ Property_Functor (toconfig.configProperty));
+
+ toconfig.selectRequirement.length (desc.count_selectRequirement ());
+ std::for_each (desc.begin_selectRequirement (),
+ desc.end_selectRequirement (),
+ Requirement_Functor (toconfig.selectRequirement));
+
+ }
+
+ PackageConfiguration
+ PCD_Handler::package_config (const Deployment::PackageConfiguration& src)
+ {
+ CIAO_TRACE ("PCD_Handler::package_config - reverse");
+ PackageConfiguration pcd = PackageConfiguration ();
+
+ if (src.label.in () != 0)
+ pcd.label (src.label.in ());
+
+ if (src.UUID.in () != 0)
+ pcd.UUID (src.UUID.in ());
+
+ if (src.basePackage.length () > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "5\n"));
+ pcd.basePackage (CPD_Handler::component_package_descr (src.basePackage[0]));
+ }
+
+ // @@ MAJO: Support other elements present here.
+ for (CORBA::ULong i = 0; i < src.configProperty.length (); ++i)
+ pcd.add_configProperty (Property_Handler::get_property (src.configProperty[i]));
+
+ for (CORBA::ULong i = 0; i < src.selectRequirement.length (); ++i)
+ pcd.add_selectRequirement (Req_Handler::get_requirement (src.selectRequirement[i]));
+
+ return pcd;
+
+ }
+
+ PackageConfiguration * PCD_Handler::resolve_package_config (const char *uri)
+ {
+ xercesc::DOMDocument* dom =
+ XML_HELPER->create_dom (uri);
+
+ if (!dom)
+ throw Parse_Error ("Unable to create DOM for PackageConfiguration");
+
+ try {
+ return new PackageConfiguration (packageConfiguration (dom));
+ }
+ catch (...) {
+ throw Parse_Error ("Unable to create XSC structure for PackageConfiguration");
+ }
+
+ }
+
+
+ }
+ }
+}
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PCD_Handler.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PCD_Handler.h
new file mode 100644
index 00000000000..be92a6871c0
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PCD_Handler.h
@@ -0,0 +1,69 @@
+//================================================
+/**
+ * @file PCD_Handler.h
+ *
+ * $Id$
+ *
+ * @author William Otte <wotte@dre.vanderbilt.edu>
+ */
+//================================================
+
+#ifndef CIAO_CONFIG_HANDLERS_PCD_HANDLER_H
+#define CIAO_CONFIG_HANDLERS_PCD_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "Packaging_Handlers_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace Deployment
+{
+ struct PackageConfiguration;
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class PackageConfiguration;
+
+ namespace Packaging
+ {
+ /*
+ * @class PCD_Handler
+ *
+ * @brief Handler class for <CCMPackageConfiguration> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC objects, parsed from the descriptor files, to the
+ * corresponding CORBA IDL type for the schema element.
+ *
+ */
+ class Packaging_Handlers_Export PCD_Handler
+ {
+
+ public:
+ static void package_config (const ACE_TCHAR *uri,
+ ::Deployment::PackageConfiguration &toconfig);
+
+ /// Maps the values from the XSC object
+ /// <PackageConfiguration> to the CORBA IDL type
+ /// <Deployment::PackageConfiguration>.
+ static void package_config (const PackageConfiguration &desc,
+ ::Deployment::PackageConfiguration &toconfig);
+
+ static PackageConfiguration package_config (const Deployment::PackageConfiguration& src);
+
+ private:
+ static PackageConfiguration *resolve_package_config (const char *uri);
+ };
+ }
+
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_CONFIG_HANDLERS_STD_PCD_HANDLER_H*/
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PC_Intf.cpp b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PC_Intf.cpp
new file mode 100644
index 00000000000..e265295d040
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PC_Intf.cpp
@@ -0,0 +1,75 @@
+// $Id$
+
+#include "STD_PC_Intf.h"
+#include "Utils/XML_Helper.h"
+#include "Deployment.hpp"
+#include "STD_PCD_Handler.h"
+#include "ciao/Packaging_DataC.h"
+#include "ciao/CIAO_common.h"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ STD_PC_Intf::STD_PC_Intf (const char *file)
+ {
+ if (!this->prepare_PC (file))
+ throw;
+ }
+
+ bool
+ STD_PC_Intf::prepare_PC (const char *file)
+ {
+ CIAO_TRACE("STD_PC_Intf::prepare_PC");
+
+ ACE_Auto_Ptr<XML_Helper> helper (new XML_Helper);
+
+ if (!helper->is_initialized ())
+ return false;
+
+ // parse the .pcd (PackageConfigurationDescription) file
+ xercesc::DOMDocument *dom =
+ helper->create_dom (file);
+
+ if (!dom)
+ return false;
+
+
+ PackageConfiguration pc =
+ packageConfiguration (dom);
+
+
+ Deployment::PackageConfiguration idl_pc;
+
+
+ STD_PCD_Handler pcd_handler (helper.get ());
+
+ pcd_handler.package_config (pc,
+ idl_pc);
+
+
+ Deployment::PackageConfiguration *p_idl_pc =
+ new Deployment::PackageConfiguration (idl_pc);
+
+ // let ACE_Auto_Ptr take over
+ this->idl_pc_.reset (p_idl_pc);
+
+ if (this->idl_pc_.get ())
+ return true;
+
+ return false;
+ }
+
+ ::Deployment::PackageConfiguration const *
+ STD_PC_Intf::get_PC (void) const
+ {
+ return this->idl_pc_.get ();
+ }
+
+ ::Deployment::PackageConfiguration *
+ STD_PC_Intf::get_PC (void)
+ {
+ return this->idl_pc_.release ();
+ }
+ }
+}
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PC_Intf.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PC_Intf.h
new file mode 100644
index 00000000000..c15ae0389b9
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/PC_Intf.h
@@ -0,0 +1,58 @@
+//==============================================================
+/**
+ * @file PC_Intf.h
+ *
+ * $Id$
+ *
+ * @author Ming Xiong <mxiong@dre.vanderbilt.edu>
+ */
+//================================================================
+
+#ifndef CIAO_CONFIG_STD_PC_INTF_H
+#define CIAO_CONFIG_STD_PC_INTF_H
+#include /**/ "ace/pre.h"
+
+#include "Config_Handlers_Export.h"
+
+#include "ace/Auto_Ptr.h"
+
+
+namespace Deployment
+{
+ struct PackageConfiguration ;
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ /*
+ * @class PC_Intf
+ *
+ * @brief Wrapper class for PackageConfiguration extraction
+ *
+ * This class defines wrapper functions for extracting
+ * PackageConfiguration IDL structures from XSC structures.
+ * It serves as the public interface used by application
+ * developers.
+ *
+ */
+ class Config_Handlers_Export STD_PC_Intf
+ {
+ public:
+ STD_PC_Intf (const char *file);
+
+ ::Deployment::PackageConfiguration const *get_PC (void) const;
+ ::Deployment::PackageConfiguration *get_PC (void);
+
+ protected:
+ bool prepare_PC (const char *file);
+
+ private:
+ ACE_Auto_Ptr< ::Deployment::PackageConfiguration> idl_pc_;
+ };
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /*CIAO_CONFIG_STD_PC_INTF_H*/
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Package_Handlers.mpc b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Package_Handlers.mpc
new file mode 100644
index 00000000000..fce4f459738
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Package_Handlers.mpc
@@ -0,0 +1,45 @@
+// $Id$
+
+project (Package_Config_Handlers) : acelib, ciao_deployment_stub, xerces {
+ sharedname = Package_Config_Handlers
+ dynamicflags = PACKAGING_HANDLERS_BUILD_DLL
+ macros += XML_USE_PTHREADS
+ requires += exceptions
+ includes += $(CIAO_ROOT)/tools/Config_Handlers
+ after += CIAO_XML_Utils XSC_XML_Handlers XSC_Config_Handlers
+ libs += CIAO_XML_Utils XSC_XML_Handlers XSC_Config_Handlers
+ includes += $(CIAO_ROOT)/ciao
+
+ Source_files {
+ CAD_Handler.cpp
+ CID_Handler.cpp
+ Comp_Intf_Descr_Handler.cpp
+ CPD_Handler.cpp
+ IAD_Handler.cpp
+ PCD_Handler.cpp
+ SID_Handler.cpp
+ }
+
+ Header_Files {
+ CAD_Handler.h
+ CID_Handler.h
+ Comp_Intf_Descr_Handler.h
+ CPD_Handler.h
+ IAD_Handler.h
+ PCD_Handler.h
+ SID_Handler.h
+ }
+}
+
+project (Package_Config_Handlers_Tests) : ciao_component_dnc, ciao_config_handlers, ifr_client {
+// requires += dummy_label
+ includes += $(CIAO_ROOT)/tools/Config_Handlers
+ exename = test
+ macros += XML_USE_PTHREADS
+ libs += Package_Config_Handlers XSC_Config_Handlers
+ Source_Files {
+ test.cpp
+ }
+}
+
+
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Packaging_Handlers_Export.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Packaging_Handlers_Export.h
new file mode 100644
index 00000000000..86193a1a664
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/Packaging_Handlers_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl Packaging_Handlers
+// ------------------------------
+#ifndef PACKAGING_HANDLERS_EXPORT_H
+#define PACKAGING_HANDLERS_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (PACKAGING_HANDLERS_HAS_DLL)
+# define PACKAGING_HANDLERS_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && PACKAGING_HANDLERS_HAS_DLL */
+
+#if !defined (PACKAGING_HANDLERS_HAS_DLL)
+# define PACKAGING_HANDLERS_HAS_DLL 1
+#endif /* ! PACKAGING_HANDLERS_HAS_DLL */
+
+#if defined (PACKAGING_HANDLERS_HAS_DLL) && (PACKAGING_HANDLERS_HAS_DLL == 1)
+# if defined (PACKAGING_HANDLERS_BUILD_DLL)
+# define Packaging_Handlers_Export ACE_Proper_Export_Flag
+# define PACKAGING_HANDLERS_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define PACKAGING_HANDLERS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* PACKAGING_HANDLERS_BUILD_DLL */
+# define Packaging_Handlers_Export ACE_Proper_Import_Flag
+# define PACKAGING_HANDLERS_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define PACKAGING_HANDLERS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* PACKAGING_HANDLERS_BUILD_DLL */
+#else /* PACKAGING_HANDLERS_HAS_DLL == 1 */
+# define Packaging_Handlers_Export
+# define PACKAGING_HANDLERS_SINGLETON_DECLARATION(T)
+# define PACKAGING_HANDLERS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* PACKAGING_HANDLERS_HAS_DLL == 1 */
+
+// Set PACKAGING_HANDLERS_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (PACKAGING_HANDLERS_NTRACE)
+# if (ACE_NTRACE == 1)
+# define PACKAGING_HANDLERS_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define PACKAGING_HANDLERS_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !PACKAGING_HANDLERS_NTRACE */
+
+#if (PACKAGING_HANDLERS_NTRACE == 1)
+# define PACKAGING_HANDLERS_TRACE(X)
+#else /* (PACKAGING_HANDLERS_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define PACKAGING_HANDLERS_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (PACKAGING_HANDLERS_NTRACE == 1) */
+
+#endif /* PACKAGING_HANDLERS_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/SID_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/SID_Handler.cpp
new file mode 100644
index 00000000000..34eadf9ea32
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/SID_Handler.cpp
@@ -0,0 +1,140 @@
+// $Id$
+#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
+#include "Package_Handlers/SID_Handler.h"
+#include "cid.hpp"
+#include "ciao/DeploymentC.h"
+#include "Package_Handlers/CPD_Handler.h"
+#include "Package_Handlers/PCD_Handler.h"
+#include "Req_Handler.h"
+#include "Property_Handler.h"
+
+#include "ace/UUID.h"
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ namespace Packaging
+ {
+ IDREF_Base<CORBA::ULong> SID_Handler::IDREF;
+
+ void
+ SID_Handler::handle_sub_comp_inst_descr (const SubcomponentInstantiationDescription &desc,
+ ::Deployment::SubcomponentInstantiationDescription &toconfig)
+ {
+ CIAO_TRACE ("SID_Handler::sub_comp_inst_descr");
+ toconfig.name = desc.name ().c_str ();
+
+ if (desc.basePackage_p ())
+ {
+ toconfig.basePackage.length (1);
+ CPD_Handler::handle_component_package_descr (desc.basePackage (),
+ toconfig.basePackage[0]);
+ }
+ else if (desc.specializedConfig_p ())
+ {
+ toconfig.specializedConfig.length (1);
+ PCD_Handler::package_config (desc.specializedConfig (),
+ toconfig.specializedConfig[0]);
+ }
+ else if (desc.importedPackage_p ())
+ {
+ toconfig.importedPackage.length (1);
+ toconfig.importedPackage[0].location.length (desc.importedPackage ().count_location ());
+
+ std::for_each (desc.importedPackage ().begin_location (),
+ desc.importedPackage ().end_location (),
+ String_Seq_Functor (toconfig.importedPackage[0].location));
+ }
+ else if (desc.referencedPackage_p ())
+ {
+ toconfig.referencedPackage.length (1);
+
+ if (desc.referencedPackage ().requiredUUID_p ())
+ toconfig.referencedPackage[0].requiredUUID =
+ desc.referencedPackage ().requiredUUID ().c_str ();
+
+ if (desc.referencedPackage ().requiredName_p ())
+ toconfig.referencedPackage[0].requiredName =
+ desc.referencedPackage ().requiredName ().c_str ();
+
+ toconfig.referencedPackage[0].requiredType =
+ desc.referencedPackage ().requiredType ().c_str ();
+ }
+
+ toconfig.selectRequirement.length (desc.count_selectRequirement ());
+ std::for_each (desc.begin_selectRequirement (),
+ desc.end_selectRequirement (),
+ Requirement_Functor (toconfig.selectRequirement));
+
+ toconfig.configProperty.length (desc.count_configProperty ());
+ std::for_each (desc.begin_configProperty (),
+ desc.end_configProperty (),
+ Property_Functor (toconfig.configProperty));
+
+ if (desc.id_p ())
+ {
+ ACE_CString str (desc.id ().c_str ());
+ SID_Handler::IDREF.bind_next_available (str);
+ }
+ else
+ ACE_ERROR ((LM_ERROR, "Warning: SID With Name %s has no ID\n",
+ desc.name ().c_str ()));
+
+ }
+
+ SubcomponentInstantiationDescription
+ SID_Handler::sub_comp_inst_descr (const Deployment::SubcomponentInstantiationDescription &src)
+ {
+ CIAO_TRACE ("SID_Handler::sub_comp_inst_descr - reverse");
+ SubcomponentInstantiationDescription retval (src.name.in ());
+
+ if (src.basePackage.length () == 1)
+ retval.basePackage
+ (CPD_Handler::component_package_descr (src.basePackage[0]));
+ else if (src.specializedConfig.length () == 1)
+ retval.specializedConfig
+ (PCD_Handler::package_config (src.specializedConfig[0]));
+ else if (src.importedPackage.length () == 1)
+ {
+ ComponentPackageImport ci;
+
+ for (CORBA::ULong i = 0; i < src.importedPackage[0].location.length (); ++i)
+ ci.add_location (src.importedPackage[0].location[i]);
+
+ retval.importedPackage (ci);
+ }
+ else if (src.referencedPackage.length () == 1)
+ {
+ ComponentPackageReference cpr (src.referencedPackage[0].requiredType.in ());
+ cpr.requiredUUID (src.referencedPackage[0].requiredUUID.in ());
+ cpr.requiredName (src.referencedPackage[0].requiredName.in ());
+
+ retval.referencedPackage (cpr);
+ }
+
+ for (CORBA::ULong i = 0; i < src.selectRequirement.length (); ++i)
+ retval.add_selectRequirement
+ (Req_Handler::get_requirement (src.selectRequirement[i]));
+
+ for (CORBA::ULong i = 0; i < src.configProperty.length (); ++i)
+ retval.add_configProperty
+ (Property_Handler::get_property (src.configProperty[i]));
+
+ // @@MAJO This is not a good way of binding reverse IDREFS.
+ std::auto_ptr <ACE_Utils::UUID> safe_uuid (
+ ACE_Utils::UUID_GENERATOR::instance ()->generateUUID ());
+ ACE_CString uuid ( safe_uuid->to_string ()->c_str ());
+
+ // ACE_ERROR ((LM_ERROR, "*** Binding to %s\n",
+ // uuid.c_str ()));
+
+ SID_Handler::IDREF.bind_next_available (uuid);
+
+ return retval;
+ }
+
+ }
+ }
+}
+
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/SID_Handler.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/SID_Handler.h
new file mode 100644
index 00000000000..1bcb73e751e
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/SID_Handler.h
@@ -0,0 +1,71 @@
+/**
+ * @file SID_Handler.h
+ * @author William Otte <wotte@dre.vanderbilt.edu>
+ *
+ * $Id$
+ */
+
+
+#ifndef CIAO_PACKAGING_SID_HANDLER_H
+#define CIAO_PACKAGING_SID_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "Utils/XML_Helper.h"
+#include "Utils/Functors.h"
+#include "IDREF_Base.h"
+#include "Package_Handlers/Packaging_Handlers_Export.h"
+
+namespace Deployment
+{
+ struct SubcomponentInstantiationDescription;
+ class SubcomponentInstantiationDescriptions;
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class SubcomponentInstantiationDescription;
+
+ namespace Packaging
+ {
+ /**
+ * @class SID_Handler
+ * @brief Handler class for SubcomponentInstantiationDescription
+ */
+ class Packaging_Handlers_Export SID_Handler
+ {
+ SID_Handler (XML_Helper *xml_helper)
+ : xml_helper_ (xml_helper)
+ {
+
+ }
+
+ public:
+ static void handle_sub_comp_inst_descr (const SubcomponentInstantiationDescription &desc,
+ ::Deployment::SubcomponentInstantiationDescription &toconfig);
+
+ static SubcomponentInstantiationDescription
+ sub_comp_inst_descr (const ::Deployment::SubcomponentInstantiationDescription &src);
+
+ static IDREF_Base< CORBA::ULong > IDREF;
+
+ private:
+ static SubcomponentInstantiationDescription *resolve_sid (const char *uri);
+
+ XML_Helper *xml_helper_;
+
+ };
+
+ typedef Sequence_Handler < SubcomponentInstantiationDescription,
+ ::Deployment::SubcomponentInstantiationDescriptions,
+ ::Deployment::SubcomponentInstantiationDescription,
+ SID_Handler::handle_sub_comp_inst_descr > SID_Functor;
+
+ }
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_PACKAGING_SID_HANDLER_H */
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/test.cpp b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/test.cpp
new file mode 100644
index 00000000000..cf8f9ae7aaa
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/test.cpp
@@ -0,0 +1,113 @@
+// $Id$
+
+#include <iostream>
+
+#include "Deployment.hpp"
+#include "PCD_Handler.h"
+#include "ciao/Packaging_DataC.h"
+#include "SID_Handler.h"
+#include "ace/Get_Opt.h"
+#include "Utils/XML_Helper.h"
+#include "tao/ORB.h"
+#include "Utils/Exceptions.h"
+
+static const char *input_file = "BasicSP.cdp";
+
+
+static int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "i:");
+
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'i':
+ input_file = get_opts.opt_arg ();
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-i <input file> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command-line
+ return 0;
+}
+
+// Check to see if SRD was imported.
+void check_srd (const Deployment::DeploymentPlan &);
+
+using namespace CIAO::Config_Handlers;
+
+
+int main (int argc, char *argv[])
+{
+ try
+ {
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ // Initialize an ORB so Any will work
+ CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv, "");
+ ACE_UNUSED_ARG (orb);
+
+
+ if (xercesc::DOMDocument *doc = XML_HELPER->create_dom (input_file))
+ {
+
+ ::Deployment::PackageConfiguration idl_pc;
+ {
+ // //Read in the XSC type structure from the DOMDocument
+ //PackageConfiguration pc = packageConfiguration (doc);
+ //std::cerr << "XML to XSC conversion succeeded. Converting to IDL...\n";
+
+ //Convert the XSC to an IDL datatype
+ Packaging::PCD_Handler::package_config (input_file, idl_pc);
+ std::cout << "Instance document import succeeded. Dumping contents to file\n";
+ }
+
+ // Clear SID_Handler's IDREF Table
+ Packaging::SID_Handler::IDREF.unbind_refs ();
+
+ std::cerr << "Performing IDL->XSC transformation...\n";
+
+ PackageConfiguration out_pc (Packaging::PCD_Handler::package_config (idl_pc));
+
+ //Create a new DOMDocument for writing the XSC into XML
+ xercesc::DOMDocument* the_xsc (XML_HELPER->create_dom("Deployment:packageConfiguration",
+ "http://www.omg.org/Deployment"));
+
+ //Serialize the XSC into a DOMDocument
+ packageConfiguration(out_pc, the_xsc);
+
+
+ //Write it to test.xml
+ XML_HELPER->write_DOM(the_xsc, "test.xml");
+
+ //Cleanliness is next to Godliness
+ delete doc;
+ }
+
+ std::cout << "Test completed!\n";
+ }
+ catch (CIAO::Config_Handlers::Plan_Error &excep)
+ {
+ std::cerr << "Plan Error exception caught: " << excep.reason_ << std::endl;
+ }
+ catch (CIAO::Config_Handlers::Config_Error &excep)
+ {
+ std::cerr << "Config Error " << excep.name_ << ": " << excep.error_ << std::endl;
+ }
+
+
+ return 0;
+}
+
+
diff --git a/TAO/CIAO/tools/Config_Handlers/SatisfierProperty_Handler.cpp b/TAO/CIAO/tools/Config_Handlers/SatisfierProperty_Handler.cpp
new file mode 100644
index 00000000000..31f4d937a49
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/SatisfierProperty_Handler.cpp
@@ -0,0 +1,118 @@
+//$Id$
+
+#include "SatisfierProperty_Handler.h"
+#include "Any_Handler.h"
+#include "Basic_Deployment_Data.hpp"
+#include "ciao/Deployment_DataC.h"
+#include "ciao/CIAO_common.h"
+#include "Utils/Exceptions.h"
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+
+ SatisfierProperty_Handler::SatisfierProperty_Handler (void)
+ {
+ }
+
+ SatisfierProperty_Handler::~SatisfierProperty_Handler (void)
+ {
+ }
+
+ void
+ SatisfierProperty_Handler::handle_sat_property (
+ const SatisfierProperty& desc,
+ Deployment::SatisfierProperty& toconfig)
+ {
+ CIAO_TRACE("SatisfierProperty_Handler::get_sat_property");
+
+ toconfig.name = desc.name ().c_str ();
+
+ switch (desc.kind ().integral ())
+ {
+ case SatisfierPropertyKind::Quantity_l:
+ toconfig.kind = Deployment::Quantity;
+ break;
+
+ case SatisfierPropertyKind::Capacity_l:
+ toconfig.kind = Deployment::Capacity;
+ break;
+
+ case SatisfierPropertyKind::Minimum_l:
+ toconfig.kind = Deployment::Minimum;
+ break;
+
+ case SatisfierPropertyKind::Maximum_l:
+ toconfig.kind = Deployment::Maximum;
+ break;
+
+ // case SatisfierPropertyKind::Attribute_l:
+ //toconfig.kind = Deployment::_Attribute;
+ //break;
+
+ case SatisfierPropertyKind::Selection_l:
+ toconfig.kind = Deployment::Selection;
+ break;
+
+ default:
+ ACE_ERROR ((LM_ERROR, "Unknown SatisfierPropertyKind\n"));
+ throw 1;
+
+ }
+
+ toconfig.dynamic = desc.dynamic ();
+
+ Any_Handler::extract_into_any (desc.value (),
+ toconfig.value);
+ }
+
+ SatisfierProperty
+ SatisfierProperty_Handler::get_sat_property (
+ const Deployment::SatisfierProperty& src)
+ {
+ CIAO_TRACE("SatisfierProperty_Handler::get_sat_property - reverse");
+
+ ::XMLSchema::string< ACE_TCHAR > name ((src.name));
+ SatisfierPropertyKind::Value kind;
+
+ const SatisfierPropertyKind *spk = 0;
+
+ switch (src.kind)
+ {
+ case Deployment::Quantity:
+ spk = &SatisfierPropertyKind::Quantity;
+ break;
+
+ case Deployment::Capacity:
+ spk = &SatisfierPropertyKind::Capacity;
+ break;
+
+ case Deployment::Minimum:
+ spk = &SatisfierPropertyKind::Minimum;
+ break;
+
+ case Deployment::Maximum:
+ spk = &SatisfierPropertyKind::Maximum;
+ break;
+
+ // case Deployment::_Attribute:
+ //kind = SatisfierPropertyKind::Attribute_l;
+ //break;
+
+ case Deployment::Selection:
+ kind = SatisfierPropertyKind::Selection_l;
+ break;
+
+ default:
+ throw Plan_Error ("Invalid SatisfierPropertyKind");
+ }
+
+ bool dynamic = src.dynamic;
+
+ Any value (Any_Handler::get_any (src.value));
+
+ return SatisfierProperty (name, *spk, dynamic, value);
+ }
+
+ }
+}
diff --git a/TAO/CIAO/tools/Config_Handlers/SatisfierProperty_Handler.h b/TAO/CIAO/tools/Config_Handlers/SatisfierProperty_Handler.h
new file mode 100644
index 00000000000..4ee0b804b24
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/SatisfierProperty_Handler.h
@@ -0,0 +1,71 @@
+//================================================
+/**
+ * @file SatisfierProperty_Handler.h
+ *
+ * $Id$
+ *
+ * @author Jules White <jules@dre.vanderbilt.edu>
+ */
+//================================================
+
+#ifndef CIAO_CONFIG_HANDLERS_SATIS_PROPERTY_HANDLER_H
+#define CIAO_CONFIG_HANDLERS_SATIS_PROPERTY_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "Config_Handlers_Export.h"
+#include "Utils/Functors.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace Deployment
+{
+ struct SatisfierProperty;
+ class SatisfierProperties;
+}
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ class SatisfierProperty;
+
+ /*
+ * @class SatisfierProperty_Handler
+ *
+ * @brief Handler class for <CCMComponentPortDescription> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC objects, parsed from the descriptor files, to the
+ * corresponding CORBA IDL type for the schema element.
+ *
+ */
+
+ class Config_Handlers_Export SatisfierProperty_Handler
+ {
+ public:
+ SatisfierProperty_Handler (void);
+ virtual ~SatisfierProperty_Handler (void);
+
+ typedef Sequence_Iterator< const ::Deployment::SatisfierProperties, const ::Deployment::SatisfierProperty > sat_prop_iter;
+
+ /// This method maps the values from the XSC object
+ /// <CIAO::Config_Handlers::SatisfierProperty> to the CORBA IDL type
+ /// <Deployment::SatisfierProperty>.
+ static void handle_sat_property (const SatisfierProperty& desc,
+ ::Deployment::SatisfierProperty& toconfig);
+ static SatisfierProperty get_sat_property (const ::Deployment::SatisfierProperty& src);
+ };
+
+ typedef Sequence_Handler < SatisfierProperty,
+ ::Deployment::SatisfierProperties,
+ ::Deployment::SatisfierProperty,
+ SatisfierProperty_Handler::handle_sat_property> SatisfierProperty_Functor;
+
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_CONFIG_HANDLERS_SATIS_PROPERTY_HANDLER_H*/
diff --git a/TAO/CIAO/tools/Config_Handlers/Utils/Exceptions.h b/TAO/CIAO/tools/Config_Handlers/Utils/Exceptions.h
new file mode 100644
index 00000000000..dadb7ed615d
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Utils/Exceptions.h
@@ -0,0 +1,39 @@
+// $Id$
+/**
+ * @file Exceptions.h
+ * @author William Otte <wotte@dre.vanderbilt.edu>
+ *
+ * Defines exceptions that may be thrown during the XSC<=>IDL translation process.
+ */
+#include <string>
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ struct Parse_Error
+ {
+ Parse_Error (const std::string &reason)
+ : reason_ (reason)
+ {
+ }
+
+ std::string reason_;
+ };
+
+ struct Plan_Error
+ {
+ Plan_Error (const std::string &reason)
+ : reason_ (reason)
+ {
+ }
+
+ std::string reason_;
+ };
+
+ }
+}
+
+
+
+
diff --git a/TAO/CIAO/tools/Config_Handlers/Utils/Functors.h b/TAO/CIAO/tools/Config_Handlers/Utils/Functors.h
new file mode 100644
index 00000000000..34702cd60d0
--- /dev/null
+++ b/TAO/CIAO/tools/Config_Handlers/Utils/Functors.h
@@ -0,0 +1,137 @@
+#ifndef CONFIG_HANDLERS_FUNCTORS_H
+#define CONFIG_HANDLERS_FUNCTORS_H
+
+/**
+ * @file Functors.h
+ * @author William Otte <wotte@dre.vanderbilt.edu>
+ * $Id$
+ * Functors useful in the config handlers
+ */
+#include <iterator>
+
+#include "tao/Basic_Types.h" // For CORBA::ULong
+#include "tao/StringSeqC.h"
+
+#include "XMLSchema/Types.hpp"
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ template <typename Seq_Type, typename T>
+ class Sequence_Iterator :
+ public std::iterator <std::forward_iterator_tag, //iterator type
+ T, // Type pointed to by the iterator
+ CORBA::ULong> // Distance type
+ {
+ public:
+ Sequence_Iterator (void)
+ : pos_ (0),
+ seq_ (0)
+ {
+ }
+
+ Sequence_Iterator (const Seq_Type &seq, CORBA::ULong pos = 0)
+ : pos_ (pos),
+ seq_ (&seq)
+ {
+ }
+
+ Sequence_Iterator (const Sequence_Iterator &s)
+ {
+ *this = s;
+ }
+
+ Sequence_Iterator& operator= (const Sequence_Iterator &s)
+ {
+ this->seq_ = s.seq_;
+ this->pos_ = s.pos_;
+ return *this;
+ }
+
+ bool operator== (Sequence_Iterator &s)
+ {
+ return (this->seq_ == s.seq_) && (this->pos_ == s.pos_);
+ }
+
+ bool operator!= (Sequence_Iterator &s)
+ {
+ return !(*this == s);
+ }
+
+ T& operator* (void)
+ {
+ return (*seq_)[pos_];
+ }
+
+ T& operator-> (void)
+ {
+ return *(*this);
+ }
+
+ // Prefix operator
+ Sequence_Iterator& operator++ ()
+ {
+ ++pos_;
+ return *this;
+ }
+
+ Sequence_Iterator& operator++ (int)
+ {
+ Sequence_Iterator ans (*this);
+ ++(*this);
+ return ans;
+ }
+
+ private:
+ CORBA::ULong pos_;
+ Seq_Type *seq_;
+ };
+
+ template <typename Source,
+ typename Dest,
+ typename Dest_Type,
+ void (*Func)(const Source &, Dest_Type &)>
+ struct Sequence_Handler
+ {
+ Sequence_Handler (Dest &dest, CORBA::ULong pos = 0)
+ : dest_ (dest),
+ pos_ (pos)
+ {
+ }
+
+ void operator() (const Source &src)
+ {
+ Func (src, dest_[pos_++]);
+ }
+
+ private:
+ Dest &dest_;
+ CORBA::ULong pos_;
+ };
+
+ template <typename Dest, typename Dest_Type>
+ struct String_Seq_Handler
+ {
+ String_Seq_Handler (Dest &dest, CORBA::ULong pos = 0)
+ : dest_ (dest),
+ pos_ (pos)
+ {
+ }
+
+ void operator() (const ::XMLSchema::string<ACE_TCHAR> &src)
+ {
+ dest_[pos_++] = src.c_str ();
+ }
+
+ private:
+ Dest &dest_;
+ CORBA::ULong pos_;
+ };
+
+ typedef String_Seq_Handler < ::CORBA::StringSeq,
+ ::CORBA::String_var > String_Seq_Functor;
+
+ }
+}
+
+#endif /* CONFIG_HANDLERS_FUNCTORS_H */
diff --git a/TAO/ChangeLogs/ChangeLog-06a b/TAO/ChangeLogs/ChangeLog-06a
new file mode 100644
index 00000000000..a2516038c3c
--- /dev/null
+++ b/TAO/ChangeLogs/ChangeLog-06a
@@ -0,0 +1,21005 @@
+Mon Apr 17 14:30:49 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated with J.T.'s input.
+
+Mon Apr 17 02:51:06 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Seq_Multi_ETCL_Filter.mpc:
+
+ Avoids building with ace_for_tao.
+
+Fri Apr 14 15:01:51 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * orbsvcs/tests/Notify/MT_Dispatching/MT_Dispatching.mpc:
+
+ Avoids building with ace_for_tao.
+
+Wed Apr 12 21:48:29 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated with the race condition fix.
+
+Tue Apr 11 16:26:47 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * tao/Connection_Handler.cpp:
+ * tao/Resume_Handle.h:
+ * tao/Resume_Handle.cpp:
+
+ Reapply the fix a week ago with a correction.
+ Before, I mistakenly put a new operation into a
+ wrong place. It should be in the right place now.
+ Thanks to Frank Rehberger for correcting this.
+ Mon Mar 27 18:55:51 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+Tue Apr 11 13:13:27 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tao/Utils/Servant_Var.h:
+ * tao/Utils/Servant_Var.inl:
+
+ Add ACE_LACKS_MEMBER_TEMPLATES guards around problematic equality
+ operators.
+
+Mon Apr 10 18:42:47 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/tests/Event/Mcast/Simple/Simple.mpc:
+
+ Fixed the 'after' setting in the client project.
+
+Mon Apr 10 16:21:40 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * orbsvcs/examples/ImR/Advanced/TestServer.cpp:
+
+ Trying to fix another compiler error in ICC 9.0 Windows
+ 64-bit build.
+
+Mon Apr 10 14:50:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Bug_2377_Regression/Hello.cpp:
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+ Fixed conversion warnings in vxworks build
+
+Mon Apr 10 10:13:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/IDL_Test/interface.idl:
+ Added some extra test cases which where reported by Hans Bos
+ <hans dot bos at xelion dot nl> as not working with 1.4.4 but
+ they are now working with cvs head.
+
+Mon Apr 10 06:34:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/extra_core.mpb:
+ * tao/tao.mpc:
+ Moved ServerRequestInterceptor_Adapter.cpp and
+ ClientRequestInterceptor_Adapter.cpp from extra_core to tao
+ to fix link errors in vc minimum build
+
+Fri Apr 7 19:54:44 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * tao/Connection_Handler.cpp:
+ * tao/Resume_Handle.h:
+ * tao/Resume_Handle.cpp:
+
+ Back out the changes I put a week ago since they didn't help
+ resovle a race condition.
+ Mon Mar 27 18:55:51 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+Fri Apr 7 09:12:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Log/Basic_Log_Test/Basic_Log_Test.cpp:
+ Removed include of orbsvcs/Time_Utilities.h, it is not needed and
+ caused errors in some builds because this app wasn't build after
+ the svc_utils anymore
+
+Thu Apr 6 18:18:47 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/Strategies/advanced_resource.cpp (input_cdr_buffer_allocator):
+
+ Modified this method to defer to the TAO_Default_Resource_Factory
+ for the input_cdr_buffer_allocator if the allocator type is not
+ TAO_ALLOCATOR_NULL_LOCK. In the event that the user has chosen
+ not to use the memory pool allocator, they will get the right type
+ of input cdr buffer allocator.
+
+Thu Apr 6 00:33:35 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * tao/ORB_Core.cpp:
+
+ Fixing the usage of the correct dynamic service names, for the
+ case of TAO built with support for dynamic linking. Thanks to
+ Ossama Othman <Ossama_Othman at symantec dot com> for providing
+ the patch.
+
+Wed Apr 5 22:39:28 UTC 2006 Adam Mitz <mitza@ociweb.com>
+
+ * tests/Bug_2494_Regression/Bug_2494_Regression.mpc:
+ * tests/Bug_2494_Regression/README:
+ * tests/Bug_2494_Regression/client.cpp:
+ * tests/Bug_2494_Regression/run_test.pl:
+ * tests/Bug_2494_Regression/server.cpp:
+ * tests/Bug_2494_Regression/test.idl:
+ * tests/Bug_2494_Regression/test_i.h:
+ * tests/Bug_2494_Regression/test_i.inl:
+ * tests/Bug_2494_Regression/test_i.cpp:
+
+ Added a regression test for Bugzilla bug #2494.
+
+ * tao/Transport.cpp (~Transport):
+
+ Added back the ACE_ASSERTS, needed for the regression test above.
+ See Bugzilla bug #2494.
+
+Tue Apr 4 22:03:35 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * orbsvcs/examples/ImR/Advanced/TestClient.h:
+ * orbsvcs/examples/ImR/Advanced/TestClient.cpp:
+ * orbsvcs/examples/ImR/Advanced/TestServer.cpp:
+
+ Trying to fix compile error occuring on icc 9.0 build.
+ Replaced std::cout with ACE_DEBUG, std::getline with
+ ACE_Capabilies::getline.
+
+Tue Apr 4 12:30:08 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/Server_Request_Interceptor.cpp:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/client.cpp:
+
+ Fix old gcc warnings.
+
+Tue Apr 4 09:15:16 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * NEWS:
+
+ Documented Frank's formidably fabulous forwarding fix.
+
+Tue Apr 4 08:36:45 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tests/Permanent_Forward/StubTest.cpp:
+
+ Fixed gcc 2.96 warnings.
+
+Tue Apr 4 08:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/NVList.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Loader.cpp:
+ Fixed unitialized warnings
+
+Mon Apr 3 18:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/Options.html:
+ Document that with waitstrategy RW you can't use BiDIR GIOP
+
+Mon Apr 03 18:03:29 UTC 2006 Trevor Fields <fields_t@ociweb.com>
+
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/interceptors.cpp:
+
+ Change the interceptor to not count any _is_a calls. The comparison count
+ does not include any _is_a calls. The calls can occur as a full CORBA
+ call when the system does not recognize the object is Collocated or
+ collocation is turned off.
+
+Sat Apr 1 18:56:25 UTC 2006 Jaiganesh Balasubramanian <jai.dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/LoadBalancing/README:
+
+ Added a README file explaining the features supported by the TAO
+ Load Balancing service and the future work that is targeted.
+
+Sat Apr 1 18:43:21 UTC 2006 Jaiganesh Balasubramanian <jai.dre.vanderbilt.edu>
+
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/README:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/README:
+
+ Added README files for the tests checking the application
+ controlled and infrastructure controlled group membership
+ support of the TAO Load Balancing service.
+
+Sat Apr 1 18:41:04 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * TAO_IDL/be/be_codegen.cpp:
+
+ Crash when deleting this->gperf_input_stream_ occurs on other
+ systems that use glibc (like GNU/kFreeBSD), not just on linux.
+ Thanks to Thomas Girard <thomas dot g dot girard at free dot fr>
+ for this fix.
+
+Fri Mar 31 14:30:24 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * tao/Object_Ref_Table.{h,inl} (register_initial_reference):
+ Added a new parameter called "rebind" that defaults to false.
+ If this parameter is true then rebind() will be used instead of
+ bind to make it possible to update the initial references
+ dynamically. Thanks to Bob Ronak <ronak2121 at gmail dot com>
+ for suggesting this.
+
+Fri Mar 31 17:19:13 UTC 2006 Adam Mitz <mitza@ociweb.com>
+
+ * tao/Transport.cpp:
+
+ See bugzilla bug #2494 for full details. This fixes a race condition
+ where one thread sends data out of the transport (drain_queue_helper)
+ but then gets scheduled out before reaching the flushing strategy.
+ Meanwhile another thread runs on the same transport and notices that
+ the client has closed the connection. This thread closes the
+ transport. The first thread then continues and attempts to register
+ with the reactor to do further output (schedule_output_i), however
+ the connection handler has already been removed from the reactor.
+ This causes problems later on including a memory leak, since a block
+ has been allocated on the tranpsort's queue (in send_reply_message_i)
+ and it will never be deallocated (the transport destructor will run
+ first).
+
+Fri Mar 31 15:17:51 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/IDL_Test/included.idl:
+ * tests/IDL_Test/including.idl:
+
+ Added valuetype IDL example that is declared in one file, which
+ is included in another where the valuetype is used in a sequence.
+ This example tests whether the inclusion of Value_VarOut_T.h
+ occurs soon enough in the translation unit to be seen when the
+ sequence template class is instantiated, and to make sure the
+ change in
+
+ Thu Mar 30 20:21:53 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ survives when the TAO sequence overhaul is integrated.
+
+Fri Mar 31 11:13:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/run_test.pl:
+ Check the return value of the spawn of the server and don't try
+ to also run the client on the vxworks target, the server is the
+ side of the test that runs there
+
+Fri Mar 31 11:07:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/POA/Adapter_Activator/run_test.pl:
+ * examples/POA/Default_Servant/run_test.pl:
+ * examples/POA/Explicit_Activation/run_test.pl:
+ * examples/POA/Loader/run_test.pl:
+ * examples/POA/On_Demand_Activation/run_test.pl:
+ * examples/POA/On_Demand_Loading/run_test.pl:
+ * examples/POA/Reference_Counted_Servant/run_test.pl:
+ Check the return value of the spawn of the server, if this is
+ not equal zero just exit directly. Speeds up the tests when
+ there are no executables build
+
+Fri Mar 31 11:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Wait_On_Read.cpp:
+ Use false instead of 0 for a bool
+
+Thu Mar 30 20:21:53 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/Valuetype/Sequence_T.h:
+
+ Added include of Value_VarOut_T.h, needed when compiling
+ generated code from an IDL file with a sequence whose
+ valuetype element was declared in an included IDL file, on
+ platforms where template source files are not included in
+ the corresponding header file. Thanks to Dmitriy Kuznetsov
+ <dk3@garant.ru> for sending the example IDL files that
+ uncovered the problem.
+
+Thu Mar 30 19:14:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB_Core.i:
+ Moved is_permanent_forward_condition out of TAO_HAS_INTERCEPTORS
+ check
+
+Thu Mar 30 11:46:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Exclusive_TMS.cpp:
+ Fixed incorrect formatted debug statement
+
+Thu Mar 30 11:26:45 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * TAO_IDL/tao_idl.mpc:
+
+ If variable ACE_CC_PREPROCESSOR is defined add that as a macro
+ definition on the compile line instead of assuming that the value of
+ CXX should be used. This fixes bug #2478.
+
+ See also: Thu Mar 30 11:27:00 UTC 2006 Simon McQueen <sm@prismtech.com>
+ in ../ChangeLog.
+
+Thu Mar 30 11:15:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/BiDirectional_DelayedUpcall/*:
+ New test testing bidir where the client makes an invocation to
+ the server, this directly returns, and a second later the
+ server is going to callback on the client.
+
+Thu Mar 30 11:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/BiDirectional_NestedUpcall/run_test.pl:
+ Updated for VxWorks
+
+Thu Mar 30 10:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/IIOP_Transport.cpp:
+ Fixed incorrect debug statements
+
+Thu Mar 30 10:38:31 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tests/Permanent_Forward/StubTest.cpp:
+
+ VxWorks warning - make String_var conversion explicit.
+
+Thu Mar 30 10:24:14 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tests/Permanent_Forward/StubTest.cpp:
+
+ LynxOS compile error. Use ACE_OS::strcmp.
+
+Thu Mar 30 09:58:11 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tests/Permanent_Forward/StubTest.cpp:
+
+ Suppress unused function warnings and make the test more effective
+ when ACE_NDEBUG defined.
+
+Thu Mar 30 06:46:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/ORBInitInfo.cpp (codec_factory):
+ Fixed resource leak. Thanks to Steven Xie
+ <steven dot xie at mpathix dot com> for reporting this.
+
+Thu Mar 30 03:30:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
+
+ * tao/Stub.i: add missing call to
+ orb_core->reinitialize_object (this), to optimize for colocal
+ case.
+
+ * tests/Permanent_Forward/StubTest.cpp: Removed code at end of
+ test, which caused error messages even if the test run thru all
+ test-cases successfully.
+
+Wed Mar 29 19:30:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
+
+ * tao/Transport.h:
+ Correct the documentation explaining message parsing. This is
+ related to #2313
+
+Wed Mar 29 17:15:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
+
+ * TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp:
+ TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp:
+ TAO/tao/Invocation_Adapter.cpp:
+
+ Guard reply_status() operation with if-else-endif macro for
+ MINIMUM builds.
+
+Wed Mar 29 15:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.h:
+ Explicit shouldn't be used for a copy constructor
+
+Wed Mar 29 15:24:45 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/fe/idl.yy (yyparse):
+ * TAO_IDL/fe/y.tab.cpp (yyparse):
+
+ Added return with error code immediately after outputting
+ a lookup error for an enum type, since further parsing
+ leads to a crash. Thanks to Jules Colding <colding@omesc.com>
+ for reporting the problem and submitting examples IDL files.
+
+Wed Mar 29 03:42:55 UTC 2006 Balachandran Natarajan <bala_natarajan at symantec dot com>
+
+ * docs/Options.html:
+
+ Added documentation for -ORBConnectionHandlerCleanup.
+
+Tue Mar 28 23:59:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.{h,cpp}:
+ * tao/Service_Callbacks.{h,cpp}:
+ Add operation is_permanent_forward_condition()
+
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/Server_Request_Interceptor.cpp:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/test.idl:
+ Add reset() operation to interceptor to be able to do colocal
+ and repeat as remote test. Also store forward objects as
+ deep-copies.
+
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/client.cpp:
+ Compare stringified object reference before and after the
+ LOCATION_FORWARD_PERM occured, they must differ.
+
+ * tao/GIOP_Message_Generator_Parser.cpp:
+ * tao/GIOP_Message_Base.cpp:
+ * tao/Invocation_Adapter.cpp:
+ Add handling of TAO_GIOP_LOCATION_FORWARD_PERM.
+
+ * tao/ORB_Core.{i,h,cpp}:
+ Add operation is_permanent_forward_condition() which will
+ upcalls the operation in Service_Callbacks interface.
+
+ * tao/Object.cpp:
+ Refactor the Object marshaling code into TAO_Stub::marshal()
+ operation to encapsulate the TAO_GIOP_LOCATION_FORWARD_PERM
+ case.
+
+ * tao/Stub.{i,h,cpp}:
+ Add operation TAO_Stub::marshal(), and permanent-forward-feature
+ to operation add_forward_profiles().
+
+ * tao/Synch_Invocation.cpp:
+ * tao/DynamicInterface/Request.cpp:
+ * tao/TAO_Server_Request.cpp:
+ * tao/Messaging/Asynch_Invocation_Adapter.cpp:
+ * tao/Messaging/Asynch_Reply_Dispatcher.cpp:
+ Add handling for TAO_GIOP_LOCATION_FORWARD_PERM.
+
+ * bin/tao_orb_tests.lst
+ Add TAO/tests/Permanent_Forward/run_test.pl
+
+ * tests/Permanent_Forward/Permanent_Forward.mpc:
+ * tests/Permanent_Forward/run_test.pl:
+ * tests/Permanent_Forward/StubTest.cpp:
+ * tests/Permanent_Forward/README:
+ New test, testing TAO_Stub features for permanent-forwarding support
+
+ These changes add LOCATION_FORWARD_PERM feature, #1777
+
+Tue Mar 28 14:15:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tests/AMH_Exceptions/run_test.pl:
+ * tests/AMH_Oneway/run_test.pl:
+ Adjusted the timeouts to platform constants.
+ Existing time too short for lynxos.
+
+Tue Mar 28 13:28:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/Root_POA.cpp:
+ Use bool as type, improved constness
+
+Mon Mar 27 18:55:51 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * orbsvcs/tests/Security/MT_SSLIOP/run_test_harsh.pl:
+ * tao/Connection_Handler.cpp:
+ * tao/Resume_Handle.h:
+ * tao/Resume_Handle.cpp:
+
+ Merged in fixes from OCI 1.4a.
+ Tue Feb 21 16:29:32 UTC 2006 Don Busch <busch_d@ociweb.com>
+
+ * tao/Connection_Handler.cpp
+ * tao/Resume_Handle.h
+ * tao/Resume_Handle.cpp
+ * orbsvcs/tests/Security/MT_SSLIOP/run_test_harsh.pl
+
+ RT8248(Bug 1647) is a race condition involving two threads
+ active in the same connection handler at the same time.
+ The race is fixed by
+ ensuring that a connection handler that has allowed its handle
+ to be resumed in the Reactor does not return "1" from
+ handle_input. "1" is the Reactor's "call me back immediately"
+ value. Essentially, you can't give up ownership of yourself twice
+ -- you give up owner-ship when you resume the handle, so you
+ can't ask to be called back immediately. (The SSLIOP handler
+ is the only one that ever returns 1, so that's the only handler
+ in which this manifests itself)
+
+ The additional test (run_test_harsh.pl) is a longer (~5 minute)
+ version of the MT_SSLIOP test that fails without this change,
+ but succeeds with it.
+
+ Also moved the code for Ciju's "connection close" fix of
+ "Fri Dec 16 14:40:54 2005" (this entry is moved from OCI 1.4a)
+ from the Connection_Handler.cpp to the Resume_Handle.cpp.
+ Fri Dec 16 14:40:54 2005 Ciju John <john_c@ociweb.com>
+
+ * tao/Connection_Handler.cpp:
+
+ When the client closes its connections, it sends an EOF
+ to the server. The sever reactor gets an event for that
+ handler. It first suspends the handler and then dispatches
+ a thread to handle_input().Some where down the lane, a read()
+ is done on the handle and automatically the handle is resumed.
+ At this point another thread CAN enter the reactor and
+ since the handle being closed has been resumed, the reactor
+ will add it to its fd_set. As expected the reactor gets an
+ event on that handle and dispatches someone else to handle
+ that event.
+ What this patch does is prevent the closing handler from being
+ resumed. Thus it never does get added to the reactor
+ fd_set and the possibility of getting a nil handler is removed.
+
+Mon Mar 27 10:29:08 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * tao/ORB_Core.cpp (destroy_interceptors):
+
+ Fixed race condition that allowed multiple threads to destroy
+ interceptors concurrently. Thanks to Iliyan for finding this
+ race condition.
+
+Wed Mar 22 16:18:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tests/Bug_1482_Regression/run_test.pl:
+ * tests/Bug_2174_Regression/run_test.pl:
+ * tests/RTCORBA/Banded_Connections/run_test.pl:
+ * tests/RTCORBA/Client_Protocol/run_test.pl:
+ * tests/RTCORBA/Explicit_Binding/run_test.pl:
+ * tests/RTCORBA/Policy_Combinations/run_test.pl:
+ * tests/RTCORBA/Priority_Inversion_With_Bands/run_test.pl:
+ * tests/RTCORBA/Profile_And_Endpoint_Selection/run_test.pl:
+ * tests/RTCORBA/Server_Protocol/run_test.pl:
+ * tests/RTCORBA/Thread_Pool/run_test.pl:
+ * tests/RTScheduling/DT_Spawn/run_test.pl:
+ * tests/RTScheduling/Current/run_test.pl:
+ * tests/RTScheduling/Scheduling_Interceptor/run_test.pl:
+ * tests/OBV/Collocated/Forward/run_test.pl:
+ * tests/Muxed_GIOP_Versions/run_test.pl:
+ Altered IOR file wait timing to platform constant.
+ Existing time too short for lynxos.
+
+Mon Mar 27 08:13:12 UTC 2006 Martin Corino <mcorino@remedy.nl>
+
+ * docs/Options.html :
+ * docs/ORBEndpoint.html :
+ Fixed incorrect ORBInitRef examples.
+
+Fri Mar 24 01:58:02 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Notify_Service/Notify_Service.cpp:
+ * orbsvcs/tests/Notify/lib/Driver.cpp:
+
+ Removed logging of ORB worker thread start up, as that fails on
+ systems without thread priorities. See bugzilla issue 2477 for
+ details.
+
+Wed Mar 22 16:18:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tests/Bug_1495_Regression/run_test.pl:
+ Altered IOR file wait timing to platform constant.
+
+Wed Mar 22 16:05:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Also disable a warning for BDS2006 with Update Pack 2
+
+Wed Mar 22 15:47:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2417_Regression/run_test.pl:
+ Updated to run with VxWorks
+
+Wed Mar 22 14:40:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp:
+ * tao/AnyTypeCode/Union_TypeCode.cpp:
+ Fixed no return statement in function warning
+
+Wed Mar 22 14:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/GIOP_Message_Base.cpp:
+ Fixed "control reaches end of non-void function" warning
+
+Tue Mar 21 13:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB_Table.h:
+ Removed update_orbs method declaration, there was no implementation,
+ if someone would use this method he would get an unresolved external,
+ so zapped it
+
+Tue Mar 21 13:00:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Profile.h:
+ * tao/LocalObject.h:
+ * tao/IIOP_Acceptor.h:
+ * tao/IIOP_Acceptor.h:
+ Documentation and layout fixes
+
+Mon Mar 20 13:31:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/IIOP_Acceptor.cpp:
+ Use prefix decrement instead of postfix
+
+Mon Mar 20 13:23:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/GIOP_Message_Base.cpp:
+ Made more local variables const, initialize pointer to 0
+
+ * tao/GIOP_Message_Base.h:
+ Documentation fix
+
+Mon Mar 20 13:13:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Transport.cpp:
+ Made some more local variables const
+
+Mon Mar 20 13:04:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Transport.h:
+ Documentation improvements
+
+Fri Mar 17 15:33:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/pluggable_protocols/index.html:
+ Fixed some hyperlinks to TAO source files
+
+Fri Mar 17 14:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/poa_migration.html:
+ Fixed links to the POA implementation
+
+Fri Mar 17 14:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/Smart_Proxies.html:
+ Fixed typo
+
+Thu Mar 16 22:20:46 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_interface.cpp (be_add_operation):
+ * TAO_IDL/include/ast_interface.h (be_add_operation):
+
+ Changed the return type from void to AST_Operation*,
+ the same type that is returned from the implementation's
+ delegation to the private method fe_add_operation. This
+ change allows an error in fe_add_operation (which will
+ return 0 and probably be the result of a name clash) to
+ get propagated up and be reflected in tao_idl's return
+ value.
+
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp:
+ * TAO_IDL/be/be_visitor_ami_pre_proc.cpp:
+ * TAO_IDL/be/be_visitor_ccm_pre_proc.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+
+ Changed usage of be_add_operation() to check the new
+ return type and return -1 if it is null. The IDL
+ compiler formerly would output a 'redefinition'
+ (name clash) diagnostic if a user operation name
+ clashed with an implied operation name of AMI or AMH,
+ and likewise if 2 ports of the same category in a
+ component had the same name. Now the IDL compiler
+ will also indicate failure when it exits.
+
+Thu Mar 16 20:13:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Object.cpp:
+ Use true/false instead of 1/0
+
+Thu Mar 16 12:20:41 MST 2006 Yan Dai <dai_y@ociweb.com>
+
+ * tao/CSD_ThreadPool/CSD_TP_Task.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Task.h:
+
+ Typedef'd Thread_Counter as unsigned long and used it for
+ the num_threads.
+
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.h:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.inl:
+
+ Updated data member num_threads_ and set_num_threads() method
+ to use the Thread_Counter type for the number of threads.
+
+Thu Mar 16 15:48:50 UTC 2006 jiang,shanshan <shanshan.jiang@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/field_cdr_cs.cpp
+ * TAO_IDL/util/utl_global.cpp
+ * orbsvcs/FTRT_Event_Service/Factory_Service/EventChannelFactory_i.cpp
+ * orbsvcs/ImplRepo_Service/Activator_Loader.cpp
+ * orbsvcs/ImplRepo_Service/INS_Locator.cpp
+ * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
+ * orbsvcs/ImplRepo_Service/Locator_Loader.cpp
+ * orbsvcs/Notify_Service/Notify_Service.cpp
+ * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp
+ * orbsvcs/orbsvcs/AV/RTCP_Packet.cpp
+ * orbsvcs/orbsvcs/AV/RTP.cpp
+ * orbsvcs/orbsvcs/AV/sfp.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp
+ * orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp
+ * orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp
+ * orbsvcs/orbsvcs/PortableGroup/GOA.cpp
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp
+ * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp
+ * tao/GIOP_Message_Base.cpp
+ * tao/GIOP_Message_Generator_Parser_10.cpp
+ * tao/GIOP_Message_Generator_Parser_12.cpp
+ * tao/GIOP_Message_Lite.cpp
+ * tao/IIOP_Acceptor.cpp
+ * tao/IIOP_Connection_Handler.cpp
+ * tao/ORB_Core.cpp
+ * tao/TAO_Internal.cpp
+ * tao/AnyTypeCode/Union_TypeCode.cpp
+ * tao/AnyTypeCode/append.cpp
+ * tao/AnyTypeCode/skip.cpp
+ * tao/PortableServer/POAManager.cpp
+ * tao/RTCORBA/Continuous_Priority_Mapping.cpp
+ * tao/RTCORBA/Linear_Priority_Mapping.cpp
+ * tao/RTCORBA/Multi_Priority_Mapping.cpp
+ * tao/RTCORBA/RT_ORB_Loader.cpp
+ * tao/Strategies/DIOP_Acceptor.cpp
+ * tao/Strategies/SHMIOP_Factory.cpp
+ * tao/Strategies/advanced_resource.cpp
+ * utils/catior/catior.cpp
+ Updated these files to solve the warnings when setting up "VC level
+ 4 warnings" on Windows. These warnings include "unreachable code",
+ "assignment within conditional expression", "conversion from some
+ type to another type, possible loss of data", "local variable may be
+ used without having been initialized" and so on.
+ Thanks to Lukas Gruetzmacher <gruetzmacher at ais-dresden dot de>
+ for motivating the fix to these "VC level 4 warnings".
+
+Thu Mar 16 14:10:53 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * docs/Compiler.html:
+
+ Updated '-Ge <flag>' entry in the options table to reflect
+ the current status in the ongoing migration toward dropping
+ support for emulated exceptions.
+
+Thu Mar 16 12:41:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/test.idl:
+ Fixed fuzz error
+
+Thu Mar 16 11:29:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/POA/Persistent_ID/server.cpp:
+ After creating the child poa destroy the policies
+
+Wed Mar 15 21:26:35 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Notify/Builder.cpp:
+ * orbsvcs/orbsvcs/Notify/Default_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/Event.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp:
+ * orbsvcs/orbsvcs/Notify/RT_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/AnyEvent.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/AnyEvent.h:
+ * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/PushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/PushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.h:
+
+ Add "orbsvcs/..." prefix to #includes of *.h, *.i, *.inl, and
+ template *.cpp files found in ${TAO_ROOT}/orbsvcs/orbsvcs.
+
+ These instances were missed among the the changes made on:
+ Tue Mar 14 06:02:15 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ because they used relative paths.
+
+Wed Mar 15 13:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Resume_Handle.h:
+ Documentation fix
+
+Wed Mar 15 11:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h:
+ Doxygen fix
+
+Wed Mar 15 10:52:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2186_Regression/server.conf:
+ Use 1 instead of true for -ORBConnectionHandlerCleanup, true is
+ deprecated
+
+Wed Mar 15 07:48:02 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Event_Utilities.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Factory.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h:
+ * orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Worker.h:
+ * orbsvcs/orbsvcs/Event/ECG_Adapters.h:
+ * orbsvcs/orbsvcs/Event/ECG_Address_Server_Base.h:
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.h:
+ * orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.h:
+ * orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.h:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.h:
+ * orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_EH.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.h:
+ * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h:
+ * orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Busy_Lock.h:
+ * orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.h:
+ * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h:
+ * orbsvcs/orbsvcs/Event/EC_ConsumerControl.h:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h:
+ * orbsvcs/orbsvcs/Event/EC_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h:
+ * orbsvcs/orbsvcs/Event/EC_Gateway.h:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.h:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.h:
+ * orbsvcs/orbsvcs/Event/EC_Negation_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h:
+ * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.h:
+ * orbsvcs/orbsvcs/Event/EC_QOS_Info.h:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h:
+ * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h:
+ * orbsvcs/orbsvcs/Event/EC_SupplierControl.h:
+ * orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.h:
+ * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h:
+ * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Type_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_UDP_Admin.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.h:
+ * orbsvcs/orbsvcs/Naming/Naming_Service_Container.h:
+ * orbsvcs/orbsvcs/Trader/Offer_Database.h:
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h:
+
+ Add "orbsvcs/..." prefix to #includes of *.h, *.i, *.inl, and
+ template *.cpp files found in ${TAO_ROOT}/orbsvcs/orbsvcs.
+
+ These instances were missed among the the changes made on:
+ Tue Mar 14 06:02:15 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+Tue Mar 14 08:12:55 UTC 2006 Ciju John <john_c@ociweb.com>
+
+ * tao/Connection_Handler.cpp:
+
+ When the client closes its connections, it sends an EOF to the
+ server. The sever reactor gets an event for that handler. It
+ first suspends the handler and then dispatches a thread to
+ handle_input(). Some where down the lane, a read() is done on the
+ handle and automatically the handle is resumed. At this point
+ another thread CAN enter the reactor and since the handle being
+ closed has been resumed, the reactor will add it to its
+ fd_set. As expected the reactor gets an event on that handle and
+ dispatches someone else to handle that event. What this patch
+ does is prevent the closing handler from being resumed. Thus it
+ never does get added to the reactor fd_set and the possibility
+ of getting a nil handler is removed.
+
+Tue Mar 14 15:25:48 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Domain.pidl:
+ * tao/GIOP.pidl:
+ * tao/IOP.pidl:
+ * tao/IOP_IOR.pidl:
+ * tao/Messaging_PolicyValue.pidl:
+ * tao/PI_Forward.pidl:
+ * tao/Policy.pidl:
+ * tao/PortableInterceptor.pidl:
+ * tao/Services.pidl:
+ * tao/TAO.pidl:
+ * tao/AnyTypeCode/Dynamic_Parameter.pidl:
+ * tao/BiDir_GIOP/BiDirPolicy.pidl:
+ * tao/CodecFactory/IOP_Codec.pidl:
+ * tao/CodecFactory/IOP_Codec_include.pidl:
+ * tao/DynamicAny/DynamicAny.pidl:
+ * tao/IFR_Client/IFR_Base.pidl:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate.pidl:
+ * tao/PI/ClientRequestInfo.pidl:
+ * tao/PI/ORBInitInfo.pidl:
+ * tao/PI/PICurrent.pidl:
+ * tao/PI/PolicyFactory.pidl:
+ * tao/PI/RequestInfo.pidl:
+ * tao/PI_Server/PI_Server_include.pidl:
+ * tao/PI_Server/ServerRequestInfo.pidl:
+ * tao/PI_Server/ServerRequestInterceptor.pidl:
+ * tao/PortableServer/AdapterActivator.pidl:
+ * tao/PortableServer/IdAssignmentPolicy.pidl:
+ * tao/PortableServer/IdUniquenessPolicy.pidl:
+ * tao/PortableServer/ImplicitActivationPolicy.pidl:
+ * tao/PortableServer/LifespanPolicy.pidl:
+ * tao/PortableServer/PS_Current.pidl:
+ * tao/PortableServer/PS_Forward.pidl:
+ * tao/PortableServer/PortableServer.pidl:
+ * tao/PortableServer/PortableServer_include.pidl:
+ * tao/PortableServer/RequestProcessingPolicy.pidl:
+ * tao/PortableServer/ServantActivator.pidl:
+ * tao/PortableServer/ServantLocator.pidl:
+ * tao/PortableServer/ServantRetentionPolicy.pidl:
+ * tao/PortableServer/ThreadPolicy.pidl:
+ * tao/RTCORBA/RTCORBA.pidl:
+ * tao/RTPortableServer/RTPortableServer_include.pidl:
+
+ Change #include <tao/...> to #include "tao/..." to avoid fuzz
+ warnings. At the very least, this makes everyting consistant
+ while we are investigate and decide what #include conventions
+ for <...> vs. "..." to adopt.
+
+Tue Mar 14 06:02:15 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/...*.cpp:
+ * orbsvcs/orbsvcs/...*.h:
+ * orbsvcs/orbsvcs/...*.i:
+ * orbsvcs/orbsvcs/...*.inl:
+
+ Add "orbsvcs/..." prefix to #includes of *.h, *.i, *.inl, and
+ template *.cpp files found in ${TAO_ROOT}/orbsvcs/orbsvcs.
+
+Mon Mar 13 19:51:12 UTC 2006 Johnny Willemsen <jwilemsen@remedy.nl>
+
+ * tests/Any/Recursive/client.cpp:
+ * tests/Any/Recursive/Test.idl:
+ Extended this test with a non recursive union with an enum
+ as discriminator, this also fails.
+
+Mon Mar 13 15:06:08 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/CollocationLockup/run_test.pl:
+
+ Attempted to add support for running the important portion of the
+ test on VxWorks.
+
+Mon Mar 13 10:09:21 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tests/Bug_2186_Regression/server.conf:
+
+ Add '-ORBConnectionHandlerCleanup true' to get this test to pass.
+
+Sun Mar 12 10:21:12 UTC 2006 Johnny Willemsen <jwilemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp:
+ Fixed invalid deletes when using the typed event channel and fixed
+ some unicode issues. Thanks to Feng Li <fengli at gmail dot com>
+ for providing the patches.
+
+Sat Mar 11 12:16:01 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tests/CollocationLockup/SimpleNamingService.cpp:
+
+ Fixed a warning with gcc.
+
+Fri Mar 10 20:00:45 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/Bug_2247_Regression/Manager.cpp:
+ * orbsvcs/tests/Bug_2248_Regression/client.cpp:
+
+ Removed extra "orbsvcs/" prefix when including orbsvcs
+ headers.
+
+Fri Mar 10 15:57:32 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ Committing the following on behalf of Adam Mitz
+ <mitza at ociweb dot com>.
+
+ * tests/CollocationLockup/AB.idl:
+ * tests/CollocationLockup/CollocationLockup.cpp:
+ * tests/CollocationLockup/CollocationLockup.mpc:
+ * tests/CollocationLockup/SimpleNamingService.cpp:
+ * tests/CollocationLockup/SimpleNamingService.idl:
+ * tests/CollocationLockup/run_test.pl:
+
+ Added a regression test for Bugzilla #2130, which is a deadlock
+ involving servant activation and collocated calls.
+
+Fri Mar 10 15:36:08 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp:
+
+ Fixed warning. Thanks to Johnny for the tip off.
+
+Fri Mar 10 14:00:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp:
+ Remove redundant ACE_PRINT_EXCEPTION when rethrowing
+ CANNOT_PROCEED exceptions, to clean up the scoreboard and
+ stop confusing end users who think an unhandled exception has
+ occured when it hasn't.
+
+Fri Mar 10 11:44:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Any/Recursive/Test.idl:
+ * tests/Any/Recursive/client.cpp:
+ Also added a test for a recursive union with no default
+
+Fri Mar 10 10:44:29 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * orbsvcs/tests/Bug_2377_Regression/Hello.cpp:
+
+ std::string ==> ACE_CString.
+
+Fri Mar 10 10:12:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Transport_Descriptor_Interface.inl:
+ * tao/AnyTypeCode/skip.cpp:
+ Use true/false
+
+Fri Mar 10 09:27:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Stub.cpp:
+ Fixed warning in vc6 build
+
+Fri Mar 10 08:17:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Any/Recursive/client.cpp:
+ * tests/Any/Recursive/Test.idl:
+ Extended this test with a new test case as described in bug
+ 2446. This test now fails again because this added test case
+ uncovers a new bug. Thanks to Tommy Persson
+ <tpe at ida dot liu dot se> for delivering this test case
+
+Fri Mar 10 07:09:22 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/...*.cpp:
+ * tao/...*.h:
+ * tao/...*.i:
+ * tao/...*.inl:
+
+ Add "tao/..." prefix to #includes of *.h, *.i, *.inl, and
+ template *.cpp files found in ${TAO_ROOT}/tao.
+
+Thu Mar 9 16:04:22 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * TAO_IDL/be/be_visitor_ami_pre_proc.cpp:
+
+ Don't bail out on code generation when the node is imported.
+
+ This fixes bug #2429.
+
+ * orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp:
+
+ Prevent seg faults when the activator has been fed a duff ImR IOR.
+
+ This fixes bug #2445.
+
+Thu Mar 9 15:37:05 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/AnyTypeCode/Dynamic.pidl:
+ * tao/AnyTypeCode/Dynamic_Parameter.pidl:
+ * tao/BiDir_GIOP/BiDirPolicy.pidl:
+ * tao/CodecFactory/IOP_Codec.pidl:
+ * tao/DynamicAny/DynamicAny.pidl:
+ * tao/IFR_Client/IFR_Base.pidl:
+ * tao/IFR_Client/IFR_Basic.pidl:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate.pidl:
+ * tao/PI/ClientRequestInfo.pidl:
+ * tao/PI/ORBInitInfo.pidl:
+ * tao/PI/PICurrent.pidl:
+ * tao/PI/PolicyFactory.pidl:
+ * tao/PI/RequestInfo.pidl:
+ * tao/PI_Server/ServerRequestInfo.pidl:
+ * tao/PI_Server/ServerRequestInterceptor.pidl:
+ * tao/PortableServer/IdAssignmentPolicy.pidl:
+ * tao/PortableServer/IdUniquenessPolicy.pidl:
+ * tao/PortableServer/ImplicitActivationPolicy.pidl:
+ * tao/PortableServer/LifespanPolicy.pidl:
+ * tao/PortableServer/PS_Current.pidl:
+ * tao/PortableServer/PS_Forward.pidl:
+ * tao/PortableServer/PortableServer.pidl:
+ * tao/PortableServer/RequestProcessingPolicy.pidl:
+ * tao/PortableServer/ServantLocator.pidl:
+ * tao/PortableServer/ServantRetentionPolicy.pidl:
+ * tao/PortableServer/ThreadPolicy.pidl:
+ * tao/RTCORBA/RTCORBA.pidl:
+ * tao/RTScheduling/RTScheduler_include.pidl:
+
+ Add "tao/" prefix to #includes of *.pidl files found in
+ ${TAO_ROOT}/tao.
+
+Thu Mar 9 09:18:58 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu>
+
+ * COPYING: Updated the date to include 2006.
+ Thanks to Alan Kierstead <ackierstead at fedex dot com> for
+ motivating the fix to this oversight.
+
+Thu Mar 9 15:03:02 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/CSIIOP.idl:
+ * tao/Domain.pidl:
+ * tao/GIOP.pidl:
+ * tao/IOP.pidl:
+ * tao/IOP_IOR.pidl:
+ * tao/Messaging_PolicyValue.pidl:
+ * tao/PI_Forward.pidl:
+ * tao/Policy.pidl:
+ * tao/PortableInterceptor.pidl:
+ * tao/Services.pidl:
+ * tao/TAO.pidl:
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/test.idl:
+
+ Add "tao/" prefix to #includes of *.pidl files found in
+ ${TAO_ROOT}/tao. Thanks to Thomas Lockhart <Thomas dot
+ Lockhart at jpl dot nasa dot gov> for providing this change.
+
+Thu Mar 9 14:51:32 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/CosConcurrency.mpc:
+ * orbsvcs/orbsvcs/CosEvent.mpc:
+ * orbsvcs/orbsvcs/CosNaming.mpc:
+ * orbsvcs/orbsvcs/CosNaming_Skel.mpc:
+ * orbsvcs/orbsvcs/CosNotification.mpc:
+ * orbsvcs/orbsvcs/CosProperty.mpc:
+ * orbsvcs/orbsvcs/CosTrading.mpc:
+ * orbsvcs/orbsvcs/DsEventLogAdmin.mpc:
+ * orbsvcs/orbsvcs/DsLogAdmin.mpc:
+ * orbsvcs/orbsvcs/DsNotifyLogAdmin.mpc:
+ * orbsvcs/orbsvcs/PortableGroup.mpc:
+ * orbsvcs/orbsvcs/RTEventLogAdmin.mpc:
+ * orbsvcs/orbsvcs/RTEvent_Skel.mpc:
+
+ Support for the TAO_ORBSVCS GNU Make macro was broken for some
+ time. I added the missing 'tagchecks' settings to these projects.
+
+ * orbsvcs/orbsvcs/FtRtEvent.mpc:
+
+ Corrected the usage of 'tagchecks' so that the values were added
+ instead of being set absolutely.
+
+Thu Mar 9 12:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Stub.{cpp,i}:
+ Use true/false instead of 1/0
+
+Thu Mar 9 10:57:13 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * orbsvcs/tests/Bug_2377_Regression/Hello.cpp:
+
+ Removed extra semi-colons.
+
+Wed Mar 8 17:01:00 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * orbsvcs/tests/Bug_2377_Regression/Hello.cpp:
+
+ Following a suggestion from Simon McQueen, <sm@prismtech.com>,
+ used a more portable method of invoking sub-second resolution
+ timing intervals.
+
+Wed Mar 8 14:58:07 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * TAO_IDL/driver/drv_preproc.cpp:
+
+ Use a dynamically allocated buffer to read IDL file lines and resize
+ it if required.
+
+ This fixes bug #2424.
+
+ * tests/Bug_2424_Regression/Bug_2424_Regression.mpc:
+ * tests/Bug_2424_Regression/OneLineCosNaming.idl:
+ * tests/Bug_2424_Regression/README:
+ * tests/Bug_2424_Regression/client.cpp:
+
+ Regression test for the above fix.
+
+ * tests/Bug_2429_Regression/Bug_2429_Regression.mpc:
+ * tests/Bug_2429_Regression/Child.idl:
+ * tests/Bug_2429_Regression/ChildServant.h:
+ * tests/Bug_2429_Regression/ChildServant.cpp:
+ * tests/Bug_2429_Regression/Parent.idl:
+ * tests/Bug_2429_Regression/README:
+ * tests/Bug_2429_Regression/client.cpp:
+ * tests/Bug_2429_Regression/run_test.pl:
+ * tests/Bug_2429_Regression/server.cpp:
+
+ Regression test for bug #2429. This bug is currently not fixed so
+ this test will fail.
+
+Wed Mar 8 13:05:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/IFR_Client/IFR_Client_Adapter_Impl.cpp:
+ Include IFR_BasicC.h instead of IFR_ExtendedC.h, all types
+ used in this file are from IFR_BasicC.h
+
+Wed Mar 8 12:31:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp:
+ The workaround in this file for Borland C++ is also needed for
+ BCB2006 Update Pack 2
+
+Wed Mar 8 12:11:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Object.cpp:
+ Use true/false instead of 1/0
+
+Wed Mar 8 12:19:37 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * tests/Bug_2377_Regression/*:
+ removed from TAO level to the more appropriate orbsvcs
+
+ * orbsvcs/tests/Bug_2377_Regression/*:
+ Regression for bug 2377 moved here.
+
+Wed Mar 8 11:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/LocalObject.cpp:
+ Use true/false instead of 1/0
+
+Wed Mar 8 07:14:30 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am:
+
+ Regenerated.
+
+Tue Mar 7 16:21:32 UTC 2006 Adam Mitz <mitza@ociweb.com>
+
+ * orbsvcs/Naming_Service/Makefile.am:
+ * orbsvcs/Naming_Service/Naming_Server.cpp:
+ * orbsvcs/Naming_Service/Naming_Service.mpc:
+ The Naming Server executable now includes the header for the
+ ImR client library. This is required for tests in static
+ builds that use the Naming Server with the ImR.
+
+Tue Mar 07 11:11:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2417_Regression/publisher_impl.cpp:
+ Fixed implicit conversion warnings
+
+Tue Mar 7 10:16:50 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * tests/Bug_2377_Regression/*:
+ New regression for bug 2377.
+
+Tue Mar 07 09:36:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2417_Regression/Bug_2417_Regression.mpc:
+ Added threads as base project
+
+Tue Mar 7 07:51:52 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/LifeCycle_Service/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/LifeCycle_Service/LifeCycle_Service.mpc:
+
+ Changed to not inherit from 'core' so LifeCycle_Service
+ executable is not installed. It's not a stand-alone service
+ like the others in ${TAO_ROOT}/orbsvcs, it is an example for use
+ with ${TAO_ROOT}/examples/Quoter. After x.5.1 we'll try to find
+ a better place for this. See bugzilla issue 2410.
+
+Tue Mar 7 07:40:37 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/AMI/FL_Callback/Makefile.am:
+ * tao/Makefile.am:
+
+ Regenerated for autoconf FL & QT Reactor / FL & QT Resource
+ Factory support.
+
+Mon Mar 06 20:08:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Transport.h:
+ Doxygen improvement
+
+Mon Mar 06 19:19:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Incoming_Message_Queue.cpp:
+ Doxygen improvements
+
+Mon Mar 06 16:00:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.cpp:
+ Use prefix increment instead of postfix
+
+Mon Mar 06 15:57:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Invocation_Adapter.cpp:
+ Removed a not needed local variable.
+
+ * tao/IIOP_Transport.cpp:
+ Initialise pointer with 0
+
+Mon Mar 06 15:56:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OBV/Factory/OBV_Factory.mpc:
+ * tests/OBV/Forward/OBV_Forward.mpc:
+ * tests/OBV/TC_Alignment/OBV_TC_Alignment.mpc:
+ * tests/OBV/ValueBox/valuebox.mpc:
+ Use more specific base projects
+
+ * tests/OBV/Supports/Supports_Test.mpc:
+ Removed exename, not needed
+
+Mon Mar 06 15:32:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Any/Recursive/client.cpp:
+ * tests/Any/Recursive/Test.idl:
+ Extended this test by making the IDL even a little bit more complex
+
+ * TAO_IDL/fe/fe_interface_header.cpp:
+ Explicitly initialize pd_n_supports to 0, fixes a crash of TAO_IDL
+ when build with Borland C++ when feeding it a certain incorrect
+ IDL file. This fixes bugzilla bug 2428
+
+ * tao/AnyTypeCode/Any.cpp:
+ * tao/AnyTypeCode/Any_Array_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_Basic_Impl.cpp:
+ * tao/AnyTypeCode/Any_Basic_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_Dual_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_Special_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_SystemException.cpp:
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp:
+ * tao/AnyTypeCode/Empty_Param_TypeCode.cpp:
+ * tao/AnyTypeCode/Enum_TypeCode.cpp:
+ * tao/AnyTypeCode/Enum_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/ExceptionA.cpp:
+ * tao/AnyTypeCode/TypeCode.cpp:
+ * tao/AnyTypeCode/TypeCode_Case_T.cpp:
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.cpp:
+ * tao/AnyTypeCode/Union_TypeCode.cpp:
+ * tao/AnyTypeCode/Union_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/Value_TypeCode.cpp:
+ * tao/AnyTypeCode/Value_TypeCode_Static.cpp:
+ Initialise some pointers with 0, made some local variables const,
+ use true/false instead of 1/0. Fixed bugzilla bug 2323 by:
+ - When marshaling recursive unions for each case use a seperate
+ stream so that the offsets do get calculated
+ - For each recursive type be able to handle multiple members of
+ the recursive type, we could only handle one occurence.
+ For recursive types we should have more test cases, probably there
+ are a few small bugs left in this code but these aren't catched
+ by the current regression test suite.
+
+Mon Mar 06 15:13:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2417_Regression/*:
+ New regression for bug 2417. Thanks to Jan Ohlenburg
+ <jan dot ohlenburg at fit dot fraunhofer dot de> for
+ delivering this test. This bug has not been fixed yet.
+
+Sun Mar 05 11:13:13 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * TAO version 1.5 released.
+
+Fri Mar 3 17:09:34 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated this file.
+
+Thu Mar 2 14:53:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Trader/Trader.h:
+ * tao/Incoming_Message_Stack.h:
+ For Borland C++ we have workarounds in these files, seems these
+ are also needed for BDS2006 with Update Pack 2
+
+Thu Mar 2 01:56:58 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated this file with more inputs.
+
+Wed Mar 1 22:39:37 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated this file with info from Jeff Parsons
+
+Wed Mar 1 15:09:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB_Core.cpp (shutdown):
+ After releasing pi_current_ set it to nil because this release could
+ result in the destruction of picurrent and then we read invalid
+ memory. Found from the AdvSlot test running with valgrind.
+
+Wed Mar 1 07:29:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/RTScheduling/Fixed_Priority_Scheduler/Fixed_Priority_Scheduler.mpc:
+ * examples/RTScheduling/MIF_Scheduler/MIF_Scheduler.mpc:
+ Added after to fix parallel build problems with vc8
+
+Tue Feb 28 12:25:24 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * NEWS:
+
+ Updated.
+
+Tue Feb 28 11:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Incoming_Message_Stack.inl (destructor):
+ Initialise pointer with 0
+
+Tue Feb 28 10:51:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Incoming_Message_Queue.cpp (destructor):
+ Use the correct datatype for the cleanup loop.
+
+Tue Feb 28 10:09:45 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * TAO_IDL/be/be_argument.cpp:
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/include/idl_global.h:
+ * TAO_IDL/util/utl_global.cpp:
+
+ Redo the fix for bug #2419 from:
+ Mon Feb 27 16:23:50 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ Introduce a new flag to idl_global to indicate when we need to
+ force generation of the skeleton includes. Setting
+ non_local_iface_seen_ to be true was causing undesirable side effects
+ on non-inlined builds. Generate skeleton includes when the new
+ need_skeleton_includes_ or non_local_iface_seen_ is true.
+
+Tue Feb 28 08:04:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Incoming_Message_Stack.h:
+ Also BCB2006 Update Pack 1 needs an explicit export
+
+Mon Feb 27 18:19:03 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tests/Bug_2084_Regression/Server_Task.cpp:
+
+ Suppress occasional spurious exception output on fast machines.
+
+Mon Feb 27 18:42:38 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp:
+
+ Reverted my change on
+ Thu Feb 23 15:10:18 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+ Because it made the two tests IOGRManipulation and 2247 failed.
+ I will supply a better fix in x.5.1 after more thorough testing.
+
+Mon Feb 27 17:08:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
+
+ * tao/Transport.cpp:
+ Incomplete messages, smaller Header-Length, shall be put
+ into intermediate buffer
+
+Mon Feb 27 16:23:50 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * TAO_IDL/be/be_argument.cpp:
+
+ Don't not generate skeleton includes for arguments from inherited
+ imported abtstract types.
+
+ This fixes bug #2419 howewer the ticket needs to stay open pending
+ a fix that can be described without ugly double negatives. ;-)
+
+ * tests/Bug_2419_Regression/Bug_2419_Regression.mpc:
+ * tests/Bug_2419_Regression/README:
+ * tests/Bug_2419_Regression/abstract_parent.idl:
+ * tests/Bug_2419_Regression/client.cpp:
+ * tests/Bug_2419_Regression/local_child.idl:
+
+ Small regression test for the above.
+
+Mon Feb 27 15:27:42 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log_i.cpp (TAO_Log_i::set_capacity_alarm_thresholds):
+
+ Call get_capacity_alarm_thresholds() on the record store instead
+ of on "this" to avoid recursive lock invocation.
+
+Mon Feb 27 10:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/PolicyFactory/run_test.pl:
+ * tests/Portable_Interceptors/Register_Initial_References/run_test.pl:
+ Increased timeouts to get these test running fine with VxWorks,
+ the time there includes also loading the image which takes a
+ few seconds
+
+Sun Feb 26 12:26:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/AMI/AMI.mpc:
+ Added after to fix problems in vc8 ide build
+
+Sun Feb 26 11:57:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Incoming_Message_Stack.h:
+ Only export this class with BCB6, all other compilers don't have
+ problems with this.
+
+ * tests/Bug_2174_Regression/run_test.pl:
+ * tests/Bug_2183_Regression/run_test.pl:
+ * tests/Bug_2289_Regression/run_test.pl:
+ * tests/Smart_Proxies/dtor/run_test.pl:
+ Updated to work under VxWorks
+
+Sat Feb 25 14:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Incoming_Message_Stack.h:
+ Export this class, fixes unresolved external errors with BCB6
+
+Sat Feb 25 12:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/CodeSets/simple/CodeSets_simple.mpc:
+ Added after to fix parallel build problems with vc8
+
+Sat Feb 25 03:00:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
+
+ * tao/Incoming_Message_Stack.{h,cpp,inl}: remove unused operation
+ from interface and turn return type of push-operation to "void"
+ * tao/Transport.cpp:
+ tao/GIOP_Message_Base.cpp:
+ Adapt to interface of Incoming_Message_Stack and limit
+ number of ACE_ERROR message to usefull amount to reduce
+ footprint size.
+
+Fri Feb 24 19:11:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Param_Test/run_test.pl:
+ Check what spawn returned, when there is no exe this speedsup
+ this test a lot
+
+Fri Feb 24 14:06:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2289_Regression/run_test.pl:
+ Fixed error message to say correct test number
+
+Fri Feb 24 13:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2234_Regression/run_test.pl:
+ * tests/AMH_Oneway/run_test.pl:
+ * tests/Smart_Proxies/dtor/run_test.pl:
+ * tests/Bug_2183_Regression/run_test.pl:
+ Updated these scripts to work with VxWorks and when we can't
+ spawn the server directly exists, safes us some seconds in
+ the test run when nothing has been build
+
+Fri Feb 24 11:29:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2349_Regression/Bug_2349_Regression.mpc:
+ Added after to fix build problems with the vc8 ide
+
+Fri Feb 24 10:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Sequence_Latency/DII/client.cpp:
+ Added static casts to fix compile errors with SunCC 64bit
+
+Fri Feb 24 09:44:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/IDL_Test/interface.idl:
+ Added try interface as testcase
+
+Fri Feb 24 09:43:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Basic_Arguments.h:
+ Use for the basic types the AnyTypeCode adapter, belonging to
+ Tue Feb 21 19:17:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+Fri Feb 24 07:26:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/RTScheduling/RTScheduler_includeS.h:
+ Added this file, needed by the RTScheduling example
+
+Thu Feb 23 21:45:54 UTC 2006 Adam Mitz <mitza@ociweb.com>
+
+ * orbsvcs/tests/ImplRepo/run_test.pl:
+ The test "nt_service_ir" copies files, installs services, and starts
+ those services (Windows "NT" Services). With this change the test
+ will clean up all of these actions even when the test fails.
+
+Thu Feb 23 20:01:29 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am:
+
+ Regenerated for autoconf TK Reactor / TK Resource Factory
+ support.
+
+Thu Feb 23 18:41:18 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * tao/Utils/Servant_Var.inl (operator=):
+ * tao/Valuetype/Value_VarOut_T.cpp (operator=):
+
+ Fixed problem where non-copying assignment prematurely decreased
+ reference count on contained object by adding a check for
+ self-assignment. The canonical copy-and-swap idiom was used to
+ provide a strong exception safety guarantee. It doesn't require
+ a self-assignment check for copying assignment but it may be
+ needed for non-copying assignment. Addresses memory access
+ violations.
+
+Thu Feb 23 17:14:25 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tao/GIOP_Message_Lite.cpp:
+ * tao/Strategies/SHMIOP_Transport.cpp:
+
+ Fixed unused argument warning.
+
+Thu Feb 23 16:45:36 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tests/Bug_2186_Regression/Bug_2186_Regression.mpc:
+ * tests/Bug_2186_Regression/Hello.h:
+ * tests/Bug_2186_Regression/Hello.cpp:
+ * tests/Bug_2186_Regression/README:
+ * tests/Bug_2186_Regression/Test.idl:
+ * tests/Bug_2186_Regression/client.cpp:
+ * tests/Bug_2186_Regression/run_test.pl:
+ * tests/Bug_2186_Regression/server.conf:
+ * tests/Bug_2186_Regression/server.cpp:
+
+ Added a regression test for this bug. This will fail until it is
+ fixed.
+
+Thu Feb 23 15:45:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tao/PI/PICurrent_Impl.cpp:
+
+ Updated/TAOized debug text at line 57.
+
+Thu Feb 23 15:10:18 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp:
+
+ Added A helper function that tests the equivalency of two
+ profiles that come from an ior and an iogr.
+
+Thu Feb 23 10:55:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tests/Portable_Interceptors/AdvSlotDblCpy/README:
+
+ Updated README to show example test run.
+
+Wed Feb 22 23:42:40 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am:
+
+ Regenerate for new files.
+
+Wed Feb 22 20:54:02 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/LogNotification.cpp:
+
+ _duplicate() log reference before assigning it to event's logref
+ field to get life cycle/reference count management right. Fixes
+ bugzilla issue #2416.
+
+Wed Feb 22 20:37:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
+
+ * tao/PluggableMessaging.h: Remove abstract operation:
+ read_message, missing_data, get_message_data. Add abstract
+ operation parse_next_message (), consolidate_fragmented_message,
+ discard_fragmented_message.
+
+ * tao/GIOPMessageBase.{h,cpp}: Remove implementation for
+ read_message. Add parse_incoming_messages. Add implementation for
+ new abstract methods consolidate_fragmented_message,
+ parse_next_message, discard_fragmented_message. Declare as private
+ parse_incoming_messages, parse_request_id. Add new member
+ attribute fragment_stack_ of type Incoming_Message_Stack. Handle
+ TAO_GIOP_MESSAGE_ERROR not as error. For incomplete messages of
+ unknown size, allocating message_blocks of size
+ ACE_CDR::DEFAULT_BUFSIZE. Handle memory allocation failures in
+ code. Wrap output-strings with ACE_TEXT macro.
+
+ * tao/GIOP_Message_Lite.{h,cpp}: Remove implementation of
+ read_message and get_message_data. Handle
+ GIOP_MESSAGE_CANCELREQUEST. IMplement new virtual method
+ parse_next_message, Handle out-of-memory cases. Dummy
+ implementations for consolidate_fragmented_message and
+ discard_fragmented_message.
+
+ * tao/Incoming_Message_Stack.{h,cpp}: New class providing stack
+ operations for TAO_Queued_Data, operations do not require dynamic
+ memory allocation.
+
+ * tao/Incoming_Message_Queue.{h,cpp,inl}: remove obsolet
+ operations for interface TAO_Incoming_Message_Queue: copy_tail,
+ is_tail_complete, is_head_complete, is_tail_fragmented,
+ missing_data_tail, find_fragment_chain. Change return type to
+ "int" for operation consolidate, return value -1 indicating out of
+ memory cases.
+
+ * tao/Transport.{h,cpp}: Major changes: New implementation of
+ operation handle_input() fixing following, errors with GIOP
+ fragment handling that showed up testing with Java_Big_Request
+ test (w/ jre1.4), handling of messages bigger than 2Go, concurrent
+ processing of short messages using single-read-optimization, keep
+ connection in case of GIOP CancelRequests, compensate memory
+ buffer alignment. Remote methods from interface
+ parse_consolidate_messages, parse_incoming_messages, missing_data,
+ consolidate_message, consolidate_fragments,
+ consolidate_message_queue, consolidate_extra_messages,
+ make_queued_data. Add methods handle_input_missing_data,
+ handle_input_parse_data. Add instance member
+ "incoming_message_stack_" of type Incomig_Message_Stack. Minor
+ changes: Wrap output strings with ACE_TEXT macro, remove
+ ACE_ASSERT statements.
+
+ * tao/Strategies/DIOP_Transport.cpp: Compensate memory buffer
+ alignment.
+
+ * tao/Strategies/SHMIOP_Transport.{h,cpp}: Compensate memory
+ buffer alignment. Adapt to new interface of
+ PluggableMessaging. Add specialized implemenation of
+ PLuggable_Messaging::handle_input()
+
+ * tao/tao.mpc: Add dependency to tao/IncomingMessageStack.{h,cpp}
+
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Tranport.cpp: Adapt to new
+ interface of PluggableMessaging.
+
+ These changes require to recompile and modify custom Messaging
+ implementations. This patch fixes #2303, 2305, 2306, 2307, 2308,
+ 2309, 2313, 2361, 2365
+
+Wed Feb 22 16:55:24 GMT 2006 Rich Seibel <seibel_r@ociweb.com>
+
+ * examples/RTScheduling/MIF_Scheduler/svc.conf.client:
+ * examples/RTScheduling/MIF_Scheduler/svc.conf.server:
+ Changed priority policy from direct to continuous.
+ The direct does not work on AIX 5.3, but continuous
+ seems to work everywhere.
+
+Wed Feb 22 16:45:29 GMT 2006 Rich Seibel <seibel_r@ociweb.com>
+
+ * tao/Array_VarOut_T.inl:
+ Removed a nasty cast that shouldn't be necessary.
+ Only broken builds, like MSVC6 should require the
+ reinterpret_cast<>, otherwise builds should need
+ no cast. Thus, only the broken compilers should
+ be singled out. Thanks to the XL 7 compiler on
+ AIX for pointing this out.
+
+Wed Feb 22 15:56:49 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ Reverting a change, added with the commits from
+ Fri Feb 10 20:40:31 UTC 2006 and Thu Feb 9 19:59:41 UTC
+ 2006. The original intent was to ensure that unsecured clients
+ can not make invocations on servants, explicitly marked as
+ secure. The problem is in that a client-side-only policy
+ (Security::SecQoP*) was used, which is not permitted by the
+ CORBA specification. An alternative solution, based upon
+ SecurityLevel2 SecureInvocationPolicy or SecurityLevel3
+ ObjectCredentialsPolicy should be sought. Thanks
+ to Ossama Othman <Ossama_Othman at symantec dot com> for
+ pointing that out and discussing the alternatives.
+
+ * NEWS:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp:
+ * orbsvcs/tests/Security/Policies/Foo.idl:
+ * orbsvcs/tests/Security/Policies/Foo_i.h:
+ * orbsvcs/tests/Security/Policies/Foo_i.cpp:
+ * orbsvcs/tests/Security/Policies/Policies.mpc:
+ * orbsvcs/tests/Security/Policies/README:
+ * orbsvcs/tests/Security/Policies/cacert.pem:
+ * orbsvcs/tests/Security/Policies/client.conf:
+ * orbsvcs/tests/Security/Policies/client.conf.xml:
+ * orbsvcs/tests/Security/Policies/client.cpp:
+ * orbsvcs/tests/Security/Policies/client_cert.pem:
+ * orbsvcs/tests/Security/Policies/client_key.pem:
+ * orbsvcs/tests/Security/Policies/client_nopasswd.conf:
+ * orbsvcs/tests/Security/Policies/client_nopasswd.conf.xml:
+ * orbsvcs/tests/Security/Policies/run_test.pl:
+ * orbsvcs/tests/Security/Policies/server.conf:
+ * orbsvcs/tests/Security/Policies/server.conf.xml:
+ * orbsvcs/tests/Security/Policies/server.cpp:
+ * orbsvcs/tests/Security/Policies/server_cert.pem:
+ * orbsvcs/tests/Security/Policies/server_key.pem:
+ * orbsvcs/tests/Security/Policies/server_key_nopasswd.pem:
+
+ Removed these files.
+
+Wed Feb 22 12:15:30 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tests/Bug_2134_Regression/Hello.cpp:
+
+ Fix error on FC4_ACE_FOR_TAO build. Spurious ';'s in the code.
+
+Wed Feb 22 11:30:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tao/PI/PICurrent_Copy_Callback.cpp:
+ * tao/PI/PICurrent_Impl.cpp:
+ * tao/PI/PICurrent_Impl.h:
+ * tao/PI/PICurrent_Impl.inl:
+ * tao/PI_Server/PICurrent_Guard.cpp:
+
+ Bugzilla bugfix #2304, also fixes #2066
+
+Wed Feb 22 09:55:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tests/Portable_Interceptors/AdvSlotDblCpy/client.cpp:
+ * tests/Portable_Interceptors/AdvSlotDblCpy/server.cpp:
+
+ Updated regression test for set_slot in send_reply
+ bugzilla bug #2304.
+
+Wed Feb 22 04:45:00 UTC 2006 Frank Rehberger <frehberger@prismtech.com>
+
+ * tao/ORB_Core.cpp:
+ Fixing TAO_ORB_Core_Auto_Ptr assignment
+
+ * tao/ORB_Table.{h,inl}:
+ Fixing namespace-ing for TAO_ORB_Core.
+
+ * tao/Stub.i:
+ Fixing TAO_ORB_Core declaration
+
+ Together all these changes are related to previous commit for
+ bugzilla bugs #1741 / #2134; #2289; #1493; #2130.
+
+Tue Feb 21 19:17:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.{h,cpp}:
+ * tao/AnyTypeCode_Adapter.h:
+ Added insert_into_any methods for all basic types. Thanks to
+ Nemoy Michael <michaeln at sintecmedia dot com> for providing
+ the patches. This also fixes bugzilla bugs 2371, 2367, and 2422
+
+Tue Feb 21 17:48:24 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tao/Adapter.h:
+
+ Remove the CORBA::Object_ptr argument from
+ ::initialize_collocated_object on TAO_Adapter. We need to call this
+ method in circumstances when a CORBA::Object is not available.
+
+ * tao/Adapter_Registry.h:
+ * tao/Adapter_Registry.cpp:
+
+ Reflect the above change. Also ::initialize_collocated_object must
+ now only return 0 for success if the stub it is working on has been
+ fully initialized. The registry reflects this by continuing to try
+ adapters until one returns 0.
+
+ Similarly ::create_collocated_object now will potentially call the
+ above method on all remaining adapters if, after an adapter has
+ created an Object, the Object has not been fully initialized.
+
+ * tao/IORTable/Table_Adapter.h:
+ * tao/IORTable/Table_Adapter.cpp:
+
+ Create a common method ::find_object which attempts to locate an
+ object in in the table. Implement ::dispatch in terms of this method.
+
+ Implement ::initialize_collocated_object to search the table using
+ the above mentioned ::find_object method and, if one is found, to
+ forward the stub it is initializing to this object ref. Reflect the
+ change in API for ::initialize_collocated_object.
+
+ Add an implementation of ::create_collocated_object in terms of
+ ::initialize_collocated_object.
+
+ * tao/ORB_Core.h:
+ * tao/ORB_Core.cpp:
+ * tao/ORB_Table.h:
+
+ Include the locking changes proposed by Robert Hancock (Robert dot
+ Hancock at sedsystems dot ca) on bug #2130 with a couple of small
+ mods. Thanks to Robert Hancock for providing these.
+
+ Add a new method ::reinitialize_object to be called on stubs whenever
+ an object has been forwarded or has fallen back from a forwarded
+ location. This method determines if the stub has become (or ceased to
+ be) collocated and performs the necessary actions to set the
+ collocation relevent attributes on the stub.
+
+ * tao/Object.h:
+ * tao/Object.i:
+ * tao/Object.cpp:
+
+ Remove the members TAO::Object_Proxy_Broker *proxy_broker_,
+ TAO_Abstract_ServantBase *servant_ and
+ CORBA::Boolean is_collocated_ from this class. These are now held on
+ the stub. Change all access to these values to delegate to the stub.
+
+ * tao/PortableServer/Collocated_Object_Proxy_Broker.cpp:
+
+ Remove the CORBA::Object_ptr argument from the function
+ _TAO_collocation_Object_Proxy_Broker_Factory. It was unused and we
+ need to use this when we don't have an Object.
+
+ * tao/PortableServer/Object_Adapter.h:
+ * tao/PortableServer/Object_Adapter.cpp:
+
+ Reflect the change in API for ::initialize_collocated_object. Make
+ that method and ::create_collocated_object use the new accessors
+ for collocation attributes on the stub rather than the CORBA::Object.
+ Make ::initialize_object only return 0 for success if it has fully
+ completed the intialisation of an object. i.e. it managed to locate
+ a collocated servant for the stub.
+
+ * tao/Stub.h:
+ * tao/Stub.i:
+ * tao/Stub.cpp:
+
+ Add the collocated servant, collocated indicator, and object proxy
+ broker members from CORBA::Object to this class with appropriate
+ accessors.
+
+ Insert calls to ::reinitialize_object on the stubs ORB core at points
+ where the stub may have moved to / from being collocated.
+
+ Together all these changes fix bugzilla bugs #1741 / #2134; #2289;
+ #1495; #2130.
+
+ * tests/Bug_2134_Regression/Bug_2134_Regression.mpc:
+ * tests/Bug_2134_Regression/Hello.idl:
+ * tests/Bug_2134_Regression/Hello.cpp:
+ * tests/Bug_2134_Regression/README:
+ * tests/Bug_2134_Regression/run_test.pl:
+
+ A regression test for bugzilla #1741 / #2134. #2289 is already in the
+ repo, as is #1495.
+
+Tue Feb 21 17:45:06 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/IFRService/Container_i.cpp:
+
+ Cosmetic change to source code.
+
+ * orbsvcs/orbsvcs/IFRService/StructDef_i.cpp (members_i):
+ * orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp (members_i):
+
+ Fixed a bug with nested structs/nested unions that results
+ in the servant's ACE_Configuration_Section_Key (its
+ placeholder in the repository) being changed to the key
+ of the nested type, when processing returns to the top level
+ Thanks to Richard Spence <richard.spence.extern@icn.siemens.de>
+ for reporting the bogus exception thrown in TypeCodeFactory
+ that uncovered the problem. This fix closes [BUGID:2407].
+
+Mon Feb 20 15:06:27 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * TAO version 1.4.10 released.
+
+Mon Feb 20 07:27:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Release:
+ Updated for rename of TAOACE.mwc to TAO_ACE.mwc
+
+Sun Feb 19 11:50:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/AdvSlotDblCpy/server.cpp:
+ Fixed conversion warning and fixed compile error with gcc4
+
+Fri Feb 17 19:30:59 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Updated this file with more inputs.
+
+Fri Feb 17 15:32:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO-INSTALL.html:
+ Small improvements
+
+Fri Feb 17 13:53:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/AdvSlotDblCpy/client.cpp:
+ Removed escape character that slipped in by accident
+
+Fri Feb 17 09:40:00 UTC Simon Massey <sma@prismtech.com>
+
+ * tests/Portable_Interceptors/AdvSlotDblCpy/server.cpp:
+ Work around GCC4.0 template resolusion compilation bug?
+
+Fri Feb 17 09:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ Fixed compile error with Borland
+
+Fri Feb 17 08:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/AdvSlotDblCpy/client.cpp:
+ Fixed conversion warning
+
+Thu Feb 16 19:47:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp:
+ Fixed GOA factory name. Thanks to Alex Sheh
+ <ASHEH at euphonix dot com> for reporting this.
+
+Thu Feb 16 18:11:03 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/default_client.cpp:
+
+ Report an error if unknown/unsupported argument is used with
+ -ORBIIOPProfileLock.
+
+ Changed -ORBConnectionHandlerCleanup to support 0 and 1 as
+ arguments. Previously it only supported false, which made it
+ impossible to set the option after the default was changed to
+ false last September. Support false (and now true) arguments
+ for backwards compatibility.
+
+Thu Feb 16 16:00:07 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Notify_Service/Notify_Service.cpp:
+
+ Revert change that got mixed in with:
+ Thu Feb 16 03:33:02 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+Thu Feb 16 12:35:00 UTC Simon Massey <sma@prismtech.com>
+
+ * tests/Portable_Interceptors/AdvSlotDblCpy/AdvSlotDblCpy.mpc:
+ * tests/Portable_Interceptors/AdvSlotDblCpy/client.cpp:
+ * tests/Portable_Interceptors/AdvSlotDblCpy/InvokeMe.idl:
+ * tests/Portable_Interceptors/AdvSlotDblCpy/README:
+ * tests/Portable_Interceptors/AdvSlotDblCpy/run_test.pl:
+ * tests/Portable_Interceptors/AdvSlotDblCpy/server.cpp:
+ Added regression test for Bugzilla 2403
+
+Thu Feb 16 09:21:51 UTC Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAOACE.mwc:
+ * TAO_ACE.mwc:
+ Renamed TAOACE to TAO_ACE, makes it easier for the builds to
+ exclude
+
+Thu Feb 16 03:33:02 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * docs/tutorials/Quoter/AMI/Makefile.am:
+ * docs/tutorials/Quoter/Event_Service/Makefile.am:
+ * docs/tutorials/Quoter/On_Demand_Activation/Makefile.am:
+ * docs/tutorials/Quoter/RT_Event_Service/Makefile.am:
+ * examples/AMH/Sink_Server/Makefile.am:
+ * examples/AMI/FL_Callback/Makefile.am:
+ * examples/Advanced/ch_3/Makefile.am:
+ * examples/Buffered_AMI/Makefile.am:
+ * examples/Buffered_Oneways/Makefile.am:
+ * examples/Callback_Quoter/Makefile.am:
+ * examples/Content_Server/AMI_Iterator/Makefile.am:
+ * examples/Content_Server/AMI_Observer/Makefile.am:
+ * examples/Content_Server/SMI_Iterator/Makefile.am:
+ * examples/Event_Comm/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/fp_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/mif_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/muf_example/Makefile.am:
+ * examples/Load_Balancing/Makefile.am:
+ * examples/Load_Balancing_persistent/Makefile.am:
+ * examples/Logging/Makefile.am:
+ * examples/OBV/Typed_Events/Makefile.am:
+ * examples/POA/DSI/Makefile.am:
+ * examples/POA/Default_Servant/Makefile.am:
+ * examples/POA/Forwarding/Makefile.am:
+ * examples/POA/TIE/Makefile.am:
+ * examples/Persistent_Grid/Makefile.am:
+ * examples/PluggableUDP/tests/Basic/Makefile.am:
+ * examples/PluggableUDP/tests/Performance/Makefile.am:
+ * examples/PluggableUDP/tests/SimplePerformance/Makefile.am:
+ * examples/Quoter/Makefile.am:
+ * examples/Simple/bank/Makefile.am:
+ * examples/Simple/chat/Makefile.am:
+ * examples/Simple/echo/Makefile.am:
+ * examples/Simple/grid/Makefile.am:
+ * examples/Simple/time/Makefile.am:
+ * examples/Simple/time-date/Makefile.am:
+ * examples/Simulator/Event_Supplier/Makefile.am:
+ * examples/ior_corbaloc/Makefile.am:
+ * interop-tests/wchar/Makefile.am:
+ * orbsvcs/Makefile.am:
+ * orbsvcs/ImplRepo_Service/Makefile.am:
+ * orbsvcs/LifeCycle_Service/Makefile.am:
+ * orbsvcs/Notify_Service/Notify_Service.cpp:
+ * orbsvcs/Trading_Service/Makefile.am:
+ * orbsvcs/examples/CosEC/Factory/Makefile.am:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/Makefile.am:
+ * orbsvcs/examples/ImR/Advanced/Makefile.am:
+ * orbsvcs/examples/ImR/Combined_Service/Makefile.am:
+ * orbsvcs/examples/LoadBalancing/Makefile.am:
+ * orbsvcs/examples/Log/RTEvent/Makefile.am:
+ * orbsvcs/examples/ORT/Makefile.am:
+ * orbsvcs/examples/Security/Send_File/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/performance-tests/LoadBalancing/LBPerf/RPS/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile.am:
+ * orbsvcs/tests/Bug_1395_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2247_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2248_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2285_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2287_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2316_Regression/Makefile.am:
+ * orbsvcs/tests/EC_Custom_Marshal/Makefile.am:
+ * orbsvcs/tests/FT_App/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/IOGR/Makefile.am:
+ * orbsvcs/tests/HTIOP/AMI/Makefile.am:
+ * orbsvcs/tests/HTIOP/BiDirectional/Makefile.am:
+ * orbsvcs/tests/HTIOP/Hello/Makefile.am:
+ * orbsvcs/tests/IOR_MCast/Makefile.am:
+ * orbsvcs/tests/ImplRepo/Makefile.am:
+ * orbsvcs/tests/ImplRepo/scale/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Makefile.am:
+ * orbsvcs/tests/Miop/McastHello/Makefile.am:
+ * orbsvcs/tests/Notify/Blocking/Makefile.am:
+ * orbsvcs/tests/Notify/Discarding/Makefile.am:
+ * orbsvcs/tests/Notify/MT_Dispatching/Makefile.am:
+ * orbsvcs/tests/Notify/Ordering/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Makefile.am:
+ * orbsvcs/tests/Security/BiDirectional/Makefile.am:
+ * orbsvcs/tests/Security/Big_Request/Makefile.am:
+ * orbsvcs/tests/Security/Callback/Makefile.am:
+ * orbsvcs/tests/Security/Crash_Test/Makefile.am:
+ * orbsvcs/tests/Security/MT_IIOP_SSL/Makefile.am:
+ * orbsvcs/tests/Security/MT_SSLIOP/Makefile.am:
+ * orbsvcs/tests/Security/Secure_Invocation/Makefile.am:
+ * orbsvcs/tests/Trading/Makefile.am:
+ * orbsvcs/tests/ior_corbaname/Makefile.am:
+ * performance-tests/Callback/Makefile.am:
+ * performance-tests/Cubit/TAO/IDL_Cubit/Makefile.am:
+ * performance-tests/Cubit/TAO/MT_Cubit/Makefile.am:
+ * performance-tests/Latency/AMH_Single_Threaded/Makefile.am:
+ * performance-tests/Latency/AMI/Makefile.am:
+ * performance-tests/Latency/DII/Makefile.am:
+ * performance-tests/Latency/Deferred/Makefile.am:
+ * performance-tests/Latency/Single_Threaded/Makefile.am:
+ * performance-tests/Latency/Thread_Per_Connection/Makefile.am:
+ * performance-tests/Latency/Thread_Pool/Makefile.am:
+ * performance-tests/Memory/IORsize/Makefile.am:
+ * performance-tests/Memory/Single_Threaded/Makefile.am:
+ * performance-tests/POA/Demux/Makefile.am:
+ * performance-tests/POA/Implicit_Activation/Makefile.am:
+ * performance-tests/Pluggable/Makefile.am:
+ * performance-tests/Protocols/Makefile.am:
+ * performance-tests/RTCorba/Oneways/Reliable/Makefile.am:
+ * performance-tests/RTCorba/Thread_Pool/Makefile.am:
+ * performance-tests/Sequence_Latency/AMH_Single_Threaded/Makefile.am:
+ * performance-tests/Sequence_Latency/AMI/Makefile.am:
+ * performance-tests/Sequence_Latency/DII/Makefile.am:
+ * performance-tests/Sequence_Latency/DSI/Makefile.am:
+ * performance-tests/Sequence_Latency/Deferred/Makefile.am:
+ * performance-tests/Sequence_Latency/Single_Threaded/Makefile.am:
+ * performance-tests/Sequence_Latency/Thread_Per_Connection/Makefile.am:
+ * performance-tests/Sequence_Latency/Thread_Pool/Makefile.am:
+ * performance-tests/Throughput/Makefile.am:
+
+ Regenerated with new MPC automake template. Addresses
+ problems where *.idl files in IDL custom_only projects
+ weren't listed. This addresses a large part of the issue
+ raised by Vladimir Panov where orbsvcs *.idl files were
+ not installed.
+
+Wed Feb 15 20:11:51 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Sequence_Unit_Tests/Sequence_Unit_Tests.mpc:
+
+ Renamed many of the projects within this MPC file to avoid fuzz
+ warnings.
+
+Wed Feb 15 16:07:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/Objref_TypeCode.cpp:
+ * tao/Special_Basic_Argument_T.cpp:
+ Added includes to fix the solaris autoconf build. Thanks to
+ Vladimir Panov <gbr at voidland dot org> for reporting this
+ and providing patches.
+
+Wed Feb 15 11:42:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/PICurrent_Impl.h:
+ Extended documentation
+
+ * tests/Portable_Interceptors/AdvSlotExt/*:
+ Another new PI test. We test the PI functionality in
+ receive_request. When we set a value in TSC, then this should
+ be independent of any change in RSC, so we set a value in
+ TSC, then another value in RSC and then read TSC again and
+ check if we did get the correct value back.
+
+ * tao/PI/PICurrent_Impl.cpp (set_slot):
+ When this PICurrent has a lc_slot_table set, then copy this
+ table we refer to to our own table befor we start modifiying
+ our table.
+
+ * tao/PI/PICurrent_Copy_Callback.cpp:
+ Only copy the slot table from source to destination when the
+ destination still refers to the table of the source.
+
+ These changes together fix bugzilla bug 2401 and 2398.
+
+Wed Feb 15 09:01:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/PICurrent_Copy_Callback.{h,cpp}:
+ Changed the return type of the execute method to void, there
+ was no real meaning for the return value
+
+ * tao/PI/PICurrent_Impl.cpp:
+ Updated for the change of the return value type
+
+Wed Feb 15 08:45:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OBV/TC_Alignment/test_i.cpp:
+ Fixed compile errors with Borland
+
+ * tao/PI_Server/PICurrent_Guard.h:
+ No need to export this class from this shared library
+
+Tue Feb 14 13:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/PICurrent/server.cpp:
+ Explicitly destroy the ORB at the end to make sure all interceptors
+ do get destroyed
+
+Tue Feb 14 12:51:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/PICurrent/ServerRequestInterceptor.cpp:
+ Improved check in receive_request to not give bad output
+
+Tue Feb 14 11:40:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Abstract_Interface/test_i.cpp:
+ * tests/OBV/Any/AnyS_impl.cpp:
+ * tests/OBV/Any/client.cpp:
+ * tests/OBV/Collocated/Forward/Client_Task.cpp:
+ * tests/OBV/Forward/client.cpp:
+ Fixed compile errors with Borland
+
+Tue Feb 14 08:40:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/PICurrent/ServerRequestInterceptor.cpp:
+ Added a test case for bugzilla bug 2401, in the receive_request we
+ modifity the RSC, this should not effect the TSC, this bug has not
+ been fixed yet, working on it
+
+Tue Feb 14 08:30:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OBV/ValueBox/client.cpp:
+ Fixed compile errors with Borland C++
+
+Mon Feb 13 20:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Latency/DII/client.cpp:
+ * performance-tests/Sequence_Latency/DII/client.cpp:
+ Use a cast to convert a ACE_hrtime_t to a CORBA::ULongLong. This
+ fixes compile errors on Solaris 64bit
+
+Mon Feb 13 16:28:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/releasenotes/orbcore.html:
+ Updated link for bugzilla
+
+Mon Feb 13 15:51:38 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * TAO_IDL/fe/idl.ll:
+ * TAO_IDL/fe/lex.yy.cpp:
+
+ Remove trailing whitespace for const wstring's as is done for
+ const string's.
+
+ * tao/Seq_Var_T.h:
+ * tao/Seq_Var_T.inl:
+
+ Added const [] operators to the TAO_FixedSeq_Var_T and
+ TAO_VarSeq_Var_T classes.
+
+Mon Feb 13 15:23:42 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/EC_MT_Mcast/Makefile.am:
+
+ Regenerate. Test now requires Strategies library.
+
+Mon Feb 13 15:20:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h:
+ Changed is_primary from bool to CORBA::Boolean to fix compile
+ errors with MacOS. Also removed is_primary method, was just
+ declared and I couldn't find any implementation
+
+Mon Feb 13 14:21:42 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_union.cpp (compute_default_value):
+
+ When a clash is found between a declared case label value and
+ the initialized default discriminator value for a boolean
+ discriminator, changed the method of modifying the intialized
+ discriminator defaul value from '++' to '^=', in order to
+ be consistent with the changes in
+
+ Thu Feb 9 16:31:17 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ since this type of discriminator value is now stored internally as
+ a native boolean instead of a signed long.
+
+ * TAO_IDL/be/be_generator.cpp:
+ * TAO_IDL/be_include/be_generator.h:
+
+ Changed signature of one of the create_expr() overloads
+ to match the signature change to constructors of be_expression
+ and AST_Expression in
+
+ Thu Feb 9 16:31:17 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Mon Feb 13 13:47:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/AdvSlot/server.cpp:
+ Improved this test, explicitly put a Long with value 5 in the PI
+ slot and retrieve it later, this we can check whether we get
+ the correct value back.
+
+Mon Feb 13 13:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/PICurrent_Copy_Callback.h:
+ Disallow copy and assignment
+
+Mon Feb 13 12:54:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/PICurrent_Impl.cpp:
+ Added some more documentation
+
+Mon Feb 13 12:45:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/PICurrent_Impl.h:
+ Doxygen improvements
+
+Mon Feb 13 12:12:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/AdvSlot/client.cpp:
+ Call shutdown on the server when ready
+
+Mon Feb 13 11:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/Servant_Upcall.cpp:
+ Fixed typo in comment
+
+ * tao/PortableServer/Servant_Upcall.h:
+ Document that we have an instance per upcall
+
+Mon Feb 13 11:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/Object_Adapter.cpp:
+ Initialise some pointers with 0
+
+Mon Feb 13 11:19:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/RTCORBA/Thread_Pool.{h,cpp}:
+ Create the dynamic threads as detached, they can exit themselves
+ when load drops again, so we then can't join on them. Used the
+ same flags as for the TPC thread the ORB can create
+
+Mon Feb 13 09:11:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Security/Policies/Foo_i.cpp:
+ Use CORBA::is_nil to check if an object reference is nil or not
+
+Mon Feb 13 09:02:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp:
+ Do the allocation of the ExceptionHolder in two steps, for allocate
+ is using a pointer and then assign this pointer to a _var. Fixes
+ compile problems in the Borland builds
+
+Sun Feb 12 13:41:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * utils/catior/catior.cpp:
+ * orbsvcs/tests/Security/Policies/client.cpp:
+ Fixed conversion warning
+
+ * orbsvcs/tests/Security/Policies/Policies.mpc:
+ No need to set exename
+
+Sun Feb 12 08:32:09 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+
+ Regenerated.
+
+ * utils/catior/catior.cpp:
+
+ Use #include "orbsvcs/CosNamingC.h" instead of #include
+ "CosNamingC.h", as per normal TAO include path conventions.
+
+ * utils/catior/catior.mpc:
+
+ Remove includes += definition. The include path already has
+ orbsvcs via inheritance from namingexe.
+
+Sun Feb 12 05:29:06 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp:
+
+ Cosmetic change to source code.
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_init_arglist_ch.cpp (gen_throw_spec):
+
+ Fixed code generation error introduced with a change to this
+ file in
+
+ Thu Feb 9 14:06:09 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+Sat Feb 11 15:36:12 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tests/OBV/ValueBox/Test_impl.cpp:
+
+ Divide sizeof(VBlongarray) by sizeof(CORBA::Long) instead of
+ sizeof(long). Fixes OBV/ValueBox test on systems with 64 bit
+ longs.
+
+Sat Feb 11 04:08:52 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * TAO_IDL/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+Sat Feb 11 000:26:18 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_decl.cpp:
+ * TAO_IDL/ast/ast_interface.cpp:
+ * TAO_IDL/ast/ast_structure.cpp:
+ * TAO_IDL/include/ast_decl.h:
+ * TAO_IDL/include/idl_global.h:
+ * TAO_IDL/util/utl_err.cpp:
+
+ Changed base class AST_Decl to use ACE_CString for its
+ pd_file_name member, instead of using UTL_String*. Also
+ changed static method idl_error_header() to take an
+ ACE_CString for the filename argument. Easier to get
+ this member type to stick around until we check for
+ illegal primary keys, which must be done after all
+ other parsing.
+
+Fri Feb 10 20:40:31 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * orbsvcs/tests/Security/Policies/Foo_i.cpp:
+ * orbsvcs/tests/Security/Policies/client.cpp:
+
+ Minor updates to printed output to prevent the regression suite
+ from incorrectly interpreting debug output as test failure.
+
+Fri Feb 10 19:22:34 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/CosTrading.mpc:
+
+ Added iortable as a base project for the CosTrading_Serv library.
+
+ * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp:
+
+ Add the TradingService IOR to the IORTable so that it may be used
+ as a corbaloc within a -ORBInitRef.
+
+ * orbsvcs/tests/Trading/run_test.pl:
+
+ Modified this test to use a corbaloc to locate the TradingService.
+
+Fri Feb 10 15:49:17 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp:
+
+ Reverted back a change I did because its non-compliance
+ with the FT Spec.
+ Thu Feb 9 20:06:18 UTC 2006 Wallace Zhang
+
+Fri Feb 10 15:28:50 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_typecode/value_typecode.cpp:
+
+ Applied the fix suggested by Johnny Willemsen
+ <jwillemsen@remedy.nl> in [BUGID:2145], since it was
+ never supplied by the bug reporter, and closed the entry.
+
+Fri Feb 10 15:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/configurations.html:
+ Fixed link
+
+Fri Feb 10 15:00:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tao/ServerRequestInterceptor_Adapter.h
+ * tao/PI_Server/ServerInterceptorAdapter.cpp:
+ * tao/PortableServer/Object_Adapter.cpp:
+ Correct compile problems for TAO_HAS_EXTENDED_FT_INTERCEPTORS
+ builds. This build configuration has been left behind with
+ recent changes.
+
+Fri Feb 10 14:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/EC_Mcast/run_test.pl:
+ * orbsvcs/tests/EC_MT_Mcast/run_test.pl:
+ When we can't spawn the processes, just exit directly instead
+ of waiting on a timeout. Speedsup the daily builds when we
+ can't build the executables
+
+Fri Feb 10 11:21:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.cpp:
+ Use prefix increment
+
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Protocol.h:
+ Removed this file
+
+ * orbsvcs/tests/EC_MT_Mcast/EC_MT_Mcast.mpc:
+ * orbsvcs/tests/EC_MT_Mcast/MCast.cpp:
+ * orbsvcs/tests/EC_MT_Mcast/svc.conf:
+ Link in the strategies lib, this way this test can be used
+ also in a static environment
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp:
+ Initialise pointer with 0
+
+Fri Feb 10 11:10:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2319_Regression/*:
+ Added regression for this bug. Thanks to Toha Bakanovsky
+ <im-scooter at yandex dot ru> for creating this. This bug
+ is not fixed
+
+ * tao/Blocked_Connect_Strategy.h:
+ Doxygen improvements
+
+ * tao/FlResource_Loader.cpp:
+ Removed not needed include
+
+ * tao/FlResource_Factory.h:
+ Reordered includes
+
+ * tao/PI_Server/ServerInterceptorAdapter.cpp:
+ We did copy PICurrent too often from TSC to RSC and back
+
+ * tao/PortableServer/Servant_Upcall.h:
+ Made single argument constructor explicit
+
+ * tao/RTPortableServer/RT_POA.cpp:
+ Initialize pointer with 0
+
+Fri Feb 10 08:28:55 UTC 2006 Don Sharp <Donald.Sharp@prismtech.com>
+
+ * utils/catior/catior.cpp:
+ * utils/catior/catior.mpc:
+
+ Better error reporting.
+
+ Implement name server IOR lookup.
+
+Wed Feb 8 12:00:57 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * utils/catior/catior.cpp (cat_codeset_info):
+
+ Take into account CDR encapsulation byte order when demarshaling
+ information from the encapsulation. Fixes incorrect
+ demarshaling in cases where CDR encapsulation byte order does
+ not match CDR stream byte order. [Bug 2400]
+
+Thu Feb 9 21:07:51 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_helper.cpp:
+ * TAO_IDL/be_include/be_helper.h:
+
+ Changed the signature of the TAO_OutStream operator that
+ takes a TAO_ACE_CHECK struct to get a const reference of
+ the struct, instead of a non-const reference. In code
+ generation, this struct is passed to the operator as a
+ temporary, and gcc is evidently catching that a temporary
+ shouldn't be passed as a non-const reference (Visual Studio
+ did not catch it), but reporting the error as a failure to
+ resolve the operator overload.
+
+Thu Feb 9 20:17:37 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Fix typo in regeneration.
+
+Thu Feb 9 20:06:18 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+
+ Corrected the use of the length of the passing parameter to a
+ function.
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp:
+
+ Changed the return value of function is_profile_equivalent when
+ comparing an IOR and an IOGR. Basically, when you compare an
+ IOR and an IOGR, we need to return "DONT_KNOW",not
+ "NOT_EQUIVALENT".
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp:
+
+ A fix for using the object reference.
+
+ * tao/IORManipulation/IORManipulation.cpp:
+
+ Corrected the order of adding, removing profiles, and creating
+ Object References.
+
+Thu Feb 9 19:59:41 UTC 2006 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ This change was adds enforcement for any Security::SecQoP*
+ policies applicable on a POA, that may be different from the ORB
+ default. It resolves an bug, which allowed security unaware
+ clients to make invocations on "secure" objects when the ORB is
+ configured with support for Security::SecQoPNoProtection.
+ ("Secure" in this context means that the object is activated in
+ a POA, for wich security policy was set to at least
+ Security::SecQoPIntegrity.)
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp:
+
+ Added code to the interception point to ensure that any
+ Security::SecQoP* policies are enforced.
+
+ * orbsvcs/tests/Security/Policies/Foo.idl:
+ * orbsvcs/tests/Security/Policies/Foo_i.h:
+ * orbsvcs/tests/Security/Policies/Foo_i.cpp:
+ * orbsvcs/tests/Security/Policies/Policies.mpc:
+ * orbsvcs/tests/Security/Policies/README:
+ * orbsvcs/tests/Security/Policies/cacert.pem:
+ * orbsvcs/tests/Security/Policies/client.conf:
+ * orbsvcs/tests/Security/Policies/client.conf.xml:
+ * orbsvcs/tests/Security/Policies/client.cpp:
+ * orbsvcs/tests/Security/Policies/client_cert.pem:
+ * orbsvcs/tests/Security/Policies/client_key.pem:
+ * orbsvcs/tests/Security/Policies/client_nopasswd.conf:
+ * orbsvcs/tests/Security/Policies/client_nopasswd.conf.xml:
+ * orbsvcs/tests/Security/Policies/run_test.pl:
+ * orbsvcs/tests/Security/Policies/server.conf:
+ * orbsvcs/tests/Security/Policies/server.conf.xml:
+ * orbsvcs/tests/Security/Policies/server.cpp:
+ * orbsvcs/tests/Security/Policies/server_cert.pem:
+ * orbsvcs/tests/Security/Policies/server_key.pem:
+ * orbsvcs/tests/Security/Policies/server_key_nopasswd.pem:
+
+ Added a test to excercise the various combinations of clients
+ making invocations on servers that either support or requre
+ protection.
+
+Thu Feb 9 19:27:13 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/HTOIP.mpc:
+ * orbsvcs/orbsvcs/SSLIOP.mpc:
+
+ Add Pidl_Files section so that *_endpoints.pidl files are
+ installed in autoconf builds.
+
+Thu Feb 9 18:25:38 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * TAO_IDL/driver/drv_preproc.cpp:
+
+ If TAO_ROOT or ACE_ROOT environment variables are set they
+ override the path set by 'TAO_IDL_INCLUDE_DIR'. Both $TAO_ROOT
+ and $TAO_ROOT/tao (or $ACE_ROOT/TAO and $ACE_ROOT/TAO/tao) have
+ to be added to the list of preprocessor include paths. Instead
+ of unconditionally disabling appending the second include path
+ when TAO_IDL_INCLUDE_PATH is defined, we just set it to '.' in
+ the case neither TAO_ROOT or ACE_ROOT environment variables are
+ set.
+
+ Similarly, disable appending /orbsvcs, /CIAO, and /CIAO/ciao to
+ TAO_IDL_INCLUDE_PATH, again setting the include paths to '.'.
+
+Thu Feb 9 16:45:21 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * orbsvcs/IFR_Service/be_global.cpp:
+ * orbsvcs/IFR_Servicebe_global.h:
+ * orbsvcs/IFR_Serviceifr_adding_visitor.cpp:
+ * orbsvcs/IFR_Serviceifr_adding_visitor_exception.cpp:
+ * orbsvcs/IFR_Serviceifr_adding_visitor_structure.cpp:
+ * orbsvcs/IFR_Serviceifr_adding_visitor_union.cpp:
+
+ - removed all usage of idl_bool typedef in the IFR loader,
+ consistentlty with changes in
+
+ Thu Feb 9 16:31:17 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ - added support for boxed valuetypes to the IFR loader
+
+Thu Feb 9 16:31:17 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/include/idl_bool.h:
+
+ Removed this file, no longer used because of changes
+ below.
+
+ * TAO_IDL/tao_idl.cpp:
+ * TAO_IDL/ast/ast_array.cpp:
+ * TAO_IDL/ast/ast_attribute.cpp:
+ * TAO_IDL/ast/ast_component.cpp:
+ * TAO_IDL/ast/ast_component_fwd.cpp:
+ * TAO_IDL/ast/ast_constant.cpp:
+ * TAO_IDL/ast/ast_decl.cpp:
+ * TAO_IDL/ast/ast_enum.cpp:
+ * TAO_IDL/ast/ast_eventtype.cpp:
+ * TAO_IDL/ast/ast_eventtype_fwd.cpp:
+ * TAO_IDL/ast/ast_exception.cpp:
+ * TAO_IDL/ast/ast_expression.cpp:
+ * TAO_IDL/ast/ast_factory.cpp:
+ * TAO_IDL/ast/ast_generator.cpp:
+ * TAO_IDL/ast/ast_home.cpp:
+ * TAO_IDL/ast/ast_interface.cpp:
+ * TAO_IDL/ast/ast_interface_fwd.cpp:
+ * TAO_IDL/ast/ast_module.cpp:
+ * TAO_IDL/ast/ast_native.cpp:
+ * TAO_IDL/ast/ast_operation.cpp:
+ * TAO_IDL/ast/ast_predefined_type.cpp:
+ * TAO_IDL/ast/ast_recursive.cpp:
+ * TAO_IDL/ast/ast_redef.cpp:
+ * TAO_IDL/ast/ast_sequence.cpp:
+ * TAO_IDL/ast/ast_string.cpp:
+ * TAO_IDL/ast/ast_structure.cpp:
+ * TAO_IDL/ast/ast_structure_fwd.cpp:
+ * TAO_IDL/ast/ast_type.cpp:
+ * TAO_IDL/ast/ast_typedef.cpp:
+ * TAO_IDL/ast/ast_union.cpp:
+ * TAO_IDL/ast/ast_valuebox.cpp:
+ * TAO_IDL/ast/ast_valuetype.cpp:
+ * TAO_IDL/ast/ast_valuetype_fwd.cpp:
+ * TAO_IDL/be/be_argument.cpp:
+ * TAO_IDL/be/be_array.cpp:
+ * TAO_IDL/be/be_attribute.cpp:
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_component.cpp:
+ * TAO_IDL/be/be_decl.cpp:
+ * TAO_IDL/be/be_enum.cpp:
+ * TAO_IDL/be/be_eventtype.cpp:
+ * TAO_IDL/be/be_exception.cpp:
+ * TAO_IDL/be/be_expression.cpp:
+ * TAO_IDL/be/be_generator.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_helper.cpp:
+ * TAO_IDL/be/be_home.cpp:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_interface_fwd.cpp:
+ * TAO_IDL/be/be_native.cpp:
+ * TAO_IDL/be/be_operation.cpp:
+ * TAO_IDL/be/be_predefined_type.cpp:
+ * TAO_IDL/be/be_sequence.cpp:
+ * TAO_IDL/be/be_string.cpp:
+ * TAO_IDL/be/be_structure.cpp:
+ * TAO_IDL/be/be_sunsoft.cpp:
+ * TAO_IDL/be/be_type.cpp:
+ * TAO_IDL/be/be_typedef.cpp:
+ * TAO_IDL/be/be_union.cpp:
+ * TAO_IDL/be/be_valuetype.cpp:
+ * TAO_IDL/be/be_visitor_ami_pre_proc.cpp:
+ * TAO_IDL/be/be_visitor_arg_traits.cpp:
+ * TAO_IDL/be/be_visitor_ccm_pre_proc.cpp:
+ * TAO_IDL/be/be_visitor_context.cpp:
+ * TAO_IDL/be/be_visitor_scope.cpp:
+ * TAO_IDL/be/be_visitor_traits.cpp:
+ * TAO_IDL/be/be_visitor_argument/arglist.cpp:
+ * TAO_IDL/be/be_visitor_array/array_ci.cpp:
+ * TAO_IDL/be/be_visitor_array/array_cs.cpp:
+ * TAO_IDL/be/be_visitor_component/component_ch.cpp:
+ * TAO_IDL/be/be_visitor_component/component_ci.cpp:
+ * TAO_IDL/be/be_visitor_component/component_cs.cpp:
+ * TAO_IDL/be/be_visitor_component/component_sh.cpp:
+ * TAO_IDL/be/be_visitor_constant/constant_ch.cpp:
+ * TAO_IDL/be/be_visitor_constant/constant_cs.cpp:
+ * TAO_IDL/be/be_visitor_enum/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_enum/enum_ch.cpp:
+ * TAO_IDL/be/be_visitor_enum/enum_cs.cpp:
+ * TAO_IDL/be/be_visitor_enum/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_exception/exception_ch.cpp:
+ * TAO_IDL/be/be_visitor_exception/exception_ci.cpp:
+ * TAO_IDL/be/be_visitor_exception/exception_cs.cpp:
+ * TAO_IDL/be/be_visitor_home/home_ch.cpp:
+ * TAO_IDL/be/be_visitor_home/home_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_si.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ci.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/tie_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/tie_si.cpp:
+ * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_ch.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/argument.cpp:
+ * TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/exceptlist_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/proxy_impl_xh.cpp:
+ * TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp:
+ * TAO_IDL/be/be_visitor_root/root.cpp:
+ * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:
+ * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure/structure_ch.cpp:
+ * TAO_IDL/be/be_visitor_structure/structure_ci.cpp:
+ * TAO_IDL/be/be_visitor_structure/structure_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure_fwd/structure_fwd_ch.cpp:
+ * TAO_IDL/be/be_visitor_typedef/typedef_ci.cpp:
+ * TAO_IDL/be/be_visitor_union/union_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/union_ci.cpp:
+ * TAO_IDL/be/be_visitor_union/union_cs.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:
+ * TAO_IDL/be/be_visitor_union_fwd/union_fwd_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/arglist.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_init_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_init_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ci.cpp:
+ * TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ch.cpp:
+ * TAO_IDL/be_include/be_array.h:
+ * TAO_IDL/be_include/be_attribute.h:
+ * TAO_IDL/be_include/be_decl.h:
+ * TAO_IDL/be_include/be_enum.h:
+ * TAO_IDL/be_include/be_eventtype.h:
+ * TAO_IDL/be_include/be_exception.h:
+ * TAO_IDL/be_include/be_expression.h:
+ * TAO_IDL/be_include/be_generator.h:
+ * TAO_IDL/be_include/be_global.h:
+ * TAO_IDL/be_include/be_helper.h:
+ * TAO_IDL/be_include/be_interface.h:
+ * TAO_IDL/be_include/be_interface_fwd.h:
+ * TAO_IDL/be_include/be_operation.h:
+ * TAO_IDL/be_include/be_sequence.h:
+ * TAO_IDL/be_include/be_structure.h:
+ * TAO_IDL/be_include/be_type.h:
+ * TAO_IDL/be_include/be_typedef.h:
+ * TAO_IDL/be_include/be_union.h:
+ * TAO_IDL/be_include/be_valuetype.h:
+ * TAO_IDL/be_include/be_visitor_arg_traits.h:
+ * TAO_IDL/be_include/be_visitor_context.h:
+ * TAO_IDL/be_include/be_visitor_scope.h:
+ * TAO_IDL/be_include/be_visitor_operation/operation.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/arglist.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/field_ci.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/field_cs.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/valuetype.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/valuetype_ci.h:
+ * TAO_IDL/driver/drv_args.cpp:
+ * TAO_IDL/driver/drv_preproc.cpp:
+ * TAO_IDL/fe/fe_init.cpp:
+ * TAO_IDL/fe/fe_interface_header.cpp:
+ * TAO_IDL/fe/idl.yy
+ * TAO_IDL/fe/lex.yy.cpp:
+ * TAO_IDL/fe/y.tab.cpp:
+ * TAO_IDL/fe/y.tab.cpp:.diff
+ * TAO_IDL/fe/y.tab.h:
+ * TAO_IDL/include/ast_array.h:
+ * TAO_IDL/include/ast_attribute.h:
+ * TAO_IDL/include/ast_component.h:
+ * TAO_IDL/include/ast_constant.h:
+ * TAO_IDL/include/ast_decl.h:
+ * TAO_IDL/include/ast_enum.h:
+ * TAO_IDL/include/ast_eventtype.h:
+ * TAO_IDL/include/ast_exception.h:
+ * TAO_IDL/include/ast_expression.h:
+ * TAO_IDL/include/ast_extern.h:
+ * TAO_IDL/include/ast_generator.h:
+ * TAO_IDL/include/ast_home.h:
+ * TAO_IDL/include/ast_interface.h:
+ * TAO_IDL/include/ast_interface_fwd.h:
+ * TAO_IDL/include/ast_module.h:
+ * TAO_IDL/include/ast_operation.h:
+ * TAO_IDL/include/ast_sequence.h:
+ * TAO_IDL/include/ast_structure.h:
+ * TAO_IDL/include/ast_structure_fwd.h:
+ * TAO_IDL/include/ast_type.h:
+ * TAO_IDL/include/ast_typedef.h:
+ * TAO_IDL/include/ast_union.h:
+ * TAO_IDL/include/ast_valuetype.h:
+ * TAO_IDL/include/fe_interface_header.h:
+ * TAO_IDL/include/global_extern.h:
+ * TAO_IDL/include/idl_global.h:
+ * TAO_IDL/include/utl_identifier.h:
+ * TAO_IDL/include/utl_list.h:
+ * TAO_IDL/include/utl_namelist.h:
+ * TAO_IDL/include/utl_scope.h:
+ * TAO_IDL/include/utl_string.h:
+ * TAO_IDL/include/utl_tmpl/utl_exceptlist.h:
+ * TAO_IDL/util/utl_global.cpp:
+ * TAO_IDL/util/utl_identifier.cpp:
+ * TAO_IDL/util/utl_idlist.cpp:
+ * TAO_IDL/util/utl_list.cpp:
+ * TAO_IDL/util/utl_namelist.cpp:
+ * TAO_IDL/util/utl_scope.cpp:
+ * TAO_IDL/util/utl_stack.cpp:
+ * TAO_IDL/util/utl_string.cpp:
+ * TAO_IDL/util/utl_strlist.cpp:
+ * TAO_IDL/util/utl_tmpl/utl_idlist.cpp:
+ * TAO_IDL/util/utl_tmpl/utl_list.cpp:
+ * TAO_IDL/util/utl_tmpl/utl_strlist.cpp:
+
+ - Replaced all usage of the IDL compiler's internal type
+ idl_bool (typedef of long) with native bool. Also
+ replaced similarly typedef'd values I_TRUE and I_FALSE.
+
+ - Extended the effects of the -Ge 2 command line option
+ (which previously replaced 'ACE_THROW' with 'throw'
+ and removed all generation of environment variables
+ and forms of 'ACE_CHECK' in user defined operations)
+ to remove generation of environment variables and
+ forms of 'ACE_CHECK' in all operations, including
+ overrides of inherited operations, to replace
+ all forms of 'ACE_TRY' and 'ACE_CATCH', and to
+ remove generation of 'ACE_ENDTRY'.
+
+ - regenerated lex.yy.cpp and y.tab.cpp, along with
+ the associated diff files.
+
+ - removed the passing of 'TAO_IDL_INCLUDE_DIR/tao' path to
+ the preprocessor, when 'TAO_IDL_INCLUDE_DIR' is used
+ instead of the TAO_ROOT environment variable.
+
+ - made many cosmetic changes to generated code formatting.
+
+Thu Feb 9 14:06:09 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * TAO_IDL/be/be_global.cpp:
+
+ Whitespace.
+
+ * TAO_IDL/be/be_visitor_operation/tie_si.cpp:
+
+ Prevent arguments called T from clashing with the temmplate class
+ identifier. This fixes bug #2390.
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_init_arglist_ch.cpp:
+
+ Prevent generation of spurious SystemException throw specs on
+ valuetype factroy methods. This fixes bug #2375.
+
+ * TAO_IDL/driver/drv_preproc.cpp:
+
+ Change all '#include "foo.idl"' entries in IDL files to
+ '#include <foo.idl>' before feeding them to the pre-processor.
+ Prevents accidental processing of IDL files from the users tmp
+ directory. This fixes bug #2399.
+
+ * tests/Bug_2375_Regression/Bug_2375_Regression.mpc:
+ * tests/Bug_2375_Regression/README:
+ * tests/Bug_2375_Regression/test.cpp:
+ * tests/Bug_2375_Regression/test.idl:
+ * tests/Bug_2399_Regression/README:
+ * tests/Bug_2399_Regression/included.idl:
+ * tests/Bug_2399_Regression/mytmp/included.idl:
+ * tests/Bug_2399_Regression/Bug_2399_Regression.mpc:
+ * tests/Bug_2399_Regression/test.idl:
+ * tests/Bug_2399_Regression/test.cpp:
+
+ Regression tests for two of the above bugs.
+
+Wed Feb 08 15:49:54 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * TAO version 1.4.9 released.
+
+Wed Feb 8 04:46:33 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype_fwd/any_op_ch.cpp
+
+ Added versioned namespace macros to generation of
+ any insertion/extraction operators. Thanks to Ossama
+ Othman for pointing out this problem.
+
+Tue Feb 7 22:40:54 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tests/Sequence_Unit_Tests/bounded_basic_string_sequence.hpp
+ * tests/Sequence_Unit_Tests/bounded_object_reference_sequence.hpp
+ * tests/Sequence_Unit_Tests/bounded_object_reference_sequence_ut.cpp
+ * tests/Sequence_Unit_Tests/bounded_reference_allocation_traits.hpp
+ * tests/Sequence_Unit_Tests/bounded_sequence_cdr.hpp
+ * tests/Sequence_Unit_Tests/bounded_sequence_cdr_ut.cpp
+ * tests/Sequence_Unit_Tests/bounded_string_sequence.hpp
+ * tests/Sequence_Unit_Tests/bounded_string_sequence_ut.cpp
+ * tests/Sequence_Unit_Tests/bounded_value_allocation_traits.hpp
+ * tests/Sequence_Unit_Tests/bounded_value_sequence.hpp
+ * tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp
+ * tests/Sequence_Unit_Tests/bounded_wstring_sequence.hpp
+ * tests/Sequence_Unit_Tests/fwd_mock_reference.cpp
+ * tests/Sequence_Unit_Tests/fwd_mock_reference.hpp
+ * tests/Sequence_Unit_Tests/generic_sequence.hpp
+ * tests/Sequence_Unit_Tests/mock_reference.cpp
+ * tests/Sequence_Unit_Tests/mock_reference.hpp
+ * tests/Sequence_Unit_Tests/mock_stream.cpp
+ * tests/Sequence_Unit_Tests/mock_stream.hpp
+ * tests/Sequence_Unit_Tests/object_reference_sequence_element.hpp
+ * tests/Sequence_Unit_Tests/object_reference_sequence_element_ut.cpp
+ * tests/Sequence_Unit_Tests/object_reference_traits.hpp
+ * tests/Sequence_Unit_Tests/object_reference_traits_base.hpp
+ * tests/Sequence_Unit_Tests/range_checking.hpp
+ * tests/Sequence_Unit_Tests/string_sequence_element.hpp
+ * tests/Sequence_Unit_Tests/string_sequence_element_ut.cpp
+ * tests/Sequence_Unit_Tests/string_traits.hpp
+ * tests/Sequence_Unit_Tests/string_traits_base.hpp
+ * tests/Sequence_Unit_Tests/testing_allocation_traits.hpp
+ * tests/Sequence_Unit_Tests/testing_allocation_traits_ut.cpp
+ * tests/Sequence_Unit_Tests/testing_object_reference_traits.hpp
+ * tests/Sequence_Unit_Tests/testing_range_checking.hpp
+ * tests/Sequence_Unit_Tests/testing_string_traits.hpp
+ * tests/Sequence_Unit_Tests/unbounded_basic_string_sequence.hpp
+ * tests/Sequence_Unit_Tests/unbounded_fwd_object_reference_sequence_ut.cpp
+ * tests/Sequence_Unit_Tests/unbounded_object_reference_sequence.hpp
+ * tests/Sequence_Unit_Tests/unbounded_object_reference_sequence_ut.cpp
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence.hpp
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence_nocopy_ut.cpp
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence_ut.cpp
+ * tests/Sequence_Unit_Tests/unbounded_reference_allocation_traits.hpp
+ * tests/Sequence_Unit_Tests/unbounded_sequence_cdr.hpp
+ * tests/Sequence_Unit_Tests/unbounded_sequence_cdr_ut.cpp
+ * tests/Sequence_Unit_Tests/unbounded_string_sequence.hpp
+ * tests/Sequence_Unit_Tests/unbounded_string_sequence_ut.cpp
+ * tests/Sequence_Unit_Tests/unbounded_value_allocation_traits.hpp
+ * tests/Sequence_Unit_Tests/unbounded_value_sequence.hpp
+ * tests/Sequence_Unit_Tests/unbounded_value_sequence_ut.cpp
+ * tests/Sequence_Unit_Tests/unbounded_wstring_sequence.hpp
+ * tests/Sequence_Unit_Tests/value_sequence_tester.hpp
+ * tests/Sequence_Unit_Tests/value_traits.hpp
+
+ Fixes for versioned namespace compile problems. Thanks to
+ Ossama Othman (ossama_othman at symantec dot com) for providing
+ assistance..
+
+Tue Feb 7 21:07:35 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ch.cpp
+
+ Surrounded valuetype CDR operators with versioned namespace
+ macros.
+
+ * performance-tests/Cubit/TAO/MT_Cubit/Globals.h
+ * tests/NestedUpcall/MT_Client_Test/local_server.h
+
+ Surrounded forward declarations of ACE/TAO types with versioned
+ namespace macros.
+
+Mon Feb 6 16:46:57 Pacific Standard Time 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * TAO_IDL/be/be_visitor_interface_fwd/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface_fwd/cdr_op_ch.cpp:
+
+ Added ability to set "versioned" namespace opening and closing
+ text. Addresses problem where applications that do not enable
+ versioned namespace support in their own code need not get
+ "versioned" stubs/skeletons. This was previously done for all
+ other IDL types. Forward interface declarations were
+ overlooked.
+
+ * tests/MT_BiDir/Sender_i.h:
+ * tests/MT_BiDir/Server_Task.h:
+ * tests/NestedUpcall/MT_Client_Test/local_server.h:
+ * tests/OBV/Collocated/Forward/Server_Task.h:
+ * tests/Portable_Interceptors/Collocated/Dynamic/Server_Task.h:
+ * tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/Server.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Server_Task.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Server_Task.h:
+ * tests/Two_Objects/First_i.cpp:
+ * tests/Two_Objects/First_i.h:
+ * tests/Two_Objects/Object_Factory_i.h:
+ * tests/Two_Objects/Second_i.h:
+
+ Placed forward declarations for ACE/TAO types in the appropriate
+ versioned namespace.
+
+Fri Feb 3 15:16:41 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * tests/Bug_1495_Regression/Server_Task.h:
+ * tests/Bug_2084_Regression/Server_Task.h:
+ * tests/Collocation_Exception_Test/Server_Task.h:
+ * tests/Collocation_Oneway_Tests/Server_Task.h:
+ * tests/Collocation_Tests/Server_Task.h:
+
+ Place ACE_Manual_Event forward declaration within versioned
+ namespace.
+
+ * tests/Hang_Shutdown/Test.idl:
+ * tests/Hang_Shutdown/client.cpp:
+ * tests/Hang_Shutdown/server.cpp:
+ * tests/Hang_Shutdown/test_i.h:
+
+ Removed outer "TAO" namespace. It served no useful purpose, and
+ conflicted with the versioned TAO namespace used in the core TAO
+ libraries.
+
+Thu Feb 3 14:54:51 UTC 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * be/be_visitor_valuebox/valuebox_ci.cpp:
+ * be/be_visitor_valuebox/valuebox_cs.cpp:
+ * be_include/be_visitor_valuebox/valuebox_ci.h:
+ * be_include/be_visitor_valuebox/valuebox_cs.h:
+
+ Moved generated inlined virtual functions out of line. The
+ TAO_IDL valuebox code previously generated inlined virtual
+ functions, including a virtual destructor, which can cause RTTI
+ problems when attempting to downcast a valuebox object found in
+ a shared library that was compiled with g++ 4.0's
+ "-fvisibility-inlines-hidden" command line option. The virtual
+ functions marked as "inline" (as opposed to actually inlined)
+ end up being left out of the export table, which breaks RTTI for
+ valueboxes in the shared library. [Bug 2392]
+
+Fri Feb 3 10:44:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/TAO-metrics.html:
+ Fixed hyperlink
+
+Thu Feb 2 13:08:31 Pacific Standard Time 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/cdr_op_cs.cpp:
+
+ Added ability to set "versioned" namespace opening and closing
+ text. Addresses problem where applications that do not enable
+ versioned namespace support in their own code need not get
+ "versioned" stubs/skeletons. This was previously done for all
+ other IDL types. Valuetypes were overlooked.
+
+Thu Feb 2 12:20:16 Pacific Standard Time 2006 Ossama Othman <ossama_othman at symantec dot com>
+
+ * orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc
+ (ImR_Activator_IDL, ImR_Locator_IDL):
+
+ Added missing "tao_versioning_idl_defaults" base project. Fixes
+ syntax errors in versioned namespace builds.
+
+Thu Feb 2 17:48:16 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Makefile.am:
+
+ Must build tests before examples, as the Notify Service examples
+ use a Notify Service test library.
+
+Wed Feb 1 21:02:45 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_predefined_type.cpp:
+
+ Fixed a bug in the computation of repository ids for
+ predefined types.
+
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp (fill_valuemember_sequence):
+
+ Fixed a bug in retrieving the repository path to the type of
+ a valuetype member.
+
+ * orbsvcs/IFR_Service/adding_visitor.cpp(create_value_member):
+
+ Fixed a bug in looking up a valuetype member's type in the
+ repository.
+
+Wed Feb 1 20:07:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/pluggable_messaging.html:
+ Added some info how to load IIOP Lite when the strategies lib
+ is used. Thanks to Kobi Cohen Arazi <kobi dot cohenarazi at gmail
+ dot com> for reporting this.
+
+Wed Feb 1 14:46:55 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * NEWS:
+
+ Describe changes to Telecom Log Service Strategy interface.
+
+Wed Feb 1 14:19:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2345_Regression/Bug_2345_Regression.mpc:
+ * tests/Bug_2345_Regression/server.cpp:
+ Link in the ImR_Client library explicitly, this is needed for
+ this test
+
+Wed Feb 1 13:25:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/pluggable_messaging.html:
+ Small improvements to improve readability
+
+Wed Feb 1 13:00:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/Options.html:
+ Small fix
+
+Tue Jan 31 19:39:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/rtcorba/issues.html:
+ Fixed bugzilla link
+
+Mon Jan 30 22:04:39 UTC 2006 Ming Xiong <ming.xiong@vanderbilt.edu>
+
+ * TAO/tao/PortableServer/Root_POA.h
+
+ Improved documentation for find_servant_priority ()
+
+Mon Jan 30 17:22:50 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS:
+
+ Moved the NEWS entry below to the right place.
+ Updated info for support for RTCORBA Keepalive.
+
+Mon Jan 30 17:09:25 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * NEWS:
+
+ Record -ORBKeepalive option.
+
+Sun Jan 29 22:23:21 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/driver/drv_args.cpp (DRV_usage):
+ * TAO_IDL/be/be_global.cpp (usage):
+
+ Moved all all usage messages about -Wb options to the IDL
+ compiler back end, which they are specific to. Thanks to
+ Andy Gokhale <a.gokhale@vanderbilt.edu> for pointing
+ out that these usage message were appearing with the
+ idl_to_picml executable, where they are not relevant.
+
+Sun Jan 29 15:01:13 UTC 2006 Martin Corino <mcorino@remedy.nl>
+
+ * tao/IIOP_Profile.cpp:
+
+ Fixed some compile problems with the enhancements in
+ TAO_IIOP_Profile::to_string() for IPv6 enabled builds.
+
+Sat Jan 28 23:15:13 UTC 2006 Martin Corino <mcorino@remedy.nl>
+
+ * tao/IIOP_Profile.cpp:
+
+ Added enhancement to TAO_IIOP_Profile::to_string() to return
+ *all* endpoints in profile embedded in a corbaloc URL like:
+ corbaloc:iiop:1.2@host:port,iiop:1.2@host:port,.../key
+ Thanks to Victor Chernenko (GE Healthcare) for suggesting this
+ and providing a first patch.
+
+Sat Jan 28 22:22:13 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tao/PortableServer/ServantRetentionStrategyNonRetain.cpp
+
+ Fixed unused argument warning.
+
+Fri Jan 27 22:03:14 UTC 2006 Ming Xiong <ming.xiong@vanderbilt.edu>
+
+ * tao/PortableServer/ServantRetentionStrategy.h
+ * tao/PortableServer/ServantRetentionStrategyNonRetain.cpp
+ * tao/PortableServer/ServantRetentionStrategyNonRetain.h
+ * tao/PortableServer/ServantRetentionStrategyRetain.cpp
+ * tao/PortableServer/ServantRetentionStrategyRetain.h
+
+ Add a find_servant_priority () method to
+ PortableServer::ServantRetentionStrategy
+ PortableServer::ServantRetentionStrategyNonRetain
+ PortableServer::ServantRetentionStrategyRetain
+
+ * tao/PortableServer/Root_POA.cpp
+ * tao/PortableServer/Root_POA.h
+
+ Add a find_servant_priority () method to TAO_Root_POA
+
+ * tao/RTPortableServer/RT_Collocation_Resolver.cpp
+
+ Change the way TAO_RT_Collocation_Resolver::is_collocated
+ retrieves servant priority. In particular, it will use
+ poa->find_servant_priority () instread of locate_servant_i ()
+
+ This change is aimed at fixing TAO Bug 2325, which has a misuse
+ of Servant_Upcall, causing the aom entry reference counts to
+ be incorrectly incremented.Thanks to Abhi (abhi dot qualcomm
+ dot com) and Johnny for reporting this bug and helping out
+ with the solution.
+
+
+Fri Jan 27 14:53:45 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+
+ Add some .in()'s to help out old senile compilers who can't
+ figure things out on their own.
+
+Fri Jan 27 03:51:42 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ If examples and/or tests have been disabled, don't bother
+ generating subdirectory hierarchies or Makefiles for them.
+
+Fri Jan 27 02:41:12 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+ * orbsvcs/Makefile.am:
+
+ Use BUILD_EXAMPLES AND BUILD_TESTS automake conditionals to
+ control whether TAO's (and TAO's ORBservice's) examples and
+ tests are built.
+
+ * configure.ac:
+
+ Invoke TAO_ENABLE_EXAMPLES and TAO_ENABLE_TESTS.
+
+ * m4/tao.m4:
+
+ Added TAO_ENABLE_EXAMPLES and TAO_ENABLE_TESTS autoconf macros.
+ These enable/disable BUILD_EXAMPLES and BUILD_TESTS automake
+ conditionals.
+
+Thu Jan 26 20:36:47 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * orbsvcs/IFR_Service/be_produce.cpp(BE_cleanup):
+
+ Removed code to destory the temporary holding scope entry in
+ the repository after each IDL file is processed. Instead the
+ lifetime of that entry is now tied to the repository itself.
+
+ * orbsvcs/IFR_Service/ifr_adding_visitor.cpp (visit_typedef):
+
+ Removed code that replaces a typedef with the same repo id
+ with a new entry, which would invalidate any references to
+ the typedef entry that other entries may hold. The IFR will
+ now throw the BAD_PARAM minor code that corresponds to an
+ attempt to create an entry for a repo id that already exists
+ in the repository. Thanks to Richard Spence
+ <richard dot spence dot extern at icn dot siemens dot de>
+ for reporting the problem when the typdef is used as an
+ operation parameter. This closes [BUGID:2381].
+
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp (name_exists):
+
+ Changed the loop to be a FOR loop using the explicit section
+ names, rather than a while loop calling enumerate_sections()
+ to get each section name.
+
+Thu Jan 26 15:37:12 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Hash_Iterator_i.cpp:
+ * orbsvcs/orbsvcs/Log/Hash_Iterator_i.h:
+ * orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
+ * orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
+ * orbsvcs/orbsvcs/Log/LogRecordStore.h:
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+ * orbsvcs/orbsvcs/Log/Log_i.h:
+
+ Added lock() method to LogRecordStore that returns a reference
+ to a ACE_SYNCH_RW_MUTEX. Changed Log_i and Hash_Iterator_i to
+ use the lock (via the ACE_READ_GUARD... and ACE_WRITE_GUARD...
+ macros), while removing its use within the Hash_LogRecordStore
+ methods themselves.
+
+ This change avoids any race conditions in read-modify-write
+ operations (e.g. the set_* methods) that exist when locking is
+ done entirely within the LogRecordStore.
+
+ It also avoids acquiring and releasing the lock multiple times
+ in the course of a single operation, which resulted in a modest
+ performance improvement (~15%) for methods like write_records()
+ and write_recordlist().
+
+ In the future, we may want to abstract locking so instead of a
+ rwlock it may represent a database session or transaction.
+
+Mon Jan 23 15:50:27 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+ * orbsvcs/orbsvcs/Log/Log_i.h:
+
+ Obtain the capacity alarm thresholds, log QoS, and week mask
+ from the record store.
+
+ * orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
+ * orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
+ * orbsvcs/orbsvcs/Log/LogRecordStore.h:
+
+ Added methods to get and set the log QoS and week mask.
+
+Tue Jan 24 20:37:55 UTC 2006 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * tao/IIOP_Connection_Handler.cpp:
+
+ Extended Simon McQueen's Fri Jan 20 17:11:49 UTC 2006 addition
+ of support for SO_KEEPALIVE to include taking the value from
+ RTCORBA::TCPPrototocolProperties::keep_alive, when RTCORBA is
+ used, and the application is using a Server or Client
+ ProtocolPolicy.
+
+ * docs/rtcorba/issues.html:
+
+ Removed lack of support for the keep alive protocol property
+ from the list of issues.
+
+Tue Jan 24 19:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Borland/ChatClientWnd.cpp:
+ Fixed parameter unused warnings
+
+Tue Jan 24 15:24:58 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+ * orbsvcs/orbsvcs/Log/Log_i.h:
+
+ Calling create_reference_with_id() (via create_log_reference) in
+ the constructor and/or ::init() appears to result in an infinate
+ loop within the ORB. Until that's resolved, defer obtaining the
+ logs object reference until it's needed.
+
+Tue Jan 24 14:36:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.h:
+ Fixed export macro in ACE_FACTORY_DECLARE
+
+Tue Jan 24 10:20:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * NEWS:
+ Added -ORBUseLocalMemoryPool option info.
+
+Mon Jan 23 12:46:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/AdvSlot/client.cpp:
+ * tests/Portable_Interceptors/AdvSlot/server.cpp:
+ Fixed compile warnings
+
+Sun Jan 22 18:32:03 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Property/CosPropertyService_i.h:
+
+ Use _Serv versions of the export macros. It seems I missed
+ some that should have been part of this:
+
+ Tue Jan 17 22:26:52 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+Sun Jan 22 18:24:37 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.cpp:
+
+ Update ACE_FACTORY_DEFINE() that wasn't updated when splitting
+ the Concurrency Service libraries.
+
+Sun Jan 22 16:54:55 UTC 2006 Boris Kolpackov <boris@kolpackov.net>
+
+ * tests/Portable_Interceptors/AdvSlot/server.cpp:
+
+ Fixed a problem with VC6.
+
+Sun Jan 22 02:42:21 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+ * orbsvcs/orbsvcs/Log/Log_i.h:
+
+ Added operator== and operator!= for IDL generated types
+ DsLogAdmin::QoSList and DsLogAdmin::TimeInterval. Use them to
+ compare old and new log attribute values to decide whether to
+ send an AttributeValueChange event.
+
+Sun Jan 22 02:34:02 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+ * orbsvcs/orbsvcs/Log/Log_i.h:
+
+ Added a new member variable to store the log channel's object
+ reference. Until now, the code was calling _this() each time
+ the reference was needed. Not only was this inefficient (the
+ reference is a field of each of the the structures used for log
+ notification events, so it's needed relatively frequently), but
+ also it resulted in the servant being activated in the RootPOA,
+ so a transient rather than persistent IOR was returned.
+
+ * orbsvcs/orbsvcs/Log/LogNotification.cpp:
+
+ The event's logref field wasn't being set in state_change() and
+ threshold alarm(), even though the log channel object reference
+ was being passed to the methods.
+
+Sat Jan 21 01:56:30 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log_i.cpp:
+
+ Call reset_capacity_alarm_threshold () in set_log_full_action()
+ if the value is changed.
+
+ If the log full action is DsLogAdmin::halt, capacity threshold
+ alarms are triggered when the size of a log exceeds one if its
+ capacity alarm thresholds; if the log full action is ::wrap,
+ capacity threshold alarms are triggered "as if coupled to a
+ guage that counts from zero to the highest capacity threshold
+ value". The specification doesn't describe required behavior
+ when changing from one to the other. Since the recordkeeping
+ needed for each option is so different, resetting may be the
+ only realistic option --- at least that way we won't be using
+ one set of data for the other.
+
+ * orbsvcs/orbsvcs/Log_i.cpp:
+
+ The current revision of the log service spec is inconsistent
+ whether an AttributeValueChange event should generated only if
+ the attribute's value actually changed or whether it should be
+ sent unconditionally. TAO's log service implements the former,
+ which I believe to be the most useful behavior. Nevertheless,
+ I've filed a defect report with the OMG for clarification. I've
+ also added a block comment to this effect before each instance
+ to alert future maintainers.
+
+Sat Jan 21 01:02:46 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log_i.cpp:
+ * orbsvcs/orbsvcs/Log_i.h:
+
+ Changed set_week_mask() to avoid recomputing week_intervals_,
+ updating the record store, and sending an AttributeValueChange
+ event if the new mask has the same value as the old.
+
+ Added operator== and operator!= for many IDL generated types and
+ sequences. Use them to compare old and new log attribute values
+ to decide whether to send an AttributeValueChange event.
+
+ * orbsvcs/orbsvcs/Log_i.cpp:
+
+ Although set_week_mask() updated week_intervals_ (an optimized
+ representation) from the new mask, it didn't actually save it;
+ this resulted in get_week_mask() returning the original value.
+
+Fri Jan 20 17:11:49 UTC 2006 Simon McQueen <sm@prismtech.com>
+
+ * tao/IIOP_Connection_Handler.cpp:
+ * tao/ORB_Core.cpp:
+ * tao/params.h:
+ * tao/params.i:
+ * tao/params.cpp:
+
+ Add configuration option -ORBKeepalive to allow users to specify
+ that the SO_KEEPALIVE option be set on TCP sockets.
+
+ This fixes bug #2374.
+
+ * docs/Options.html:
+
+ Add documentation for the above.
+
+Fri Jan 20 16:30:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * docs/Options.html
+ * tao/ORB_Core.cpp:
+ * tao/ORB_Core.h:
+ * tao/Resource_Factory.cpp
+ * tao/Resource_Factory.h
+ * tao/default_resource.cpp
+ * tao/default_resource.h
+ Fix for Bug 2373.
+ Add run-time option -ORBUseLocalMemoryPool (0|1) which defaults
+ to the compile time option TAO_USES_LOCAL_MEMORY_POOL.
+
+Fri Jan 20 15:30:00 UTC 2006 Simon Massey <sma@prismtech.com>
+
+ * tao/CDR.cpp:
+ * tao/CDR.h:
+ * tao/Synch_Reply_Dispatcher.cpp:
+ Fix for Bug 2372.
+ Possiably unnecessary reply_cdr_.clone_from() inside
+ TAO_Synch_Reply_Dispatcher::dispatch_reply() averted.
+
+Fri Jan 20 11:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/AdvSlot/*:
+ Added new regression from Boris Kolpackov
+ <boris at dre dot vanderbilt dot edu> for a bug with PI. Not fixed
+ yet, but having a regression will make finding the problem a lot
+ easier
+
+Fri Jan 20 11:18:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/ORBInitializer_Registry_Impl.cpp:
+ Fixed bug related to the slot functionality of PICurrent, when the
+ slot count is not equal to zero and there is no PICurrent yet,
+ then force the creation of PICurrent by the ORB to make sure we
+ don't loose the slot_count. Thanks to Boris Kolpackov
+ <boris at dre dot vanderbilt dot edu> for providing the patch
+
+Thu Jan 19 02:45:48 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log_i.cpp:
+
+ Call reset_capacity_alarm_threshold () in set_max_size () and
+ set_capacity_alarm_thresholds () if the value is changed. If
+ either the max size or the threshold list is changed, the old
+ capacity index no longer makes sense.
+
+ Reseting the index means that a ThresholdAlarm event will be
+ sent after the next threshold is crossed. It is unclear whether
+ this is the correct behavior. An argument could be made that an
+ event should be sent for each threshold that has already been
+ crossed given the new max size or capacity alarm threshold list.
+
+ Unfortunately the current version of the specification does not
+ describe what is the correct behavior.
+
+Wed Jan 18 23:35:24 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerate.
+
+ * orbsvcs/orbsvcs/RTEventLogAdmin.mpc:
+
+ Fix typos in symbol export header file names.
+
+Wed Jan 18 19:43:11 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/RTEventLogConsumer.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogNotification.h:
+ * orbsvcs/orbsvcs/Log/RTEventLog_i.h:
+
+ Now that we use the *_Serv_Export versions of the symbol export
+ macros, we need to #include "*_serv_export.h"
+
+Wed Jan 18 19:38:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/Slot/*:
+ Added new regression from Boris Kolpackov
+ <boris at dre dot vanderbilt dot edu> for a bug with PI. Not fixed
+ yet, but having a regression will make finding the problem a lot
+ easier
+
+Wed Jan 18 18:41:09 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Concurrency/CC_Lock.h:
+ * orbsvcs/orbsvcs/Concurrency/CC_LockSet.h:
+ * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h:
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.h:
+ * orbsvcs/orbsvcs/Property/CosPropertyService_i.h:
+
+ Now that we use the *_Serv_Export versions of the symbol export
+ macros, we need to #include "*_serv_export.h"
+
+Wed Jan 18 13:44:07 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/RTScheduling/Current.h:
+ * tao/RTScheduling/Current.cpp:
+ * tests/RTScheduling/Current/Thread_Task.cpp:
+ * tests/RTScheduling/DT_Spawn/Thread_Action.h:
+ * tests/RTScheduling/DT_Spawn/test.cpp:
+ * tests/RTScheduling/Thread_Cancel/Thread_Task.cpp:
+
+ Reverted a portion of my memory leak changes. I was mistaken as
+ to the reference counting.
+
+ * tests/RTScheduling/VoidData/test.h:
+
+ Dereference the "something" pointer as was most likely the
+ original intention.
+
+Wed Jan 18 01:42:04 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * NEWS:
+
+ Update for splitting ORB service libraries.
+
+Tue Jan 17 23:03:46 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Logging_Service/RTEvent_Logging_Service/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+Tue Jan 17 22:26:52 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Concurrency/CC_Lock.h:
+ * orbsvcs/orbsvcs/Concurrency/CC_LockSet.h:
+ * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h:
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.h:
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogConsumer.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogNotification.h:
+ * orbsvcs/orbsvcs/Log/RTEventLog_i.h:
+ * orbsvcs/orbsvcs/Property/CosPropertyService_i.h:
+
+ Use _Serv_ version of the symbol export macros.
+
+Tue Jan 17 20:36:35 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Logging_Service/RTEvent_Logging_Service/RTEvent_Logging_Service.mpc:
+ Update project to inherit from rteventlogadmin_serv.mpb ---
+ rteventlogadmin.mpb now only brings in the client stubs.
+
+ * orbsvcs/orbsvcs/TAO_RTEventLogAdmin.pc.in:
+ * orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Serv.pc.in:
+ * orbsvcs/orbsvcs/TAO_RTEventLogAdmin_Skel.pc.in:
+
+ New files, pkg-template files for RTEventLogAdmin client stub,
+ servant skeleton, and service implementation libraries.
+
+ * orbsvcs/orbsvcs/Log/rteventlog_serv_export.h:
+ * orbsvcs/orbsvcs/Log/rteventlog_skel_export.h:
+
+ New export headers for RTEventLogAdmin servant skeleton and
+ service implementation libraries.
+
+ * orbsvcs/orbsvcs/RTEventLogAdmin.mpc:
+
+ Split the RTEventLogAdmin Service (A varient of the OMG Telecom
+ Logging Service that uses TAO's Real-Time Event channels) into
+ three libraries: RTEventLogAdmin, RTEventLogAdmin_Skel, and
+ RTEventLogAdmin_Serv for client stubs, servant skeletons, and
+ service implementation respectively.
+
+Tue Jan 17 13:31:40 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/main.cpp:
+
+ Changed #include to use "" instead of <>.
+
+Tue Jan 17 02:32:37 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/TAO_RTEvent.pc.in:
+ * orbsvcs/orbsvcs/TAO_RTEvent_Serv.pc.in:
+ * orbsvcs/orbsvcs/TAO_RTEvent_Skel.pc.in:
+
+ New files, pkg-template files for RTEvent client stub,
+ servant skeleton, and service implementation libraries.
+
+ * orbsvcs/orbsvcs/RTEvent.mpc:
+ * orbsvcs/orbsvcs/RTEvent_Serv.mpc:
+ * orbsvcs/orbsvcs/RTEvent_Skel.mpc:
+
+ Added Pkgconfig_Files section for pkg-config templates.
+
+Tue Jan 17 02:21:56 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/TAO_CosEvent_Serv.pc.in:
+
+ Somehow this pkg-config template was describing the
+ CosNaming_Serv library.
+
+Tue Jan 17 01:50:24 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h:
+
+ Change type of property_lookup_ map from Any_var to Any, similar
+ to what was done for the Notify_Constraint_Visitor some time
+ ago. This allows us to avoid dynamically allocating Anys in
+ the constructor for increased performance and reliability.
+
+ I've measured a ~10% performance boost from this change.
+
+Mon Jan 16 17:57:53 UTC 2006 William Otte <wotte@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/AV.mpc
+
+ Fixed a linking error on OS X.
+
+Mon Jan 16 16:49:27 UTC 2006 Olli Savia <ops@iki.fi>
+
+ * tao/AnyTypeCode/SystemExceptionA.cpp:
+ * tao/Exception.h:
+ * tao/RTScheduling/Current.cpp:
+ * tao/SystemException.h:
+ * tao/SystemException.cpp:
+ * tests/RTScheduling/Scheduling_Interceptor/test_client.cpp:
+ * tests/RTScheduling/Thread_Cancel/Thread_Task.cpp:
+ Get rid of ACE_HAS_PREDEFINED_THREAD_CANCELLED_MACRO.
+ If macro THREAD_CANCELLED is defined we now simply undef it.
+
+Mon Jan 16 14:17:47 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/AnyTypeCode/Any_Special_Impl_T.cpp:
+
+ Delete the stored memory in _tao_decode() before calling
+ demarshal_value() to avoid leaking memory.
+
+ * tao/RTScheduling/Current.h:
+ * tao/RTScheduling/Current.cpp:
+ * tao/RTScheduling/Distributable_Thread.h:
+ * tao/RTScheduling/RTScheduler_Initializer.cpp:
+ * tao/RTScheduling/Request_Interceptor.h:
+ * tao/RTScheduling/Request_Interceptor.cpp:
+
+ Corrected various misuses of memory management.
+
+ * tests/CodeSets/simple/client.cpp:
+ * tests/CodeSets/simple/server.cpp:
+
+ Added memory cleanup code so these tests do not contribute to
+ the memory leak list.
+
+ * tests/OBV/TC_Alignment/test_i.cpp:
+
+ Call shutdown() on the ORB from within test_i::shutdown() instead
+ of destroy(). Calling destroy() within this context is not
+ allowed by CORBA 2.3.
+
+ * tests/Portable_Interceptors/Collocated/Service_Context_Manipulation/test_i.cpp:
+
+ Call shtdown() on the ORB with a wait_for_completion of zero
+ instead of 1. The later is not allowed by CORBA 2.3.
+
+ * tests/Portable_Interceptors/IORInterceptor/server.cpp:
+
+ This test registers a portable interceptor with the ORB. If
+ destroy() is not called on the ORB the interceptor initializer
+ will be leaked.
+
+ * tests/Queued_Message_Test/Queued_Message_Test.cpp:
+
+ The TAO_Asynch_Queued_Message needs to know if it is allocated on
+ the heap in order to clean itself properly.
+
+ * tests/RTScheduling/Current/Thread_Task.h:
+ * tests/RTScheduling/Current/Thread_Task.cpp:
+ * tests/RTScheduling/Current/test.cpp:
+ * tests/RTScheduling/DT_Spawn/Thread_Action.h:
+ * tests/RTScheduling/DT_Spawn/test.cpp:
+ * tests/RTScheduling/Scheduler.cpp:
+ * tests/RTScheduling/Scheduling_Interceptor/test_client.cpp:
+ * tests/RTScheduling/Scheduling_Interceptor/test_server.cpp:
+ * tests/RTScheduling/Thread_Cancel/Thread_Task.cpp:
+ * tests/RTScheduling/Thread_Cancel/test.cpp:
+ * tests/RTScheduling/VoidData/test_client.cpp:
+
+ Corrected various misuses of memory management.
+
+Mon Jan 16 05:51:14 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * orbsvcs/examples/ImR/Combined_Service/test.cpp (assertTrue):
+ Make sure to #include <string> so that "std::" makes sense.
+ Thanks to Ian Zagorskih <ianzag at megasignal dot com> for this
+ fix. This fixes bugid 2362.
+
+Sun Jan 15 19:18:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1869_Regression/client.cpp:
+ Fixed conversion warning
+
+Sun Jan 15 18:54:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1869_Regression/client.cpp:
+ Fixed unused argument warning
+
+Sun Jan 15 05:44:45 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Concurrency_Service/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Bidirectional_Flows/Makefile.am:
+ * orbsvcs/tests/AVStreams/Component_Switching/Makefile.am:
+ * orbsvcs/tests/AVStreams/Full_Profile/Makefile.am:
+ * orbsvcs/tests/AVStreams/Latency/Makefile.am:
+ * orbsvcs/tests/AVStreams/Modify_QoS/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multicast/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multicast_Full_Profile/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multiple_Flows/Makefile.am:
+ * orbsvcs/tests/AVStreams/Pluggable/Makefile.am:
+ * orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Three_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/Makefile.am:
+ * orbsvcs/tests/Concurrency/Makefile.am:
+ * orbsvcs/tests/Property/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/tests/Property/Property.mpc:
+
+ Update project to inherit from property_serv.mpb, as this
+ test uses a collocated concurrency service --- property.mpb
+ now only brings in the client stubs.
+
+ * orbsvcs/Concurrency_Service/Concurrency_Service.mpc:
+
+ Update project to inherit from concurrency_serv.mpb, as this
+ test uses a collocated concurrency service --- concurrency.mpb
+ now only brings in the client stubs.
+
+ * orbsvcs/orbsvcs/TAO_CosConcurrency.pc.in:
+ * orbsvcs/orbsvcs/TAO_CosConcurrency_Serv.pc.in:
+ * orbsvcs/orbsvcs/TAO_CosConcurrency_Skel.pc.in:
+
+ Split TAO_CosConcurrency.pc.in pkg-config template into one for
+ each library.
+
+ * orbsvcs/orbsvcs/Concurrency/concurrency_serv_export.h:
+ * orbsvcs/orbsvcs/Concurrency/concurrency_skel_export.h:
+
+ New export headers for CosConcurrency servant skeleton and
+ service implementation libraries.
+
+ * orbsvcs/orbsvcs/CosConcurrency.mpc:
+
+ Split CosConcurrency Service into three libraries:
+ CosConcurrency, CosConcurrency_Skel, and CosConcurrency_Serv for
+ client stubs, servant skeletons, and service implementation
+ respectively.
+
+ * orbsvcs/orbsvcs/TAO_CosProperty.pc.in:
+ * orbsvcs/orbsvcs/TAO_CosProperty_Serv.pc.in:
+ * orbsvcs/orbsvcs/TAO_CosProperty_Skel.pc.in:
+
+ Split TAO_CosProperty.pc.in pkg-config template into one for
+ each library.
+
+ * orbsvcs/orbsvcs/Property/property_serv_export.h:
+ * orbsvcs/orbsvcs/Property/property_skel_export.h:
+
+ New export headers for CosProperty servant skeleton and service
+ implementation libraries.
+
+ * orbsvcs/orbsvcs/CosProperty.mpc:
+
+ Split CosProperty Service into three libraries:
+ CosProperty, CosProperty_Skel, and CosProperty_Serv for client
+ stubs, servant skeletons, and service implementation
+ respectively.
+
+Sun Jan 15 05:35:57 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * orbsvcs/tests/InterfaceRepo/Makefile.am:
+ * orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/Makefile.am:
+
+ Added autoconf build support for this new test.
+
+Sat Jan 14 23:44:39 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+ * orbsvcs/orbsvcs/Log/Log_i.h:
+
+ Changed TAO_Log_i::set_capacity_alarm_thresholds() to compare
+ the new threshold list against the old. If they're the same,
+ we don't send a change notification.
+
+ Added operator== and operator!= for DsLogAdmin::
+ CapacityAlarmThresholdList.
+
+Sat Jan 14 16:29:47 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/TAO_CosEvent.pc.in:
+ * orbsvcs/orbsvcs/TAO_CosNaming.pc.in:
+ * orbsvcs/orbsvcs/TAO_CosTrading.pc.in:
+ * orbsvcs/orbsvcs/TAO_DsLogAdmin.pc.in:
+ * orbsvcs/orbsvcs/TAO_ETCL.pc.in:
+
+ Changed to Require TAO_AnyTypeCode.
+
+Sat Jan 14 09:35:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging/ExceptionHolder_i.h:
+ Fixed casing of include
+
+Fri Jan 13 13:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1869_Regression/*:
+ Added this regression to cvs, no fix yet and regression could
+ be improved more to give more output to the user
+
+Fri Jan 13 12:49:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging/ExceptionHolder_i.{h,cpp}:
+ * tao/Messaging/Messaging_ORBInitializer.{h,cpp}:
+ Added a OBV Factory for the ExceptionHolder. At the moment we use
+ AMI with collocation disabled the ExceptionHolder is marshaled
+ and then tried to be demarshaled and then we need an OBV factory.
+ For system exceptions things work fine now, for user exceptions
+ always an UNKNOWN exception occurs in the _excep method, the
+ meta data which user exceptions we could throw is not available
+ in the current callstack so we just can't recreate the correct
+ user exception, have to see how we could fix that but
+ this is at least a good step in the direction. This only works
+ for the new AMI mapping. This is part of the fix for bugzilla
+ bug 2350. Thanks to Alan Stokes <alan at alanstokes dot org dot uk>
+ for reporting this.
+
+Fri Jan 13 12:30:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/AMI/simple_client.cpp:
+ Print out the exception when we get a not expected exception
+
+Fri Jan 13 11:43:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Valuetype/ValueBase.cpp:
+ When no OBV Factory is found, throw a MARSHAL exception with
+ minor code 1 and completed MAYBE. This fixes bugzilla bug
+ 2354
+
+Fri Jan 13 04:57:20 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp:
+
+ Changed to #include "Thread_Lane_Resources.h". This was missed
+ in this change:
+
+ Thu Jan 12 00:31:27 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ because I didn't have SSL enabled at the time.
+
+Thu Jan 12 19:27:12 UTC 2006 Tim Bradley <bradley_t@ociweb.com>
+
+ * tests/Portable_Interceptors/Collocated/Dynamic/Collocated_Test.cpp
+ * tests/Portable_Interceptors/Collocated/Dynamic/Server_Task.cpp
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Collocated_Test.cpp
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Server_Task.cpp
+
+ The files listed above were modified to fix a problem that was
+ observed in two similar tests. The original problem was observed
+ to occur when the test application was shutting down, and is not
+ 100% repeatable. It is theorized that a race condition in the
+ existing test code, causing the tests to sometimes succeed.
+
+ When the test applications did fail, some platforms caused the
+ message "pure virtual method called" to be printed to standard
+ error. A core file, created using Linux (FC3), showed a somewhat
+ corrupt stack trace pointing to the implementation of the
+ shutdown() operation in the Visual_i (servant) class (test_i.cpp).
+
+ Both tests are very similar, and the following description applies
+ to both. Note that there are details not being described (such
+ as the Portable Interceptor usage), but are not important to the
+ problem that was fixed (hopefully).
+
+ The test is a "collocation" (thru_poa) test, consisting of one
+ application/executable. A single IDL interface (Visual)
+ is declared, and a servant class (Visual_i) is defined that
+ implements the interface.
+
+ The test application creates two active objects (ClientTask and
+ ServerTask), and two ORBs. Each active object is given its own
+ ORB to use, and then each is activated in a separate thread.
+ The "mainline" thread waits until both of the task threads complete,
+ performs the expected vs. actual results comparison, and then exits.
+
+ The ServerTask::svc() does the following:
+
+ - Obtain the RootPOA
+ - Create/activate the Visual_i servant object
+ - Save the IOR to a file
+ - Run the (server) ORB event loop.
+ - Destroy the RootPOA
+ - Destroy the (server) ORB.
+
+ The ClientTask::svc() does the following:
+
+ - Read/convert/narrow the server-side's IOR file into a
+ "Visual" object reference (using the ClientTask's ORB).
+ - Invoke each of the operations on the (Visual) object reference.
+ - Invoke the "shutdown" operation on the (Visual) object reference.
+
+ The problem lies with the servant's (Visual_i) implementation of
+ the "shutdown" operation. The IDL interface, Visual, declares the
+ "shutdown" operation to be a "oneway" operation. The
+ Visual_i::shutdown() method is implemented to invoke
+ "shutdown(false)" on the (server) ORB. This is a rather common
+ approach taken by many other TAO tests, but the approach doesn't
+ work here because the servant object is collocated (thru_poa).
+
+ The "oneway" operations do not work the same way under collocated
+ versus remote request contexts. A collocated oneway request gets
+ treated as if it were a synchronous request, for it is the client's
+ "requesting thread" that carries out the entire dispatching and
+ invocation of the appropriate method on the collocated servant
+ object. Control is not returned to the client's requesting thread
+ until the request is completely finished.
+
+ So, the steps that lead up to the problem in the tests is that
+ the ClientTask's thread is the thread that ends up invoking
+ shutdown() on the (server) ORB. At some point soon afterwards,
+ and before the ClientTask's thread has been given back control,
+ the (server) ORB event loop being run in the ServerTask completes.
+ This causes the ServerTask thread to continue on in its logic,
+ which is to destroy the (server) RootPOA, destroy the (server) ORB,
+ and then go away (the ServerTask thread, that is). Meanwhile,
+ the ClientTask's thread left executing a method in an object that
+ has been destroyed. When the stack is unwound, bad things happen,
+ and a segmentation fault, with a somewhat corrupt stack trace
+ is produced.
+
+ The fix to the tests was to stop destroying the (server) ORB
+ in the ServerTask thread. Instead, the application mainline code
+ was modified (Collocated_Test.cpp) to destroy the (server) ORB
+ after both the ServerTask and the ClientTask threads have
+ completed.
+
+
+Thu Jan 12 11:33:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
+ Replaced some return 0, with return false
+
+Thu Jan 12 11:08:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO-INSTALL.html:
+ Small updates
+
+Thu Jan 12 10:28:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/PluggableUDP/tests/SimplePerformance/server.cpp:
+ * examples/PluggableUDP/tests/SimplePerformance/client.cpp:
+ * performance-tests/Cubit/TAO/IDL_Cubit/client.cpp:
+ * performance-tests/Cubit/TAO/IDL_Cubit/server.cpp:
+ * performance-tests/Cubit/TAO/MT_Cubit/server.cpp:
+ * performance-tests/Cubit/TAO/MT_Cubit/client.cpp:
+ In rtp model don't do main redefinition
+
+Thu Jan 12 09:54:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Latency/DII/client.cpp:
+ * performance-tests/Sequence_Latency/DII/client.cpp:
+ Added include of AnyTypeCode/Any.h to get all operator <<
+
+Thu Jan 12 00:49:53 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/TAO_CosNotification.pc.in:
+
+ Add TAO_CosEvent to Requires.
+
+ * orbsvcs/orbsvcs/TAO_CosNotification_Skel.pc.in:
+
+ Add TAO_CosEvent_Skel to Requires.
+
+Thu Jan 12 00:31:27 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * TAO_IDL/be/be_visitor_arg_traits.cpp:
+ * TAO_IDL/be/be_visitor_home.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be/be_visitor_valuebox.cpp:
+ * examples/Kokyu_dsrt_schedulers/Task_Stats.inl:
+ * examples/RTCORBA/Activity/Task_Stats.inl:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ORB_Initializer.cpp:
+ * orbsvcs/orbsvcs/IOR_Multicast.cpp:
+ * orbsvcs/orbsvcs/Shutdown_Utilities.cpp:
+ * orbsvcs/orbsvcs/AV/TCP.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.cpp:
+ * orbsvcs/orbsvcs/IFRService/EventPortDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/Options.h:
+ * orbsvcs/orbsvcs/IFRService/ProvidesDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/UsesDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp:
+ * orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h:
+ * orbsvcs/orbsvcs/Notify/EventChannel.cpp:
+ * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp:
+ * orbsvcs/orbsvcs/Notify/Event_Manager.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp:
+ * orbsvcs/orbsvcs/Notify/Random_File.cpp:
+ * orbsvcs/orbsvcs/Notify/ThreadPool_Task.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/ServerRequest_Interceptor.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/ServerRequest_Interceptor2.cpp:
+ * orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp:
+ * orbsvcs/tests/Notify/Blocking/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/lib/Activation_Manager.h:
+ * orbsvcs/tests/Notify/lib/Periodic_Consumer.cpp:
+ * orbsvcs/tests/Notify/lib/Task_Stats.inl:
+ * tao/Any_Insert_Policy_T.h:
+ * tao/ORB_Table.inl:
+ * tao/WrongTransactionC.cpp:
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl:
+ * tao/Codeset/UTF16_BOM_Factory.cpp:
+ * tao/Codeset/UTF8_Latin1_Factory.cpp:
+
+ On systems where ACE_TEMPLATES_REQUIRE_SOURCE is not defined,
+ template implementation files (*_T.cpp) are not #included by the
+ corresponding template header file (*_T.h). So headers that had
+ been implicitly #included via the template implementation file,
+ may now need to be #included explicitly.
+
+ This change explicitly #includes those headers (most commonly
+ ace/Log_Msg.h and ace/Auto_Ptr.h). Now TAO can be built with
+ autoconf on Solaris using the Sun Studio C++ compiler.
+
+ Thanks to Vladimir Panov for reporting this problem and
+ providing the initial patch.
+
+Tue Jan 10 19:38:49 UTC 2006 Scott Harris <harris_s@ociweb.com>
+
+ * orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/main.cpp:
+
+ Fix VC++ v6.0 compile error and conform to ACE coding standards.
+
+Tue Jan 10 19:26:58 UTC 2006 Wallace Zhang <zhangw@ociweb.com>
+
+ * tests/Portable_Interceptors/Collocated/Dynamic/Collocated_Test.cpp:
+ * tests/Portable_Interceptors/Collocated/Dynamic/Server_Task.cpp:
+
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Collocated_Test.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Server_Task.cpp:
+
+ On behalf of Tim Bradley (bradley_t@ociweb.com), applying these
+ changes to resolve the failure of the two tests.
+
+Tue Jan 10 10:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2349_Regression/server.cpp:
+ Added missign return
+
+Mon Jan 9 23:33:10 UTC 2006 Iliyan Jeliazkov <jeliazkov_i@ociweb.com>
+
+ * orbsvcs/tests/Notify/lib/common.h:
+
+ Correcting a build problem due to the wrong placement of an
+ export modifier in the function's declaration.
+
+Mon Jan 9 13:51:05 MST 2006 Scott Harris <harris_s@ociweb.com>
+
+ * orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp:
+
+ Fixed an Interface Repository inheritance bug.
+ Thanks to Bryan Cassell <BryanCassell@iti-team.com> for identifying
+ the problem.
+ Thanks to Jeff Parsons <j.parsons@vanderbilt.edu> for reviewing
+ the changes.
+
+ * orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/IFR_Inheritance_Test.mpc:
+ * orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/README:
+ * orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/main.cpp:
+ * orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/run_test.pl:
+ * orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/IFR_Inheritance_Test.idl:
+
+ An automated test of the bug.
+
+Mon Jan 9 16:20:05 UTC 2006 Iliyan Jeliazkov <jeliazkov_i@ociweb.com>
+
+ * orbsvcs/tests/Notify/lib/common.cpp:
+
+ Correcting a build problem due to an unnecessary export in the
+ function's definition.
+
+Mon Jan 9 13:47:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2349_Regression/*:
+ Added regression for this test. Not fixed yet, just to make
+ clear that we have this bug, thanks to Chad Elliot
+ <elliott_c at ociweb dot com> for creating this regression
+ test.
+
+Mon Jan 9 13:11:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/Security/SSLIOP-INSTALL.html:
+ Updated this file, update references to local files instead
+ of webbased and refer to ACE-INSTALL.html for how to build
+ ACE_SSL
+
+Mon Jan 9 09:26:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Valuetype/ValueFactory_Map.h:
+ No need to export this class from the Valuetype library
+
+Mon Jan 9 08:59:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OBV/Factory/client.cpp:
+ Extended this test to check if we get a marshal exception with
+ minor code 1 when using OBV without a valuefactory registered.
+ This is added for bugzilla bug 2354
+
+Mon Jan 9 08:10:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Cubit/TAO/MT_Cubit/client.cpp:
+ Made this test compiling with VxWorks and pthread support
+
+Fri Jan 6 19:03:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/AMI/run_test.pl:
+ Extended this test to also run the client with -ORBCollocation
+ no. This will fail at this moment, this bug seems to be there
+ already for a long time, not it is visible for everyone
+
+ * tao/Valuetype/ValueBase.cpp:
+ Use true/false instead of 0/1
+
+Fri Jan 6 18:25:18 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/Notify/Blocking/Makefile.am:
+ * orbsvcs/tests/Notify/Discarding/Makefile.am:
+ * orbsvcs/tests/Notify/Ordering/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Makefile.am:
+
+ Regenerated.
+
+Fri Jan 6 16:14:56 UTC 2006 Iliyan Jeliazkov <jeliazkov_i@ociweb.com>
+
+ * orbsvcs/tests/Notify/lib/Makefile.am:
+ * orbsvcs/tests/Notify/lib/common.h:
+ * orbsvcs/tests/Notify/lib/common.cpp:
+
+ Newly created to give permanent home to previously scattered and
+ duplicated functionality. Updated to use the
+ ACE_[U]INT[16|32|64]_FORMAT_SPECIFIER macros. Thanks to Johnny
+ Willemsen <jwillemsen@remedy.nl> for suggesting it.
+
+ * orbsvcs/tests/Notify/Blocking/common.h:
+ * orbsvcs/tests/Notify/Blocking/common.cpp:
+ * orbsvcs/tests/Notify/Discarding/common.h:
+ * orbsvcs/tests/Notify/Discarding/common.cpp:
+ * orbsvcs/tests/Notify/Ordering/common.h:
+ * orbsvcs/tests/Notify/Ordering/common.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/common.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/common.h:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/common.h:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/common.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/common.h:
+ * orbsvcs/tests/Notify/performance-tests/Filter/common.cpp:
+
+ Removed these files to eliminate duplication. Moved the code to
+ the lib/common.{cpp|h}
+
+ * orbsvcs/tests/Notify/Blocking/Blocking.mpc:
+ * orbsvcs/tests/Notify/Discarding/Discarding.mpc:
+ * orbsvcs/tests/Notify/Ordering/Ordering.mpc:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Seq_Multi_ETCL_Filter.mpc:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Seq_Multi_Filter.mpc:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Filter.mpc:
+
+ Updated to remove references to common.{cpp|h}
+
+ * orbsvcs/tests/Notify/Blocking/Makefile.am:
+ * orbsvcs/tests/Notify/Discarding/Makefile.am:
+ * orbsvcs/tests/Notify/Ordering/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Makefile.am:
+
+ Updated to remove references to common.{cpp|h}
+
+Fri Jan 6 12:23:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Valuetype/ValueBase.cpp:
+ When no OBV Factory is found, tell in the error message for what we
+ are lacking an OBV Factory.
+
+Thu Jan 5 19:56:43 2006 Michi Henning <michi@triodia.com>
+
+ * End of bloatware predicted.
+
+Fri Jan 6 03:16:41 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * interop-tests/wchar/Makefile.am:
+
+ Regenerated.
+
+ * interop-tests/wchar/interop_wchar.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Fri Jan 6 02:34:55 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h:
+
+ Moved static const definitions out of class declaration as VC6
+ doesn't support this. Thanks to Wallace Zhang for the initial
+ patch for Notify Service, which I've adapted for the Logging
+ Service.
+
+Fri Jan 6 01:57:00 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/ior_corbaloc/Makefile.am:
+
+ Regenerated.
+
+ * examples/ior_corbaloc/ior_corbaloc.mpc:
+
+ Changed client and corbaname client projects not to inherit
+ from portableserver. These are pure clients.
+
+ Changed corbaname client project to not add status_i.cpp to
+ Source Files section. It's not part of the client.
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+ * examples/ior_corbaloc/corbaname_client.cpp
+
+ Changed to #include "corbanameC.h" instead of
+ "ior_corbaloc_client_i.h", which is actually part of the
+ client project.
+
+Thu Jan 5 15:50:47 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Simple/bank/Makefile.am:
+ * examples/Simple/chat/Makefile.am:
+ * examples/Simple/echo/Makefile.am:
+ * examples/Simple/grid/Makefile.am:
+ * examples/Simple/time/Makefile.am:
+
+ Regenerated.
+
+ * examples/Simple/bank/bank.mpc:
+ * examples/Simple/chat/chat.mpc:
+ * examples/Simple/echo/echo.mpc:
+ * examples/Simple/grid/grid.mpc:
+ * examples/Simple/time/time.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Thu Jan 5 15:44:15 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Release:
+
+ Add TAO/m4 subdirectory to CONTROLLED_FILES.
+
+Thu Jan 5 10:29:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/AMI/simple_client.cpp:
+ Small layout fixes
+
+ * tests/AMI/client.cpp:
+ Use prefix decrement
+
+Thu Jan 5 09:52:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/IFR_Service/be_init.cpp:
+ Fixed 64bit conversion warnings
+
+Wed Jan 4 21:27:38 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Changed "add-log-time-format" to a really ugly lambda expression
+ that formats changelog timestamps in UTC and works with both GNU
+ Emacs and XEmacs.
+
+Wed Jan 4 11:08:58 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * TAO_IDL/ast/ast_expression.cpp:
+
+ Fix cut-n-pasto where unsigned long longs / long longs were
+ compared with a floating point zero literal. This should be
+ benign, but triggers a VC6 bug.
+
+Wed Jan 4 09:54:01 2006 David Giovannini <giovannd@ociweb.com>
+
+ * orbsvcs/ImplRepo_Service/Activator_Loader.cpp:
+ * orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp:
+ * orbsvcs/ImplRepo_Service/Activator_Options.h:
+ * orbsvcs/ImplRepo_Service/Activator_Options.cpp:
+ * orbsvcs/ImplRepo_Service/Adapter_Activator.cpp:
+ * orbsvcs/ImplRepo_Service/AsyncStartupWaiter_i.h:
+ * orbsvcs/ImplRepo_Service/AsyncStartupWaiter_i.cpp:
+ * orbsvcs/ImplRepo_Service/Forwarder.cpp:
+ * orbsvcs/ImplRepo_Service/INS_Locator.cpp:
+ * orbsvcs/ImplRepo_Service/ImR_Activator.cpp:
+ * orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp:
+ * orbsvcs/ImplRepo_Service/ImR_Locator.cpp:
+ * orbsvcs/ImplRepo_Service/ImR_Locator.idl:
+ * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp:
+ * orbsvcs/ImplRepo_Service/Iterator.cpp:
+ * orbsvcs/ImplRepo_Service/Locator_Loader.h:
+ * orbsvcs/ImplRepo_Service/Locator_Loader.cpp:
+ * orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp:
+ * orbsvcs/ImplRepo_Service/Locator_Options.h:
+ * orbsvcs/ImplRepo_Service/Locator_Options.cpp:
+ * orbsvcs/ImplRepo_Service/Locator_Repository.cpp:
+ * orbsvcs/ImplRepo_Service/Locator_XMLHandler.h:
+ * orbsvcs/ImplRepo_Service/Locator_XMLHandler.cpp:
+ * orbsvcs/ImplRepo_Service/Server_Info.cpp:
+ * orbsvcs/ImplRepo_Service/tao_imr_i.cpp:
+
+ Corrected white-space to match ACE/TAO guidelines.
+ Adding a const to an int in Imr_Locator_i.cpp.
+ Changing a command line behavior for defualt activator
+ in tao_imr_i.cpp.
+
+Tue Jan 3 21:34:30 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * ChangeLog:
+
+ Add "indent-tabs-mode: nil" to Local Variables at end of file.
+ Untabify.
+ Delete-trailing-whitespace.
+
+Tue Jan 3 11:27:56 2006 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/OBV/Typed_Events/Makefile.am:
+ * examples/POA/DSI/Makefile.am:
+ * examples/POA/Default_Servant/Makefile.am:
+ * examples/POA/Forwarding/Makefile.am:
+ * examples/PluggableUDP/tests/Basic/Makefile.am:
+ * examples/PluggableUDP/tests/Performance/Makefile.am:
+ * examples/PluggableUDP/tests/SimplePerformance/Makefile.am:
+ * examples/Quoter/Makefile.am:
+
+ Regenerated.
+
+ * examples/OBV/Typed_Events/Typed_Events.mpc:
+ * examples/POA/DSI/POA_DSI.mpc:
+ * examples/POA/Default_Servant/POA_Default_Servant.mpc:
+ * examples/POA/Forwarding/POA_Forwarding.mpc:
+ * examples/PluggableUDP/tests/Basic/Basic.mpc:
+ * examples/PluggableUDP/tests/Performance/Performance.mpc:
+ * examples/PluggableUDP/tests/SimplePerformance/SimplePerformance.mpc:
+ * examples/Quoter/Quoter.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Tue Jan 3 10:39:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2345_Regression/server.cpp:
+ Fixed unused variable warning
+
+Mon Jan 2 18:45:12 UTC UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2345_Regression/server.cpp:
+ Fixed implicit conversion warning
+
+Mon Jan 2 15:21:27 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp:
+
+ Fixed a bug in the describe_interface() API operation that occurs
+ when an interface has one or more parents. Thanks to Scott Harris
+ <harris_s@ociweb.com> for reporting the problem.
+
+Mon Jan 2 14:12:15 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/tao_idl.cpp:
+ * TAO_IDL/driver/drv_args.cpp:
+ * TAO_IDL/driver/drv_preproc.cpp:
+ * TAO_IDL/include/drv_extern.h:
+ * TAO_IDL/include/idl_global.h:
+ * TAO_IDL/util/utl_global.cpp:
+
+ - Frontend changes necessary to support a backend option
+ for the CoSMIC IDL importer that passes a directory
+ name instead of a list of IDL files. This option is
+ not available for any other backends and should not
+ affect their behavior.
+
+ - Added a patch submitted by Ken Sedgwick <ken+5a4@bonsai,com>
+ that fixes a bug in the functioning of TAO_IDL_INCLUDE_DIR.
+
+Sun Jan 1 10:50:39 2006 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp (is_alive):
+ Fixed a couple of bugs reported by Yariv Tal
+ <yariv_tal2003@hotmail.com>. This fixes bugid 2347.
+
+Fri Dec 30 15:36:04 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Event_Comm/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/fp_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/mif_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/muf_example/Makefile.am:
+ * examples/Logging/Makefile.am:
+
+ Regenerated.
+
+ * examples/Event_Comm/Event_Comm.mpc:
+ * examples/Kokyu_dsrt_schedulers/fp_example/fp_example.mpc:
+ * examples/Kokyu_dsrt_schedulers/mif_example/mif_example.mpc:
+ * examples/Kokyu_dsrt_schedulers/muf_example/muf_example.mpc:
+ * examples/Logging/Logging.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Fri Dec 30 16:15:24 2005 Wallace Zhang <zhangw@ociweb.com>
+
+ * NEWS: Updated information for the wchar refactoring work.
+
+Wed Dec 30 14:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/RTScheduling/MIF_Scheduler/MIF_DT_Creator.cpp:
+ * tests/MT_Timeout/server.cpp:
+ * tests/Crash_On_Write/server.cpp:
+ Fixed compile error
+
+Wed Dec 30 12:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2345_Regression/*:
+ Added regression for bug 2345, this is not fixed yet, just
+ adding the regression first. Thanks to Yariv Tal
+ <yariv_tal2003 at hotmail dot com> for reporting this
+ problem and delivering this simple regression
+
+Thu Dec 29 11:43:02 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Content_Server/AMI_Iterator/Makefile.am
+ * examples/Content_Server/AMI_Observer/Makefile.am
+ * examples/Content_Server/SMI_Iterator/Makefile.am
+
+ Regenerated.
+
+ * examples/Content_Server/AMI_Iterator/AMI_Iterator.mpc:
+ * examples/Content_Server/AMI_Observer/AMI_Observer.mpc:
+ * examples/Content_Server/SMI_Iterator/SMI_Iterator.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Thu Dec 29 11:26:45 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/Bug_2316_Regression/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/tests/Bug_2316_Regression/Bug_2316_Regression.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Thu Dec 29 09:43:07 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/PI/PI_PolicyFactory.cpp:
+ * tao/PI/ProcessingModePolicy.h:
+ * tao/PI/ProcessingModePolicy.pidl:
+
+ Took care of some TBD comments. The TBD in the .pidl has been
+ changed into a Doxygen @todo.
+
+Thu Dec 29 07:29:38 2005 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * NEWS:
+
+ Added Comment regarding new Endpoint Selector.
+
+Thu Dec 29 06:47:37 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/Strategies/OC_Endpoint_Selector_Factory.cpp:
+
+ Wrapped plain text string in ACE_TEXT () to avoid problems on
+ wide-character builds.
+
+Wed Dec 28 18:20:23 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Callback_Quoter/Makefile.am:
+
+ Regenerated.
+
+ * examples/Callback_Quoter/Callback_Quoter.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Wed Dec 28 17:07:23 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/AMH/Sink_Server/Makefile.am:
+ * examples/Buffered_AMI/Makefile.am:
+ * examples/Buffered_Oneways/Makefile.am:
+
+ Regenerated.
+
+ * examples/AMH/Sink_Server/Sink_Server.mpc:
+ * examples/Buffered_AMI/Buffered_AMI.mpc:
+ * examples/Buffered_Oneways/Buffered_Oneways.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Wed Dec 28 13:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Native_Exceptions/Native_Exceptions.mpc:
+ * tests/UNKNOWN_Exception/UNKNOWN_Exception.mpc:
+ Removed setting of idlflags, native exceptions are the default
+ now and the overruling of the idlflags gives problem when
+ trying to extend TAO_IDLFLAGS from the platform_macros.GNU
+ file
+
+Wed Dec 28 11:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Cubit/TAO/MT_Cubit/client.cpp:
+ Made this test compiling again with VxWorks 6.1, the WIND_TCB
+ struct has been changed and shouldn't be used directly anymore
+
+Wed Dec 28 10:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/RTScheduling/Synch_i.cpp:
+ Cast number of seconds explicitly to time_t
+
+Wed Dec 28 10:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp:
+ Applied a workaround for Borland to not give argument not used
+ warnings. This problem has been reported to Borland to get it
+ fixed in the next version.
+
+Wed Dec 28 09:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp:
+ Fixed 64bit conversion warning
+
+Wed Dec 28 09:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/test_i.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/test_i.h:
+ No need to derive explicitly from ServantBase
+
+Wed Dec 28 09:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * utils/catior/catior.cpp:
+ * tao/TypeCodeFactory/TypeCodeFactory_Loader.cpp:
+ * tao/PortableServer/Root_POA.cpp:
+ * tao/PortableServer/RequestProcessingStrategyFactoryImpl.cpp:
+ * tao/PortableServer/RequestProcessingStrategyDefaultServantFI.cpp:
+ * tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp:
+ * tao/PortableServer/Object_Adapter.cpp:
+ Added missing include
+
+Wed Dec 28 08:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Strategies/Optimized_Connection_Endpoint_Selector.cpp:
+ Removed incorrect ; at end of method
+
+Tue Dec 27 22:50:22 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/CosTrading.mpc:
+
+ Fix typo in last change.
+
+Tue Dec 27 18:17:49 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/CosTrading.mpc:
+
+ Tweak so trading_serv_export.h is installed.
+
+Tue Dec 27 17:21:54 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/CosNotification.mpc:
+
+ Tweak so notify_serv_export and notify_persist_export.h are
+ installed.
+
+ * orbsvcs/orbsvcs/CosTime.mpc:
+
+ Tweak so time_export.h is installed.
+
+ * orbsvcs/orbsvcs/CosEvent.mpc:
+ * orbsvcs/orbsvcs/ec_typed_events_serv.mpb:
+
+ Tweak so that CEC_Defaults.h and event_serv_export.h are
+ installed.
+
+Tue Dec 27 16:17:30 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/CosConcurrency.mpc:
+
+ Tweak so concurrency_export.h is installed. Thanks to Vladimir
+ Panov for pointing out this class of problems.
+
+ * tao/Makefile.am:
+
+ Regenerated due to new Optimized Connection Endpoint Selector
+ feature. C.f.:
+
+ Tue Dec 27 08:22:42 2005 Phil Mesnier <mesnier_p@ociweb.com>
+
+Tue Dec 27 15:33:28 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+
+ Remove DISTCLEANFILES definitions. We no longer ship
+ tao-config and tao-config.1.
+
+ * Makefile.am:
+
+ Build examples and interop-tests subdirectories.
+
+ * Makefile.am:
+
+ I accidently clobbered this file by checking in the MPC
+ generated version. Restore to revision 1.13, the last
+ known good version.
+
+Tue Dec 27 15:11:18 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Release
+
+ Add aclocal.m4 to RELEASE_FILES. Thanks to Vladimir Panov
+ < gbr at voidland dot org >.
+
+Fri Dec 23 20:17:39 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h:
+
+ Changed lock strategy of implicit_ids_, filterable_data_, and
+ variable_header_ maps from TAO_SYNCH_MUTEX to ACE_Null_Mutex,
+ since accesses to the maps are already protected at a higher
+ level.
+
+ Explicitly set the size of the implicit_ids_, filterable_data_,
+ and variable_header_ maps to 27, 31, and 31 hash buckets
+ respectively.
+
+ A fixed set of 9 keys are stored in implicit_ids_. With the
+ default hash_pjw() hash function, 27 buckets is the smallest
+ table where each key is hashed to a unique bucket. Further
+ optimizations, perhaps using a minimal perfect hash, may be
+ possible.
+
+ A 31 bucket hash table size was selected for filterable_data_
+ and variable_header_ because a typical structured event has very
+ few if any attributes, the cost of allocating default (1024 hash
+ buckets) size maps outweigh any benefits of fewer hash
+ collisions.
+
+Tue Dec 27 12:24:29 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+
+ Fixed botched ACLOCAL_AMFLAGS definition.
+
+Tue Dec 27 11:34:29 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+
+ Build examples subdirectory.
+
+ * examples/Makefile.am:
+
+ Disable building CSD_Strategy and RTScheduling subdirectories.
+ These *.mpc files need major changes to support separate build
+ directories. This is too risky to complete within this beta
+ cycle.
+
+ * performance-tests/Makefile.am:
+
+ Disable building CSD_Strategy subdirectory.
+ These *.mpc files need major changes to support separate build
+ directories. This is too risky to complete within this beta
+ cycle.
+
+ * examples/Load_Balancing/Makefile.am:
+ * examples/Load_Balancing_persistent/Makefile.am:
+ * examples/POA/Adapter_Activator/Makefile.am:
+ * examples/POA/Explicit_Activation/Makefile.am:
+ * examples/POA/On_Demand_Activation/Makefile.am:
+ * examples/POA/Reference_Counted_Servant/Makefile.am:
+ * examples/POA/TIE/Makefile.am:
+ * examples/Persistent_Grid/Makefile.am:
+ * examples/Simulator/Event_Supplier/Makefile.am:
+
+ Regenerated.
+
+ * examples/POA/Adapter_Activator/POA_Adapter_Activator.mpc:
+ * examples/POA/Explicit_Activation/POA_Explicit_Activation.mpc:
+ * examples/POA/On_Demand_Activation/POA_On_Demand_Activation.mpc:
+ * examples/POA/Reference_Counted_Servant/Reference_Counted_Servant.mpc:
+
+ Change automake specific includes definitions to to have both
+ build dir and source dir relative paths.
+
+ * examples/Load_Balancing/Load_Balancing.mpc:
+ * examples/Load_Balancing_persistent/Load_Balancing_persistent.mpc:
+ * examples/POA/TIE/POA_TIE.mpc:
+ * examples/Persistent_Grid/Persistent_Grid.mpc:
+ * examples/Simulator/Event_Supplier/Event_Supplier.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Tue Dec 27 08:22:42 2005 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * tao/Profile_Transport_Resolver.cpp:
+ * tao/Profile_Transport_Resolver.h:
+ * tao/Strategies/OC_Endpoint_Selector_Loader.cpp:
+ * tao/Strategies/OC_Endpoint_Selector_Loader.h:
+ * tao/Strategies/OC_Endpoint_Selector_Factory.cpp:
+ * tao/Strategies/OC_Endpoint_Selector_Factory.h:
+ * tao/Strategies/Optimized_Connection_Endpoint_Selector.cpp:
+ * tao/Strategies/Optimized_Connection_Endpoint_Selector.h:
+
+ A new feature requested by Homag. This feature is an
+ alternative endpoint selector that improves the performance of
+ connection establishment when an IOR contains unreachable
+ endpoints. The two elements of this optimization are a
+ connection cache lookup before attempting any connections and a
+ second means for setting the connection timeout without loading
+ the AMI library to use the TAO-specific connection timeout
+ policy.
+
+ * tests/AlternateIIOP/svc.conf:
+
+ The alternate IIOP test now uses the Optimized Connection
+ Endpoint Selector to speed up the selection of the correct endpoint.
+
+Tue Dec 27 09:18:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/FlResource_Loader.h:
+ * tao/TkResource_Loader.h:
+ Added missing versioning include. Thanks to
+ Ken Sedgwick <ken at bonsai dot com>
+
+Tue Dec 27 09:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/IORInterceptor/IORInterceptor_Details.h:
+ Fixed pragma once warning
+
+Fri Dec 23 16:16:20 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add orbsvcs/tests/Bug_2316_Regression/Makefile to
+ AC_CONFIG_FILES.
+
+ * orbsvcs/tests/Bug_2316_Regression/Makefile.am:
+
+ New file.
+
+Fri Dec 23 13:06:22 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h:
+
+ Don't assign values to dynamically allocated Any's if the
+ allocation failed.
+
+ Remove rec_ member variable. The constructor extracts all
+ relevant fields and adds them to property_lookup_ map.
+
+ Const-qualify constructor argument.
+
+Fri Dec 23 10:47:55 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp:
+
+ Removed unused variable.
+
+Fri Dec 23 09:09:14 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/PI/PI_ORBInitializer.h:
+ * tao/PI/PI_ORBInitializer.cpp:
+ * tao/PI/PI_PolicyFactory.h:
+ * tao/PI/PI_PolicyFactory.cpp:
+ * tao/PI/ProcessingModePolicy.h:
+ * tao/PI/ProcessingModePolicy.cpp:
+
+ Added the TAO versioning namespace macros.
+
+Fri Dec 23 08:50:37 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Echo_Collocated_ORBInitializer.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/interceptors.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/test_i.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Echo_Client_ORBInitializer.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Echo_Server_ORBInitializer.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/client_interceptor.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/server_interceptor.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/test_i.h:
+
+ Fixed fuzz errors related to RefCountedServantBase and _MSC_VER >=
+ 1200.
+
+Fri Dec 23 13:24:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/util/utl_err.cpp:
+ Added include of Log_Msg.h to get ACE_ERROR. Can't reproduce
+ it on my machine but it can be that because of other defines
+ this file is not included implicitly. This fixes bugzilla bug
+ 2342. Thanks to Dave Craig <dwcraig at qualcomm dot com> for
+ reporting this.
+
+Fri Dec 23 10:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/IIOP_Acceptor.cpp:
+ * examples/POA/On_Demand_Loading/Servant_Manager.cpp:
+ Fixed 64bit conversion warnings
+
+Fri Dec 23 10:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Native_Exceptions/Native_Exceptions.mpc:
+ * tests/UNKNOWN_Exception/UNKNOWN_Exception.mpc:
+ Changed the way we change the TAO_IDL flags so that adding
+ more flags from the platform_macros.GNU file works for these
+ projects
+
+Fri Dec 23 10:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/PI_PolicyFactory.h:
+ Fixed export macros
+
+Fri Dec 23 10:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/ClientRequestDetails.{h,inl}:
+ * tao/PI_Server/ServerRequestDetails.{h,inl}:
+ * tao/IORInterceptor/IORInterceptor_Details.{h,inl,cpp}:
+ Fixed pragma once warning, removed empty destructor, not needed
+
+ * tao/IORInterceptor/IORInterceptor_Details.inl:
+ Removed this file, it is now empty
+
+ * tao/Makefile.am:
+ Updated
+
+Fri Dec 23 08:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/PI_ORBInitializer.h:
+ * tao/PI/ProcessingModePolicy.h:
+ Fixed export macros
+
+Thu Dec 22 16:07:11 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * docs/tutorials/Quoter/RT_Event_Service/Makefile.am:
+ * examples/Makefile.am:
+ * examples/AMH/Sink_Server/Makefile.am:
+ * examples/AMI/FL_Callback/Makefile.am:
+ * examples/Buffered_AMI/Makefile.am:
+ * examples/Buffered_Oneways/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool2/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool3/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool5/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool6/Makefile.am:
+ * examples/Content_Server/AMI_Iterator/Makefile.am:
+ * examples/Content_Server/AMI_Observer/Makefile.am:
+ * examples/Content_Server/SMI_Iterator/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/mif_example/Makefile.am:
+ * examples/Load_Balancing/Makefile.am:
+ * examples/Load_Balancing_persistent/Makefile.am:
+ * examples/OBV/Typed_Events/Makefile.am:
+ * examples/POA/DSI/Makefile.am:
+ * examples/POA/Default_Servant/Makefile.am:
+ * examples/POA/Forwarding/Makefile.am:
+ * examples/POA/Generic_Servant/Makefile.am:
+ * examples/POA/TIE/Makefile.am:
+ * examples/Persistent_Grid/Makefile.am:
+ * examples/PluggableUDP/tests/Basic/Makefile.am:
+ * examples/PluggableUDP/tests/Performance/Makefile.am:
+ * examples/PluggableUDP/tests/SimplePerformance/Makefile.am:
+ * examples/Simulator/Event_Supplier/Makefile.am:
+ * interop-tests/wchar/Makefile.am:
+ * orbsvcs/Event_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Event_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Factory_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Gateway_Service/Makefile.am:
+ * orbsvcs/FT_ReplicationManager/Makefile.am:
+ * orbsvcs/Fault_Detector/Makefile.am:
+ * orbsvcs/Fault_Notifier/Makefile.am:
+ * orbsvcs/IFR_Service/Makefile.am:
+ * orbsvcs/ImplRepo_Service/Makefile.am:
+ * orbsvcs/Logging_Service/RTEvent_Logging_Service/Makefile.am:
+ * orbsvcs/Naming_Service/Makefile.am:
+ * orbsvcs/Notify_Service/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/bin/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Makefile.am:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/Makefile.am:
+ * orbsvcs/examples/LoadBalancing/Makefile.am:
+ * orbsvcs/examples/Log/RTEvent/Makefile.am:
+ * orbsvcs/examples/Notify/Federation/Agent/Makefile.am:
+ * orbsvcs/examples/Notify/Federation/Gate/Makefile.am:
+ * orbsvcs/examples/Notify/Federation/SpaceCraft/Makefile.am:
+ * orbsvcs/examples/Notify/Subscribe/Makefile.am:
+ * orbsvcs/examples/RtEC/IIOPGateway/Makefile.am:
+ * orbsvcs/examples/RtEC/Kokyu/Makefile.am:
+ * orbsvcs/examples/RtEC/MCast/Makefile.am:
+ * orbsvcs/examples/RtEC/Schedule/Makefile.am:
+ * orbsvcs/examples/RtEC/Simple/Makefile.am:
+ * orbsvcs/performance-tests/LoadBalancing/LBPerf/RPS/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/TCP_Baseline/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/lib/Makefile.am:
+ * orbsvcs/tests/Makefile.am:
+ * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Bidirectional_Flows/Makefile.am:
+ * orbsvcs/tests/AVStreams/Component_Switching/Makefile.am:
+ * orbsvcs/tests/AVStreams/Full_Profile/Makefile.am:
+ * orbsvcs/tests/AVStreams/Latency/Makefile.am:
+ * orbsvcs/tests/AVStreams/Modify_QoS/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multicast/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multicast_Full_Profile/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multiple_Flows/Makefile.am:
+ * orbsvcs/tests/AVStreams/Pluggable/Makefile.am:
+ * orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Three_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/Makefile.am:
+ * orbsvcs/tests/Bug_2137_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2247_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2248_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2285_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2287_Regression/Makefile.am:
+ * orbsvcs/tests/EC_Custom_Marshal/Makefile.am:
+ * orbsvcs/tests/EC_MT_Mcast/Makefile.am:
+ * orbsvcs/tests/EC_Mcast/Makefile.am:
+ * orbsvcs/tests/EC_Multiple/Makefile.am:
+ * orbsvcs/tests/EC_Throughput/Makefile.am:
+ * orbsvcs/tests/Event/Basic/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Common/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Complex/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Simple/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Two_Way/Makefile.am:
+ * orbsvcs/tests/Event/Performance/Makefile.am:
+ * orbsvcs/tests/Event/lib/Makefile.am:
+ * orbsvcs/tests/FT_App/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/IOGR/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile.am:
+ * orbsvcs/tests/FtRtEvent/Makefile.am:
+ * orbsvcs/tests/ImplRepo/Makefile.am:
+ * orbsvcs/tests/InterfaceRepo/Latency_Test/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile.am:
+ * orbsvcs/tests/Security/Big_Request/Makefile.am:
+ * orbsvcs/tests/Security/Callback/Makefile.am:
+ * orbsvcs/tests/Security/Crash_Test/Makefile.am:
+ * orbsvcs/tests/Security/MT_IIOP_SSL/Makefile.am:
+ * orbsvcs/tests/Security/MT_SSLIOP/Makefile.am:
+ * orbsvcs/tests/Security/Secure_Invocation/Makefile.am:
+ * performance-tests/Makefile.am:
+ * performance-tests/Anyop/Makefile.am:
+ * performance-tests/Callback/Makefile.am:
+ * performance-tests/Cubit/TAO/DII_Cubit/Makefile.am:
+ * performance-tests/Cubit/TAO/IDL_Cubit/Makefile.am:
+ * performance-tests/Cubit/TAO/MT_Cubit/Makefile.am:
+ * performance-tests/Latency/AMH_Single_Threaded/Makefile.am:
+ * performance-tests/Latency/AMI/Makefile.am:
+ * performance-tests/Latency/Collocation/Makefile.am:
+ * performance-tests/Latency/DII/Makefile.am:
+ * performance-tests/Latency/DSI/Makefile.am:
+ * performance-tests/Latency/Deferred/Makefile.am:
+ * performance-tests/Latency/Single_Threaded/Makefile.am:
+ * performance-tests/Latency/Thread_Per_Connection/Makefile.am:
+ * performance-tests/Latency/Thread_Pool/Makefile.am:
+ * performance-tests/POA/Create_Reference/Makefile.am:
+ * performance-tests/POA/Implicit_Activation/Makefile.am:
+ * performance-tests/POA/Object_Creation_And_Registration/Makefile.am:
+ * performance-tests/Protocols/Makefile.am:
+ * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile.am:
+ * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Makefile.am:
+ * performance-tests/RTCorba/Thread_Pool/Makefile.am:
+ * performance-tests/Sequence_Latency/AMH_Single_Threaded/Makefile.am:
+ * performance-tests/Sequence_Latency/AMI/Makefile.am:
+ * performance-tests/Sequence_Latency/DII/Makefile.am:
+ * performance-tests/Sequence_Latency/DSI/Makefile.am:
+ * performance-tests/Sequence_Latency/Deferred/Makefile.am:
+ * performance-tests/Sequence_Latency/Single_Threaded/Makefile.am:
+ * performance-tests/Sequence_Latency/Thread_Per_Connection/Makefile.am:
+ * performance-tests/Sequence_Latency/Thread_Pool/Makefile.am:
+ * performance-tests/Throughput/Makefile.am:
+
+ Regenerated.
+
+Thu Dec 22 15:24:38 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * TAO_IDL/tao_idl.mpc:
+ * docs/tutorials/Quoter/Naming_Service/Quoter_Naming_Service.mpc:
+ * docs/tutorials/Quoter/Simple/Client/Quoter_Simple_Client.mpc:
+ * docs/tutorials/Quoter/Simple/Impl-Repo/Quoter_Simple_Impl_Repo.mpc:
+ * docs/tutorials/Quoter/Simple/ImprovedServer/Quoter_Simple_ImprovedServer.mpc:
+ * docs/tutorials/Quoter/Simple/Persistent/Quoter_Simple_Persistent.mpc:
+ * docs/tutorials/Quoter/Simple/Server/Quoter_Simple_Server.mpc:
+ * examples/POA/Adapter_Activator/POA_Adapter_Activator.mpc:
+ * examples/POA/Explicit_Activation/POA_Explicit_Activation.mpc:
+ * examples/POA/On_Demand_Activation/POA_On_Demand_Activation.mpc:
+ * examples/POA/Reference_Counted_Servant/Reference_Counted_Servant.mpc:
+ * orbsvcs/examples/CosEC/RtEC_Based/bin/CosEC_RtEC_Based_bin.mpc:
+ * orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/CosEC_RtEC_Based_tests_Basic.mpc:
+ * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/CosEC_RtEC_Based_Mult.mpc:
+ * orbsvcs/examples/Notify/Federation/Agent/Agent.mpc:
+ * orbsvcs/examples/Notify/Federation/SpaceCraft/SpaceCraft.mpc:
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/Colocated_Roundtrip.mpc:
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Federated_Roundtrip.mpc:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/RTCORBA_Baseline.mpc:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/RTCORBA_Callback.mpc:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/Roundtrip.mpc:
+ * orbsvcs/performance-tests/RTEvent/TCP_Baseline/TCP_Baseline.mpc:
+ * orbsvcs/tests/Bug_2285_Regression/Bug_2285_Regression.mpc:
+ * orbsvcs/tests/Bug_2287_Regression/Bug_2287_Regression.mpc:
+ * orbsvcs/tests/CosEvent/Basic/basiceventtestexe.mpb:
+ * orbsvcs/tests/Event/Basic/rteventtestexe.mpb:
+ * orbsvcs/tests/Event/Mcast/Complex/Complex.mpc:
+ * orbsvcs/tests/Event/Mcast/Simple/Simple.mpc:
+ * orbsvcs/tests/Event/Mcast/Two_Way/Two_Way.mpc:
+ * orbsvcs/tests/Event/Performance/eventperftestexe.mpb:
+ * performance-tests/Protocols/Protocols.mpc:
+
+ Add automake specific blocks that either add or replace include
+ paths definitions with $(srcdir) relative paths.
+
+Thu Dec 22 13:04:09 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Added BUILD_ACE_FOR_TAO automake conditional. Explicitly
+ set to false (at least for now).
+
+Thu Dec 22 14:43:24 2005 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp:
+
+ Fix some uninitialized data members.
+
+Thu Dec 22 12:38:37 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+Thu Dec 22 14:13:14 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/run_test.pl:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/run_test.pl:
+
+ Made an attempt at supporting these new tests on VxWorks.
+
+Wed Dec 21 19:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/examples/Notify/Federation/federation.mwc:
+ Removed this file, it causes project files with
+ just different casing, which causes problems when extracting
+ the zip release files under windows
+
+Thu Dec 22 10:12:33 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/PI/ProcessingModePolicyC.h:
+ * tao/PI/ProcessingModePolicyC.cpp:
+ * tao/PI/ProcessingModePolicyS.h:
+
+ These did not show up as unknown files for the previous commit.
+
+Thu Dec 22 08:54:09 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ Committing these changes on behalf of Tim Bradley
+ <bradley_t@ociweb.com>.
+
+ The following changes were made in order to support a new
+ feature that is described in the CORBA 3.1 draft specification.
+ The new feature consists of adding the capability to register
+ Portable Interceptors with an associated set of Policy objects.
+ In addition, a new Policy was introduced: the
+ PortableInterceptor::ProcessingModePolicy. This policy can be
+ applied to either client request interceptors or server request
+ interceptors. There are three possible ProcessingMode values:
+
+ - LOCAL_AND_REMOTE (the default)
+ - LOCAL_ONLY
+ - REMOTE_ONLY
+
+ The policy is used during the dispatching of a CORBA request.
+ It comes into play for remote requests as well as collocated
+ (thru-poa) requests. When the policy value is something other
+ than the default value, the interception points on the
+ corresponding interceptor may or may not be invoked. For the
+ LOCAL_ONLY policy value, the interception points are only invoked
+ on the interceptor if the request is a collocated (thru-poa)
+ request. If it is a remote request, the LOCAL_ONLY policy value
+ causes the interceptor to not apply to the current request.
+ The REMOTE_ONLY has the opposite effect - only remote requests
+ cause the interception points to be invoked in the interceptor.
+
+ * tao/IORInterceptor/IORInterceptor_Details.cpp:
+ * tao/IORInterceptor/IORInterceptor_Details.h:
+ * tao/IORInterceptor/IORInterceptor_Details.inl:
+ * tao/PI/ClientRequestDetails.cpp:
+ * tao/PI/ClientRequestDetails.h:
+ * tao/PI/ClientRequestDetails.inl:
+ * tao/PI/PI_ORBInitializer.cpp:
+ * tao/PI/PI_ORBInitializer.h:
+ * tao/PI/PI_PolicyFactory.cpp:
+ * tao/PI/PI_PolicyFactory.h:
+ * tao/PI/ProcessingModePolicy.cpp:
+ * tao/PI/ProcessingModePolicy.h:
+ * tao/PI/ProcessingModePolicy.pidl:
+ * tao/PI/ProcessingModePolicyC.cpp:
+ * tao/PI/ProcessingModePolicyC.h:
+ * tao/PI/ProcessingModePolicyS.h:
+ * tao/PI_Server/ServerRequestDetails.cpp:
+ * tao/PI_Server/ServerRequestDetails.h:
+ * tao/PI_Server/ServerRequestDetails.inl:
+
+ The files listed above have been added as part of the
+ the new PI Policy support (including the new
+ PI ProcessingModePolicy).
+
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Client_Task.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Client_Task.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Collocated_Test.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Echo_Collocated_ORBInitializer.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Echo_Collocated_ORBInitializer.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/interceptors.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/interceptors.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/PI_ProcMode_Collocated.mpc:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/run_test.pl:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Server_Task.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/Server_Task.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/test_i.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/test.idl:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Collocated/test_i.h:
+
+ The files listed above make up a new "collocated" test for the
+ new PortableInterceptor::ProcessingModePolicy "feature".
+
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/client_interceptor.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/client_interceptor.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/client_main.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Client_Task.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Client_Task.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Echo_Client_ORBInitializer.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Echo_Client_ORBInitializer.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Echo_Server_ORBInitializer.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Echo_Server_ORBInitializer.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/PI_ProcMode_Remote.mpc:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/run_test.pl:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/server_interceptor.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/server_interceptor.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/server_main.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Server_Task.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/Server_Task.h:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/test_i.cpp:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/test.idl:
+ * tests/Portable_Interceptors/Processing_Mode_Policy/Remote/test_i.h:
+
+ The files listed above make up a new "remote" test for the
+ new PortableInterceptor::ProcessingModePolicy "feature".
+
+ * tao/PortableServer/Upcall_Wrapper.cpp:
+
+ The Upcall_Wrapper class was modified to fix a bug that
+ was observed while testing the new ProcessingModePolicy.
+ The server request portable interceptors were being supplied
+ with a ServerRequestInfo object that referenced uninitialized
+ operation arguments in the collocated (thru_poa) case.
+
+ * tao/PI/ClientRequestInfo.cpp:
+
+ During testing of the new ProcessingModePolicy, another bug
+ was observed. Client request interceptors were not getting
+ the proper "result argument" (both collocated and remote cases).
+ The changes made to the tao/PI/ClientRequestInfo.cpp file fixes
+ this bug.
+
+ * tao/ClientRequestInterceptor_Adapter.h:
+ * tao/Collocated_Invocation.cpp:
+ * tao/IORInterceptor_Adapter.h:
+ * tao/Invocation_Base.cpp:
+ * tao/Invocation_Base.h:
+ * tao/Invocation_Base.inl:
+ * tao/ORB_Core.cpp:
+ * tao/ORB_Core.h:
+ * tao/Remote_Invocation.cpp:
+ * tao/ServerRequestInterceptor_Adapter.h:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.h:
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp:
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.h:
+ * tao/PI/Interceptor_List_T.cpp:
+ * tao/PI/Interceptor_List_T.h:
+ * tao/PI/ORBInitInfo.cpp:
+ * tao/PI/ORBInitInfo.h:
+ * tao/PI/ORBInitInfo.pidl:
+ * tao/PI/ORBInitInfoC.cpp:
+ * tao/PI/ORBInitInfoC.h:
+ * tao/PI/ORBInitInfoS.h:
+ * tao/PI/PI.cpp:
+ * tao/PI_Server/ServerInterceptorAdapter.cpp:
+ * tao/PI_Server/ServerInterceptorAdapter.h:
+
+ The files listed above were modified as part of the
+ changes made to support policies at PI registration-time
+ and the new PI ProcessingModePolicy.
+
+ * tests/Portable_Interceptors/Collocated/Dynamic/test_i.cpp:
+
+ Added a sleep before the shutdown to allow the client thread to
+ complete the collocated call before shutting down the ORB to avoid
+ BAD_INV_ORDER exceptions on fast multi-processor machines.
+
+Thu Dec 22 14:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/RTCORBA/Dynamic_Thread_Pool/client.cpp:
+ Fixed variable not used warning
+
+Thu Dec 22 12:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/RTCORBA/Dynamic_Thread_Pool/*.mpc:
+ Shortened filename to fix fuzz error
+
+Wed Dec 21 13:06:53 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Use TAO_ENABLE_MINIMUM_CORBA macro instead of explicitly setting
+ BUILD_MINIMUM_CORBA automake conditional to false.
+
+ * m4/tao.m4:
+
+ New file, autoconf macros for TAO-specific feature tests.
+
+ Added TAO_ENABLE_MINIMUM_CORBA autoconf macro. Configuring with
+ --enable-minimum-corba will set the BUILD_MINIMUM_CORBA automake
+ conditional.
+
+ * configure.ac:
+ * Makefile.am:
+
+ Look for automake macro files (*.m4) in ../m4 and ./m4.
+
+Wed Dec 21 12:08:57 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp:
+
+ Changed TAO_Log_Constraint_Visitor constructor to use
+ ACE_CString constructors that don't copy or take ownership of
+ the string, this allows us to wrap string literals for use as
+ map bindings with as little overhead as possible.
+
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h:
+
+ Changed lock strategy of property_lookup_map_ from
+ TAO_SYNCH_MUTEX to ACE_Null_Mutex, since all accesses to the map
+ are already protected at a higher level.
+
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h:
+
+ Explicitly set the size of the property_lookup_map_ to 31 hash
+ buckets. A typical log record has very few if any attributes,
+ the cost of allocating the default (1024 hash bucket) size map
+ outweighs any benefits of fewer hash collisions.
+
+Wed Dec 21 19:28:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/Servant_Upcall.cpp:
+ No need to store the TAO_Adapter in an intermediate variable
+
+ * examples/Load_Balancing_persistent/Load_Balancer_i.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp:
+ Fixed 64bit conversion warning
+
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp:
+ Initialise pointer with 0 and removed some debugging statements that
+ appear always and don't add a value to the log
+
+ * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp:
+ Removed some old comments
+
+ * tao/orbconf.h:
+ Did some cleanup, removed TAO_USE_SEQUENCE_TEMPLATES,
+ TAO_MAXIMUM_NATIVE_TYPE_SIZE, TAO_MAX_TRANSPORT_REREAD_ATTEMPTS.
+ I couldn't find these throughtout all the code.
+
+Wed Dec 21 11:03:25 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * TAO_IDL/ast/ast_expression.cpp:
+ * TAO_IDL/include/ast_expression.h:
+
+ If !ACE_LACKS_LONGLONG_T, perform operations on CORBA::LongLong
+ and CORBA::ULongLong types using 64 bit arithmetic. Previously
+ this was done with doubles (53 bit mantissa) for '+', '-', '*';
+ or disallowed for the other operators.
+
+ * TAO_IDL/ast/ast_expression.cpp:
+ * TAO_IDL/include/ast_expression.h:
+
+ Add EvalKind parameter to ::eval_bin_op and ::eval_mod_op so
+ that operations can be done in terms of the given type.
+
+ * TAO_IDL/ast/ast_expression.cpp:
+
+ Remove handling of '%' operator in AST_Expression::eval_bin_op()
+ as it is handled by AST_Expression::eval_mod_op().
+
+Wed Dec 21 18:50:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Trader/constraint.l:
+ * orbsvcs/orbsvcs/Trader/Constraint_l.cpp:
+ * tao/RTPortableServer/RT_Collocation_Resolver.cpp:
+ Use true and false for booleans
+
+Wed Dec 21 18:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2328_Regression/*:
+ Added new regression for bug 2328. When having a client without
+ codeset support and a server with, sending multiple strings in one
+ invocation caused a crash with x.4.7. A retest just before the
+ release of x.4.8 proved things where fixed already, just putting
+ the regression into the repo to make sure we don't get this bug
+ back.
+
+Wed Dec 21 16:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Leader_Follower.cpp:
+ Use prefix increment/decrement instead of postfix
+
+ * tao/Object.cpp:
+ Made lazy_strategy a real bool instead of an int
+
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.{h,inl}:
+ Made num_threads a long to fix 64bit conversion warnings
+
+ * tao/RTPortableServer/RT_Servant_Dispatcher.cpp:
+ Initialise pointer with 0
+
+ * tests/IDL_Test/array.idl:
+ Added some bound array types
+
+ * tests/IDL_Test/interface.idl:
+ Added an empty local interface
+
+ * tests/IDL_Test/sequence.idl:
+ Added a sequence of local interfaces
+
+ * tests/RTCORBA/Dynamic_Thread_Pool/*:
+ Added new test to show dynamic thread pools with the idle timeout
+ functionality
+
+Tue Dec 20 08:04:30 2005 Simon McQueen <sm@prismtech.com>
+
+ * TAO version 1.4.8 released.
+
+Fri Dec 16 18:06:27 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be_include/be_global.h:
+ * TAO_IDL/driver/drv_args.cpp:
+
+ Added missing code that sets versioned namespace opening and
+ closing text.
+
+ * TAO_IDL/be/be_visitor_union/any_op_ch.cpp:
+
+ Fixed typo that caused generated versioned namespace to be
+ reopened before it was closed.
+
+ * orbsvcs/orbsvcs/AV.mpc:
+ * orbsvcs/orbsvcs/CosConcurrency.mpc:
+ * orbsvcs/orbsvcs/CosEvent.mpc:
+ * orbsvcs/orbsvcs/CosLifeCycle.mpc:
+ * orbsvcs/orbsvcs/CosLoadBalancing.mpc:
+ * orbsvcs/orbsvcs/CosNaming.mpc:
+ * orbsvcs/orbsvcs/CosNotification.mpc:
+ * orbsvcs/orbsvcs/CosProperty.mpc:
+ * orbsvcs/orbsvcs/CosTime.mpc:
+ * orbsvcs/orbsvcs/CosTrading.mpc:
+ * orbsvcs/orbsvcs/DsEventLogAdmin.mpc:
+ * orbsvcs/orbsvcs/DsLogAdmin.mpc:
+ * orbsvcs/orbsvcs/DsNotifyLogAdmin.mpc:
+ * orbsvcs/orbsvcs/FTORB.mpc:
+ * orbsvcs/orbsvcs/FaultTolerance.mpc:
+ * orbsvcs/orbsvcs/FtRtEvent.mpc:
+ * orbsvcs/orbsvcs/HTIOP.mpc:
+ * orbsvcs/orbsvcs/PortableGroup.mpc:
+ * orbsvcs/orbsvcs/RTCosScheduling.mpc:
+ * orbsvcs/orbsvcs/RTEvent.mpc:
+ * orbsvcs/orbsvcs/RTEventLogAdmin.mpc:
+ * orbsvcs/orbsvcs/RTSched.mpc:
+ * orbsvcs/orbsvcs/RT_Notification.mpc:
+ * orbsvcs/orbsvcs/SSLIOP.mpc:
+ * orbsvcs/orbsvcs/Security.mpc:
+ * orbsvcs/orbsvcs/Svc_Utils.mpc:
+
+ Core orbsvcs stubs/skeletons must have ability to support
+ versioned namespaces. IDL-capable MPC projects now inherit from
+ the "tao_versioning_idl_defaults" MPC base project.
+
+ * tao/CONV_FRAME.pidl:
+ * tao/CharSeq.pidl:
+ * tao/Current.pidl:
+ * tao/Domain.pidl:
+ * tao/DoubleSeq.pidl:
+ * tao/FloatSeq.pidl:
+ * tao/GIOP.pidl:
+ * tao/IIOP.pidl:
+ * tao/AnyTypeCode/AnySeq.pidl:
+ * tao/AnyTypeCode/Bounds.pidl:
+ * tao/AnyTypeCode/Dynamic.pidl:
+ * tao/AnyTypeCode/Dynamic_Parameter.pidl:
+ * tao/AnyTypeCode/ValueModifier.pidl:
+ * tao/AnyTypeCode/Visibility.pidl:
+ * tao/BiDir_GIOP/BiDirPolicy.pidl:
+ * tao/CSD_Framework/CSD_Framework.pidl:
+ * tao/CodecFactory/IOP_Codec.pidl:
+ * tao/CodecFactory/IOP_Codec_include.pidl:
+ * tao/DynamicAny/DynamicAny.pidl:
+ * tao/IFR_Client/IFR_Base.pidl:
+ * tao/IFR_Client/IFR_Basic.pidl:
+ * tao/IFR_Client/IFR_Components.pidl:
+ * tao/IFR_Client/IFR_Extended.pidl:
+
+ Added versioned namespace related TAO_IDL command line options
+ to the stub/skeleton generation documentation.
+
+ * tests/Param_Test/results.h:
+
+ Wrap forward declaration of class in CORBA namespace within a
+ TAO versioned namespace since the core TAO library does so.
+
+Thu Dec 15 16:19:48 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_valuetype.cpp:
+ * TAO_IDL/be/be_visitor_arg_traits.cpp:
+ * TAO_IDL/be/be_visitor_traits.cpp:
+ * TAO_IDL/be/be_visitor_array/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_array/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_enum/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_enum/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_enum/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_exception/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_root/root.cpp:
+ * TAO_IDL/be/be_visitor_root/root_ch.cpp:
+ * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
+ * TAO_IDL/be/be_visitor_union/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/cdr_op_cs.cpp:
+ * TAO_IDL/be_include/be_global.h:
+ * TAO_IDL/driver/drv_args.cpp:
+
+ Added ability to set "versioned" namespace opening and closing
+ text. Addresses problem where applications that do not enable
+ versioned namespace support in their own code need not get
+ "versioned" stubs/skeletons.
+
+Tue Dec 13 12:13:26 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * COPYING: Updated this file to mention compliance issues wrt the
+ new "The Energy Policy Act of 2005". Thanks to Malcolm Spence
+ for providing this.
+
+Wed Dec 14 09:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Borland/README:
+ Updated contact information
+
+Tue Dec 13 13:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/string_traits_base.hpp:
+ Removed static from the declaration of empty to fix VxWorks warnings
+
+Tue Dec 13 12:55:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Notify/Discarding/notify.conf:
+ Use DispatchingThreads instead of ListeningThreads, the last one
+ is deprecated
+
+Tue Dec 13 12:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/examples/Notify/Subscribe/Notify_Subscribe.mpc:
+ Set exename to Subscribe to match the run_test perl script
+
+Tue Dec 13 12:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/Notify_Service/Notify_Service.cpp (shutdown):
+ Only unbind from the naming service when we have a valid object
+ reference to it.
+
+Tue Dec 13 10:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Codeset_Manager_Factory_Base.h:
+ Fixed typo in comment
+
+Tue Dec 13 09:27:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Shutdown_Utilities.{h,cpp}:
+ The vc8 runtime seems to check wether a signal number is a valid
+ one, if not it asserts. The Shutdown_Utilities where just
+ calling remove_handler for all signal numbers, changed this to just
+ call it for the signals we registered. This way we can end the
+ orbsvcs executable with ctrl-c again.
+
+Mon Dec 12 15:20:10 2005 <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/Notify_Service/Notify_Service.mpc:
+
+ Disable NT_Notify_Service project in ace_for_tao configuration.
+ It depends on ace/NT_Service.*, which is currently not part of
+ the ace_for_tao subset.
+
+ * examples/Load_Balancing/Load_Balancing.mpc:
+
+ Disable in ace_for_tao configuration. It requires ACE_DLList,
+ which is not part of the ace_for_tao subset.
+
+Mon Dec 12 09:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB_Core.cpp:
+ Minor formatting improvement in debug logging
+
+Sun Dec 11 17:39:54 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_ClientEngine.cpp:
+
+ Added sleep before client call done(). This is workaround with
+ the problem that some oneway requests lost when the server has
+ multiple orb threads.
+
+Fri Dec 9 16:36:27 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_Statistics.cpp:
+
+ Made actual_vs_expected() dump more details with the failure.
+
+Fri Dec 9 21:48:48 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/Array_VarOut_T.h:
+ * tao/Array_VarOut_T.inl:
+
+ In the TAO_Array_Forany_T<> template class:
+
+ - Changed initialization values for the CORBA::Boolean
+ nocopy_ member from '0' to 'false'.
+
+ - Removed the 'const' qualifier from the nocopy_ member.
+ This member gets assigned to in the class assignment
+ operator, and because of this, tools like insure++
+ complain. It's a mystery why C++ compilers don't
+ complain as well. This fix closes [BUGID:2326]. Thanks
+ to Brian Buesker <bbuesker@qualcomm.com> for reporting
+ the problem.
+
+Thu Dec 8 16:37:06 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * examples/RTCORBA/Activity/Activity.mpc:
+
+ Do not override "macros" variable. Add to it instead. Fixes
+ problem where versioned namespace preprocessor symbols were not
+ added to generated Makefiles/projects.
+
+ * examples/RTCORBA/Activity/Activity.h:
+ * examples/RTCORBA/Activity/Builder.h:
+ * examples/RTCORBA/Activity/Job_i.h:
+ * examples/RTCORBA/Activity/POA_Holder.h:
+ * examples/RTCORBA/Activity/Periodic_Task.h:
+ * examples/RTScheduling/Job_i.h:
+ * examples/RTScheduling/POA_Holder.h:
+ * examples/Simple/bank/AccountManager_i.h:
+
+ Fixed versioned namespace support.
+
+Thu Dec 8 14:19:52 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.h:
+
+ Fixed versioned namespace support. The versioning macros calls
+ were missing.
+
+Thu Dec 8 20:24:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * interop-tests/wchar/interop_wchar.mpc:
+ * examples/PluggableUDP/tests/Basic/Basic.mpc:
+ * examples/PluggableUDP/tests/SimplePerformance/SimplePerformance.mpc:
+ * examples/POA/Default_Servant/POA_Default_Servant.mpc:
+ * examples/POA/DSI/POA_DSI.mpc:
+ * examples/Content_Server/AMI_Iterator/AMI_Iterator.mpc:
+ * examples/Content_Server/AMI_Observer/AMI_Observer.mpc:
+ * examples/Content_Server/SMI_Iterator/SMI_Iterator.mpc:
+ * examples/Buffered_Oneways/Buffered_Oneways.mpc:
+ * examples/Buffered_AMI/Buffered_AMI.mpc:
+ Added 'after += ...' lines to files where projects share one or
+ more IDL files.
+
+Thu Dec 8 13:10:42 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl:
+
+ Commented the client command line output previously added for
+ debugging.
+
+Thu Dec 8 07:17:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/Asynch_Queued_Message.h:
+ * tao/default_server.h:
+ * tao/PortableServer/Operation_Table_Binary_Search.h:
+
+ Fixed versioned namespace support. The versioning macros calls
+ were missing.
+
+Thu Dec 8 06:54:31 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.h:
+
+ Fixed versioned namespace build errors, predominantly caused by
+ forwared declarations not being placed within the appropriate
+ {ACE,TAO}_{BEGIN,END}_VERSIONED_NAMESPACE_DECL block.
+
+Thu Dec 8 06:45:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/OctetSeq/OctetSeq.mpc:
+ * performance-tests/Anyop/Anyop.mpc:
+ * performance-tests/POA/Create_Reference/Create_Reference.mpc:
+ * performance-tests/POA/Implicit_Activation/Implicit_Activation.mpc:
+ * performance-tests/POA/Object_Creation_And_Registration/Object_Creation_And_Registration.mpc:
+ * performance-tests/Protocols/Protocols.mpc:
+ * performance-tests/RTCorba/Thread_Pool/Thread_Pool.mpc:
+
+ Disable these projects when "ace_for_tao" is enabled.
+
+Wed Dec 7 19:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ Workaround for Borland is also needed for BSD2006
+
+Wed Dec 7 18:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/CSD_Strategy/ThreadPool/CSD_Test_ThreadPool.mpc:
+ * examples/CSD_Strategy/ThreadPool2/CSD_Test_ThreadPool2.mpc:
+ * examples/CSD_Strategy/ThreadPool3/CSD_Test_ThreadPool3.mpc:
+ * examples/CSD_Strategy/ThreadPool3/CSD_Test_ThreadPool5.mpc:
+ * examples/CSD_Strategy/ThreadPool3/CSD_Test_ThreadPool6.mpc:
+ Added 'after += ...' lines to files where projects share one or
+ more IDL files.
+
+ * examples/CSD_Strategy/ThreadPool4/CSD_Test_ThreadPool4.mpc:
+ Simplified
+
+Wed Dec 7 05:43:53 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Connection_Timeout/Connection_Timeout.mpc:
+ * tests/Hang_Shutdown/Hang.mpc:
+ * tests/Param_Test/Param_Test.mpc:
+
+ Disable these projects when "ace_for_tao" is enabled.
+
+Wed Dec 7 10:59:55 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_i.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_Statistics.cpp:
+
+ Added more logging in test results checking to help debug the
+ TP_Test_3 failure on RHEL3_Minimum build.
+
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Callback_i.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Callback_i.h:
+
+ Removed the ACE_Atomic_Op for num_callbacks_ data member since the
+ CSD synchronizes the request dispatching.
+
+Wed Dec 7 17:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Bug_2316_Regression/Bug_2316_Regression.mpc:
+ * examples/POA/Forwarding/POA_Forwarding.mpc:
+ * examples/Kokyu_dsrt_schedulers/mif_example/mif_example.mpc:
+ Added 'after += ...' lines to files where projects share one or
+ more IDL files.
+
+Wed Dec 7 12:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Trader/Trader.h:
+ Work around for TAO_Lockable is also needed for BCB2006 Update 1
+
+Tue Dec 6 21:16:05 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/performance-tests/LoadBalancing/LBPerf/RPS/ServerRequestInterceptor.h:
+ * orbsvcs/tests/Notify/lib/Activation_Manager.h:
+ * orbsvcs/tests/Notify/lib/Command.h:
+ * orbsvcs/tests/Notify/lib/EventChannel_Command.h:
+ * orbsvcs/tests/Notify/lib/Options_Parser.cpp:
+ * orbsvcs/tests/Notify/lib/Options_Parser.h:
+ * orbsvcs/tests/Notify/lib/Peer.h:
+ * orbsvcs/tests/Notify/lib/Periodic_Consumer.h:
+ * orbsvcs/tests/Notify/lib/Periodic_Supplier.h:
+
+ Fixed versioned namespace build errors, predominantly caused by
+ forwared declarations not being placed within the appropriate
+ {ACE,TAO}_{BEGIN,END}_VERSIONED_NAMESPACE_DECL block.
+
+Tue Dec 6 14:55:41 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_3/ServerApp.cpp:
+
+ Added debug message to help debugging the problem of
+ "<server_main> failed: No such file or directory".
+
+Tue Dec 6 15:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Bug_2285_Regression/Bug_2285_Regression.mpc:
+ Added 'after += ...' lines to files where projects share one or
+ more IDL files.
+
+Tue Dec 6 15:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Security/BiDirectional/client.cpp:
+ * orbsvcs/tests/Security/BiDirectional/test_i.cpp:
+ Fixed 64bit conversion warnings
+
+Tue Dec 6 08:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Bug_2287_Regression/Bug_2287_Regression.mpc:
+ * examples/OBV/Typed_Events/Typed_Events.mpc:
+ * examples/Load_Balancing/Load_Balancing.mpc:
+ Added 'after += ...' lines to files where projects share one or
+ more IDL files.
+
+Tue Dec 6 08:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Trader/Trader.h:
+ Also with BDS2006 we need to export the TAO_Lockable class as
+ workaround. Reported this to Borland, hopefully they will fix
+ this soon
+
+Mon Dec 5 19:43:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Bug_2137_Regression/client.cpp:
+ Added include of PI/PI.h to fix test failures in static builds
+
+Mon Dec 5 14:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/releasenotes/index.html:
+ Small improvements
+
+Sun Dec 4 11:34:11 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Notify/XML_Loader.cpp
+
+ Moved definition of TOPOLOGY_ID_NAME earier in the file to avoid
+ undefined argument error.
+
+Sun Dec 4 11:14:45 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_helper.cpp
+
+ Fixed an unused arg warning.
+
+Sat Dec 3 20:54:28 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/XML_Loader.cpp: Moved the namespace decl
+ for TOPOLOGY_ID_NAME inside the VERSIONED_NAMESPACE_DECL block
+ to fix broken versioned namespace builds. Thanks to Ossama for
+ pointing this out.
+
+Sat Dec 3 19:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/QtTests/QtTests.mpc:
+ Added anytypecode to the client project
+
+Sat Dec 3 09:43:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/IDL_Test/constants.idl:
+ Removed the wstring constants for the time being, cause issues
+ with some builds that lack wchar_t support
+
+Fri Dec 2 16:18:15 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp (DTOR):
+ Add try/catch block around call to ec->destroy() because it
+ seems that often in this test the EC is gone by the time
+ destroy() gets called. This raises a COMM_FAILURE which now
+ gets caught and noticed printed. We also now catch and print
+ any exception raised in the DTOR since there's little chance of
+ doing anything about it, and at least this way we get
+ information.
+
+Fri Dec 2 10:26:33 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h: Added 'extern'
+ declaration in here as this seems to placate the VC8 compiler's
+ errors.
+
+Fri Dec 2 11:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.h:
+ Added missing include of ace/pre.h
+
+Fri Dec 2 11:12:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1627_Regression/test.mpc:
+ * tests/Bug_1551_Regression/test.mpc:
+ * tests/Bug_1482_Regression/test.mpc:
+ * tests/Bug_1627_Regression/Bug_1627_Regression.mpc:
+ * tests/Bug_1551_Regression/Bug_1551_Regression.mpc:
+ * tests/Bug_1482_Regression/Bug_1482_Regression.mpc:
+ Renamed test.mpc to a more specific name to fix duplicate errors
+ in the MPC generation
+
+Fri Dec 2 11:05:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/IDL_Test/constants.idl:
+ Added several wstring constants for test
+
+Fri Dec 2 01:35:31 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.c:
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.cpp:
+
+ Reintroduced `params_dup.c' and removed `params_dup.cpp' file.
+ Some C++ compiler/platform combinations cannot handle the broken
+ OpenSSL function pointer conversions. Stick with a C compiler.
+
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.h:
+
+ Include the new "ace/config-macros.h" header instead of
+ "ace/config-lite.h". The former can be parsed by C compilers.
+
+ * tao/TAO_Singleton_Manager.cpp:
+ * tao/TAO_Singleton_Manager.h:
+
+ Moved static "instance_" pointer to an anonymous namespace
+ within the implementation file. Allows the friend declaration
+ to be removed, in turn fixing builds that cannot handle the
+ global scope qualifier prepended to that friend declaration.
+
+ Removed unused "preallocated_object" static array.
+
+ * tao/Versioned_Namespace.h:
+
+ Update preprocessor check to use new config-macros.h specific
+ include guard preprocessor symbol.
+
+Thu Dec 1 08:07:23 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * TAO-INSTALL.html: Updated this file for VxWorks.
+ Thanks to Nathan Anderson <nathan dot l dot anderson at lmco dot
+ com> for these suggestions.
+
+Thu Dec 1 20:17:29 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Topology_Object.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.cpp:
+
+ Removed TOPOLOGY_ID from here. It should have been nmoved when
+ the persistence stuff was broken into a separate library.
+
+ * orbsvcs/orbsvcs/Notify/XML_Loader.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Saver.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp:
+
+ Moved TOPOLOGY_ID into here since that's all that uses it.
+
+Thu Dec 1 12:08:17 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Object.h: Revert previous change as it
+ apparently confused Borland BC6.
+
+ * orbsvcs/orbsvcs/Notify/Topology_Object.*:
+ * orbsvcs/orbsvcs/Notify/Reconnection_Registry.*:
+
+ Changed manifest constants for TOPOLOGY_ID_NAME, REGISTRY_TYPE,
+ RECONNECT_ID, RECONNECT_IOR, and REGISTRY_CALLBACK_TYPE from
+ statics within the namespace to being declared in the namespace
+ in the header, but defined in the .cpp file. This de-warns on
+ OS X Tiger G++ 3.3 builds, but may also have a minor reduction
+ in footprint everywhere since now there will be only one
+ instance of these rather than an instance everywhere the
+ relevant header gets #included.
+
+Thu Dec 1 18:10:48 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/AMH_Exceptions/AMH_Exceptions.mpc:
+ * tests/AMH_Oneway/AMH_Oneway.mpc:
+ * tests/AMI_Buffering/AMI_Buffering.mpc:
+ * tests/Abstract_Interface/Abstract_Interface.mpc:
+ * tests/Any/Recursive/RecursiveHello.mpc:
+ * tests/BiDirectional/BiDirectional.mpc:
+ * tests/BiDirectional_NestedUpcall/BiDir_NestedUpcall.mpc:
+ * tests/Big_AMI/Big_AMI.mpc:
+ * tests/Big_Oneways/Big_Oneways.mpc:
+ * tests/Big_Reply/Big_Reply.mpc:
+ * tests/Big_Request_Muxing/Big_Request_Muxing.mpc:
+ * tests/Big_Twoways/Big_Twoways.mpc:
+ * tests/Blocking_Sync_None/Blocking_Sync_None.mpc:
+ * tests/Bug_1020_Basic_Regression/Bug_1020_Basic_Regression.mpc:
+ * tests/Bug_1269_Regression/Bug_1269_Regression.mpc:
+ * tests/Bug_1270_Regression/Bug_1270_Regression.mpc:
+ * tests/Bug_1330_Regression/Bug_1330_Regression.mpc:
+ * tests/Bug_1361_Regression/Bug_1361_Regression.mpc:
+ * tests/Bug_1476_Regression/Bug_1476_Regression.mpc:
+ * tests/Bug_1482_Regression/test.mpc:
+ * tests/Bug_1495_Regression/Bug_1495.mpc:
+ * tests/Bug_1551_Regression/test.mpc:
+ * tests/Bug_1568_Regression/Bug_1568_Regression.mpc:
+ * tests/Bug_1627_Regression/test.mpc:
+ * tests/Bug_2174_Regression/Bug_2174_Regression.mpc:
+ * tests/Bug_2183_Regression/Bug_2183_Regression.mpc:
+ * tests/Bug_2234_Regression/Bug_2234_Regression.mpc:
+ * tests/CSD_Strategy_Tests/TP_Common/CSD_TP_Test_Lib.mpc:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/CSD_TP_Test_Dynamic.mpc:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/CSD_TP_Test_Static.mpc:
+ * tests/Cache_Growth_Test/Cache_Growth_Test.mpc:
+ * tests/CallbackTest/CallbackTest.mpc:
+ * tests/Client_Leaks/Client_Leaks.mpc:
+ * tests/Collocation/Collocation.mpc:
+ * tests/Connect_Strategy_Test/Connect_Strategy_Test.mpc:
+ * tests/Connection_Purging/Connection_Purging.mpc:
+ * tests/Crash_On_Write/Crash_On_Write.mpc:
+ * tests/Crashed_Callback/Crashed_Callback.mpc:
+ * tests/DLL_ORB/DLL_ORB.mpc:
+ * tests/DSI_Gateway/DSI_Gateway.mpc:
+ * tests/Explicit_Event_Loop/Explicit_Event_Loop.mpc:
+ * tests/Exposed_Policies/Exposed_Policies.mpc:
+ * tests/FL_Cube/FL_Cube.mpc:
+ * tests/Faults/Faults.mpc:
+ * tests/File_IO/File_IO.mpc:
+ * tests/Forwarding/Forwarding.mpc:
+ * tests/Hang_Shutdown/Hang.mpc:
+ * tests/Hello/Hello.mpc:
+ * tests/ICMG_Any_Bug/Hello.mpc:
+ * tests/IPV6/IPV6_Hello.mpc:
+ * tests/InterOp-Naming/InterOp-Naming.mpc:
+ * tests/Leader_Followers/Leader_Followers.mpc:
+ * tests/LongUpcalls/LongUpcalls.mpc:
+ * tests/MProfile/MProfile.mpc:
+ * tests/MProfile_Connection_Timeout/MProfile_Connection_Timeout.mpc:
+ * tests/MProfile_Forwarding/MProfile_Forwarding.mpc:
+ * tests/MT_BiDir/MT_BiDir.mpc:
+ * tests/MT_Client/MT_Client.mpc:
+ * tests/MT_Server/MT_Server.mpc:
+ * tests/Multiple/Multiple.mpc:
+ * tests/Multiple_Inheritance/Multiple_Inheritance.mpc:
+ * tests/Muxed_GIOP_Versions/Muxed_GIOP_Versions.mpc:
+ * tests/Muxing/Muxing.mpc:
+ * tests/Native_Exceptions/Native_Exceptions.mpc:
+ * tests/NestedUpcall/MT_Client_Test/MT_Client_Test.mpc:
+ * tests/NestedUpcall/Triangle_Test/TT.mpc:
+ * tests/Nested_Event_Loop/Nested_Event_Loop.mpc:
+ * tests/No_Server_MT_Connect_Test/No_Server_Connect_Test.mpc:
+ * tests/OBV/Any/OBV_Any.mpc:
+ * tests/OBV/Factory/OBV_Factory.mpc:
+ * tests/OBV/Forward/OBV_Forward.mpc:
+ * tests/OBV/Supports/Supports_Test.mpc:
+ * tests/OBV/TC_Alignment/OBV_TC_Alignment.mpc:
+ * tests/OBV/ValueBox/valuebox.mpc:
+ * tests/Object_Loader/Object_Loader.mpc:
+ * tests/Objref_Sequence_Test/Objref_Sequence_Test.mpc:
+ * tests/OctetSeq/OctetSeq.mpc:
+ * tests/Oneway_Buffering/Oneway_Buffering.mpc:
+ * tests/Oneways_Invoking_Twoways/Oneways_Invoking_Twoways.mpc:
+ * tests/POA/Persistent_ID/Persistent_ID.mpc:
+ * tests/Param_Test/Param_Test.mpc:
+ * tests/Portable_Interceptors/AMI/PI_AMI.mpc:
+ * tests/Portable_Interceptors/Benchmark/PI_Benchmark.mpc:
+ * tests/Portable_Interceptors/Bug_1559/Bug_1559.mpc:
+ * tests/Portable_Interceptors/Dynamic/PI_Dynamic.mpc:
+ * tests/Portable_Interceptors/IORInterceptor/PI_IORInterceptor.mpc:
+ * tests/Portable_Interceptors/ORB_Shutdown/PI_ORB_Shutdown.mpc:
+ * tests/Portable_Interceptors/PICurrent/PI_PICurrent.mpc:
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/PI_Request_Interceptor_Flow.mpc:
+ * tests/Portable_Interceptors/Service_Context_Manipulation/PI_Svc_Context_Manip.mpc:
+ * tests/QtTests/QtTests.mpc:
+ * tests/RTCORBA/Banded_Connections/RTCORBA_Banded_Conn.mpc:
+ * tests/RTCORBA/Client_Propagated/RTCORBA_Client_Propagated.mpc:
+ * tests/RTCORBA/Client_Protocol/RTCORBA_Client_Protocol.mpc:
+ * tests/RTCORBA/Diffserv/RTCORBA_Diffserv.mpc:
+ * tests/RTCORBA/Explicit_Binding/RTCORBA_Explicit_Binding.mpc:
+ * tests/RTCORBA/Persistent_IOR/RTCORBA_Persistent_IOR.mpc:
+ * tests/RTCORBA/Policy_Combinations/RTCORBA_Policy_Combinations.mpc:
+ * tests/RTCORBA/Priority_Inversion_With_Bands/Priority_Inversion_With_Bands.mpc:
+ * tests/RTCORBA/Profile_And_Endpoint_Selection/PaE_Selection.mpc:
+ * tests/RTCORBA/Server_Declared/RTCORBA_Server_Declared.mpc:
+ * tests/RTCORBA/Server_Protocol/RTCORBA_Server_Protocol.mpc:
+ * tests/RTCORBA/Thread_Pool/RTCORBA_Thread_Pool.mpc:
+ * tests/RTScheduling/Scheduling_Interceptor/Scheduler_Interceptor.mpc:
+ * tests/Reliable_Oneways/Reliable_Oneways.mpc:
+ * tests/Server_Connection_Purging/Server_Connection_Purging.mpc:
+ * tests/Server_Leaks/Server_Leaks.mpc:
+ * tests/Single_Read/Single_Read.mpc:
+ * tests/Smart_Proxies/Smart_Proxies.mpc:
+ * tests/Stack_Recursion/Stack_Recursion.mpc:
+ * tests/Strategies/Strategies.mpc:
+ * tests/Timed_Buffered_Oneways/Timed_Buffered_Oneways.mpc:
+ * tests/Timeout/Timeout.mpc:
+ * tests/Two_Objects/Two_Objects.mpc:
+ * tests/UNKNOWN_Exception/UNKNOWN_Exception.mpc:
+ * tests/Xt_Stopwatch/Xt_Stopwatch.mpc:
+
+ Added 'after += ...' lines to files where projects share one or
+ more IDL files. This change will order the builds and eliminate
+ concurrency problems in VC8 builds. This is a temporary solution
+ until there is time to apply J.T. Conklin's <jtc@acorntoolworks.com>
+ approach of creating a separate project in each file that just
+ executes the IDL compiler on the shared files, and ordering all
+ other projects that build the resulting generated files to
+ come after this step.
+
+Thu Dec 1 16:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/RTCORBA/Thread_Pool.cpp:
+ Fixed bug in thread pool id calculation
+
+Thu Dec 1 16:02:36 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/MT_Timeout/MT_Timeout.mpc:
+
+ Added 'after' line in one project to order the builds (which
+ share an IDL file) for VC8.
+
+Thu Dec 1 14:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO-INSTALL.html:
+ Updated VxWorks part
+
+Wed Nov 30 10:23:05 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/performance-tests/RTEvent/lib/Client_Options.h:
+ * orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h:
+ * orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.h:
+ * orbsvcs/performance-tests/RTEvent/lib/Send_Task.h:
+ * orbsvcs/tests/EC_Throughput/ECT_Driver.h:
+ * orbsvcs/tests/Event/Basic/BCast.h:
+ * orbsvcs/tests/Event/Mcast/Common/EC_Wrapper.h:
+ * orbsvcs/tests/Event/Performance/Latency.h:
+ * orbsvcs/tests/Event/lib/Driver.h:
+ * orbsvcs/tests/FT_App/FT_Creator.h:
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.h:
+ * orbsvcs/tests/FtRtEvent/PushSupplier.h:
+
+ Fixed forward declarations so that they take into account
+ versioned namespace support.
+
+Wed Nov 30 00:33:21 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * examples/Content_Server/AMI_Iterator/AMI_Iterator.mpc:
+ * examples/Content_Server/AMI_Observer/AMI_Observer.mpc:
+ * examples/Content_Server/SMI_Iterator/SMI_Iterator.mpc:
+ * examples/Load_Balancing_persistent/Load_Balancing_persistent.mpc:
+ * examples/POA/Generic_Servant/POA_Generic_Servant.mpc:
+ * examples/POA/TIE/POA_TIE.mpc:
+ * examples/Persistent_Grid/Persistent_Grid.mpc:
+ * orbsvcs/examples/LoadBalancing/LoadBalancing.mpc:
+ * orbsvcs/orbsvcs/AV.mpc:
+ * orbsvcs/tests/EC_Custom_Marshal/EC_Custom_Marshal.mpc:
+ * orbsvcs/tests/EC_Throughput/EC_Throughput.mpc:
+ * orbsvcs/tests/ImplRepo/ImplRepo.mpc:
+ * orbsvcs/tests/InterfaceRepo/Latency_Test/Latency_Test.mpc:
+
+ Disable these projects when "ace_for_tao" is enabled.
+
+ * tao/GIOP_Message_Generator_Parser_Impl.inl:
+
+ Removed "static" keywork from constant variable declaration.
+ Corrected semantics are not supported in shared libraries on
+ VxWorks. Thanks to Frank Rehberger for suggesting the change,
+ and to Johnny for pointing out the VxWorks issue. [Bug 2304]
+
+Wed Nov 30 14:59:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/RTCORBA/RT_ORB_Loader.cpp:
+ * tao/RTCORBA/Thread_Pool.{h,cpp}:
+ Fixed warnings in GCC build
+
+Wed Nov 30 12:50:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Security/MT_SSLIOP/run_test_heavy.pl:
+ New regression test script. Test the TAO SSLIOP under heavy load
+ and it will fail. This test takes a long time to succeed so
+ didn't put it in the standard test suite. We have no idea why
+ it fails, but something is buggy in the SSLIOP support
+
+Wed Nov 30 11:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/RTCORBA/RT_ORB.{h,cpp}:
+ * tao/RTCORBA/RT_ORB_Loader.cpp:
+ * tao/RTCORBA/RT_ORBInitializer.{h,cpp}:
+ * tao/RTCORBA/Thread_Pool.{h,cpp,inl}:
+ * docs/rtcorba/features.html:
+ When using RTCorba threadpools dynamic threads can be used, these
+ will be created on demand but will life forever after that. A new
+ option has been added to the RT_ORB_Loader:
+ RTORBDynamicThreadIdleTimeout. With this option a number of micro
+ seconds can be specified. If a dynamic thread has not performed
+ anywork in that time it will end itself. This way dynamic threads
+ can go away if the load reduces again on the server, at the moment
+ they are needed they are recreated. Because of this some internal
+ administration has been updated, argument parsing has been updated
+ and the timeout is passed through several interfacs.
+
+ * docs/releasenotes/index.html:
+ Fixed RTCorba link
+
+Wed Nov 30 08:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/RequestProcessingStrategyAOMOnly.h:
+ Added brief class description
+
+Tue Nov 29 06:44:35 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/FTRT_Event_Service/Event_Service/FT_EventService.h:
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_DefaultFaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultAnalyzer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultConsumer.h:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_FaultEventDescriptor.h:
+ * orbsvcs/FT_ReplicationManager/FT_Property_Validator.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_Property_Validator.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager.h:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp:
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.h:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp:
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.h:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.cpp:
+ * orbsvcs/Fault_Detector/Fault_Detector_i.h:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp:
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.h:
+ * orbsvcs/ImplRepo_Service/ImR_Locator_i.h:
+ * orbsvcs/Notify_Service/Notify_Service.h:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.h:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Extensions.h:
+
+ More versioned namespace build fixes.
+
+Tue Nov 29 13:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/LRU_Connection_Purging_Strategy.cpp:
+ Use prefix increment instead of postfix
+
+Tue Nov 29 11:21:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB.h:
+ Added argument names to perform_work methods, improves doxygen
+ docu
+
+Tue Nov 29 09:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/PluggableUDP/tests/Performance/Performance.mpc:
+ Added 'after' lines to order the builds for VC8.
+
+Mon Nov 28 22:22:11 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/Nested_Upcall_Crash/Nested_Upcall_Crash.mpc:
+ * tests/RTCORBA/Linear_Priority/RTCORBA_Linear_Priority.mpc:
+
+ Added 'after' lines to order the builds for VC8.
+
+Mon Nov 28 12:09:12 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * performance-tests/CSD_Strategy/TestApps/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/Broken/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/Broken/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_1/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_2/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_3/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_3/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_4/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/ServerApp.cpp:
+
+ Made main thread call ACE_Object_Manager::instance()->wait()
+ after orb shutdown. This would avoid the problem that the main
+ thread possiably exit before all CSD threads exit and crash
+ upon exit.
+
+Mon Nov 28 07:30:58 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.h:
+
+ Added missing "/**/ between "include" and "{pre,post}.h".
+
+ * tao/Utils/Server_Main.h:
+
+ Fixed "obsolete #pragma once" warning.
+
+Sun Nov 27 04:00:27 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
+ * orbsvcs/orbsvcs/Scheduler_Factory.h:
+ * orbsvcs/orbsvcs/Scheduler_Factory.i:
+ * orbsvcs/orbsvcs/AV/AV_Core.h:
+ * orbsvcs/orbsvcs/AV/Endpoint_Strategy.h:
+ * orbsvcs/orbsvcs/AV/Policy.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Factory.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h:
+ * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Adapters.h:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.h:
+ * orbsvcs/orbsvcs/Event/EC_ConsumerControl.cpp:
+ * orbsvcs/orbsvcs/Event/EC_ConsumerControl.h:
+ * orbsvcs/orbsvcs/Event/EC_Default_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h:
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS.cpp:
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS.inl:
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.inl:
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS.cpp:
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS.inl:
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.inl:
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp:
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.inl:
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.inl:
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.cpp:
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.inl:
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.inl:
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h:
+ * orbsvcs/orbsvcs/IFRService/ProvidesDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/PublishesDef_i.h:
+ * orbsvcs/orbsvcs/Log/BasicLog_i.cpp:
+ * orbsvcs/orbsvcs/Log/BasicLog_i.h:
+ * orbsvcs/orbsvcs/Log/Hash_LogStore.h:
+ * orbsvcs/orbsvcs/Log/Log_Compaction_Handler.h:
+ * orbsvcs/orbsvcs/Log/Log_Flush_Handler.h:
+ * orbsvcs/orbsvcs/Naming/Naming_Service_Container.h:
+ * orbsvcs/orbsvcs/Notify/Factory.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Updates.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.h:
+ * orbsvcs/orbsvcs/Notify/Property.h:
+ * orbsvcs/orbsvcs/Notify/Timer.h:
+ * orbsvcs/orbsvcs/Notify/Timer_Reactor.h:
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.c:
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.h:
+ * orbsvcs/orbsvcs/Trader/Constraint_l.cpp:
+ * tao/Basic_Types.h:
+ * tao/TAO_Singleton_Manager.inl:
+ * tao/AnyTypeCode/String_TypeCode_Traits.h:
+ * tao/AnyTypeCode/TAOA.h:
+ * tao/AnyTypeCode/TypeCodeA.cpp:
+ * tao/AnyTypeCode/TypeCode_Case_Base_T.h:
+ * tao/AnyTypeCode/TypeCode_Constants.cpp:
+ * tao/IFR_Client/IFR_BasicC.cpp:
+ * tao/ImR_Client/ImR_Client.cpp:
+ * tao/ImR_Client/ImR_Client.h:
+ * tao/ObjRefTemplate/ORT_Adapter_Factory_Impl.cpp:
+ * tao/ObjRefTemplate/ORT_Adapter_Factory_Impl.h:
+ * tao/PI/InvalidSlotA.cpp:
+ * tao/PI/ORBInitInfoC.cpp:
+ * tao/PI/ORBInitInfoC.h:
+ * tao/PI/PICurrentC.cpp:
+ * tao/PortableServer/IdAssignmentStrategyFactoryImpl.cpp:
+ * tao/PortableServer/IdAssignmentStrategyFactoryImpl.h:
+ * tao/PortableServer/IdAssignmentStrategySystem.cpp:
+ * tao/PortableServer/IdAssignmentStrategySystem.h:
+ * tao/PortableServer/IdAssignmentStrategyUser.cpp:
+ * tao/PortableServer/IdAssignmentStrategyUser.h:
+ * tao/PortableServer/IdUniquenessStrategyFactoryImpl.cpp:
+ * tao/PortableServer/IdUniquenessStrategyFactoryImpl.h:
+ * tao/PortableServer/IdUniquenessStrategyMultiple.cpp:
+ * tao/PortableServer/IdUniquenessStrategyMultiple.h:
+ * tao/PortableServer/IdUniquenessStrategyUnique.cpp:
+ * tao/PortableServer/IdUniquenessStrategyUnique.h:
+ * tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp:
+ * tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h:
+ * tao/PortableServer/ImplicitActivationStrategyExplicit.cpp:
+ * tao/PortableServer/ImplicitActivationStrategyExplicit.h:
+ * tao/PortableServer/ImplicitActivationStrategyFactoryImpl.cpp:
+ * tao/PortableServer/ImplicitActivationStrategyFactoryImpl.h:
+ * tao/PortableServer/ImplicitActivationStrategyImplicit.cpp:
+ * tao/PortableServer/ImplicitActivationStrategyImplicit.h:
+ * tao/PortableServer/LifespanStrategyFactoryImpl.cpp:
+ * tao/PortableServer/LifespanStrategyFactoryImpl.h:
+ * tao/PortableServer/LifespanStrategyPersistentFactoryImpl.cpp:
+ * tao/PortableServer/LifespanStrategyPersistentFactoryImpl.h:
+ * tao/PortableServer/LifespanStrategyTransientFactoryImpl.cpp:
+ * tao/PortableServer/LifespanStrategyTransientFactoryImpl.h:
+ * tao/PortableServer/Non_Servant_Upcall.h:
+ * tao/PortableServer/PortableServer.cpp:
+ * tao/PortableServer/PortableServerA.cpp:
+ * tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp:
+ * tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h:
+ * tao/PortableServer/RequestProcessingStrategyDefaultServantFI.cpp:
+ * tao/PortableServer/RequestProcessingStrategyDefaultServantFI.h:
+ * tao/PortableServer/RequestProcessingStrategyFactoryImpl.cpp:
+ * tao/PortableServer/RequestProcessingStrategyFactoryImpl.h:
+ * tao/PortableServer/RequestProcessingStrategyServantActivatorFI.cpp:
+ * tao/PortableServer/RequestProcessingStrategyServantActivatorFI.h:
+ * tao/PortableServer/RequestProcessingStrategyServantLocatorFI.cpp:
+ * tao/PortableServer/RequestProcessingStrategyServantLocatorFI.h:
+ * tao/PortableServer/ServantRetentionStrategyFactory.h:
+ * tao/PortableServer/ServantRetentionStrategyFactoryImpl.cpp:
+ * tao/PortableServer/ServantRetentionStrategyFactoryImpl.h:
+ * tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.cpp:
+ * tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.h:
+ * tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.cpp:
+ * tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.h:
+ * tao/PortableServer/StrategyFactory.h:
+ * tao/PortableServer/ThreadStrategyFactoryImpl.cpp:
+ * tao/PortableServer/ThreadStrategyFactoryImpl.h:
+ * tao/PortableServer/ThreadStrategyORBControl.cpp:
+ * tao/PortableServer/ThreadStrategyORBControl.h:
+ * tao/PortableServer/ThreadStrategySingle.cpp:
+ * tao/PortableServer/ThreadStrategySingle.h:
+ * tao/PortableServer/ThreadStrategySingleFactoryImpl.cpp:
+ * tao/PortableServer/ThreadStrategySingleFactoryImpl.h:
+ * tao/PortableServer/Var_Size_SArgument_T.cpp:
+ * tao/PortableServer/Var_Size_SArgument_T.h:
+ * tao/PortableServer/Var_Size_SArgument_T.inl:
+ * tao/RTCORBA/Network_Priority_Mapping_Manager.h:
+ * tao/RTCORBA/RTCORBAA.cpp:
+ * tao/RTCORBA/RT_ORB.h:
+ * tao/RTPortableServer/RTPortableServerA.cpp:
+ * tao/RTScheduling/RTSchedulerA.cpp:
+ * tao/TypeCodeFactory/TypeCodeFactoryA.cpp:
+ * tao/Utils/PolicyList_Destroyer.h:
+ * tao/Utils/Server_Main.cpp:
+ * tao/Utils/Server_Main.h:
+
+ Corrected build errors in versioned namespace builds.
+
+Sat Nov 26 14:57:56 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/util/utl_global.cpp:
+ * TAO_IDL/include/idl_global.h:
+
+ Modified files overlooked in the checkin of
+
+ Fri Nov 25 19:26:03 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Fri Nov 25 18:54:19 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * NEWS:
+
+ Updated with latest versioned namespace information.
+
+ * TAO_IDL/tao_idl.mpc:
+ * orbsvcs/orbsvcs/CosNaming_Serv.mpc:
+ * orbsvcs/orbsvcs/FTORB.mpc:
+ * orbsvcs/orbsvcs/IFRService.mpc:
+ * orbsvcs/orbsvcs/PortableGroup.mpc:
+ * orbsvcs/orbsvcs/RTEvent_Serv.mpc:
+ * orbsvcs/orbsvcs/Svc_Utils.mpc:
+ * tao/Strategies.mpc:
+
+ Updated to take into account latest "ace_for_tao" subset
+ changes.
+
+ * tao/TAO_Singleton_Manager.h:
+ * tao/AnyTypeCode/CharSeqA.cpp:
+ * tao/AnyTypeCode/CharSeqA.h:
+ * tao/AnyTypeCode/CurrentA.cpp:
+ * tao/AnyTypeCode/CurrentA.h:
+ * tao/AnyTypeCode/DomainA.cpp:
+ * tao/AnyTypeCode/DomainA.h:
+ * tao/AnyTypeCode/DoubleSeqA.cpp:
+ * tao/AnyTypeCode/DoubleSeqA.h:
+ * tao/AnyTypeCode/DynamicA.cpp:
+ * tao/AnyTypeCode/DynamicA.h:
+ * tao/AnyTypeCode/Dynamic_ParameterA.cpp:
+ * tao/AnyTypeCode/Dynamic_ParameterA.h:
+ * tao/AnyTypeCode/ExceptionA.cpp:
+ * tao/AnyTypeCode/ExceptionA.h:
+ * tao/AnyTypeCode/FloatSeqA.cpp:
+ * tao/AnyTypeCode/FloatSeqA.h:
+ * tao/AnyTypeCode/GIOPA.cpp:
+ * tao/AnyTypeCode/GIOPA.h:
+ * tao/AnyTypeCode/IIOPA.cpp:
+ * tao/AnyTypeCode/IIOPA.h:
+ * tao/AnyTypeCode/IIOP_EndpointsA.cpp:
+ * tao/AnyTypeCode/IIOP_EndpointsA.h:
+ * tao/AnyTypeCode/IOP_IORA.cpp:
+ * tao/AnyTypeCode/IOP_IORA.h:
+ * tao/AnyTypeCode/LongDoubleSeqA.cpp:
+ * tao/AnyTypeCode/LongDoubleSeqA.h:
+ * tao/AnyTypeCode/LongLongSeqA.cpp:
+ * tao/AnyTypeCode/LongLongSeqA.h:
+ * tao/AnyTypeCode/LongSeqA.cpp:
+ * tao/AnyTypeCode/LongSeqA.h:
+ * tao/AnyTypeCode/Messaging_PolicyValueA.cpp:
+ * tao/AnyTypeCode/Messaging_PolicyValueA.h:
+ * tao/AnyTypeCode/ObjectIdListA.cpp:
+ * tao/AnyTypeCode/ObjectIdListA.h:
+ * tao/AnyTypeCode/PI_ForwardA.cpp:
+ * tao/AnyTypeCode/PI_ForwardA.h:
+ * tao/AnyTypeCode/ParameterModeA.cpp:
+ * tao/AnyTypeCode/ParameterModeA.h:
+ * tao/AnyTypeCode/PolicyA.cpp:
+ * tao/AnyTypeCode/PolicyA.h:
+ * tao/AnyTypeCode/Policy_ForwardA.cpp:
+ * tao/AnyTypeCode/Policy_ForwardA.h:
+ * tao/AnyTypeCode/PortableInterceptorA.h:
+ * tao/AnyTypeCode/ServicesA.cpp:
+ * tao/AnyTypeCode/ServicesA.h:
+ * tao/AnyTypeCode/ShortSeqA.cpp:
+ * tao/AnyTypeCode/ShortSeqA.h:
+ * tao/AnyTypeCode/StringSeqA.cpp:
+ * tao/AnyTypeCode/StringSeqA.h:
+ * tao/AnyTypeCode/SystemExceptionA.cpp:
+ * tao/AnyTypeCode/SystemExceptionA.h:
+ * tao/AnyTypeCode/TAOA.cpp:
+ * tao/AnyTypeCode/TimeBaseA.cpp:
+ * tao/AnyTypeCode/TimeBaseA.h:
+ * tao/AnyTypeCode/ULongLongSeqA.cpp:
+ * tao/AnyTypeCode/ULongLongSeqA.h:
+ * tao/AnyTypeCode/ULongSeqA.cpp:
+ * tao/AnyTypeCode/ULongSeqA.h:
+ * tao/AnyTypeCode/UShortSeqA.cpp:
+ * tao/AnyTypeCode/UShortSeqA.h:
+ * tao/AnyTypeCode/ValueModifierA.cpp:
+ * tao/AnyTypeCode/ValueModifierA.h:
+ * tao/AnyTypeCode/VisibilityA.cpp:
+ * tao/AnyTypeCode/VisibilityA.h:
+ * tao/AnyTypeCode/WCharSeqA.cpp:
+ * tao/AnyTypeCode/WCharSeqA.h:
+ * tao/AnyTypeCode/WStringSeqA.cpp:
+ * tao/AnyTypeCode/WStringSeqA.h:
+ * tao/AnyTypeCode/WrongTransactionA.cpp:
+ * tao/AnyTypeCode/WrongTransactionA.h:
+ * tao/AnyTypeCode/orb_typesA.cpp:
+ * tao/AnyTypeCode/orb_typesA.h:
+ * tao/CSD_Framework/CSD_FrameworkA.cpp:
+ * tao/CSD_Framework/CSD_FrameworkA.h:
+ * tao/CSD_Framework/CSD_FrameworkC.cpp:
+ * tao/CSD_Framework/CSD_FrameworkC.h:
+ * tao/Domain/DomainS.cpp:
+ * tao/Domain/DomainS.h:
+ * tao/Domain/DomainS.inl:
+ * tao/Domain/DomainS_T.h:
+ * tao/Domain/DomainS_T.inl:
+ * tao/DynamicAny/DynamicAnyC.cpp:
+ * tao/DynamicAny/DynamicAnyC.h:
+ * tao/IFR_Client/IFR_BaseC.cpp:
+ * tao/IFR_Client/IFR_BaseC.h:
+ * tao/IFR_Client/IFR_BaseC.inl:
+ * tao/IFR_Client/IFR_BaseS.h:
+ * tao/IFR_Client/IFR_BasicC.h:
+ * tao/IFR_Client/IFR_BasicC.inl:
+ * tao/IFR_Client/IFR_ComponentsC.cpp:
+ * tao/IFR_Client/IFR_ComponentsC.h:
+ * tao/IFR_Client/IFR_ComponentsC.inl:
+ * tao/IFR_Client/IFR_ExtendedC.cpp:
+ * tao/IFR_Client/IFR_ExtendedC.h:
+ * tao/IFR_Client/IFR_ExtendedC.inl:
+ * tao/IORInterceptor/IORInfoC.cpp:
+ * tao/IORInterceptor/IORInfoC.h:
+ * tao/IORInterceptor/IORInterceptorC.cpp:
+ * tao/IORInterceptor/IORInterceptorC.h:
+ * tao/IORManipulation/IORA.cpp:
+ * tao/IORManipulation/IORC.cpp:
+ * tao/IORManipulation/IORC.h:
+ * tao/IORTable/IORTableC.cpp:
+ * tao/IORTable/IORTableC.h:
+ * tao/ImR_Client/ImplRepoC.cpp:
+ * tao/ImR_Client/ImplRepoC.h:
+ * tao/ImR_Client/ImplRepoC.inl:
+ * tao/ImR_Client/ImplRepoS.cpp:
+ * tao/ImR_Client/ImplRepoS.h:
+ * tao/ImR_Client/ServerObjectC.cpp:
+ * tao/ImR_Client/ServerObjectC.h:
+ * tao/ImR_Client/ServerObjectC.inl:
+ * tao/ImR_Client/ServerObjectS.cpp:
+ * tao/ImR_Client/ServerObjectS.h:
+ * tao/Messaging/ExceptionHolderA.cpp:
+ * tao/Messaging/ExceptionHolderA.h:
+ * tao/Messaging/ExceptionHolderC.cpp:
+ * tao/Messaging/ExceptionHolderC.h:
+ * tao/Messaging/ExceptionHolderC.inl:
+ * tao/Messaging/MessagingA.cpp:
+ * tao/Messaging/MessagingA.h:
+ * tao/Messaging/MessagingC.cpp:
+ * tao/Messaging/MessagingC.h:
+ * tao/Messaging/MessagingC.inl:
+ * tao/Messaging/MessagingS.cpp:
+ * tao/Messaging/MessagingS.h:
+ * tao/Messaging/MessagingS_T.h:
+ * tao/Messaging/MessagingS_T.inl:
+ * tao/Messaging/Messaging_No_ImplA.cpp:
+ * tao/Messaging/Messaging_No_ImplA.h:
+ * tao/Messaging/Messaging_No_ImplC.cpp:
+ * tao/Messaging/Messaging_No_ImplC.h:
+ * tao/Messaging/Messaging_RT_PolicyA.cpp:
+ * tao/Messaging/Messaging_RT_PolicyA.h:
+ * tao/Messaging/Messaging_RT_PolicyC.cpp:
+ * tao/Messaging/Messaging_RT_PolicyC.h:
+ * tao/Messaging/Messaging_SyncScope_PolicyA.cpp:
+ * tao/Messaging/Messaging_SyncScope_PolicyA.h:
+ * tao/Messaging/Messaging_SyncScope_PolicyC.cpp:
+ * tao/Messaging/Messaging_SyncScope_PolicyC.h:
+ * tao/Messaging/OldExceptionHolderA.cpp:
+ * tao/Messaging/OldExceptionHolderA.h:
+ * tao/Messaging/OldExceptionHolderC.cpp:
+ * tao/Messaging/OldExceptionHolderC.h:
+ * tao/Messaging/OldExceptionHolderC.inl:
+ * tao/Messaging/PollableC.cpp:
+ * tao/Messaging/PollableC.h:
+ * tao/Messaging/TAO_ExtA.cpp:
+ * tao/Messaging/TAO_ExtA.h:
+ * tao/Messaging/TAO_ExtC.cpp:
+ * tao/Messaging/TAO_ExtC.h:
+ * tao/ObjRefTemplate/Default_ORTA.cpp:
+ * tao/ObjRefTemplate/Default_ORTC.cpp:
+ * tao/ObjRefTemplate/Default_ORTC.h:
+ * tao/ObjRefTemplate/ObjectReferenceTemplateA.cpp:
+ * tao/ObjRefTemplate/ObjectReferenceTemplateC.cpp:
+ * tao/ObjRefTemplate/ObjectReferenceTemplateC.h:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_includeC.h:
+ * tao/PI/ClientRequestInfoA.cpp:
+ * tao/PI/ClientRequestInfoA.h:
+ * tao/PI/ClientRequestInfoC.cpp:
+ * tao/PI/ClientRequestInterceptorA.cpp:
+ * tao/PI/ClientRequestInterceptorA.h:
+ * tao/PI/ClientRequestInterceptorC.cpp:
+ * tao/PI/InterceptorA.cpp:
+ * tao/PI/InterceptorA.h:
+ * tao/PI/InterceptorC.cpp:
+ * tao/PI/InterceptorC.h:
+ * tao/PI/InvalidSlotA.h:
+ * tao/PI/InvalidSlotC.cpp:
+ * tao/PI/InvalidSlotC.h:
+ * tao/PI/ORBInitializerA.cpp:
+ * tao/PI/ORBInitializerA.h:
+ * tao/PI/ORBInitializerC.cpp:
+ * tao/PI/ORBInitializerC.h:
+ * tao/PI/PICurrentA.cpp:
+ * tao/PI/PICurrentA.h:
+ * tao/PI/PICurrentC.h:
+ * tao/PI/PIForwardRequestA.cpp:
+ * tao/PI/PIForwardRequestA.h:
+ * tao/PI/PIForwardRequestC.cpp:
+ * tao/PI/PIForwardRequestC.h:
+ * tao/PI/PolicyFactoryA.cpp:
+ * tao/PI/PolicyFactoryA.h:
+ * tao/PI/PolicyFactoryC.cpp:
+ * tao/PI/PolicyFactoryC.h:
+ * tao/PI/RequestInfoA.cpp:
+ * tao/PI/RequestInfoA.h:
+ * tao/PI/RequestInfoC.cpp:
+ * tao/PI/RequestInfoC.h:
+ * tao/PI_Server/ServerRequestInfoA.cpp:
+ * tao/PI_Server/ServerRequestInfoA.h:
+ * tao/PI_Server/ServerRequestInfoC.cpp:
+ * tao/PI_Server/ServerRequestInfoC.h:
+ * tao/PI_Server/ServerRequestInterceptorA.cpp:
+ * tao/PI_Server/ServerRequestInterceptorA.h:
+ * tao/PI_Server/ServerRequestInterceptorC.cpp:
+ * tao/PI_Server/ServerRequestInterceptorC.h:
+ * tao/PortableServer/AdapterActivatorA.cpp:
+ * tao/PortableServer/AdapterActivatorA.h:
+ * tao/PortableServer/AdapterActivatorC.cpp:
+ * tao/PortableServer/AdapterActivatorC.h:
+ * tao/PortableServer/ForwardRequestA.cpp:
+ * tao/PortableServer/ForwardRequestA.h:
+ * tao/PortableServer/ForwardRequestC.cpp:
+ * tao/PortableServer/ForwardRequestC.h:
+ * tao/PortableServer/IdAssignmentPolicyA.cpp:
+ * tao/PortableServer/IdAssignmentPolicyA.h:
+ * tao/PortableServer/IdAssignmentPolicyC.cpp:
+ * tao/PortableServer/IdAssignmentPolicyC.h:
+ * tao/PortableServer/IdUniquenessPolicyA.cpp:
+ * tao/PortableServer/IdUniquenessPolicyA.h:
+ * tao/PortableServer/IdUniquenessPolicyC.cpp:
+ * tao/PortableServer/IdUniquenessPolicyC.h:
+ * tao/PortableServer/ImplicitActivationPolicyA.cpp:
+ * tao/PortableServer/ImplicitActivationPolicyA.h:
+ * tao/PortableServer/ImplicitActivationPolicyC.cpp:
+ * tao/PortableServer/ImplicitActivationPolicyC.h:
+ * tao/PortableServer/LifespanPolicyA.cpp:
+ * tao/PortableServer/LifespanPolicyA.h:
+ * tao/PortableServer/LifespanPolicyC.cpp:
+ * tao/PortableServer/LifespanPolicyC.h:
+ * tao/PortableServer/POAManagerC.cpp:
+ * tao/PortableServer/POAManagerC.h:
+ * tao/PortableServer/PS_CurrentC.cpp:
+ * tao/PortableServer/PS_CurrentC.h:
+ * tao/PortableServer/PS_ForwardA.cpp:
+ * tao/PortableServer/PS_ForwardA.h:
+ * tao/PortableServer/PS_ForwardC.cpp:
+ * tao/PortableServer/PS_ForwardC.h:
+ * tao/PortableServer/PolicyS.cpp:
+ * tao/PortableServer/PolicyS.h:
+ * tao/PortableServer/PolicyS_T.h:
+ * tao/PortableServer/PolicyS_T.inl:
+ * tao/PortableServer/PortableServerC.cpp:
+ * tao/PortableServer/PortableServerC.h:
+ * tao/PortableServer/PortableServerS.h:
+ * tao/PortableServer/PortableServer_includeC.h:
+ * tao/PortableServer/RequestProcessingPolicyA.cpp:
+ * tao/PortableServer/RequestProcessingPolicyA.h:
+ * tao/PortableServer/RequestProcessingPolicyC.cpp:
+ * tao/PortableServer/RequestProcessingPolicyC.h:
+ * tao/PortableServer/ServantActivatorA.cpp:
+ * tao/PortableServer/ServantActivatorA.h:
+ * tao/PortableServer/ServantActivatorC.cpp:
+ * tao/PortableServer/ServantActivatorC.h:
+ * tao/PortableServer/ServantLocatorA.cpp:
+ * tao/PortableServer/ServantLocatorA.h:
+ * tao/PortableServer/ServantLocatorC.cpp:
+ * tao/PortableServer/ServantLocatorC.h:
+ * tao/PortableServer/ServantManagerA.cpp:
+ * tao/PortableServer/ServantManagerA.h:
+ * tao/PortableServer/ServantManagerC.cpp:
+ * tao/PortableServer/ServantManagerC.h:
+ * tao/PortableServer/ServantRetentionPolicyA.cpp:
+ * tao/PortableServer/ServantRetentionPolicyA.h:
+ * tao/PortableServer/ServantRetentionPolicyC.cpp:
+ * tao/PortableServer/ServantRetentionPolicyC.h:
+ * tao/PortableServer/ThreadPolicyA.cpp:
+ * tao/PortableServer/ThreadPolicyA.h:
+ * tao/PortableServer/ThreadPolicyC.cpp:
+ * tao/PortableServer/ThreadPolicyC.h:
+ * tao/RTCORBA/RTCORBAC.cpp:
+ * tao/RTCORBA/RTCORBAC.h:
+ * tao/RTCORBA/RTCORBA_includeC.h:
+ * tao/RTPortableServer/RTPortableServerC.cpp:
+ * tao/RTPortableServer/RTPortableServerC.h:
+ * tao/RTPortableServer/RTPortableServerS.h:
+ * tao/RTPortableServer/RTPortableServer_includeC.h:
+ * tao/RTScheduling/RTSchedulerC.cpp:
+ * tao/RTScheduling/RTSchedulerC.h:
+ * tao/RTScheduling/RTScheduler_includeA.h:
+ * tao/RTScheduling/RTScheduler_includeC.h:
+ * tao/Strategies/sciop_endpointsC.cpp:
+ * tao/Strategies/sciop_endpointsC.h:
+ * tao/Strategies/uiop_endpointsC.cpp:
+ * tao/Strategies/uiop_endpointsC.h:
+ * tao/TypeCodeFactory/TypeCodeFactoryC.cpp:
+ * tao/TypeCodeFactory/TypeCodeFactoryC.h:
+ * tao/Valuetype/StringValueC.cpp:
+ * tao/Valuetype/StringValueC.h:
+ * tao/Valuetype/StringValueC.inl:
+
+ Added missing versioned namespace support.
+
+Fri Nov 25 19:26:03 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_field.cpp:
+ * TAO_IDL/fe/fe_declarator.cpp:
+
+ Added code generation for explicit inclusionn of
+ tao/Managed_Types.h if TAO_(W)String_Manager is seen
+ anywhere in the generated code. This inclusion is
+ redundant now, but will make it easier to merge the
+ new sequence implementation branch, where managed_Types.h
+ will be changed to the name of a new file, into which
+ templatized versions of TAO_(W)String_Manager have
+ been factored.
+
+Fri Nov 25 07:43:56 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/TAO_Singleton_Manager.h (~TAO_Singleton_Manager):
+
+ Made destructor protected to address warnings about a class with
+ a private destructor and no friends.
+
+Fri Nov 25 15:06:43 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/fe/fe_interface_header.cpp:
+
+ Applied a patch submitted by Max Khon <mkhon@swsoft.com>
+ to fix a bug in computing the inheritance list of an IDL
+ interface. This fix closes [BUGID:2318].
+
+Fri Nov 25 13:01:23 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/ImplRepo/run_test.pl:
+
+ Added time parameter to WaitKill to fix spurious test error.
+
+Fri Nov 25 11:18:12 2005 Simon McQueen <sm@prismtech.com>
+
+ * orsbvcs/tests/Bug_2074_Regression/run_test.pl:
+
+ Correct the use lib path to give this a sporting chance.
+ Can't have ever been run from this location.
+
+Thu Nov 24 19:50:35 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h:
+
+ Override the base class ::decode method with one that
+ doesn't try and extract an object key from the CDR encoding.
+ MIOP profiles don't have an object key marshalled between
+ the address info and the tagged components.
+
+ This fixes bug #2316.
+
+ * orbsvcs/tests/Bug_2316_Regression/Bug_2316_Regression.mpc:
+ * orbsvcs/tests/Bug_2316_Regression/README:
+ * orbsvcs/tests/Bug_2316_Regression/Test.idl:
+ * orbsvcs/tests/Bug_2316_Regression/Test_impl.cpp:
+ * orbsvcs/tests/Bug_2316_Regression/Test_impl.h:
+ * orbsvcs/tests/Bug_2316_Regression/client.cpp:
+ * orbsvcs/tests/Bug_2316_Regression/run_test.pl:
+ * orbsvcs/tests/Bug_2316_Regression/server.cpp:
+ * orbsvcs/tests/Bug_2316_Regression/svc.conf:
+
+ Regression test for the above.
+
+Thu Nov 24 19:07:56 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp:
+
+ Fix calculation of protocol name length. This fixes the
+ failure in orbsvcs/tests/Miop/McastHello.
+
+Thu Nov 24 15:56:31 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/Bug_1670_Regression/Bug_1670_Regression.mpc:
+
+ Added 'after' line in one project to avoid concurrently
+ clashes in VC8 builds, since the two projects share an
+ IDL file.
+
+Thu Nov 24 03:01:29 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h:
+ * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_y.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.i:
+ * orbsvcs/orbsvcs/Event/EC_ProxySupplier.i:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.cpp:
+ * orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.h:
+ * orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp:
+ * orbsvcs/orbsvcs/Notify/Refcountable.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp:
+ * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp:
+ * orbsvcs/orbsvcs/Security/Security_Current.h:
+ * orbsvcs/orbsvcs/Trader/Constraint_Visitors.h:
+ * orbsvcs/orbsvcs/Trader/Constraint_l.cpp:
+ * orbsvcs/orbsvcs/Trader/Trader.cpp:
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h:
+ * tao/Acceptor_Registry.h:
+ * tao/Asynch_Reply_Dispatcher_Base.h:
+ * tao/BooleanSeqC.cpp:
+ * tao/BooleanSeqC.h:
+ * tao/CDR.h:
+ * tao/CONV_FRAMEC.cpp:
+ * tao/CONV_FRAMEC.h:
+ * tao/CORBA_methods.h:
+ * tao/CharSeqC.cpp:
+ * tao/CharSeqC.h:
+ * tao/Client_Strategy_Factory.h:
+ * tao/Codeset_Manager.h:
+ * tao/Codeset_Translator_Base.h:
+ * tao/Collocation_Strategy.h:
+ * tao/Condition.h:
+ * tao/Connect_Strategy.h:
+ * tao/Connection_Handler.h:
+ * tao/Connection_Handler.inl:
+ * tao/Connector_Impl.h:
+ * tao/CurrentC.cpp:
+ * tao/CurrentC.h:
+ * tao/DomainC.cpp:
+ * tao/DomainC.h:
+ * tao/DomainC.inl:
+ * tao/DoubleSeqC.cpp:
+ * tao/DoubleSeqC.h:
+ * tao/Exception.h:
+ * tao/Fault_Tolerance_Service.h:
+ * tao/FlResource_Factory.h:
+ * tao/FloatSeqC.cpp:
+ * tao/FloatSeqC.h:
+ * tao/Flushing_Strategy.h:
+ * tao/GIOPC.cpp:
+ * tao/GIOPC.h:
+ * tao/GIOPC.inl:
+ * tao/GIOP_Utils.h:
+ * tao/GUIResource_Factory.h:
+ * tao/IIOPC.cpp:
+ * tao/IIOPC.h:
+ * tao/IIOP_EndpointsC.cpp:
+ * tao/IIOP_EndpointsC.h:
+ * tao/IIOP_Lite_Factory.cpp:
+ * tao/IOPC.cpp:
+ * tao/IOPC.h:
+ * tao/IOP_IORC.cpp:
+ * tao/IOP_IORC.h:
+ * tao/IORInterceptor_Adapter.h:
+ * tao/Incoming_Message_Queue.h:
+ * tao/Invocation_Adapter.h:
+ * tao/Invocation_Endpoint_Selectors.h:
+ * tao/LF_Connect_Strategy.h:
+ * tao/LF_Strategy.h:
+ * tao/Leader_Follower.h:
+ * tao/LocateRequest_Invocation_Adapter.h:
+ * tao/LongDoubleSeqC.cpp:
+ * tao/LongDoubleSeqC.h:
+ * tao/LongLongSeqC.cpp:
+ * tao/LongLongSeqC.h:
+ * tao/LongSeqC.cpp:
+ * tao/LongSeqC.h:
+ * tao/Messaging_PolicyValueC.cpp:
+ * tao/Messaging_PolicyValueC.h:
+ * tao/Messaging_SyncScopeC.cpp:
+ * tao/Messaging_SyncScopeC.h:
+ * tao/ORBInitializer_Registry.h:
+ * tao/ORB_Core.h:
+ * tao/Object.h:
+ * tao/ObjectIdListC.cpp:
+ * tao/ObjectIdListC.h:
+ * tao/Object_KeyC.cpp:
+ * tao/Object_KeyC.h:
+ * tao/OctetSeqC.cpp:
+ * tao/OctetSeqC.h:
+ * tao/PI_ForwardC.cpp:
+ * tao/PI_ForwardC.h:
+ * tao/ParameterModeC.cpp:
+ * tao/ParameterModeC.h:
+ * tao/Pluggable_Messaging.h:
+ * tao/PolicyC.cpp:
+ * tao/PolicyC.h:
+ * tao/PolicyC.inl:
+ * tao/Policy_Current.h:
+ * tao/Policy_ForwardC.cpp:
+ * tao/Policy_ForwardC.h:
+ * tao/PortableInterceptorC.cpp:
+ * tao/PortableInterceptorC.h:
+ * tao/Profile.h:
+ * tao/Profile_Transport_Resolver.cpp:
+ * tao/Profile_Transport_Resolver.h:
+ * tao/Queued_Message.h:
+ * tao/Reactive_Connect_Strategy.h:
+ * tao/Resource_Factory.h:
+ * tao/Sequence.h:
+ * tao/ServicesC.cpp:
+ * tao/ServicesC.h:
+ * tao/ShortSeqC.cpp:
+ * tao/ShortSeqC.h:
+ * tao/StringSeqC.cpp:
+ * tao/StringSeqC.h:
+ * tao/Synch_Invocation.h:
+ * tao/TAOC.cpp:
+ * tao/TAOC.h:
+ * tao/TAO_Internal.h:
+ * tao/TAO_Server_Request.h:
+ * tao/TAO_Singleton_Manager.cpp:
+ * tao/TAO_Singleton_Manager.h:
+ * tao/Thread_Lane_Resources.h:
+ * tao/TimeBaseC.cpp:
+ * tao/TimeBaseC.h:
+ * tao/Transport_Acceptor.h:
+ * tao/Transport_Cache_Manager.h:
+ * tao/Transport_Connector.h:
+ * tao/Transport_Mux_Strategy.h:
+ * tao/Transport_Queueing_Strategies.h:
+ * tao/TypeCodeFactory_Adapter.h:
+ * tao/Typecode_typesC.cpp:
+ * tao/Typecode_typesC.h:
+ * tao/ULongLongSeqC.cpp:
+ * tao/ULongLongSeqC.h:
+ * tao/ULongSeqC.cpp:
+ * tao/ULongSeqC.h:
+ * tao/UShortSeqC.cpp:
+ * tao/UShortSeqC.h:
+ * tao/VarOut_T.cpp:
+ * tao/Var_Size_Argument_T.inl:
+ * tao/Versioned_Namespace.h:
+ * tao/WCharSeqC.cpp:
+ * tao/WCharSeqC.h:
+ * tao/WStringSeqC.cpp:
+ * tao/WStringSeqC.h:
+ * tao/Wait_Strategy.h:
+ * tao/WrongTransactionC.cpp:
+ * tao/WrongTransactionC.h:
+ * tao/default_resource.h:
+ * tao/orb_typesC.cpp:
+ * tao/orb_typesC.h:
+ * tao/target_specification.h:
+ * tao/target_specification.i:
+ * tao/AnyTypeCode/AnySeqA.cpp:
+ * tao/AnyTypeCode/AnySeqA.h:
+ * tao/AnyTypeCode/AnySeqC.cpp:
+ * tao/AnyTypeCode/AnySeqC.h:
+ * tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.cpp:
+ * tao/AnyTypeCode/Any_Impl.h:
+ * tao/AnyTypeCode/Any_Impl_T.h:
+ * tao/AnyTypeCode/Any_Impl_T.inl:
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.h:
+ * tao/AnyTypeCode/BooleanSeqA.cpp:
+ * tao/AnyTypeCode/BooleanSeqA.h:
+ * tao/AnyTypeCode/BoundsA.cpp:
+ * tao/AnyTypeCode/BoundsA.h:
+ * tao/AnyTypeCode/BoundsC.cpp:
+ * tao/AnyTypeCode/BoundsC.h:
+ * tao/AnyTypeCode/CONV_FRAMEA.cpp:
+ * tao/AnyTypeCode/CONV_FRAMEA.h:
+ * tao/AnyTypeCode/DynamicC.cpp:
+ * tao/AnyTypeCode/DynamicC.h:
+ * tao/AnyTypeCode/Dynamic_ParameterC.cpp:
+ * tao/AnyTypeCode/Dynamic_ParameterC.h:
+ * tao/AnyTypeCode/OctetSeqA.cpp:
+ * tao/AnyTypeCode/OctetSeqA.h:
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.h:
+ * tao/AnyTypeCode/ValueModifierC.cpp:
+ * tao/AnyTypeCode/ValueModifierC.h:
+ * tao/AnyTypeCode/VisibilityC.cpp:
+ * tao/AnyTypeCode/VisibilityC.h:
+ * tao/BiDir_GIOP/BiDirPolicyC.cpp:
+ * tao/BiDir_GIOP/BiDirPolicyC.h:
+ * tao/CodecFactory/IOP_CodecC.cpp:
+ * tao/CodecFactory/IOP_CodecC.h:
+ * tao/CodecFactory/IOP_Codec_includeC.h:
+ * tao/Codeset/Codeset_Translator_Factory.h:
+ * tao/DynamicInterface/DII_Invocation_Adapter.cpp:
+ * tao/DynamicInterface/DII_Invocation_Adapter.h:
+ * tao/Messaging/AMH_Response_Handler.h:
+ * tao/Messaging/Asynch_Invocation.h:
+ * tao/Messaging/Asynch_Invocation_Adapter.h:
+ * tao/Messaging/Asynch_Reply_Dispatcher.h:
+ * tao/Messaging/Connection_Timeout_Policy_i.h:
+ * tao/PI/ClientRequestInfo.cpp:
+ * tao/PI/ClientRequestInfoC.h:
+ * tao/PI/ClientRequestInterceptorC.h:
+ * tao/PortableServer/IdUniquenessStrategyUnique.h:
+ * tao/PortableServer/Key_Adapters.h:
+ * tao/PortableServer/Servant_Dispatcher.cpp:
+ * tao/PortableServer/Servant_Dispatcher.h:
+ * tao/Utils/Synch_Refcountable.h:
+ * tao/Valuetype/Valuetype_Adapter_Impl.h:
+
+ Corrected build errors in versioned namespace builds.
+
+Wed Nov 23 22:24:38 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Event_Manager.h:
+
+ Explicitly declared a private copy constructor and assignment
+ operator for TAO_Notify_Event_Manager. By not declaring them,
+ the compiler has to generate them. In generating them, it needs
+ to be able to know the complete type for the template arguments
+ to its ACE_Auto_Ptr<> private instances. Various circular
+ dependencies make that difficult to impossible without
+ restructuring, so we take this approach instead.
+
+ This change should eliminate warnings from Windows-based
+ compilers (e.g., VC8) about calling delete through a pointer to
+ an incomplete type while instantiating ACE_Auto_Ptr<> methods.
+
+ * orbsvcs/orbsvcs/Notify/Object.h:
+ * orbsvcs/orbsvcs/Notify/Object.cpp:
+
+ Only needed a forward decl in Object.h; we only needed the
+ complete type in Object.cpp. Maybe this will help footprint.
+
+Wed Nov 23 09:20:03 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ Fix a few things I should have caught in the Great Merge, but
+ missed.
+
+ * orbsvcs/orbsvcs/Notify/Consumer.cpp (dispatch_request): Change
+ from using deprecated TAO_DEFAULT_MINOR_CODE to TAO::VMCID.
+
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp: Use
+ real C++ static_cast<> rather than deprecated ACE_static_cast().
+
+Wed Nov 23 14:53:09 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/Portable_Interceptors/ForwardRequest/PI_ForwardRequest.mpc:
+
+ Added an 'after' line to one project to avoid concurrency
+ collisions in VC8 builds, since the 2 projects in this file
+ share IDL.
+
+Wed Nov 23 14:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/OBV/ValueBox/client.cpp:
+ This test was doing a few release calls to much causing it to
+ crash.
+
+Wed Nov 23 14:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp:
+ Make sure all generated pointers are initialised to 0
+
+Wed Nov 23 10:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/BiDirectional/run_test_ipv6.pl:
+ * tests/CallbackTest/run_test_ipv6.pl:
+ * tests/IPV6/run_test.pl:
+ * orbsvcs/tests/Notify/Basic/run_test_ipv6.pl:
+ Updated these scripts because of the following change, use
+ 1|0 instead of YES|NO
+ Tue Nov 22 07:49:59 2005 Douglas C. Schmidt
+
+Tue Nov 22 22:58:55 2005 Chris Cleeland <cleeland@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp:
+
+ Fixed warnings about preferring one conversion over another
+ from a _var that appeared on a couple of platforms.
+
+Tue Nov 22 07:49:59 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * tao/ORB_Core.cpp (init): Updated the code to use 1 or 0 for
+ options, rather than YES or NO. Thanks to Abhi Sachdev for
+ motivating this cleanup.
+
+ * docs/Options.html: Updated the documentation to remove the use of
+ YES and NO as options and replace them with 1 or 0 to be
+ consistent with the other options.
+
+Tue Nov 22 04:14:05 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * TAO_IDL/be_include/be_visitor_traits.h:
+
+ Added missing operation declaration.
+
+Tue Nov 22 01:42:48 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup.mpc:
+
+ Rather than disable this project in the ACE_FOR_TAO
+ configuration, inherit from acesocketslib_for_tao to allow it to
+ be used.
+
+Tue Nov 22 09:33:30 (IST) 2005 Bala Natarajan <bala_natarajan@symantec.com>
+
+ * orbsvcs/orbsvcs/PortableGroup.mpc:
+
+ Do not build in ACE_FOR_TAO configuration.
+
+Mon Nov 21 19:28:51 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Notify/EventChannel.h: Removed mistakenly left
+ in attempt to #include EventChannel.inl.
+
+Mon Nov 21 22:22:41 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_cs.cpp:
+
+ Removed commented out code.
+
+ * TAO_IDL/be/be_visitor_traits.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
+ * TAO_IDL/be_include/be_visitor_traits.h:
+
+ Added code generation of Value_Traits<> template
+ specialization for boxed valuetypes. Thanks to
+ Johnny Willemse <jwillemsen@remedy.nl> for reporting
+ the missing code. This fix closes [BUGID:2311].
+
+Mon Nov 21 20:14:09 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/RTCORBA/Private_Connection/RTCORBA_Private_Connection.mpc:
+
+ Added an 'after' line for one of the two projects, since they
+ share an IDL file and VC8 concurrency features need an
+ ordering.
+
+Mon Nov 21 13:21:03 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ This entry is the result of an accumulation of many changes in
+ the OCITAO repository for the Notification Service and the
+ subsequent merge of those changes back to DOC. There have been
+ general changes to improve code formatting in accordance with
+ ACE guidelines, improve lax checking of emulated exceptions, and
+ the like, so these sorts of changes are not noted on a per-file
+ basis.
+
+ These changes include changes from the following OCITAO 1.4a
+ OCIChangeLog entries:
+
+ Thu Oct 27 13:01:00 2005 Wallace Zhang <zhangw@ociweb.com>
+ Wed Sep 28 14:25:52 2005 David Giovannini <giovannd@ociweb.com>
+ Mon Sep 26 15:58:41 USMST 2005 Yan Dai <dai_y@ociweb.com>
+ Tue Sep 13 17:14:25 2005 Justin Michel <michel_j@ociweb.com>
+ Sun Sep 11 14:21:45 2005 Justin Michel <michel_j@ociweb.com>
+ Thu Aug 18 13:50:50 2005 David Giovannini <giovannd@ociweb.com>
+ Tue Aug 16 14:16:47 2005 Justin Michel <michel_j@ociweb.com>
+ Wed Jul 27 12:38:01 2005 Justin Michel <michel_j@ociweb.com>
+ Wed Jul 13 14:28:39 2005 Justin Michel <michel_j@ociweb.com>
+ Mon Jul 11 16:47:08 2005 Justin Michel <michel_j@ociweb.com>
+ Mon May 23 09:18:46 2005 David Giovannini <giovanninid@ociweb.com>
+ Fri Apr 22 15:24:43 2005 David Giovannini <giovanninid@ociweb.com>
+
+ * orbsvcs/Notify_Service/Notify_Server.cpp:
+
+ Added #include of valuetype header file to that the service can
+ use valuetypes portably.
+
+ * orbsvcs/Notify_Service/Notify_Service.cpp:
+
+ Made some error messages more informative and removed dead code.
+
+ * orbsvcs/orbsvcs/Notify/Admin.cpp:
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp:
+
+ Improve compliance with ACE formatting guidelines.
+
+ * orbsvcs/orbsvcs/Notify/Admin.cpp:
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp:
+ * orbsvcs/orbsvcs/Notify/Event_Manager.cpp:
+ * orbsvcs/orbsvcs/Notify/Find_Worker_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp:
+ * orbsvcs/orbsvcs/Notify/Object.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp:
+ * orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.cpp:
+ * orbsvcs/tests/Notify/Basic/Filter.cpp:
+ * orbsvcs/tests/Notify/Basic/MultiTypes.cpp:
+ * orbsvcs/tests/Notify/Reconnecting/Consumer.cpp:
+ * orbsvcs/tests/Notify/Reconnecting/Supplier.cpp:
+ * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.cpp:
+ * orbsvcs/tests/Notify/lib/Application_Command.cpp:
+ * orbsvcs/tests/Notify/lib/ConsumerAdmin_Command.cpp:
+ * orbsvcs/tests/Notify/lib/EventChannel_Command.cpp:
+ * orbsvcs/tests/Notify/lib/Filter_Command.cpp:
+ * orbsvcs/tests/Notify/lib/Periodic_Consumer_Command.cpp:
+ * orbsvcs/tests/Notify/lib/Periodic_Supplier_Command.cpp:
+ * orbsvcs/tests/Notify/lib/SupplierAdmin_Command.cpp:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Supplier.cpp:
+
+ Emulated exception cleanup.
+
+ * orbsvcs/orbsvcs/Notify/Consumer.h:
+ * orbsvcs/orbsvcs/Notify/Peer.cpp:
+ * orbsvcs/orbsvcs/Notify/RT_Notify_Service.h:
+ * orbsvcs/orbsvcs/Notify/Any/AnyEvent.h:
+ * orbsvcs/tests/Notify/PluggableTopology/main.cpp:
+
+ Improved/removed crufty comments.
+
+ * orbsvcs/orbsvcs/Notify/AllocTracker.h (ACE_WIN32_HEAP_MONITOR):
+
+ Explicitly scoped reference to CrtHeapDumper to address a
+ compiler error.
+
+ * orbsvcs/orbsvcs/Notify/Buffering_Strategy.h:
+ * orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp:
+
+ Changed methods using TAO_Notify_Method_Request_Queueable to use
+ a pointer rather than a reference. This improves expectations
+ in areas of code that take the address of the reference and
+ store it or treat it as a pointer.
+
+ * orbsvcs/orbsvcs/Notify/Consumer.cpp (dispatch_request):
+ * orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp:
+
+ Handle COMM_FAILURE and TIMEOUT exceptions when pushing to a
+ consumer. These exceptions used to result in simply discarding
+ the event, but now they are considered a failure, and consumer
+ resources will be released.
+
+ * orbsvcs/orbsvcs/Notify/Consumer.cpp (dispatch_batch):
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp:
+
+ Fixed the detection of dead consumers for batches of events, so
+ that killing (or crashing) a consumer will correctly discard
+ remaining queued events for that consumer, and prevent new
+ events from being queued.
+
+ * orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp:
+
+ Simplify the types of threads from "dispatching, listener,
+ source, and lookup" to simply be "consumer" and "supplier"
+ threads. This is the way they were used, anyway.
+
+ Changed the info message printed at startup to correctly
+ indicate that -DispatchingThreads threads are used
+ *per-consumer_admin*. Previously it indicated that the thread
+ pool was per-channel.
+
+ * orbsvcs/orbsvcs/Notify/EventChannel.h:
+ * orbsvcs/orbsvcs/Notify/EventChannel.cpp (destroy):
+
+ Fixed a memory leak where event channel destroy was not cleaning
+ up the admins. This avoids circular reference counting problems
+ similar to those described in the next entry.
+
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp (destroy):
+ * orbsvcs/orbsvcs/Notify/EventChannel.cpp (destroy):
+ * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp (destroy):
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp (destroy):
+ * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp (destroy):
+ * orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp (destroy):
+
+ Fixed exceptions=0 builds logical error in destroy methods and
+ made certain all owned circular refcounted members are released
+ in class::destroy methods.
+
+ * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp (init):
+
+ Prefer ACE_Auto_Ptr<> to auto_ptr<>.
+
+ * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h (event_var_):
+
+ Eliminated 'const'.
+
+ * orbsvcs/orbsvcs/Notify/Method_Request_Event.h (CTOR):
+ * orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp (CTOR):
+
+ Changed potentially confusing name of argument; it had "_var"
+ appended when it was really a pointer of sorts.
+
+ * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp:
+
+ Eliminated 'const' on event_var_ data member and changed
+ potentially confusing name of local variable in copy() b/c it
+ had "_var" appended when it was really a pointer of sorts.
+
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp:
+
+ Changed the filterable_data_ and variable_header_
+ maps. Previously they contained a CORBA::Any* which was not
+ properly reference counted; the reference count was always one
+ regardless of the number of threads using the Any. Now it is
+ changed to contain the light-weighted CORBA::Any Object. Now the
+ "bind" method for the map will pass in the value from
+ StructuredEvent by value. Since the payload object of the
+ CORBA::Any is reference counted, we are safe.
+
+ This change fixed a Notification Service crash.
+
+ * orbsvcs/orbsvcs/Notify/Object.h (lock_):
+
+ Added new mutex to serialize access to state variables. In the
+ past, the notification service reused mutexes for different
+ purposes, allowing a mutex in one scope to be used in a
+ different scope. When we started using reference counting on
+ objects properly, these scopes occasionally crossed, creating
+ deadlocks, race conditions, and all other sorts of mayhem
+ associated with misuse of mutexes.
+
+ * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp:
+ * orbsvcs/orbsvcs/Notify/Peer.h:
+ * orbsvcs/orbsvcs/Notify/Proxy.cpp:
+ * orbsvcs/orbsvcs/Notify/Reactive_Task.h:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/PushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/PushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.cpp:
+ * orbsvcs/tests/Notify/XML_Persistence/run_test.pl:
+
+ Changed how the persistence specific methods handle nil object
+ references - since TAO throws an exception with url ref styles
+ on nil references.
+
+ * orbsvcs/orbsvcs/Notify/README:
+
+ Changed "ListenerThreads" to "SourceThreads".
+
+ * orbsvcs/orbsvcs/Notify/Reactive_Task.h (timer_):
+
+ Changed to private scope. There was no need for it to be
+ anything but private.
+
+ * orbsvcs/orbsvcs/Notify/Refcountable.h (TAO_Notify_Tracker):
+ * orbsvcs/orbsvcs/Notify/Refcountable.cpp (TAO_Notify_Tracker):
+
+ Added class to track reference counted objects in the
+ notification service. This is disabled by default, and enabled
+ by setting the preprocessor macro
+ TAO_NOTIFY_REFCOUNT_DIAGNOSTICS to 1. Note that currently this
+ class requires the availability of the STL map and string
+ features.
+
+ Use CORBA::Long for reference count rather than compilation
+ environment's 'long'.
+
+ * orbsvcs/orbsvcs/Notify/Routing_Slip.cpp:
+
+ Updates to use isSet() predicate on TAO_Notify_Event::Ptr.
+
+ * orbsvcs/orbsvcs/Notify/ThreadPool_Task.h:
+ * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp:
+
+ Remove the fix for zombie threads, and instead use THR_DETACHED
+ to avoid the problem entirely.
+
+ * orbsvcs/orbsvcs/Notify/Topology_Factory.h (DTOR):
+ * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp:
+
+ Add explicit virtual destructor to get around the problem in g++
+ 4.0 where inlines get hidden. Without the virtual DTOR, this
+ class does not get exported and code that dynamically loads
+ classes derived from this class cannot access this type and
+ access the derived instances through pointers of this type.
+ This happens most notably when loading topology persistence
+ mechanisms via the Service Configurator.
+
+ The actual code for the do-nothing destructor is in
+ EventChannelFactory.cpp. I did this because the only chunk of
+ code that uses Topology_Factory is already in that file, and it
+ didn't seem terribly reasonable to create a completely new file
+ to hold a do-nothing implementation of a destructor.
+
+ * orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h:
+ * orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp:
+
+ Added explicit virtual destructor for the same reasons as
+ described immediately above.
+
+ * orbsvcs/orbsvcs/Notify/Any/AnyEvent.cpp:
+
+ Changed ANY_CODE from being static to being
+ scope-local.
+
+ * orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp:
+
+ Removed asserts associated with parameters. If a param is not
+ optional we throw a BAD_PARAM exception.
+
+ * orbsvcs/tests/Notify/Basic/Basic.mpc:
+ * orbsvcs/tests/Notify/XML_Persistence/XML_Persistence.mpc:
+
+ Provide explicit exenames for each project. While not strictly
+ required, this is "best practice" because it eliminates the need
+ for MPC to open each source file and search for the pattern
+ "*main*" to intuit an exename.
+
+ * orbsvcs/tests/Notify/Basic/Sequence.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Consumer.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Notify_Sequence_Push_Consumer.h:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Notify_Sequence_Push_Consumer.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Consumer.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Supplier.cpp:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/run_test.pl:
+ * orbsvcs/tests/Notify/XML_Persistence/main.cpp:
+
+ Fix incorrect use of pacing interval and other test issues.
+
+ * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.cpp:
+
+ Fixed ACE_DEBUG printf-style message that had one too many
+ arguments.
+
+ * orbsvcs/tests/Notify/Reconnecting/event.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_mt_both.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_mt_topo.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_st_both.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_st_topo.conf:
+ * orbsvcs/tests/Notify/XML_Persistence/svc.conf:
+
+ Changed name of factory function used to dynamically load
+ persistence mechanism to be consistent with the new use of
+ ACE_FACTORY_NAMESPACE_DEFINE.
+
+ * orbsvcs/tests/Notify/XML_Persistence/run_test.pl:
+
+ Use -ORBObjRefStyle url so that IORs will be comparable.
+
+Mon Nov 21 07:23:46 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h:
+
+ Re-export TAO_SSLIOP_Transport class. It is currently used
+ outside of the TAO_SSLIOP shared library by some of our
+ regression tests.
+
+Fri Nov 18 19:27:29 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/fe/lex.yy.cpp:
+
+ Reverted change of
+
+ Wed Nov 16 21:53:08 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ since it caused problems with Borland and Intel compilers.
+ We'll try it again after the next beta, or when there is
+ more time to track down the problems.
+
+Fri Nov 18 15:08:19 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/Typedef_String_Array/typedef_string_array.mpc:
+
+ Added 'after' line to one of two projects that share an IDL
+ file, to avoid concurrency problems with the VC8 build.
+
+Thu Nov 17 16:38:27 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/RTCORBA/MT_Client_Protocol_Priority/RTCORBA_MT_Client_Proto_Prio.mpc:
+
+ Added 'after' line to one project to avoid concurrency clashes
+ in IDL compiler execution when compiling with VC8.
+
+Thu Nov 17 07:57:13 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * docs/releasenotes/index.html:
+
+ Added CSD feature to ORB related section.
+
+Thu Nov 17 06:55:53 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.h:
+ * orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.h:
+
+ Re-export the classes in these files. Addresses unresolved
+ symbol errors in g++ 4.x builds.
+
+Thu Nov 17 06:49:02 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.h:
+
+ Declare wrapper functions with their versioned namespace macro
+ counterparts.
+
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.c:
+
+ Include "params_dup.h" to pull in wrapper function names with
+ versioned namespace support.
+
+Thu Nov 17 13:17:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Borland/ChatClient.mpc:
+ New MPC file, add vcl=1 to your default.features and pass VCL=1
+ to the make flags to build this
+
+ * examples/Borland/README:
+ Updated
+
+Thu Nov 17 12:12:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Borland/ChatClient.bpr:
+ * examples/Borland/ChatClient.res:
+ Updated to BCB6 format
+
+Wed Nov 16 21:53:08 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/fe/lex.yy.cpp:
+ * TAO_IDL/fe/lex.yy.cpp.diff:
+
+ Since the change of
+
+ Wed Nov 16 11:23:15 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ checked in a version of lex.yy.cpp that had been generated
+ elsewhere, regenerated this file with the version of flex
+ that's on tango.dre.vanderbilt.edu, and updated the
+ corresponding diff file.
+
+Wed Nov 16 14:12:08 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B.idl:
+ * tests/CSD_Strategy_Tests/TP_Test_1/run_test.pl:
+
+ Rolled back the changes
+ "Sun Nov 13 12:15:58 USMST 2005 Yan Dai <dai_y@ociweb.com>"
+ made for debugging test failures on VxWorks build.
+
+ * NEWS:
+
+ Added description for CSD feature.
+
+Wed Nov 16 11:23:15 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/fe/idl.ll:
+ * TAO_IDL/fe/idl.yy.cpp:
+
+ Applied patches submitted by Thomas Lockhart
+ <Thomas.Lockhart@jpl.nasa.gov> to enable the IDL compiler's
+ lexer to handle extra numeric fields produced by the gcc
+ 4.0.1 preprocessor. Closes [BUGID:2294].
+
+Wed Nov 16 09:14:21 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp:
+
+ Include "tao/ORB_Constants.h" to pull TAO::VMCID constant.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.h
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h:
+
+ Corrected typos in versioned namespace macros.
+
+Wed Nov 16 09:05:08 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h (Current):
+
+ Removed "const" qualifier for tss_slot_ member. It must
+ currently remain mutable.
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h:
+
+ Include "tao/Versioned_Namespace.h" to pull in versioned
+ namespace macro definitions.
+
+Wed Nov 16 14:52:32 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/NestedUpcall/Simple/Simple.mpc:
+
+ Added 'after' line to one of the two projects in the MPC file,
+ so VC8 doesn't execute the IDL compiler concurrently.
+
+Tue Nov 15 23:48:47 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_SSL.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.cpp:
+ * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.cpp:
+
+ Removed empty files.
+
+ * orbsvcs/orbsvcs/ETCL/ETCL.ll:
+ * orbsvcs/orbsvcs/ETCL/ETCL.yy:
+ * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_y.cpp:
+
+ Added missing versioned namespace macros.
+
+ * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp:
+ * orbsvcs/orbsvcs/Property/CosPropertyService_i.h:
+ * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.cpp:
+ * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.h:
+ * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.cpp:
+ * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.h:
+ * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.i:
+ * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.cpp:
+ * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.h:
+ * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.i:
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h:
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.inl:
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h:
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ClientCredentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirer.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_CredentialsAcquirerFactory.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.inl:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_SSL.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.h:
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.c:
+ * orbsvcs/orbsvcs/SSLIOP/params_dup.h:
+ * orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.h:
+ * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp:
+ * orbsvcs/orbsvcs/Sched/Config_Scheduler.h:
+ * orbsvcs/orbsvcs/Sched/DynSched.cpp:
+ * orbsvcs/orbsvcs/Sched/DynSched.h:
+ * orbsvcs/orbsvcs/Sched/DynSched.i:
+ * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.cpp:
+ * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.h:
+ * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp:
+ * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.h:
+ * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp:
+ * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.h:
+ * orbsvcs/orbsvcs/Sched/SchedEntry.cpp:
+ * orbsvcs/orbsvcs/Sched/SchedEntry.h:
+ * orbsvcs/orbsvcs/Sched/SchedEntry.i:
+ * orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp:
+ * orbsvcs/orbsvcs/Sched/Scheduler_Generic.h:
+ * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp:
+ * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h:
+ * orbsvcs/orbsvcs/Security/CSI_Utils.cpp:
+ * orbsvcs/orbsvcs/Security/CSI_Utils.h:
+ * orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.cpp:
+ * orbsvcs/orbsvcs/Security/SL2_EstablishTrustPolicy.h:
+ * orbsvcs/orbsvcs/Security/SL2_QOPPolicy.cpp:
+ * orbsvcs/orbsvcs/Security/SL2_QOPPolicy.h:
+ * orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.cpp:
+ * orbsvcs/orbsvcs/Security/SL3_ContextEstablishmentPolicy.h:
+ * orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.cpp:
+ * orbsvcs/orbsvcs/Security/SL3_CredentialsAcquirerFactory.h:
+ * orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.cpp:
+ * orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.h:
+ * orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.cpp:
+ * orbsvcs/orbsvcs/Security/SL3_ObjectCredentialsPolicy.h:
+ * orbsvcs/orbsvcs/Security/SL3_PolicyFactory.cpp:
+ * orbsvcs/orbsvcs/Security/SL3_PolicyFactory.h:
+ * orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.cpp:
+ * orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.h:
+ * orbsvcs/orbsvcs/Security/SL3_SecurityCurrent.inl:
+ * orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.cpp:
+ * orbsvcs/orbsvcs/Security/SL3_SecurityCurrent_Impl.h:
+ * orbsvcs/orbsvcs/Security/SL3_SecurityManager.cpp:
+ * orbsvcs/orbsvcs/Security/SL3_SecurityManager.h:
+ * orbsvcs/orbsvcs/Security/Security_Current.cpp:
+ * orbsvcs/orbsvcs/Security/Security_Current.h:
+ * orbsvcs/orbsvcs/Security/Security_Current.inl:
+ * orbsvcs/orbsvcs/Security/Security_Current_Impl.cpp:
+ * orbsvcs/orbsvcs/Security/Security_Current_Impl.h:
+ * orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp:
+ * orbsvcs/orbsvcs/Security/Security_ORBInitializer.h:
+ * orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp:
+ * orbsvcs/orbsvcs/Security/Security_PolicyFactory.h:
+ * orbsvcs/orbsvcs/Time/TAO_TIO.cpp:
+ * orbsvcs/orbsvcs/Time/TAO_TIO.h:
+ * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp:
+ * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h:
+ * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp:
+ * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h:
+ * orbsvcs/orbsvcs/Time/TAO_UTO.cpp:
+ * orbsvcs/orbsvcs/Time/TAO_UTO.h:
+ * orbsvcs/orbsvcs/Time/Timer_Helper.cpp:
+ * orbsvcs/orbsvcs/Time/Timer_Helper.h:
+ * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp:
+ * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h:
+ * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp:
+ * orbsvcs/orbsvcs/Trader/Constraint_Nodes.h:
+ * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Trader/Constraint_Visitors.h:
+ * orbsvcs/orbsvcs/Trader/Constraint_l.cpp:
+ * orbsvcs/orbsvcs/Trader/Constraint_y.cpp:
+ * orbsvcs/orbsvcs/Trader/Interpreter.cpp:
+ * orbsvcs/orbsvcs/Trader/Interpreter.h:
+ * orbsvcs/orbsvcs/Trader/Interpreter_Utils.cpp:
+ * orbsvcs/orbsvcs/Trader/Interpreter_Utils.h:
+ * orbsvcs/orbsvcs/Trader/Interpreter_Utils_T.cpp:
+ * orbsvcs/orbsvcs/Trader/Interpreter_Utils_T.h:
+ * orbsvcs/orbsvcs/Trader/Locking.h:
+ * orbsvcs/orbsvcs/Trader/Offer_Database.cpp:
+ * orbsvcs/orbsvcs/Trader/Offer_Database.h:
+ * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp:
+ * orbsvcs/orbsvcs/Trader/Offer_Iterators.h:
+ * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp:
+ * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.h:
+ * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp:
+ * orbsvcs/orbsvcs/Trader/Service_Type_Repository.h:
+ * orbsvcs/orbsvcs/Trader/Trader.cpp:
+ * orbsvcs/orbsvcs/Trader/Trader.h:
+ * orbsvcs/orbsvcs/Trader/Trader_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Trader/Trader_Constraint_Visitors.h:
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp:
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h:
+ * orbsvcs/orbsvcs/Trader/Trader_T.cpp:
+ * orbsvcs/orbsvcs/Trader/Trader_T.h:
+ * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp:
+ * orbsvcs/orbsvcs/Trader/Trader_Utils.h:
+ * orbsvcs/orbsvcs/Trader/constraint.l:
+ * orbsvcs/orbsvcs/Trader/constraint.y:
+
+ Added versioned namespace support.
+
+Tue Nov 15 07:44:59 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/Bug_2285_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2287_Regression/Makefile.am:
+
+ Regenerate with a separate project for compiling *.idl files.
+ The corresponding *.mpc changes will be committed at a later
+ date since the repo is frozen.
+
+Tue Nov 15 06:56:51 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Makefile.am:
+ * examples/POA/Explicit_Activation/Makefile.am:
+ * orbsvcs/Naming_Service/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Makefile.am:
+ * orbsvcs/examples/Log/RTEvent/Makefile.am:
+ * orbsvcs/examples/Notify/Lanes/Makefile.am:
+ * orbsvcs/examples/Notify/ThreadPool/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/tests/Makefile.am:
+ * orbsvcs/tests/Notify/Basic/Makefile.am:
+ * orbsvcs/tests/Notify/Blocking/Makefile.am:
+ * orbsvcs/tests/Notify/Destroy/Makefile.am:
+ * orbsvcs/tests/Notify/Discarding/Makefile.am:
+ * orbsvcs/tests/Notify/Driver/Makefile.am:
+ * orbsvcs/tests/Notify/MT_Dispatching/Makefile.am:
+ * orbsvcs/tests/Notify/Ordering/Makefile.am:
+ * orbsvcs/tests/Notify/RT_lib/Makefile.am:
+ * orbsvcs/tests/Notify/Reconnecting/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/lib/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile.am:
+ * orbsvcs/tests/Security/Crash_Test/Makefile.am:
+ * orbsvcs/tests/Security/MT_IIOP_SSL/Makefile.am:
+ * orbsvcs/tests/Security/Secure_Invocation/Makefile.am:
+ * performance-tests/Makefile.am:
+ * tao/Makefile.am:
+
+ Regenerated.
+
+ * configure.ac:
+
+ Add new files to AC_CONFIG_FILES.
+
+ * examples/CSD_Strategy/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool2/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool3/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool4/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool5/Makefile.am:
+ * examples/CSD_Strategy/ThreadPool6/Makefile.am:
+ * orbsvcs/tests/Bug_2074_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2285_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2287_Regression/Makefile.am:
+ * performance-tests/CSD_Strategy/Makefile.am:
+ * performance-tests/CSD_Strategy/TestApps/Makefile.am:
+ * performance-tests/CSD_Strategy/TestInf/Makefile.am:
+ * performance-tests/CSD_Strategy/TestServant/Makefile.am:
+
+ New files.
+
+Tue Nov 15 07:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/*:
+ Handle sequences of forward declared object references and
+ added some more unit tests
+
+Mon Nov 14 23:37:09 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp:
+ * examples/CSD_Strategy/ThreadPool4/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool5/Foo_i.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_i.cpp:
+
+ Fixed memory leaks.
+
+Mon Nov 14 13:54:08 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Makefile.am (libTAO_PortableGroup_la_SOURCES):
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.cpp:
+
+ Removed empty map/set source files.
+
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/EventLogConsumer.cpp:
+ * orbsvcs/orbsvcs/Log/EventLogConsumer.h:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/EventLogNotification.cpp:
+ * orbsvcs/orbsvcs/Log/EventLogNotification.h:
+ * orbsvcs/orbsvcs/Log/EventLog_i.cpp:
+ * orbsvcs/orbsvcs/Log/EventLog_i.h:
+ * orbsvcs/orbsvcs/Log/Hash_Iterator_i.cpp:
+ * orbsvcs/orbsvcs/Log/Hash_Iterator_i.h:
+ * orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp:
+ * orbsvcs/orbsvcs/Log/Hash_LogRecordStore.h:
+ * orbsvcs/orbsvcs/Log/Hash_LogStore.cpp:
+ * orbsvcs/orbsvcs/Log/Hash_LogStore.h:
+ * orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.cpp:
+ * orbsvcs/orbsvcs/Log/Hash_Persistence_Strategy.h:
+ * orbsvcs/orbsvcs/Log/Iterator_i.cpp:
+ * orbsvcs/orbsvcs/Log/Iterator_i.h:
+ * orbsvcs/orbsvcs/Log/LogActivator.cpp:
+ * orbsvcs/orbsvcs/Log/LogActivator.h:
+ * orbsvcs/orbsvcs/Log/LogMgr_i.cpp:
+ * orbsvcs/orbsvcs/Log/LogMgr_i.h:
+ * orbsvcs/orbsvcs/Log/LogNotification.cpp:
+ * orbsvcs/orbsvcs/Log/LogNotification.h:
+ * orbsvcs/orbsvcs/Log/LogRecordStore.cpp:
+ * orbsvcs/orbsvcs/Log/LogRecordStore.h:
+ * orbsvcs/orbsvcs/Log/LogRecordStore_persist.cpp:
+ * orbsvcs/orbsvcs/Log/LogRecordStore_persist.h:
+ * orbsvcs/orbsvcs/Log/LogStore.h:
+ * orbsvcs/orbsvcs/Log/Log_Compaction_Handler.cpp:
+ * orbsvcs/orbsvcs/Log/Log_Compaction_Handler.h:
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.cpp:
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.h:
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h:
+ * orbsvcs/orbsvcs/Log/Log_Flush_Handler.cpp:
+ * orbsvcs/orbsvcs/Log/Log_Flush_Handler.h:
+ * orbsvcs/orbsvcs/Log/Log_Persistence_Strategy.h:
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+ * orbsvcs/orbsvcs/Log/Log_i.h:
+ * orbsvcs/orbsvcs/Log/NotifyLogConsumer.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLogConsumer.h:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/NotifyLogNotification.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLogNotification.h:
+ * orbsvcs/orbsvcs/Log/NotifyLog_i.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLog_i.h:
+ * orbsvcs/orbsvcs/Log/PersistStore.cpp:
+ * orbsvcs/orbsvcs/Log/PersistStore.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogConsumer.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLogConsumer.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogNotification.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLogNotification.h:
+ * orbsvcs/orbsvcs/Log/RTEventLog_i.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLog_i.h:
+ * orbsvcs/orbsvcs/Metrics/Metrics_FrameManager.h:
+ * orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.h:
+ * orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.cpp:
+ * orbsvcs/orbsvcs/Metrics/Metrics_LocalCache_T.h:
+ * orbsvcs/orbsvcs/Metrics/Metrics_Logger.cpp:
+ * orbsvcs/orbsvcs/Metrics/Metrics_Logger.h:
+ * orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.h:
+ * orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.i:
+ * orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.cpp:
+ * orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.h:
+ * orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor_T.i:
+ * orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp:
+ * orbsvcs/orbsvcs/Metrics/Metrics_Utils.h:
+ * orbsvcs/orbsvcs/Metrics/Metrics_Utils.i:
+ * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp:
+ * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.h:
+ * orbsvcs/orbsvcs/Naming/Entries.cpp:
+ * orbsvcs/orbsvcs/Naming/Entries.h:
+ * orbsvcs/orbsvcs/Naming/Flat_File_Persistence.cpp:
+ * orbsvcs/orbsvcs/Naming/Flat_File_Persistence.h:
+ * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp:
+ * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h:
+ * orbsvcs/orbsvcs/Naming/Naming_Client.cpp:
+ * orbsvcs/orbsvcs/Naming/Naming_Client.h:
+ * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp:
+ * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h:
+ * orbsvcs/orbsvcs/Naming/Naming_Loader.cpp:
+ * orbsvcs/orbsvcs/Naming/Naming_Loader.h:
+ * orbsvcs/orbsvcs/Naming/Naming_Server.cpp:
+ * orbsvcs/orbsvcs/Naming/Naming_Server.h:
+ * orbsvcs/orbsvcs/Naming/Naming_Service_Container.cpp:
+ * orbsvcs/orbsvcs/Naming/Naming_Service_Container.h:
+ * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp:
+ * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h:
+ * orbsvcs/orbsvcs/Naming/Persistent_Entries.cpp:
+ * orbsvcs/orbsvcs/Naming/Persistent_Entries.h:
+ * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp:
+ * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.h:
+ * orbsvcs/orbsvcs/Naming/Storable.h:
+ * orbsvcs/orbsvcs/Naming/Storable.inl:
+ * orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp:
+ * orbsvcs/orbsvcs/Naming/Storable_Naming_Context.h:
+ * orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.cpp:
+ * orbsvcs/orbsvcs/Naming/Storable_Naming_Context_Activator.h:
+ * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp:
+ * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.h:
+ * orbsvcs/orbsvcs/Notify/Admin.cpp:
+ * orbsvcs/orbsvcs/Notify/Admin.h:
+ * orbsvcs/orbsvcs/Notify/Admin.inl:
+ * orbsvcs/orbsvcs/Notify/AdminProperties.cpp:
+ * orbsvcs/orbsvcs/Notify/AdminProperties.h:
+ * orbsvcs/orbsvcs/Notify/AdminProperties.inl:
+ * orbsvcs/orbsvcs/Notify/Bit_Vector.cpp:
+ * orbsvcs/orbsvcs/Notify/Bit_Vector.h:
+ * orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp:
+ * orbsvcs/orbsvcs/Notify/Buffering_Strategy.h:
+ * orbsvcs/orbsvcs/Notify/Builder.cpp:
+ * orbsvcs/orbsvcs/Notify/Builder.h:
+ * orbsvcs/orbsvcs/Notify/Consumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Consumer.h:
+ * orbsvcs/orbsvcs/Notify/Consumer.inl:
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp:
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.h:
+ * orbsvcs/orbsvcs/Notify/Consumer_Map.h:
+ * orbsvcs/orbsvcs/Notify/Container_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Container_T.h:
+ * orbsvcs/orbsvcs/Notify/Container_T.inl:
+ * orbsvcs/orbsvcs/Notify/CosNotify_Initializer.cpp:
+ * orbsvcs/orbsvcs/Notify/CosNotify_Initializer.h:
+ * orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp:
+ * orbsvcs/orbsvcs/Notify/CosNotify_Service.h:
+ * orbsvcs/orbsvcs/Notify/Default_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/Default_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Delivery_Request.cpp:
+ * orbsvcs/orbsvcs/Notify/Delivery_Request.h:
+ * orbsvcs/orbsvcs/Notify/Delivery_Request.inl:
+ * orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp:
+ * orbsvcs/orbsvcs/Notify/ETCL_Filter.h:
+ * orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.cpp:
+ * orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h:
+ * orbsvcs/orbsvcs/Notify/Event.cpp:
+ * orbsvcs/orbsvcs/Notify/Event.h:
+ * orbsvcs/orbsvcs/Notify/Event.inl:
+ * orbsvcs/orbsvcs/Notify/EventChannel.cpp:
+ * orbsvcs/orbsvcs/Notify/EventChannel.h:
+ * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp:
+ * orbsvcs/orbsvcs/Notify/EventChannelFactory.h:
+ * orbsvcs/orbsvcs/Notify/EventType.cpp:
+ * orbsvcs/orbsvcs/Notify/EventType.h:
+ * orbsvcs/orbsvcs/Notify/EventType.inl:
+ * orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp:
+ * orbsvcs/orbsvcs/Notify/EventTypeSeq.h:
+ * orbsvcs/orbsvcs/Notify/Event_Manager.cpp:
+ * orbsvcs/orbsvcs/Notify/Event_Manager.h:
+ * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.h:
+ * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.inl:
+ * orbsvcs/orbsvcs/Notify/Event_Map_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Event_Map_T.h:
+ * orbsvcs/orbsvcs/Notify/Event_Map_T.inl:
+ * orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h:
+ * orbsvcs/orbsvcs/Notify/Factory.h:
+ * orbsvcs/orbsvcs/Notify/FilterAdmin.cpp:
+ * orbsvcs/orbsvcs/Notify/FilterAdmin.h:
+ * orbsvcs/orbsvcs/Notify/FilterAdmin.inl:
+ * orbsvcs/orbsvcs/Notify/FilterFactory.h:
+ * orbsvcs/orbsvcs/Notify/Find_Worker_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Find_Worker_T.h:
+ * orbsvcs/orbsvcs/Notify/Find_Worker_T.inl:
+ * orbsvcs/orbsvcs/Notify/ID_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/ID_Factory.h:
+ * orbsvcs/orbsvcs/Notify/ID_Factory.inl:
+ * orbsvcs/orbsvcs/Notify/Method_Request.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Event.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Updates.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Updates_T.inl:
+ * orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp:
+ * orbsvcs/orbsvcs/Notify/Name_Value_Pair.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h:
+ * orbsvcs/orbsvcs/Notify/Notify_Extensions.cpp:
+ * orbsvcs/orbsvcs/Notify/Notify_Extensions.h:
+ * orbsvcs/orbsvcs/Notify/Object.cpp:
+ * orbsvcs/orbsvcs/Notify/Object.h:
+ * orbsvcs/orbsvcs/Notify/Object.inl:
+ * orbsvcs/orbsvcs/Notify/POA_Helper.cpp:
+ * orbsvcs/orbsvcs/Notify/POA_Helper.h:
+ * orbsvcs/orbsvcs/Notify/POA_Helper.inl:
+ * orbsvcs/orbsvcs/Notify/Peer.cpp:
+ * orbsvcs/orbsvcs/Notify/Peer.h:
+ * orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp:
+ * orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h:
+ * orbsvcs/orbsvcs/Notify/Properties.cpp:
+ * orbsvcs/orbsvcs/Notify/Properties.h:
+ * orbsvcs/orbsvcs/Notify/Properties.inl:
+ * orbsvcs/orbsvcs/Notify/Property.h:
+ * orbsvcs/orbsvcs/Notify/PropertySeq.cpp:
+ * orbsvcs/orbsvcs/Notify/PropertySeq.h:
+ * orbsvcs/orbsvcs/Notify/PropertySeq.inl:
+ * orbsvcs/orbsvcs/Notify/Property_Boolean.cpp:
+ * orbsvcs/orbsvcs/Notify/Property_Boolean.h:
+ * orbsvcs/orbsvcs/Notify/Property_Boolean.inl:
+ * orbsvcs/orbsvcs/Notify/Property_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Property_T.h:
+ * orbsvcs/orbsvcs/Notify/Property_T.inl:
+ * orbsvcs/orbsvcs/Notify/Proxy.cpp:
+ * orbsvcs/orbsvcs/Notify/Proxy.h:
+ * orbsvcs/orbsvcs/Notify/Proxy.inl:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.inl:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer_T.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer_T.h:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier.h:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier.inl:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier_T.h:
+ * orbsvcs/orbsvcs/Notify/Proxy_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Proxy_T.h:
+ * orbsvcs/orbsvcs/Notify/QoSProperties.cpp:
+ * orbsvcs/orbsvcs/Notify/QoSProperties.h:
+ * orbsvcs/orbsvcs/Notify/QoSProperties.inl:
+ * orbsvcs/orbsvcs/Notify/RT_Builder.cpp:
+ * orbsvcs/orbsvcs/Notify/RT_Builder.h:
+ * orbsvcs/orbsvcs/Notify/RT_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/RT_Factory.h:
+ * orbsvcs/orbsvcs/Notify/RT_Notify_Service.cpp:
+ * orbsvcs/orbsvcs/Notify/RT_Notify_Service.h:
+ * orbsvcs/orbsvcs/Notify/RT_POA_Helper.cpp:
+ * orbsvcs/orbsvcs/Notify/RT_POA_Helper.h:
+ * orbsvcs/orbsvcs/Notify/RT_Properties.cpp:
+ * orbsvcs/orbsvcs/Notify/RT_Properties.h:
+ * orbsvcs/orbsvcs/Notify/RT_Properties.inl:
+ * orbsvcs/orbsvcs/Notify/Random_File.cpp:
+ * orbsvcs/orbsvcs/Notify/Random_File.h:
+ * orbsvcs/orbsvcs/Notify/Reactive_Task.cpp:
+ * orbsvcs/orbsvcs/Notify/Reactive_Task.h:
+ * orbsvcs/orbsvcs/Notify/Reactive_Task.inl:
+ * orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h:
+ * orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp:
+ * orbsvcs/orbsvcs/Notify/Reconnection_Registry.h:
+ * orbsvcs/orbsvcs/Notify/Refcountable.cpp:
+ * orbsvcs/orbsvcs/Notify/Refcountable.h:
+ * orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.h:
+ * orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip.cpp:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip.h:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h:
+ * orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h:
+ * orbsvcs/orbsvcs/Notify/Seq_Worker_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Seq_Worker_T.h:
+ * orbsvcs/orbsvcs/Notify/Seq_Worker_T.inl:
+ * orbsvcs/orbsvcs/Notify/Service.cpp:
+ * orbsvcs/orbsvcs/Notify/Service.h:
+ * orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp:
+ * orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h:
+ * orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.cpp:
+ * orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.h:
+ * orbsvcs/orbsvcs/Notify/Supplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Supplier.h:
+ * orbsvcs/orbsvcs/Notify/Supplier.inl:
+ * orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp:
+ * orbsvcs/orbsvcs/Notify/SupplierAdmin.h:
+ * orbsvcs/orbsvcs/Notify/Supplier_Map.h:
+ * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp:
+ * orbsvcs/orbsvcs/Notify/ThreadPool_Task.h:
+ * orbsvcs/orbsvcs/Notify/Timer.h:
+ * orbsvcs/orbsvcs/Notify/Timer_Queue.cpp:
+ * orbsvcs/orbsvcs/Notify/Timer_Queue.h:
+ * orbsvcs/orbsvcs/Notify/Timer_Reactor.cpp:
+ * orbsvcs/orbsvcs/Notify/Timer_Reactor.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Loader.cpp:
+ * orbsvcs/orbsvcs/Notify/Topology_Loader.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.cpp:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.inl:
+ * orbsvcs/orbsvcs/Notify/Topology_Saver.cpp:
+ * orbsvcs/orbsvcs/Notify/Topology_Saver.h:
+ * orbsvcs/orbsvcs/Notify/Worker_Task.cpp:
+ * orbsvcs/orbsvcs/Notify/Worker_Task.h:
+ * orbsvcs/orbsvcs/Notify/XML_Loader.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Loader.h:
+ * orbsvcs/orbsvcs/Notify/XML_Saver.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Saver.h:
+ * orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Any/AnyEvent.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/AnyEvent.h:
+ * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/PushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/PushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.h:
+ * orbsvcs/orbsvcs/PortableGroup/GOA.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/GOA.h:
+ * orbsvcs/orbsvcs/PortableGroup/MIOP.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/MIOP.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Equal_To.inl:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Hash.inl:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Null_Property_Validator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Adapter_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Operators.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Operators.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.inl:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set_Find.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Utils.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Utils.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Utils.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_conf.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h:
+ * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.i:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.i:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Message_Block_Data_Iterator.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.h:
+
+ Added versioned namespace support.
+
+Mon Nov 14 15:00:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_traits.cpp:
+ * TAO_IDL/be/be_visitor_component/component_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
+ The first argument of Objref_Traits::marshal should be
+ a const argument
+
+Mon Nov 14 09:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence.hpp:
+ Fixed compile error with HPUX
+
+Mon Nov 14 07:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/mock_stream.{hpp,cpp}:
+ * tests/Sequence_Unit_Tests/fwd_mock_reference.{hpp,cpp}:
+ New mock_stream and fwd_mock_reference, needed for some more unit
+ tests
+
+Sun Nov 13 12:15:58 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B.idl:
+
+ Changed the done() method to be oneway to see if this fixes TRANSIENT
+ exception caught on VXWORKS builds.
+
+ * tests/CSD_Strategy_Tests/TP_Test_1/run_test.pl:
+
+ Extended timeout for server process startup to see if this fixes
+ server.ior not found problem on VXWORKS builds.
+
+Sat Nov 12 09:55:33 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Change "FaultTolerance/FT_IOGR_Property.i" to
+ "FaultTolerance/FT_IOGR_Property.inl".
+
+ Remove "ETCL/ETCL_Constraint.i".
+
+Sat Nov 12 01:34:26 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/CosLoadBalancing.mpc:
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertMap.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadListMap.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadMap.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Location_Index_Map.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_MonitorMap.cpp:
+
+ Removed empty LoadBalancing/*Map.cpp source files.
+
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.h:
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Interceptor.h:
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Basic_Replication_Strategy.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ConnectionHandler_T.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Dynamic_Bitset.inl:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Become_Primary_Listener.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ConsumerAdmin.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Event_Channel_Impl.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Factory.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Fault_Listener.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_Group_Manager.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ORBInitializer.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxyConsumer.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_SupplierAdmin.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_T.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_T.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Listener.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/IOGR_Maker.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Strategy.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/SCTP_Fault_Detector.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Set_Update_Interceptor.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Update_Manager.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/create_persistent_poa.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/replace_key.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.h:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.inl:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/Log.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/Log.h:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/Log.inl:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.h:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/Safe_InputCDR.inl:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/ScopeGuard.h:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.h:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/UUID.inl:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/activate_with_id.h:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/resolve_init.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.i:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector_Impl.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Endpoint.i:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Factory.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Profile.h:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.h:
+ * orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.cpp:
+ * orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.h:
+ * orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/AbstractInterfaceDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/AliasDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ArrayDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ArrayDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/AttributeDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/AttributeDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ComponentContainer_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ComponentContainer_i.h:
+ * orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ComponentDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ComponentModuleDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ComponentRepository_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ComponentRepository_i.h:
+ * orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ConstantDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ConsumesDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ConsumesDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/Contained_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/Contained_i.h:
+ * orbsvcs/orbsvcs/IFRService/Container_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/Container_i.h:
+ * orbsvcs/orbsvcs/IFRService/EmitsDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/EmitsDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/EnumDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/EnumDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/EventDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/EventDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/EventPortDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/EventPortDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ExceptionDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ExceptionDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ExtAbstractInterfaceDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ExtAttributeDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ExtInterfaceDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ExtLocalInterfaceDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ExtValueDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ExtValueDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/FactoryDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/FactoryDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/FinderDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/FinderDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/FixedDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/FixedDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/HomeDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/IDLType_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/IDLType_i.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.cpp:
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp:
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp:
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.h:
+ * orbsvcs/orbsvcs/IFRService/IRObject_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/IRObject_i.h:
+ * orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/InterfaceAttrExtension_i.h:
+ * orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/InterfaceDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/LocalInterfaceDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ModuleDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ModuleDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/NativeDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/NativeDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/OperationDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/OperationDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/Options.cpp:
+ * orbsvcs/orbsvcs/IFRService/Options.h:
+ * orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/PrimitiveDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/RecursDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/RecursDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/Repository_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/Repository_i.h:
+ * orbsvcs/orbsvcs/IFRService/SequenceDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/SequenceDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/StringDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/StringDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/StructDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/StructDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/TypedefDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/TypedefDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/UnionDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/UsesDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/UsesDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ValueBoxDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ValueDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ValueDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/ValueMemberDef_i.h:
+ * orbsvcs/orbsvcs/IFRService/WstringDef_i.cpp:
+ * orbsvcs/orbsvcs/IFRService/WstringDef_i.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Load_Average_Monitor.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Utilization_Monitor.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ClientRequestInterceptor.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Component.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.inl:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.inl:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertInfo.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertMap.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAverage.inl:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadListMap.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadMap.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadMinimum.inl:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Location_Index_Map.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ORBInitializer.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Pull_Handler.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Random.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.cpp:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_conf.h:
+
+ Added versioned namespace support.
+
+Fri Nov 11 08:55:05 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_Factory.h:
+
+ Include "tao/Versioned_Namespace.h" for
+ TAO_BEGIN_VERSIONED_NAMESPACE_DECL macro definition.
+
+Fri Nov 11 08:50:02 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp:
+
+ Include "ace/OS_NS_unistd.h" for ACE_OS::getgid() prototype.
+
+Thu Nov 10 10:18:20 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tao/CSD_ThreadPool/CSD_TP_Strategy_Factory.cpp:
+
+ Merged a bug fix from OCI 1.4a.
+ "Thu Nov 10 02:34:04 2005 Ciju John <john_c@ociweb.com>"
+
+Thu Nov 10 10:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp:
+ Fixed incorrect macro
+
+Wed Nov 9 22:34:24 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Channel_Clients_T.cpp:
+ * orbsvcs/orbsvcs/Channel_Clients_T.h:
+ * orbsvcs/orbsvcs/Channel_Clients_T.i:
+ * orbsvcs/orbsvcs/Event_Service_Constants.h:
+ * orbsvcs/orbsvcs/Event_Utilities.cpp:
+ * orbsvcs/orbsvcs/Event_Utilities.h:
+ * orbsvcs/orbsvcs/Event_Utilities.i:
+ * orbsvcs/orbsvcs/IOR_Multicast.cpp:
+ * orbsvcs/orbsvcs/IOR_Multicast.h:
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/orbsvcs/RTEvent_Serv.mpc:
+ * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
+ * orbsvcs/orbsvcs/Runtime_Scheduler.h:
+ * orbsvcs/orbsvcs/Shutdown_Utilities.cpp:
+ * orbsvcs/orbsvcs/Shutdown_Utilities.h:
+ * orbsvcs/orbsvcs/Time_Utilities.cpp:
+ * orbsvcs/orbsvcs/Time_Utilities.h:
+ * orbsvcs/orbsvcs/Time_Utilities.i:
+ * orbsvcs/orbsvcs/AV/AVStreams_i.cpp:
+ * orbsvcs/orbsvcs/AV/AVStreams_i.h:
+ * orbsvcs/orbsvcs/AV/AVStreams_i.i:
+ * orbsvcs/orbsvcs/AV/AV_Core.cpp:
+ * orbsvcs/orbsvcs/AV/AV_Core.h:
+ * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp:
+ * orbsvcs/orbsvcs/AV/Endpoint_Strategy.h:
+ * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp:
+ * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h:
+ * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.cpp:
+ * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h:
+ * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp:
+ * orbsvcs/orbsvcs/AV/FlowSpec_Entry.h:
+ * orbsvcs/orbsvcs/AV/FlowSpec_Entry.i:
+ * orbsvcs/orbsvcs/AV/Flows_T.cpp:
+ * orbsvcs/orbsvcs/AV/Flows_T.h:
+ * orbsvcs/orbsvcs/AV/MCast.cpp:
+ * orbsvcs/orbsvcs/AV/MCast.h:
+ * orbsvcs/orbsvcs/AV/MCast.i:
+ * orbsvcs/orbsvcs/AV/Policy.cpp:
+ * orbsvcs/orbsvcs/AV/Policy.h:
+ * orbsvcs/orbsvcs/AV/Policy.i:
+ * orbsvcs/orbsvcs/AV/Protocol_Factory.cpp:
+ * orbsvcs/orbsvcs/AV/Protocol_Factory.h:
+ * orbsvcs/orbsvcs/AV/QoS_UDP.cpp:
+ * orbsvcs/orbsvcs/AV/QoS_UDP.h:
+ * orbsvcs/orbsvcs/AV/QoS_UDP.i:
+ * orbsvcs/orbsvcs/AV/RTCP.cpp:
+ * orbsvcs/orbsvcs/AV/RTCP.h:
+ * orbsvcs/orbsvcs/AV/RTCP_Channel.cpp:
+ * orbsvcs/orbsvcs/AV/RTCP_Channel.h:
+ * orbsvcs/orbsvcs/AV/RTCP_Packet.cpp:
+ * orbsvcs/orbsvcs/AV/RTCP_Packet.h:
+ * orbsvcs/orbsvcs/AV/RTP.cpp:
+ * orbsvcs/orbsvcs/AV/RTP.h:
+ * orbsvcs/orbsvcs/AV/Resource_Factory.h:
+ * orbsvcs/orbsvcs/AV/SCTP_SEQ.cpp:
+ * orbsvcs/orbsvcs/AV/SCTP_SEQ.h:
+ * orbsvcs/orbsvcs/AV/TCP.cpp:
+ * orbsvcs/orbsvcs/AV/TCP.h:
+ * orbsvcs/orbsvcs/AV/Transport.cpp:
+ * orbsvcs/orbsvcs/AV/Transport.h:
+ * orbsvcs/orbsvcs/AV/Transport.i:
+ * orbsvcs/orbsvcs/AV/UDP.cpp:
+ * orbsvcs/orbsvcs/AV/UDP.h:
+ * orbsvcs/orbsvcs/AV/UDP.i:
+ * orbsvcs/orbsvcs/AV/default_resource.cpp:
+ * orbsvcs/orbsvcs/AV/default_resource.h:
+ * orbsvcs/orbsvcs/AV/media_timer.cpp:
+ * orbsvcs/orbsvcs/AV/media_timer.h:
+ * orbsvcs/orbsvcs/AV/ntp-time.h:
+ * orbsvcs/orbsvcs/AV/sfp.cpp:
+ * orbsvcs/orbsvcs/AV/sfp.h:
+ * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp:
+ * orbsvcs/orbsvcs/Concurrency/CC_Lock.h:
+ * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp:
+ * orbsvcs/orbsvcs/Concurrency/CC_LockSet.h:
+ * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp:
+ * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h:
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.cpp:
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.h:
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.cpp:
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Utils.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Factory.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Factory.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Defaults.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_List.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_List.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.i:
+ * orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h:
+ * orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h:
+ * orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.i:
+ * orbsvcs/orbsvcs/ESF/ESF_Worker.cpp:
+ * orbsvcs/orbsvcs/ESF/ESF_Worker.h:
+ * orbsvcs/orbsvcs/ETCL/ETCL.ll:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.i:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint_Visitor.h:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.cpp:
+ * orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.h:
+ * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Adapters.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Adapters.h:
+ * orbsvcs/orbsvcs/Event/ECG_Address_Server_Base.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Address_Server_Base.h:
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.h:
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.i:
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.h:
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.i:
+ * orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.h:
+ * orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.i:
+ * orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_ConsumerEC_Control.h:
+ * orbsvcs/orbsvcs/Event/ECG_Defaults.h:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.h:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.i:
+ * orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.h:
+ * orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.h:
+ * orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.h:
+ * orbsvcs/orbsvcs/Event/ECG_Simple_Address_Server.i:
+ * orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_Simple_Mcast_EH.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_EH.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_EH.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_EH.i:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.i:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Protocol.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.i:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.cpp:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.h:
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.inl:
+ * orbsvcs/orbsvcs/Event/EC_And_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_And_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h:
+ * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.i:
+ * orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Busy_Lock.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Busy_Lock.h:
+ * orbsvcs/orbsvcs/Event/EC_Busy_Lock.i:
+ * orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Channel_Destroyer.h:
+ * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp:
+ * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h:
+ * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Default_Factory.i:
+ * orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Default_ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Default_ProxySupplier.h:
+ * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i:
+ * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Event_Channel.h:
+ * orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.h:
+ * orbsvcs/orbsvcs/Event/EC_Event_Channel_Base.i:
+ * orbsvcs/orbsvcs/Event/EC_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Filter.i:
+ * orbsvcs/orbsvcs/Event/EC_Filter_Builder.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h:
+ * orbsvcs/orbsvcs/Event/EC_Filter_Builder.i:
+ * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Gateway.h:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.h:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.i:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_Sched.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_Sched.h:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.i:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.i:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.h:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.i:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.h:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.i:
+ * orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.h:
+ * orbsvcs/orbsvcs/Event/EC_Lifetime_Utils.i:
+ * orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.h:
+ * orbsvcs/orbsvcs/Event/EC_Lifetime_Utils_T.i:
+ * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Negation_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Negation_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Null_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp:
+ * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h:
+ * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i:
+ * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.i:
+ * orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.h:
+ * orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.i:
+ * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h:
+ * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.i:
+ * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i:
+ * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp:
+ * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h:
+ * orbsvcs/orbsvcs/Event/EC_ProxySupplier.i:
+ * orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Proxy_Disconnector.h:
+ * orbsvcs/orbsvcs/Event/EC_QOS_Info.h:
+ * orbsvcs/orbsvcs/Event/EC_QOS_Info.i:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.i:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.i:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.h:
+ * orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Sched_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_Sched_Factory.i:
+ * orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Sched_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.h:
+ * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.i:
+ * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h:
+ * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp:
+ * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h:
+ * orbsvcs/orbsvcs/Event/EC_SupplierControl.cpp:
+ * orbsvcs/orbsvcs/Event/EC_SupplierControl.h:
+ * orbsvcs/orbsvcs/Event/EC_Supplier_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Supplier_Filter.i:
+ * orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.i:
+ * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.i:
+ * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h:
+ * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.i:
+ * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Type_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_UDP_Admin.cpp:
+ * orbsvcs/orbsvcs/Event/EC_UDP_Admin.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientORBInitializer.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicyFactory.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.inl:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.i:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.inl:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.i:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.inl:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerORBInitializer.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h:
+
+ Added versioned namespace support.
+
+Wed Nov 9 22:54:43 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tao/CSD_ThreadPool/CSD_TP_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.h:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy_Factory.cpp:
+
+ Merged changes from OCI TAO 1.4a that optionally supports the
+ serialization of requests. (See OCIChangeLog entry
+ "Mon Nov 7 09:31:11 MST 2005 Tim Bradley <bradley_t@ociweb.com>"
+ for details.)
+
+Wed Nov 9 15:59:01 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * tests/Bug_2234_Regression/client.cpp
+
+ Fixed a warning on the OS X build.
+
+Wed Nov 9 13:39:13 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * examples/CSD_Strategy/ThreadPool4/Foo.idl:
+ * examples/CSD_Strategy/ThreadPool4/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool4/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool5/Foo.idl:
+ * examples/CSD_Strategy/ThreadPool5/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool5/Foo_i.h:
+
+ Added exception raise to test_callback() in idl. This would fix the
+ warnings on borland builds.
+
+Wed Nov 9 10:20:05 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * performance-tests/CSD_Strategy/TestInf/csd_pt_testinf.mpc:
+
+ Removed duplicated dependency on pi and codecfactory and removed
+ dependency on interceptors since it's not needed and it makes the
+ test library not built on minumum corba build.
+
+Wed Nov 9 14:57:54 2005 Simon McQueen <sm@prismtech.com>
+
+ * tests/Bug_2289_Regression/Bug_2289_Regression.mpc:
+ * tests/Bug_2289_Regression/MyInterfaceImpl.cpp:
+ * tests/Bug_2289_Regression/MyInterfaceImpl.h:
+ * tests/Bug_2289_Regression/README:
+ * tests/Bug_2289_Regression/Test.idl:
+ * tests/Bug_2289_Regression/client.cpp:
+
+ Updated this test so it doesn't need handcrafted code.
+
+ * tests/Bug_2289_Regression/MyStruct.idl:
+ * tests/Bug_2289_Regression/MyStructC.cpp:
+ * tests/Bug_2289_Regression/MyStructC.h:
+ * tests/Bug_2289_Regression/MyStructC.inl:
+ * tests/Bug_2289_Regression/MyStructS.cpp:
+ * tests/Bug_2289_Regression/MyStructS.h:
+ * tests/Bug_2289_Regression/MyStructS.inl:
+ * tests/Bug_2289_Regression/MyStructS_T.cpp:
+ * tests/Bug_2289_Regression/MyStructS_T.h:
+ * tests/Bug_2289_Regression/MyStructS_T.inl:
+
+ Removed these files. They are no longer needed.
+
+Wed Nov 9 14:25:41 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/IDL_Test/constants.idl:
+
+ Reverted the change of
+
+ Tue Nov 8 20:11:47 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ since that constant value is being used to address an Intel compiler
+ bug, and the value itself is a legal one. Thanks to Johnny Willemsen
+ <jwillemsen@remedy.nl> for pointing this out.
+
+Tue Nov 8 20:11:47 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/IDL_Test/constants.idl:
+
+ Changed the literal rhs for one of the constants
+ to a value that won't challenge compilers that are not
+ compliant with the ANSI/IEEE minimum positive value for
+ double. This change should eliminate a warning on
+ SuSE 9.3 ICC90.
+
+Tue Nov 8 11:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Bug_2074_Regression/Bug_2074_Regression.mpc:
+ Added minimum_corba as base project
+
+Tue Nov 8 10:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Big_Request_Muxing/server.cpp:
+ Slightly changed this server, when we directly have all expected
+ messages then there is no need to wait for anymore. If we don't
+ have all messages, we print how many we have and then we run
+ the orb for another 5 seconds to see if we get extra messages
+
+Tue Nov 8 10:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence.hpp:
+ Reimplemented the copy constructor and implemented the assignment
+ operator in terms of using the copy constructor
+
+Tue Nov 8 10:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Makefile.am:
+ Removed POA_Current.inl
+
+Tue Nov 8 08:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/bounded_string_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_value_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_string_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence_ut.cpp:
+ Changed test_get_buffer_true_with_release_false to use
+ a BOOST_CHECK to chekd that we correctly return a null pointer
+
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence_ut.cpp:
+ Trying to test the normal sequence behaviour and the special
+ TAO optimization when TAO_NO_COPY_OCTET_SEQUENCES in one file
+ will make things hard to maintain, this file now just tests
+ the default behaviour, the special behaviour is now done in the
+ new unit test listed below.
+
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence_nocopy_ut.cpp:
+ New unit test file
+
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence.hpp:
+ Fixed get_buffer()
+
+ * tests/Sequence_Unit_Tests/Sequence_Unit_Tests.mpc:
+ * tests/Sequence_Unit_Tests/run_test.pl:
+ Added the new unit test
+
+Tue Nov 8 08:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence.hpp:
+ Specialization for unbounded octet sequences, enabled when
+ TAO_NO_COPY_OCTET_SEQUENCES is defined to 1. This is not
+ ready yet, but this way it is easier to share the code
+ and build it on multiple systems
+
+ * tests/Sequence_Unit_Tests/Unbounded_Octet.cpp:
+ Include unbounded_octet_sequences.hpp
+
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence_ut.cpp:
+ Added a first extra test for when TAO_NO_COPY_OCTET_SEQUENCES
+ is defined
+
+Tue Nov 8 08:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/bounded_object_reference_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/bounded_string_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/object_reference_sequence_element_ut.cpp:
+ * tests/Sequence_Unit_Tests/string_sequence_element_ut.cpp:
+ * tests/Sequence_Unit_Tests/testing_allocation_traits_ut.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_object_reference_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_value_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_string_sequence_ut.cpp:
+ Made these unit tests working with boost 1.33
+
+ * tests/Sequence_Unit_Tests/unbounded_value_sequence.hpp:
+ Enabled the explicit for the single argument constructor
+
+ * tests/Sequence_Unit_Tests/run_test.pl:
+ Reduced test time to 10 seconds, long enough
+
+Tue Nov 8 08:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp:
+ Fixed compile error on Solaris
+
+Mon Nov 7 16:25:38 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/CosEC_RtEC_Based_Mult.mpc
+ * orbsvcs/tests/Notify/lib/Notify_lib.mpc
+ * orbsvcs/tests/Security/Crash_Test/Security_Crash_Test.mpc
+ * orbsvcs/tests/Security/MT_IIOP_SSL/MT_IIOP_SSL.mpc
+ * orbsvcs/tests/Security/Secure_Invocation/Secure_Invocation.mpc
+ * orbsvcs/tests/Trading/Trading.mpc
+ * performance-tests/CSD_Strategy/TestInf/csd_pt_testinf.mpc
+
+ Fixes for linking problems on OS X.
+
+Mon Nov 7 12:07:44 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/PortableServer/POA_Current.h (POA_Current):
+
+ Re-exported this class. Unfortunately, some other TAO libraries
+ make direct calls on this class. Addresses unresolved symbol
+ errors.
+
+ * tao/PortableServer/POA_Current.inl:
+
+ Removed this unused file.
+
+Mon Nov 7 19:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/bounded_string_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_string_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_value_sequence_ut.cpp:
+ Extended test_get_buffer_true_with_release_true test
+
+Mon Nov 7 08:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Primary_Replication_Strategy.cpp:
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp:
+ * orbsvcs/tests/Notify/lib/EventChannel_Command.cpp:
+ Fixed warning in MinGW build
+
+Mon Nov 7 08:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/RTCORBA/Thread_Pool.{h,inl}:
+ Don't export TAO_Thread_Pool_Threads and removed
+ threads accessor it exposes internal data
+ and current_threads modifier which just is invalid todo
+
+Mon Nov 7 00:54:58 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * examples/CSD_Strategy/ThreadPool4/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool5/Foo_i.cpp:
+
+ Fixed warnings that complains mis-use of throw expression.
+
+Sun Nov 6 14:34:51 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp:
+ * TAO_IDLbe/be_visitor_valuetype/field_cs.cpp:
+
+ Made the generated signature of member mutators
+ consistent with IN parameter semantics.
+
+Sat Nov 5 01:43:59 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/PI/ClientRequestInfo.h (TAO_ClientRequestInfo):
+
+ Re-exported this class. TAO's FT client side requires access to
+ it.
+
+Fri Nov 4 11:57:12 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/Versioned_Namespace.h:
+
+ Added TAO_ORBCONF_H include/define sanity check.
+
+ * tao/Utils/Synch_Refcountable.h:
+
+ Include "tao/Versioned_Namespace.h" to pull in versioned
+ namespace macros.
+
+Fri Nov 4 10:31:15 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/SmartProxies/Smart_Proxies.h:
+ * tao/SmartProxies/Smart_Proxies.inl:
+ * tao/Strategies/DIOP_Acceptor.cpp:
+ * tao/Strategies/DIOP_Acceptor.h:
+ * tao/Strategies/DIOP_Acceptor.i:
+ * tao/Strategies/DIOP_Connection_Handler.cpp:
+ * tao/Strategies/DIOP_Connection_Handler.h:
+ * tao/Strategies/DIOP_Connector.cpp:
+ * tao/Strategies/DIOP_Connector.h:
+ * tao/Strategies/DIOP_Endpoint.cpp:
+ * tao/Strategies/DIOP_Endpoint.h:
+ * tao/Strategies/DIOP_Endpoint.i:
+ * tao/Strategies/DIOP_Factory.cpp:
+ * tao/Strategies/DIOP_Factory.h:
+ * tao/Strategies/DIOP_Profile.cpp:
+ * tao/Strategies/DIOP_Profile.h:
+ * tao/Strategies/DIOP_Transport.cpp:
+ * tao/Strategies/DIOP_Transport.h:
+ * tao/Strategies/FIFO_Connection_Purging_Strategy.cpp:
+ * tao/Strategies/FIFO_Connection_Purging_Strategy.h:
+ * tao/Strategies/LFU_Connection_Purging_Strategy.cpp:
+ * tao/Strategies/LFU_Connection_Purging_Strategy.h:
+ * tao/Strategies/LF_Strategy_Null.cpp:
+ * tao/Strategies/LF_Strategy_Null.h:
+ * tao/Strategies/NULL_Connection_Purging_Strategy.cpp:
+ * tao/Strategies/NULL_Connection_Purging_Strategy.h:
+ * tao/Strategies/SCIOP_Acceptor.cpp:
+ * tao/Strategies/SCIOP_Acceptor.h:
+ * tao/Strategies/SCIOP_Acceptor.i:
+ * tao/Strategies/SCIOP_Connection_Handler.cpp:
+ * tao/Strategies/SCIOP_Connection_Handler.h:
+ * tao/Strategies/SCIOP_Connector.cpp:
+ * tao/Strategies/SCIOP_Connector.h:
+ * tao/Strategies/SCIOP_Endpoint.cpp:
+ * tao/Strategies/SCIOP_Endpoint.h:
+ * tao/Strategies/SCIOP_Endpoint.i:
+ * tao/Strategies/SCIOP_Factory.cpp:
+ * tao/Strategies/SCIOP_Factory.h:
+ * tao/Strategies/SCIOP_Lite_Factory.cpp:
+ * tao/Strategies/SCIOP_Lite_Factory.h:
+ * tao/Strategies/SCIOP_Profile.cpp:
+ * tao/Strategies/SCIOP_Profile.h:
+ * tao/Strategies/SCIOP_Transport.cpp:
+ * tao/Strategies/SCIOP_Transport.h:
+ * tao/Strategies/SHMIOP_Acceptor.cpp:
+ * tao/Strategies/SHMIOP_Acceptor.h:
+ * tao/Strategies/SHMIOP_Connection_Handler.cpp:
+ * tao/Strategies/SHMIOP_Connection_Handler.h:
+ * tao/Strategies/SHMIOP_Connector.cpp:
+ * tao/Strategies/SHMIOP_Connector.h:
+ * tao/Strategies/SHMIOP_Endpoint.cpp:
+ * tao/Strategies/SHMIOP_Endpoint.h:
+ * tao/Strategies/SHMIOP_Endpoint.i:
+ * tao/Strategies/SHMIOP_Factory.cpp:
+ * tao/Strategies/SHMIOP_Factory.h:
+ * tao/Strategies/SHMIOP_Profile.cpp:
+ * tao/Strategies/SHMIOP_Profile.h:
+ * tao/Strategies/SHMIOP_Transport.cpp:
+ * tao/Strategies/SHMIOP_Transport.h:
+ * tao/Strategies/UIOP_Acceptor.cpp:
+ * tao/Strategies/UIOP_Acceptor.h:
+ * tao/Strategies/UIOP_Connection_Handler.cpp:
+ * tao/Strategies/UIOP_Connection_Handler.h:
+ * tao/Strategies/UIOP_Connector.cpp:
+ * tao/Strategies/UIOP_Connector.h:
+ * tao/Strategies/UIOP_Endpoint.cpp:
+ * tao/Strategies/UIOP_Endpoint.h:
+ * tao/Strategies/UIOP_Endpoint.i:
+ * tao/Strategies/UIOP_Factory.cpp:
+ * tao/Strategies/UIOP_Factory.h:
+ * tao/Strategies/UIOP_Lite_Factory.cpp:
+ * tao/Strategies/UIOP_Lite_Factory.h:
+ * tao/Strategies/UIOP_Profile.cpp:
+ * tao/Strategies/UIOP_Profile.h:
+ * tao/Strategies/UIOP_Transport.cpp:
+ * tao/Strategies/UIOP_Transport.h:
+ * tao/Strategies/advanced_resource.cpp:
+ * tao/Strategies/advanced_resource.h:
+ * tao/TypeCodeFactory/Recursive_TypeCode.cpp:
+ * tao/TypeCodeFactory/Recursive_TypeCode.h:
+ * tao/TypeCodeFactory/Recursive_TypeCode.inl:
+ * tao/TypeCodeFactory/TypeCodeFactory_Adapter_Impl.cpp:
+ * tao/TypeCodeFactory/TypeCodeFactory_Adapter_Impl.h:
+ * tao/TypeCodeFactory/TypeCodeFactory_Loader.cpp:
+ * tao/TypeCodeFactory/TypeCodeFactory_Loader.h:
+ * tao/TypeCodeFactory/TypeCodeFactory_i.cpp:
+ * tao/TypeCodeFactory/TypeCodeFactory_i.h:
+ * tao/Utils/Encodable.cpp:
+ * tao/Utils/Encodable.h:
+ * tao/Utils/Implicit_Deactivator.cpp:
+ * tao/Utils/Implicit_Deactivator.h:
+ * tao/Utils/ORB_Destroyer.cpp:
+ * tao/Utils/ORB_Destroyer.h:
+ * tao/Utils/ORB_Manager.cpp:
+ * tao/Utils/ORB_Manager.h:
+ * tao/Utils/PolicyList_Destroyer.cpp:
+ * tao/Utils/PolicyList_Destroyer.inl:
+ * tao/Utils/RIR_Narrow.cpp:
+ * tao/Utils/RIR_Narrow.h:
+ * tao/Utils/Servant_Var.h:
+ * tao/Utils/Servant_Var.inl:
+ * tao/Utils/Synch_Refcountable.cpp:
+ * tao/Utils/Synch_Refcountable.h:
+ * tao/Utils/Synch_Refcountable.inl:
+ * tao/Valuetype/AbstractBase.cpp:
+ * tao/Valuetype/AbstractBase.h:
+ * tao/Valuetype/AbstractBase.inl:
+ * tao/Valuetype/AbstractBase_Invocation_Adapter.cpp:
+ * tao/Valuetype/AbstractBase_Invocation_Adapter.h:
+ * tao/Valuetype/AbstractBase_T.cpp:
+ * tao/Valuetype/AbstractBase_T.h:
+ * tao/Valuetype/Sequence_T.cpp:
+ * tao/Valuetype/Sequence_T.h:
+ * tao/Valuetype/Sequence_T.inl:
+ * tao/Valuetype/ValueBase.cpp:
+ * tao/Valuetype/ValueBase.h:
+ * tao/Valuetype/ValueBase.inl:
+ * tao/Valuetype/ValueFactory.cpp:
+ * tao/Valuetype/ValueFactory.h:
+ * tao/Valuetype/ValueFactory_Map.cpp:
+ * tao/Valuetype/ValueFactory_Map.h:
+ * tao/Valuetype/Value_CORBA_methods.h:
+ * tao/Valuetype/Value_VarOut_T.cpp:
+ * tao/Valuetype/Value_VarOut_T.h:
+ * tao/Valuetype/Valuetype_Adapter_Impl.cpp:
+ * tao/Valuetype/Valuetype_Adapter_Impl.h:
+
+ Added remaining core TAO library versioned namespace support.
+
+Fri Nov 4 10:13:43 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/RTScheduling/Request_Interceptor.h (Client_Interceptor):
+
+ Re-exported this class. The export declaration was
+ inadvertently removed.
+
+Fri Nov 4 08:59:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/ORB_Core.i (add_tss_cleanup_func):
+ * tao/ORB_Core.cpp (add_tss_cleanup_func):
+
+ Moved this method out of line. Allows the
+ TAO_Cleanup_Func_Registry class to remain unexported from the
+ TAO DLL.
+
+ * tao/AnyTypeCode/TypeCode_Constants.h (_tc_UnknownUserException):
+
+ Removed this forward declaration. It's DLL linkage ends up
+ differing from the same declaration in the DynamicInterface
+ library. Addresses "inconsistent dll linkage" warnings from
+ VC++.
+
+ * tao/PortableServer/POA_Current_Impl.h (POA_Current_Impl):
+
+ Re-exported this class. Unfortunately, some other TAO libraries
+ make direct calls on this class. Addresses unresolved symbol
+ errors.
+
+Fri Nov 4 16:56:06 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp:
+
+ Added a 'const' qualifier to the generated member mutator
+ argument for array member types, since this arguement has
+ the same semantics as an 'in' operation argument.
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp:
+ * TAO_IDL/be_include/be_visitor_valuetype/valuetype_obv_cs.h:
+
+ Change generation of the initializing constructor definition to
+ simply call the corresponding member mutators in the constructor
+ body. This change allows reuse of the copy semantics already
+ generated in the various member mutator methods, and as a side
+ effect, avoids a VC6 compiler bug that complained when we had
+ a call to the base class initializing constructor in the
+ derived constructor's initialization list.
+
+Thu Nov 3 22:17:27 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * performance-tests/Cubit/TAO/DII_Cubit/client.cpp:
+ * performance-tests/Latency/DII/client.cpp:
+ * performance-tests/Latency/DSI/Roundtrip.cpp:
+ * performance-tests/Latency/Deferred/client.cpp:
+ * performance-tests/Sequence_Latency/DII/client.cpp:
+ * performance-tests/Sequence_Latency/DSI/Roundtrip.cpp:
+ * performance-tests/Sequence_Latency/Deferred/client.cpp:
+ * tests/CDR/tc.cpp:
+ * tests/DynAny_Test/data.h:
+ * tests/Portable_Interceptors/IORInterceptor/FOO_ClientRequestInterceptor.cpp:
+
+ Include "TypeCode_Constants.h" instead of
+ "TC_Constants_Forward.h". The latter is deprecated.
+
+Thu Nov 3 22:06:44 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/AnyTypeCode/TC_Constants_Forward.h:
+
+ Reintroduced this header as a backward compatibility header that
+ includes "tao/AnyTypeCode/TypeCode_Constants.h".
+
+Thu Nov 3 19:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2084_Regression/Hello.cpp:
+ Fixed variable not used warning
+
+Thu Nov 3 12:17:09 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tao/CSD_Framework.mpc:
+
+ Removed interceptor as the base project since it's not needed.
+
+Thu Nov 3 09:26:21 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h:
+ * orbsvcs/orbsvcs/Event/EC_And_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Group_Scheduling.h:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Scheduling.h:
+ * orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Negation_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h:
+ * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h:
+ * orbsvcs/orbsvcs/Event/EC_Sched_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h:
+ * orbsvcs/orbsvcs/Event/EC_Type_Filter.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.h:
+ * orbsvcs/orbsvcs/Naming/Naming_Loader.h:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp:
+ * orbsvcs/orbsvcs/Sched/DynSched.h:
+ * orbsvcs/orbsvcs/Sched/Scheduler.h:
+ * orbsvcs/orbsvcs/Sched/Scheduler_Generic.h:
+ * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h:
+ * orbsvcs/orbsvcs/Security/Security_Current.h:
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h:
+ * orbsvcs/orbsvcs/Trader/Trading_Loader.h:
+
+ Removed unnecessary uses of ACE_UNIMPLEMENTED_FUNC macro. It is
+ only meant to be used for private unimplemented member functions
+ in class templates.
+
+ * tao/Collocated_Invocation.h:
+ * tao/Connector_Registry.h:
+ * tao/Object_Ref_Table.h:
+ * tao/PolicyFactory_Registry_Factory.cpp:
+ * tao/PolicyFactory_Registry_Factory.h:
+ * tao/Profile.h:
+ * tao/Resource_Factory.h:
+ * tao/Stub.h:
+ * tao/TSS_Resources.h:
+ * tao/Transport.h:
+ * tao/Wait_On_LF_No_Upcall.cpp:
+ * tao/AnyTypeCode/Alias_TypeCode.cpp:
+ * tao/AnyTypeCode/Alias_TypeCode.h:
+ * tao/AnyTypeCode/Alias_TypeCode.inl:
+ * tao/AnyTypeCode/Alias_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/Alias_TypeCode_Static.h:
+ * tao/AnyTypeCode/Alias_TypeCode_Static.inl:
+ * tao/AnyTypeCode/Any.cpp:
+ * tao/AnyTypeCode/Any.h:
+ * tao/AnyTypeCode/Any.inl:
+ * tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.cpp:
+ * tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.h:
+ * tao/AnyTypeCode/AnyTypeCode_methods.h:
+ * tao/AnyTypeCode/Any_Arg_Traits.h:
+ * tao/AnyTypeCode/Any_Array_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_Array_Impl_T.h:
+ * tao/AnyTypeCode/Any_Array_Impl_T.inl:
+ * tao/AnyTypeCode/Any_Basic_Impl.cpp:
+ * tao/AnyTypeCode/Any_Basic_Impl.h:
+ * tao/AnyTypeCode/Any_Basic_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_Basic_Impl_T.h:
+ * tao/AnyTypeCode/Any_Basic_Impl_T.inl:
+ * tao/AnyTypeCode/Any_Dual_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_Dual_Impl_T.h:
+ * tao/AnyTypeCode/Any_Dual_Impl_T.inl:
+ * tao/AnyTypeCode/Any_Impl.cpp:
+ * tao/AnyTypeCode/Any_Impl.h:
+ * tao/AnyTypeCode/Any_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_Special_Impl_T.cpp:
+ * tao/AnyTypeCode/Any_Special_Impl_T.h:
+ * tao/AnyTypeCode/Any_Special_Impl_T.inl:
+ * tao/AnyTypeCode/Any_SystemException.cpp:
+ * tao/AnyTypeCode/Any_SystemException.h:
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp:
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.h:
+ * tao/AnyTypeCode/Empty_Param_TypeCode.cpp:
+ * tao/AnyTypeCode/Empty_Param_TypeCode.h:
+ * tao/AnyTypeCode/Empty_Param_TypeCode.inl:
+ * tao/AnyTypeCode/Enum_TypeCode.cpp:
+ * tao/AnyTypeCode/Enum_TypeCode.h:
+ * tao/AnyTypeCode/Enum_TypeCode.inl:
+ * tao/AnyTypeCode/Enum_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/Enum_TypeCode_Static.h:
+ * tao/AnyTypeCode/Enum_TypeCode_Static.inl:
+ * tao/AnyTypeCode/Fixed_TypeCode.cpp:
+ * tao/AnyTypeCode/Fixed_TypeCode.h:
+ * tao/AnyTypeCode/Fixed_TypeCode.inl:
+ * tao/AnyTypeCode/Marshal.cpp:
+ * tao/AnyTypeCode/Marshal.h:
+ * tao/AnyTypeCode/Marshal.inl:
+ * tao/AnyTypeCode/NVList.cpp:
+ * tao/AnyTypeCode/NVList.h:
+ * tao/AnyTypeCode/NVList.inl:
+ * tao/AnyTypeCode/NVList_Adapter_Impl.cpp:
+ * tao/AnyTypeCode/NVList_Adapter_Impl.h:
+ * tao/AnyTypeCode/Null_RefCount_Policy.h:
+ * tao/AnyTypeCode/Objref_TypeCode.cpp:
+ * tao/AnyTypeCode/Objref_TypeCode.h:
+ * tao/AnyTypeCode/Objref_TypeCode.inl:
+ * tao/AnyTypeCode/Objref_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/Objref_TypeCode_Static.h:
+ * tao/AnyTypeCode/Objref_TypeCode_Static.inl:
+ * tao/AnyTypeCode/Recursive_Type_TypeCode.cpp:
+ * tao/AnyTypeCode/Recursive_Type_TypeCode.h:
+ * tao/AnyTypeCode/Recursive_Type_TypeCode.inl:
+ * tao/AnyTypeCode/RefCount_Policy_Traits.h:
+ * tao/AnyTypeCode/Sequence_TypeCode.cpp:
+ * tao/AnyTypeCode/Sequence_TypeCode.h:
+ * tao/AnyTypeCode/Sequence_TypeCode.inl:
+ * tao/AnyTypeCode/Sequence_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/Sequence_TypeCode_Static.h:
+ * tao/AnyTypeCode/Sequence_TypeCode_Static.inl:
+ * tao/AnyTypeCode/String_TypeCode.cpp:
+ * tao/AnyTypeCode/String_TypeCode.h:
+ * tao/AnyTypeCode/String_TypeCode.inl:
+ * tao/AnyTypeCode/String_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/String_TypeCode_Static.h:
+ * tao/AnyTypeCode/String_TypeCode_Static.inl:
+ * tao/AnyTypeCode/Struct_TypeCode.cpp:
+ * tao/AnyTypeCode/Struct_TypeCode.h:
+ * tao/AnyTypeCode/Struct_TypeCode.inl:
+ * tao/AnyTypeCode/Struct_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/Struct_TypeCode_Static.h:
+ * tao/AnyTypeCode/Struct_TypeCode_Static.inl:
+ * tao/AnyTypeCode/True_RefCount_Policy.cpp:
+ * tao/AnyTypeCode/True_RefCount_Policy.h:
+ * tao/AnyTypeCode/True_RefCount_Policy.inl:
+ * tao/AnyTypeCode/TypeCode.cpp:
+ * tao/AnyTypeCode/TypeCode.h:
+ * tao/AnyTypeCode/TypeCode.inl:
+ * tao/AnyTypeCode/TypeCode_Base_Attributes.h:
+ * tao/AnyTypeCode/TypeCode_Base_Attributes.inl:
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.cpp:
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.h:
+ * tao/AnyTypeCode/TypeCode_Case_Base_T.cpp:
+ * tao/AnyTypeCode/TypeCode_Case_Base_T.h:
+ * tao/AnyTypeCode/TypeCode_Case_Base_T.inl:
+ * tao/AnyTypeCode/TypeCode_Case_T.cpp:
+ * tao/AnyTypeCode/TypeCode_Case_T.h:
+ * tao/AnyTypeCode/TypeCode_Case_T.inl:
+ * tao/AnyTypeCode/TypeCode_Constants.h:
+ * tao/AnyTypeCode/TypeCode_Struct_Field.h:
+ * tao/AnyTypeCode/TypeCode_Traits.h:
+ * tao/AnyTypeCode/TypeCode_Value_Field.h:
+ * tao/AnyTypeCode/Union_TypeCode.cpp:
+ * tao/AnyTypeCode/Union_TypeCode.h:
+ * tao/AnyTypeCode/Union_TypeCode.inl:
+ * tao/AnyTypeCode/Union_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/Union_TypeCode_Static.h:
+ * tao/AnyTypeCode/Union_TypeCode_Static.inl:
+ * tao/AnyTypeCode/Value_TypeCode.cpp:
+ * tao/AnyTypeCode/Value_TypeCode.h:
+ * tao/AnyTypeCode/Value_TypeCode.inl:
+ * tao/AnyTypeCode/Value_TypeCode_Static.cpp:
+ * tao/AnyTypeCode/Value_TypeCode_Static.h:
+ * tao/AnyTypeCode/Value_TypeCode_Static.inl:
+ * tao/AnyTypeCode/append.cpp:
+ * tao/AnyTypeCode/skip.cpp:
+ * tao/BiDir_GIOP/BiDirGIOP.cpp:
+ * tao/BiDir_GIOP/BiDirGIOP.h:
+ * tao/BiDir_GIOP/BiDirPolicy_Validator.cpp:
+ * tao/BiDir_GIOP/BiDirPolicy_Validator.h:
+ * tao/BiDir_GIOP/BiDir_ORBInitializer.cpp:
+ * tao/BiDir_GIOP/BiDir_ORBInitializer.h:
+ * tao/BiDir_GIOP/BiDir_PolicyFactory.cpp:
+ * tao/BiDir_GIOP/BiDir_PolicyFactory.h:
+ * tao/BiDir_GIOP/BiDir_Policy_i.cpp:
+ * tao/BiDir_GIOP/BiDir_Policy_i.h:
+ * tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp:
+ * tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h:
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp:
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.h:
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.inl:
+ * tao/CSD_Framework/CSD_Framework_Loader.cpp:
+ * tao/CSD_Framework/CSD_Framework_Loader.h:
+ * tao/CSD_Framework/CSD_ORBInitializer.cpp:
+ * tao/CSD_Framework/CSD_ORBInitializer.h:
+ * tao/CSD_Framework/CSD_Object_Adapter.cpp:
+ * tao/CSD_Framework/CSD_Object_Adapter.h:
+ * tao/CSD_Framework/CSD_Object_Adapter_Factory.cpp:
+ * tao/CSD_Framework/CSD_Object_Adapter_Factory.h:
+ * tao/CSD_Framework/CSD_POA.cpp:
+ * tao/CSD_Framework/CSD_POA.h:
+ * tao/CSD_Framework/CSD_POA.inl:
+ * tao/CSD_Framework/CSD_Strategy_Base.cpp:
+ * tao/CSD_Framework/CSD_Strategy_Base.h:
+ * tao/CSD_Framework/CSD_Strategy_Base.inl:
+ * tao/CSD_Framework/CSD_Strategy_Proxy.cpp:
+ * tao/CSD_Framework/CSD_Strategy_Proxy.h:
+ * tao/CSD_Framework/CSD_Strategy_Proxy.inl:
+ * tao/CSD_Framework/CSD_Strategy_Repository.cpp:
+ * tao/CSD_Framework/CSD_Strategy_Repository.h:
+ * tao/CSD_ThreadPool/CSD_TP_Cancel_Visitor.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Cancel_Visitor.h:
+ * tao/CSD_ThreadPool/CSD_TP_Cancel_Visitor.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Asynch_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Asynch_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Asynch_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_With_Server_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_With_Server_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_With_Server_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Corba_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Corba_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Corba_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Asynch_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Asynch_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Asynch_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request_Operation.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request_Operation.h:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request_Operation.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Synch_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Synch_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Synch_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Dispatchable_Visitor.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Dispatchable_Visitor.h:
+ * tao/CSD_ThreadPool/CSD_TP_Dispatchable_Visitor.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Queue.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Queue.h:
+ * tao/CSD_ThreadPool/CSD_TP_Queue.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Queue_Visitor.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Queue_Visitor.h:
+ * tao/CSD_ThreadPool/CSD_TP_Queue_Visitor.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Remote_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Remote_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Remote_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State.h:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State_Map.h:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State_Map.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.h:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy_Factory.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy_Factory.h:
+ * tao/CSD_ThreadPool/CSD_TP_Synch_Helper.h:
+ * tao/CSD_ThreadPool/CSD_TP_Synch_Helper.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Task.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Task.h:
+ * tao/CSD_ThreadPool/CSD_TP_Task.inl:
+ * tao/CSD_ThreadPool/CSD_ThreadPool.cpp:
+ * tao/CSD_ThreadPool/CSD_ThreadPool.h:
+ * tao/CodecFactory/CDR_Encaps_Codec.cpp:
+ * tao/CodecFactory/CDR_Encaps_Codec.h:
+ * tao/CodecFactory/CodecFactory.cpp:
+ * tao/CodecFactory/CodecFactory.h:
+ * tao/CodecFactory/CodecFactory_impl.cpp:
+ * tao/CodecFactory/CodecFactory_impl.h:
+ * tao/Codeset/Codeset.cpp:
+ * tao/Codeset/Codeset.h:
+ * tao/Codeset/Codeset_Descriptor.cpp:
+ * tao/Codeset/Codeset_Descriptor.h:
+ * tao/Codeset/Codeset_Manager_Factory.cpp:
+ * tao/Codeset/Codeset_Manager_Factory.h:
+ * tao/Codeset/Codeset_Manager_i.cpp:
+ * tao/Codeset/Codeset_Manager_i.h:
+ * tao/Codeset/Codeset_Translator_Factory.cpp:
+ * tao/Codeset/Codeset_Translator_Factory.h:
+ * tao/Codeset/Codeset_Translator_Factory_T.cpp:
+ * tao/Codeset/Codeset_Translator_Factory_T.h:
+ * tao/Codeset/UTF16_BOM_Factory.cpp:
+ * tao/Codeset/UTF16_BOM_Factory.h:
+ * tao/Codeset/UTF16_BOM_Translator.cpp:
+ * tao/Codeset/UTF16_BOM_Translator.h:
+ * tao/Codeset/UTF8_Latin1_Factory.cpp:
+ * tao/Codeset/UTF8_Latin1_Factory.h:
+ * tao/Codeset/UTF8_Latin1_Translator.cpp:
+ * tao/Codeset/UTF8_Latin1_Translator.h:
+ * tao/DynamicAny/DynAnyFactory.cpp:
+ * tao/DynamicAny/DynAnyFactory.h:
+ * tao/DynamicAny/DynAny_i.cpp:
+ * tao/DynamicAny/DynAny_i.h:
+ * tao/DynamicAny/DynArray_i.cpp:
+ * tao/DynamicAny/DynArray_i.h:
+ * tao/DynamicAny/DynCommon.cpp:
+ * tao/DynamicAny/DynCommon.h:
+ * tao/DynamicAny/DynEnum_i.cpp:
+ * tao/DynamicAny/DynEnum_i.h:
+ * tao/DynamicAny/DynSequence_i.cpp:
+ * tao/DynamicAny/DynSequence_i.h:
+ * tao/DynamicAny/DynStruct_i.cpp:
+ * tao/DynamicAny/DynStruct_i.h:
+ * tao/DynamicAny/DynUnion_i.cpp:
+ * tao/DynamicAny/DynUnion_i.h:
+ * tao/DynamicAny/DynamicAny.cpp:
+ * tao/DynamicAny/DynamicAny.h:
+ * tao/DynamicInterface/Context.cpp:
+ * tao/DynamicInterface/Context.h:
+ * tao/DynamicInterface/Context.inl:
+ * tao/DynamicInterface/DII_Arguments.cpp:
+ * tao/DynamicInterface/DII_Arguments.h:
+ * tao/DynamicInterface/DII_Arguments.inl:
+ * tao/DynamicInterface/DII_CORBA_methods.h:
+ * tao/DynamicInterface/DII_Invocation.cpp:
+ * tao/DynamicInterface/DII_Invocation.h:
+ * tao/DynamicInterface/DII_Invocation_Adapter.h:
+ * tao/DynamicInterface/DII_Reply_Dispatcher.cpp:
+ * tao/DynamicInterface/DII_Reply_Dispatcher.h:
+ * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp:
+ * tao/DynamicInterface/Dynamic_Adapter_Impl.h:
+ * tao/DynamicInterface/Dynamic_Implementation.cpp:
+ * tao/DynamicInterface/Dynamic_Implementation.h:
+ * tao/DynamicInterface/ExceptionList.cpp:
+ * tao/DynamicInterface/ExceptionList.h:
+ * tao/DynamicInterface/ExceptionList.inl:
+ * tao/DynamicInterface/Request.cpp:
+ * tao/DynamicInterface/Request.h:
+ * tao/DynamicInterface/Request.inl:
+ * tao/DynamicInterface/Server_Request.cpp:
+ * tao/DynamicInterface/Server_Request.h:
+ * tao/DynamicInterface/Server_Request.inl:
+ * tao/DynamicInterface/Unknown_User_Exception.cpp:
+ * tao/DynamicInterface/Unknown_User_Exception.h:
+ * tao/IFR_Client/IFR_Client_Adapter_Impl.cpp:
+ * tao/IFR_Client/IFR_Client_Adapter_Impl.h:
+ * tao/IORInterceptor/IORInfo.cpp:
+ * tao/IORInterceptor/IORInfo.h:
+ * tao/IORInterceptor/IORInfo.inl:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Factory_Impl.cpp:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Factory_Impl.h:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.h:
+ * tao/IORManipulation/IORManip_Loader.cpp:
+ * tao/IORManipulation/IORManip_Loader.h:
+ * tao/IORManipulation/IORManipulation.cpp:
+ * tao/IORManipulation/IORManipulation.h:
+ * tao/IORTable/IORTable.cpp:
+ * tao/IORTable/IORTable.h:
+ * tao/IORTable/IOR_Table_Impl.cpp:
+ * tao/IORTable/IOR_Table_Impl.h:
+ * tao/IORTable/Table_Adapter.cpp:
+ * tao/IORTable/Table_Adapter.h:
+ * tao/ImR_Client/ImR_Client.cpp:
+ * tao/ImR_Client/ImR_Client.h:
+ * tao/ImR_Client/ServerObject_i.cpp:
+ * tao/ImR_Client/ServerObject_i.h:
+ * tao/Messaging/AMH_Response_Handler.cpp:
+ * tao/Messaging/AMH_Response_Handler.h:
+ * tao/Messaging/Asynch_Invocation.cpp:
+ * tao/Messaging/Asynch_Invocation.h:
+ * tao/Messaging/Asynch_Invocation_Adapter.cpp:
+ * tao/Messaging/Asynch_Invocation_Adapter.h:
+ * tao/Messaging/Asynch_Reply_Dispatcher.cpp:
+ * tao/Messaging/Asynch_Reply_Dispatcher.h:
+ * tao/Messaging/Asynch_Timeout_Handler.cpp:
+ * tao/Messaging/Asynch_Timeout_Handler.h:
+ * tao/Messaging/Connection_Timeout_Policy_i.cpp:
+ * tao/Messaging/Connection_Timeout_Policy_i.h:
+ * tao/Messaging/ExceptionHolder_i.cpp:
+ * tao/Messaging/ExceptionHolder_i.h:
+ * tao/Messaging/Messaging.cpp:
+ * tao/Messaging/Messaging.h:
+ * tao/Messaging/Messaging_Loader.cpp:
+ * tao/Messaging/Messaging_Loader.h:
+ * tao/Messaging/Messaging_ORBInitializer.cpp:
+ * tao/Messaging/Messaging_ORBInitializer.h:
+ * tao/Messaging/Messaging_PolicyFactory.cpp:
+ * tao/Messaging/Messaging_PolicyFactory.h:
+ * tao/Messaging/Messaging_Policy_i.cpp:
+ * tao/Messaging/Messaging_Policy_i.h:
+ * tao/Messaging/Messaging_Policy_i.i:
+ * tao/ObjRefTemplate/ORT_Adapter_Factory_Impl.cpp:
+ * tao/ObjRefTemplate/ORT_Adapter_Factory_Impl.h:
+ * tao/ObjRefTemplate/ORT_Adapter_Impl.cpp:
+ * tao/ObjRefTemplate/ORT_Adapter_Impl.h:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_i.cpp:
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_i.h:
+ * tao/PI/ClientRequestInfo.cpp:
+ * tao/PI/ClientRequestInfo.h:
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp:
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.h:
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.inl:
+ * tao/PI/ClientRequestInterceptor_Factory_Impl.cpp:
+ * tao/PI/ClientRequestInterceptor_Factory_Impl.h:
+ * tao/PI/Interceptor_List_T.cpp:
+ * tao/PI/Interceptor_List_T.h:
+ * tao/PI/ORBInitInfo.cpp:
+ * tao/PI/ORBInitInfo.h:
+ * tao/PI/ORBInitInfo.inl:
+ * tao/PI/ORBInitializer_Registry_Impl.cpp:
+ * tao/PI/ORBInitializer_Registry_Impl.h:
+ * tao/PI/PI.cpp:
+ * tao/PI/PI.h:
+ * tao/PI/PICurrent.cpp:
+ * tao/PI/PICurrent.h:
+ * tao/PI/PICurrent.inl:
+ * tao/PI/PICurrent_Copy_Callback.cpp:
+ * tao/PI/PICurrent_Copy_Callback.h:
+ * tao/PI/PICurrent_Impl.cpp:
+ * tao/PI/PICurrent_Impl.h:
+ * tao/PI/PICurrent_Impl.inl:
+ * tao/PI/PICurrent_Loader.cpp:
+ * tao/PI/PICurrent_Loader.h:
+ * tao/PI/PolicyFactory_Loader.cpp:
+ * tao/PI/PolicyFactory_Loader.h:
+ * tao/PI/PolicyFactory_Registry.cpp:
+ * tao/PI/PolicyFactory_Registry.h:
+ * tao/PI/RequestInfo_Util.cpp:
+ * tao/PI/RequestInfo_Util.h:
+ * tao/PI_Server/PICurrent_Guard.cpp:
+ * tao/PI_Server/PICurrent_Guard.h:
+ * tao/PI_Server/PI_Server.cpp:
+ * tao/PI_Server/PI_Server.h:
+ * tao/PI_Server/PI_Server_Loader.cpp:
+ * tao/PI_Server/PI_Server_Loader.h:
+ * tao/PI_Server/Policy_Creator_T.h:
+ * tao/PI_Server/PortableServer_ORBInitializer.cpp:
+ * tao/PI_Server/PortableServer_ORBInitializer.h:
+ * tao/PI_Server/PortableServer_PolicyFactory.cpp:
+ * tao/PI_Server/PortableServer_PolicyFactory.h:
+ * tao/PI_Server/ServerInterceptorAdapter.cpp:
+ * tao/PI_Server/ServerInterceptorAdapter.h:
+ * tao/PI_Server/ServerRequestInfo.cpp:
+ * tao/PI_Server/ServerRequestInfo.h:
+ * tao/PI_Server/ServerRequestInfo.inl:
+ * tao/PI_Server/ServerRequestInterceptor_Factory_Impl.cpp:
+ * tao/PI_Server/ServerRequestInterceptor_Factory_Impl.h:
+ * tao/PortableServer/Active_Object_Map.cpp:
+ * tao/PortableServer/Active_Object_Map.h:
+ * tao/PortableServer/Active_Object_Map.i:
+ * tao/PortableServer/Active_Object_Map_Entry.cpp:
+ * tao/PortableServer/Active_Object_Map_Entry.h:
+ * tao/PortableServer/Active_Policy_Strategies.cpp:
+ * tao/PortableServer/Active_Policy_Strategies.h:
+ * tao/PortableServer/Active_Policy_Strategies.inl:
+ * tao/PortableServer/Adapter_Activator.cpp:
+ * tao/PortableServer/Adapter_Activator.h:
+ * tao/PortableServer/Any_SArg_Traits.h:
+ * tao/PortableServer/BD_String_SArgument_T.cpp:
+ * tao/PortableServer/BD_String_SArgument_T.h:
+ * tao/PortableServer/BD_String_SArgument_T.inl:
+ * tao/PortableServer/Basic_SArgument_T.cpp:
+ * tao/PortableServer/Basic_SArgument_T.h:
+ * tao/PortableServer/Basic_SArgument_T.inl:
+ * tao/PortableServer/Basic_SArguments.h:
+ * tao/PortableServer/Collocated_Object_Proxy_Broker.cpp:
+ * tao/PortableServer/Collocated_Object_Proxy_Broker.h:
+ * tao/PortableServer/Creation_Time.h:
+ * tao/PortableServer/Creation_Time.inl:
+ * tao/PortableServer/Default_Acceptor_Filter.cpp:
+ * tao/PortableServer/Default_Acceptor_Filter.h:
+ * tao/PortableServer/Default_Policy_Validator.cpp:
+ * tao/PortableServer/Default_Policy_Validator.h:
+ * tao/PortableServer/Default_Servant_Dispatcher.cpp:
+ * tao/PortableServer/Default_Servant_Dispatcher.h:
+ * tao/PortableServer/Direct_Collocation_Upcall_Wrapper.cpp:
+ * tao/PortableServer/Direct_Collocation_Upcall_Wrapper.h:
+ * tao/PortableServer/Fixed_Array_SArgument_T.cpp:
+ * tao/PortableServer/Fixed_Array_SArgument_T.h:
+ * tao/PortableServer/Fixed_Array_SArgument_T.inl:
+ * tao/PortableServer/Fixed_Size_SArgument_T.cpp:
+ * tao/PortableServer/Fixed_Size_SArgument_T.h:
+ * tao/PortableServer/Fixed_Size_SArgument_T.inl:
+ * tao/PortableServer/IdAssignmentPolicy.cpp:
+ * tao/PortableServer/IdAssignmentPolicy.h:
+ * tao/PortableServer/IdAssignmentStrategy.cpp:
+ * tao/PortableServer/IdAssignmentStrategy.h:
+ * tao/PortableServer/IdAssignmentStrategyFactory.h:
+ * tao/PortableServer/IdAssignmentStrategyFactoryImpl.cpp:
+ * tao/PortableServer/IdAssignmentStrategyFactoryImpl.h:
+ * tao/PortableServer/IdAssignmentStrategySystem.cpp:
+ * tao/PortableServer/IdAssignmentStrategySystem.h:
+ * tao/PortableServer/IdAssignmentStrategyUser.cpp:
+ * tao/PortableServer/IdAssignmentStrategyUser.h:
+ * tao/PortableServer/IdUniquenessPolicy.cpp:
+ * tao/PortableServer/IdUniquenessPolicy.h:
+ * tao/PortableServer/IdUniquenessStrategy.h:
+ * tao/PortableServer/IdUniquenessStrategyFactory.h:
+ * tao/PortableServer/IdUniquenessStrategyFactoryImpl.cpp:
+ * tao/PortableServer/IdUniquenessStrategyFactoryImpl.h:
+ * tao/PortableServer/IdUniquenessStrategyMultiple.cpp:
+ * tao/PortableServer/IdUniquenessStrategyMultiple.h:
+ * tao/PortableServer/IdUniquenessStrategyUnique.cpp:
+ * tao/PortableServer/IdUniquenessStrategyUnique.h:
+ * tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.cpp:
+ * tao/PortableServer/IdUniquenessStrategyUniqueFactoryImpl.h:
+ * tao/PortableServer/ImR_Client_Adapter.cpp:
+ * tao/PortableServer/ImR_Client_Adapter.h:
+ * tao/PortableServer/ImplicitActivationPolicy.cpp:
+ * tao/PortableServer/ImplicitActivationPolicy.h:
+ * tao/PortableServer/ImplicitActivationStrategy.cpp:
+ * tao/PortableServer/ImplicitActivationStrategy.h:
+ * tao/PortableServer/ImplicitActivationStrategyExplicit.cpp:
+ * tao/PortableServer/ImplicitActivationStrategyExplicit.h:
+ * tao/PortableServer/ImplicitActivationStrategyFactory.h:
+ * tao/PortableServer/ImplicitActivationStrategyFactoryImpl.cpp:
+ * tao/PortableServer/ImplicitActivationStrategyFactoryImpl.h:
+ * tao/PortableServer/ImplicitActivationStrategyImplicit.cpp:
+ * tao/PortableServer/ImplicitActivationStrategyImplicit.h:
+ * tao/PortableServer/Key_Adapters.cpp:
+ * tao/PortableServer/Key_Adapters.h:
+ * tao/PortableServer/LifespanPolicy.cpp:
+ * tao/PortableServer/LifespanPolicy.h:
+ * tao/PortableServer/LifespanStrategy.cpp:
+ * tao/PortableServer/LifespanStrategy.h:
+ * tao/PortableServer/LifespanStrategyFactory.h:
+ * tao/PortableServer/LifespanStrategyFactoryImpl.cpp:
+ * tao/PortableServer/LifespanStrategyFactoryImpl.h:
+ * tao/PortableServer/LifespanStrategyPersistent.cpp:
+ * tao/PortableServer/LifespanStrategyPersistent.h:
+ * tao/PortableServer/LifespanStrategyPersistentFactoryImpl.cpp:
+ * tao/PortableServer/LifespanStrategyPersistentFactoryImpl.h:
+ * tao/PortableServer/LifespanStrategyTransient.cpp:
+ * tao/PortableServer/LifespanStrategyTransient.h:
+ * tao/PortableServer/LifespanStrategyTransientFactoryImpl.cpp:
+ * tao/PortableServer/LifespanStrategyTransientFactoryImpl.h:
+ * tao/PortableServer/Local_Servant_Base.cpp:
+ * tao/PortableServer/Local_Servant_Base.h:
+ * tao/PortableServer/Local_Servant_Base.inl:
+ * tao/PortableServer/Non_Servant_Upcall.cpp:
+ * tao/PortableServer/Non_Servant_Upcall.h:
+ * tao/PortableServer/Non_Servant_Upcall.inl:
+ * tao/PortableServer/ORT_Adapter.cpp:
+ * tao/PortableServer/ORT_Adapter.h:
+ * tao/PortableServer/ORT_Adapter_Factory.cpp:
+ * tao/PortableServer/ORT_Adapter_Factory.h:
+ * tao/PortableServer/Object_Adapter.cpp:
+ * tao/PortableServer/Object_Adapter.h:
+ * tao/PortableServer/Object_Adapter.i:
+ * tao/PortableServer/Object_Adapter_Factory.cpp:
+ * tao/PortableServer/Object_Adapter_Factory.h:
+ * tao/PortableServer/Object_SArg_Traits.h:
+ * tao/PortableServer/Object_SArgument_T.cpp:
+ * tao/PortableServer/Object_SArgument_T.h:
+ * tao/PortableServer/Object_SArgument_T.inl:
+ * tao/PortableServer/Operation_Table.cpp:
+ * tao/PortableServer/Operation_Table.h:
+ * tao/PortableServer/Operation_Table_Binary_Search.cpp:
+ * tao/PortableServer/Operation_Table_Binary_Search.h:
+ * tao/PortableServer/Operation_Table_Dynamic_Hash.cpp:
+ * tao/PortableServer/Operation_Table_Dynamic_Hash.h:
+ * tao/PortableServer/Operation_Table_Linear_Search.cpp:
+ * tao/PortableServer/Operation_Table_Linear_Search.h:
+ * tao/PortableServer/Operation_Table_Perfect_Hash.cpp:
+ * tao/PortableServer/Operation_Table_Perfect_Hash.h:
+ * tao/PortableServer/POAManager.cpp:
+ * tao/PortableServer/POAManager.h:
+ * tao/PortableServer/POAManager.i:
+ * tao/PortableServer/POA_Cached_Policies.cpp:
+ * tao/PortableServer/POA_Cached_Policies.h:
+ * tao/PortableServer/POA_Cached_Policies.i:
+ * tao/PortableServer/POA_Current.cpp:
+ * tao/PortableServer/POA_Current.h:
+ * tao/PortableServer/POA_Current.inl:
+ * tao/PortableServer/POA_Current_Factory.cpp:
+ * tao/PortableServer/POA_Current_Factory.h:
+ * tao/PortableServer/POA_Current_Impl.cpp:
+ * tao/PortableServer/POA_Current_Impl.h:
+ * tao/PortableServer/POA_Current_Impl.inl:
+ * tao/PortableServer/POA_Guard.cpp:
+ * tao/PortableServer/POA_Guard.h:
+ * tao/PortableServer/POA_Policy_Set.cpp:
+ * tao/PortableServer/POA_Policy_Set.h:
+ * tao/PortableServer/POA_Policy_Set.i:
+ * tao/PortableServer/Policy_Strategy.h:
+ * tao/PortableServer/PortableServer.cpp:
+ * tao/PortableServer/PortableServer.h:
+ * tao/PortableServer/PortableServer_Functions.cpp:
+ * tao/PortableServer/PortableServer_Functions.h:
+ * tao/PortableServer/PortableServer_WFunctions.cpp:
+ * tao/PortableServer/PortableServer_WFunctions.h:
+ * tao/PortableServer/Regular_POA.cpp:
+ * tao/PortableServer/Regular_POA.h:
+ * tao/PortableServer/Regular_POA.inl:
+ * tao/PortableServer/RequestProcessingPolicy.cpp:
+ * tao/PortableServer/RequestProcessingPolicy.h:
+ * tao/PortableServer/RequestProcessingStrategy.cpp:
+ * tao/PortableServer/RequestProcessingStrategy.h:
+ * tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp:
+ * tao/PortableServer/RequestProcessingStrategyAOMOnly.h:
+ * tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.cpp:
+ * tao/PortableServer/RequestProcessingStrategyAOMOnlyFactoryImpl.h:
+ * tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp:
+ * tao/PortableServer/RequestProcessingStrategyDefaultServant.h:
+ * tao/PortableServer/RequestProcessingStrategyDefaultServantFI.cpp:
+ * tao/PortableServer/RequestProcessingStrategyDefaultServantFI.h:
+ * tao/PortableServer/RequestProcessingStrategyFactory.h:
+ * tao/PortableServer/RequestProcessingStrategyFactoryImpl.cpp:
+ * tao/PortableServer/RequestProcessingStrategyFactoryImpl.h:
+ * tao/PortableServer/RequestProcessingStrategyServantActivator.cpp:
+ * tao/PortableServer/RequestProcessingStrategyServantActivator.h:
+ * tao/PortableServer/RequestProcessingStrategyServantActivatorFI.cpp:
+ * tao/PortableServer/RequestProcessingStrategyServantActivatorFI.h:
+ * tao/PortableServer/RequestProcessingStrategyServantLocator.cpp:
+ * tao/PortableServer/RequestProcessingStrategyServantLocator.h:
+ * tao/PortableServer/RequestProcessingStrategyServantLocatorFI.cpp:
+ * tao/PortableServer/RequestProcessingStrategyServantLocatorFI.h:
+ * tao/PortableServer/RequestProcessingStrategyServantManager.cpp:
+ * tao/PortableServer/RequestProcessingStrategyServantManager.h:
+ * tao/PortableServer/Root_POA.cpp:
+ * tao/PortableServer/Root_POA.h:
+ * tao/PortableServer/Root_POA.inl:
+ * tao/PortableServer/SArg_Traits_T.h:
+ * tao/PortableServer/ServantRetentionPolicy.cpp:
+ * tao/PortableServer/ServantRetentionPolicy.h:
+ * tao/PortableServer/ServantRetentionStrategy.h:
+ * tao/PortableServer/ServantRetentionStrategyFactoryImpl.cpp:
+ * tao/PortableServer/ServantRetentionStrategyFactoryImpl.h:
+ * tao/PortableServer/ServantRetentionStrategyNonRetain.cpp:
+ * tao/PortableServer/ServantRetentionStrategyNonRetain.h:
+ * tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.cpp:
+ * tao/PortableServer/ServantRetentionStrategyNonRetainFactoryImpl.h:
+ * tao/PortableServer/ServantRetentionStrategyRetain.cpp:
+ * tao/PortableServer/ServantRetentionStrategyRetain.h:
+ * tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.cpp:
+ * tao/PortableServer/ServantRetentionStrategyRetainFactoryImpl.h:
+ * tao/PortableServer/Servant_Base.cpp:
+ * tao/PortableServer/Servant_Base.h:
+ * tao/PortableServer/Servant_Base.i:
+ * tao/PortableServer/Servant_Dispatcher.cpp:
+ * tao/PortableServer/Servant_Dispatcher.h:
+ * tao/PortableServer/Servant_Location.h:
+ * tao/PortableServer/Servant_Upcall.cpp:
+ * tao/PortableServer/Servant_Upcall.h:
+ * tao/PortableServer/Servant_Upcall.inl:
+ * tao/PortableServer/Special_Basic_SArgument_T.cpp:
+ * tao/PortableServer/Special_Basic_SArgument_T.h:
+ * tao/PortableServer/Special_Basic_SArgument_T.inl:
+ * tao/PortableServer/Special_Basic_SArguments.h:
+ * tao/PortableServer/StrategyFactory.cpp:
+ * tao/PortableServer/StrategyFactory.h:
+ * tao/PortableServer/ThreadPolicy.cpp:
+ * tao/PortableServer/ThreadPolicy.h:
+ * tao/PortableServer/ThreadStrategy.cpp:
+ * tao/PortableServer/ThreadStrategy.h:
+ * tao/PortableServer/ThreadStrategyFactory.h:
+ * tao/PortableServer/ThreadStrategyFactoryImpl.cpp:
+ * tao/PortableServer/ThreadStrategyFactoryImpl.h:
+ * tao/PortableServer/ThreadStrategyORBControl.cpp:
+ * tao/PortableServer/ThreadStrategyORBControl.h:
+ * tao/PortableServer/ThreadStrategySingle.cpp:
+ * tao/PortableServer/ThreadStrategySingle.h:
+ * tao/PortableServer/ThreadStrategySingleFactoryImpl.cpp:
+ * tao/PortableServer/ThreadStrategySingleFactoryImpl.h:
+ * tao/PortableServer/TypeCode_SArg_Traits.h:
+ * tao/PortableServer/UB_String_SArgument_T.cpp:
+ * tao/PortableServer/UB_String_SArgument_T.h:
+ * tao/PortableServer/UB_String_SArgument_T.inl:
+ * tao/PortableServer/UB_String_SArguments.h:
+ * tao/PortableServer/Upcall_Command.cpp:
+ * tao/PortableServer/Upcall_Command.h:
+ * tao/PortableServer/Upcall_Wrapper.cpp:
+ * tao/PortableServer/Upcall_Wrapper.h:
+ * tao/PortableServer/Var_Array_SArgument_T.cpp:
+ * tao/PortableServer/Var_Array_SArgument_T.h:
+ * tao/PortableServer/Var_Array_SArgument_T.inl:
+ * tao/PortableServer/get_arg.h:
+ * tao/PortableServer/poa_macros.h:
+ * tao/RTCORBA/Continuous_Priority_Mapping.cpp:
+ * tao/RTCORBA/Continuous_Priority_Mapping.h:
+ * tao/RTCORBA/Direct_Priority_Mapping.cpp:
+ * tao/RTCORBA/Direct_Priority_Mapping.h:
+ * tao/RTCORBA/Linear_Network_Priority_Mapping.cpp:
+ * tao/RTCORBA/Linear_Network_Priority_Mapping.h:
+ * tao/RTCORBA/Linear_Priority_Mapping.cpp:
+ * tao/RTCORBA/Linear_Priority_Mapping.h:
+ * tao/RTCORBA/Multi_Priority_Mapping.cpp:
+ * tao/RTCORBA/Multi_Priority_Mapping.h:
+ * tao/RTCORBA/Network_Priority_Mapping.cpp:
+ * tao/RTCORBA/Network_Priority_Mapping.h:
+ * tao/RTCORBA/Network_Priority_Mapping_Manager.cpp:
+ * tao/RTCORBA/Network_Priority_Mapping_Manager.i:
+ * tao/RTCORBA/Priority_Mapping.cpp:
+ * tao/RTCORBA/Priority_Mapping.h:
+ * tao/RTCORBA/Priority_Mapping_Manager.cpp:
+ * tao/RTCORBA/Priority_Mapping_Manager.h:
+ * tao/RTCORBA/Priority_Mapping_Manager.i:
+ * tao/RTCORBA/RTCORBA.cpp:
+ * tao/RTCORBA/RTCORBA.h:
+ * tao/RTCORBA/RT_Current.cpp:
+ * tao/RTCORBA/RT_Current.h:
+ * tao/RTCORBA/RT_Endpoint_Selector_Factory.cpp:
+ * tao/RTCORBA/RT_Endpoint_Selector_Factory.h:
+ * tao/RTCORBA/RT_Endpoint_Utils.cpp:
+ * tao/RTCORBA/RT_Endpoint_Utils.h:
+ * tao/RTCORBA/RT_Invocation_Endpoint_Selectors.cpp:
+ * tao/RTCORBA/RT_Invocation_Endpoint_Selectors.h:
+ * tao/RTCORBA/RT_Mutex.cpp:
+ * tao/RTCORBA/RT_Mutex.h:
+ * tao/RTCORBA/RT_ORB.cpp:
+ * tao/RTCORBA/RT_ORB.h:
+ * tao/RTCORBA/RT_ORBInitializer.cpp:
+ * tao/RTCORBA/RT_ORBInitializer.h:
+ * tao/RTCORBA/RT_ORB_Loader.cpp:
+ * tao/RTCORBA/RT_ORB_Loader.h:
+ * tao/RTCORBA/RT_PolicyFactory.cpp:
+ * tao/RTCORBA/RT_PolicyFactory.h:
+ * tao/RTCORBA/RT_Policy_i.cpp:
+ * tao/RTCORBA/RT_Policy_i.h:
+ * tao/RTCORBA/RT_Protocols_Hooks.cpp:
+ * tao/RTCORBA/RT_Protocols_Hooks.h:
+ * tao/RTCORBA/RT_Stub.cpp:
+ * tao/RTCORBA/RT_Stub.h:
+ * tao/RTCORBA/RT_Stub_Factory.cpp:
+ * tao/RTCORBA/RT_Stub_Factory.h:
+ * tao/RTCORBA/RT_Thread_Lane_Resources_Manager.cpp:
+ * tao/RTCORBA/RT_Thread_Lane_Resources_Manager.h:
+ * tao/RTCORBA/RT_Transport_Descriptor.cpp:
+ * tao/RTCORBA/RT_Transport_Descriptor.h:
+ * tao/RTCORBA/RT_Transport_Descriptor.inl:
+ * tao/RTCORBA/RT_Transport_Descriptor_Property.cpp:
+ * tao/RTCORBA/RT_Transport_Descriptor_Property.h:
+ * tao/RTCORBA/RT_Transport_Descriptor_Property.inl:
+ * tao/RTCORBA/Thread_Pool.cpp:
+ * tao/RTCORBA/Thread_Pool.h:
+ * tao/RTCORBA/Thread_Pool.inl:
+ * tao/RTCORBA/rtcorba_typedefs.h:
+ * tao/RTPortableServer/RTPortableServer.cpp:
+ * tao/RTPortableServer/RTPortableServer.h:
+ * tao/RTPortableServer/RT_Acceptor_Filters.cpp:
+ * tao/RTPortableServer/RT_Acceptor_Filters.h:
+ * tao/RTPortableServer/RT_Collocation_Resolver.cpp:
+ * tao/RTPortableServer/RT_Collocation_Resolver.h:
+ * tao/RTPortableServer/RT_Object_Adapter_Factory.cpp:
+ * tao/RTPortableServer/RT_Object_Adapter_Factory.h:
+ * tao/RTPortableServer/RT_POA.cpp:
+ * tao/RTPortableServer/RT_POA.h:
+ * tao/RTPortableServer/RT_POA.i:
+ * tao/RTPortableServer/RT_Policy_Validator.cpp:
+ * tao/RTPortableServer/RT_Policy_Validator.h:
+ * tao/RTPortableServer/RT_Servant_Dispatcher.cpp:
+ * tao/RTPortableServer/RT_Servant_Dispatcher.h:
+ * tao/RTScheduling/Current.cpp:
+ * tao/RTScheduling/Current.h:
+ * tao/RTScheduling/Distributable_Thread.cpp:
+ * tao/RTScheduling/Distributable_Thread.h:
+ * tao/RTScheduling/RTScheduler.cpp:
+ * tao/RTScheduling/RTScheduler.h:
+ * tao/RTScheduling/RTScheduler_Initializer.cpp:
+ * tao/RTScheduling/RTScheduler_Initializer.h:
+ * tao/RTScheduling/RTScheduler_Loader.cpp:
+ * tao/RTScheduling/RTScheduler_Loader.h:
+ * tao/RTScheduling/RTScheduler_Manager.cpp:
+ * tao/RTScheduling/RTScheduler_Manager.h:
+ * tao/RTScheduling/RTScheduler_Manager.i:
+ * tao/RTScheduling/Request_Interceptor.cpp:
+ * tao/RTScheduling/Request_Interceptor.h:
+ * tao/RTScheduling/ThreadAction.h:
+ * tao/Valuetype/AbstractBase_Invocation_Adapter.h:
+
+ Added versioned namespace support.
+
+ Removed unnecessary *_Export keywords from symbols that need not
+ be exported from the shared library within which they reside.
+
+ * tao/AnyTypeCode/TC_Constants_Forward.h:
+
+ Removed this unused file.
+
+ * tao/Makefile.am (nobase_include_HEADERS):
+
+ Removed `AnyTypeCode/TC_Constants_Forward.h' header from this
+ list.
+
+Thu Nov 3 09:11:51 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp
+ (visit_valuetype_scope):
+
+ Removed unused variable.
+
+Thu Nov 3 05:30:41 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am:
+ * tao/tao.mpc:
+
+ Fix tipo. Change Version_Namespace.h to Versioned_Namespace.h.
+
+Wed Nov 2 09:07:48 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/TAO_Singleton.h:
+
+ Include "tao/Versioned_Namespace.h" to pull in
+ "TAO_BEGIN_VERSIONED_NAMESPACE_DECL" macro definition.
+ Addresses VC++ 6 build errors.
+
+Wed Nov 2 09:39:27 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp:
+
+ Commented the if/endif with TAO_HAS_INTERCEPTORS because the code
+ guarded by the macro is commented out already.
+
+Wed Nov 2 08:30:41 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * tao/Synch_Invocation.cpp:
+ * tao/LocalRequest_Invocation.cpp:
+
+ Reverted "Fri Aug 26 11:33:07 2005 Justin Michel
+ <michel_j@ociweb.com>" since the change was wrong. Chris
+ Cleeland is informed, and he has accepted to do a right fix
+ when he gets time.
+
+ * tao/orbconf.h:
+
+ Removed TAO_RESET_OUTPUT_CDR_AFTER_SEND #define, since it is of no
+ use anymore.
+
+Wed Nov 2 14:17:47 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp:
+
+ Fixed logic for generating commas separating base
+ constructor call and member inits in generated valuetype
+ initializing constructor.
+
+Wed Nov 2 13:19:02 2005 Simon McQueen <sm@prismtech.com>
+
+ * tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp:
+
+ Add explicit exclude of forward request exception header to
+ try and fix Solaris build error.
+
+Wed Nov 2 12:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Intrusive_Ref_Count_Handle_T.inl:
+ Fixed compile error
+
+Wed Nov 2 12:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2289_Regression/MyStruct*.*:
+ Readded these files to get things building, having hand modified
+ generated file in the repo is not the right things todo.
+
+Wed Nov 2 08:17:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/Unbounded_Octet.cpp:
+ Changed include for the time being
+
+Tue Nov 1 14:49:40 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp (end_anyop_header):
+ (end_anyop_source, end_client_header, end_client_inline):
+ (end_client_stubs, end_server_header, end_server_inline):
+ (end_server_skeletons, end_server_template_skeletons):
+ (end_server_template_inline, end_server_template_header):
+ (gen_stub_hdr_includes):
+ (start_anyop_source, start_anyop_header, start_client_header):
+ (start_client_inline, start_client_stubs):
+ (start_server_template_inline, start_server_header):
+ (start_server_inline, start_server_template_skeletons):
+ (start_server_skeletons, start_server_template_header):
+
+ Generate versioned namespace macro/declaration in the
+ appropriate location.
+
+ * TAO_IDL/be_include/be_codegen.h (end_client_inline):
+ (end_client_stubs, end_server_inline):
+
+ New methods that (currently) add ending versioned namespace
+ macro/declaration to the corresponding file.
+
+ * TAO_IDL/be/be_visitor_root/root.cpp (visit_root):
+
+ Added calls to end client stubs, and client and server inline
+ files.
+
+ * tao/Makefile.am (nobase_include_HEADERS):
+ * tao/tao.mpc:
+
+ Added new "tao/Versioned_Namespace.h" header.
+
+ * tao/Versioned_Namespace.h:
+
+ TAO-specific versioned namespace macros.
+
+ * tao/Abstract_Servant_Base.cpp:
+ * tao/Abstract_Servant_Base.h:
+ * tao/Acceptor_Filter.cpp:
+ * tao/Acceptor_Filter.h:
+ * tao/Acceptor_Impl.cpp:
+ * tao/Acceptor_Impl.h:
+ * tao/Acceptor_Registry.cpp:
+ * tao/Acceptor_Registry.h:
+ * tao/Acceptor_Registry.i:
+ * tao/Adapter.cpp:
+ * tao/Adapter.h:
+ * tao/Adapter_Factory.cpp:
+ * tao/Adapter_Factory.h:
+ * tao/Adapter_Registry.cpp:
+ * tao/Adapter_Registry.h:
+ * tao/Allocator.h:
+ * tao/AnyTypeCode_Adapter.cpp:
+ * tao/AnyTypeCode_Adapter.h:
+ * tao/Any_Insert_Policy_T.h:
+ * tao/Arg_Traits_T.h:
+ * tao/Argument.cpp:
+ * tao/Argument.h:
+ * tao/Array_VarOut_T.cpp:
+ * tao/Array_VarOut_T.h:
+ * tao/Array_VarOut_T.inl:
+ * tao/Asynch_Queued_Message.cpp:
+ * tao/Asynch_Reply_Dispatcher_Base.cpp:
+ * tao/Asynch_Reply_Dispatcher_Base.h:
+ * tao/Asynch_Reply_Dispatcher_Base.i:
+ * tao/Auto_Functor.h:
+ * tao/BD_String_Argument_T.cpp:
+ * tao/BD_String_Argument_T.h:
+ * tao/BD_String_Argument_T.inl:
+ * tao/Base_Transport_Property.cpp:
+ * tao/Base_Transport_Property.h:
+ * tao/Base_Transport_Property.inl:
+ * tao/Basic_Argument_T.cpp:
+ * tao/Basic_Argument_T.h:
+ * tao/Basic_Argument_T.inl:
+ * tao/Basic_Arguments.h:
+ * tao/Basic_Types.h:
+ * tao/BiDir_Adapter.cpp:
+ * tao/BiDir_Adapter.h:
+ * tao/Bind_Dispatcher_Guard.cpp:
+ * tao/Bind_Dispatcher_Guard.h:
+ * tao/Bind_Dispatcher_Guard.i:
+ * tao/Block_Flushing_Strategy.cpp:
+ * tao/Block_Flushing_Strategy.h:
+ * tao/Blocked_Connect_Strategy.cpp:
+ * tao/Blocked_Connect_Strategy.h:
+ * tao/Buffer_Allocator_T.cpp:
+ * tao/Buffer_Allocator_T.h:
+ * tao/Buffering_Constraint_Policy.cpp:
+ * tao/Buffering_Constraint_Policy.h:
+ * tao/Buffering_Constraint_Policy.i:
+ * tao/CDR.cpp:
+ * tao/CDR.h:
+ * tao/CDR.i:
+ * tao/CORBALOC_Parser.cpp:
+ * tao/CORBALOC_Parser.h:
+ * tao/CORBALOC_Parser.i:
+ * tao/CORBANAME_Parser.cpp:
+ * tao/CORBANAME_Parser.h:
+ * tao/CORBANAME_Parser.i:
+ * tao/CORBA_String.cpp:
+ * tao/CORBA_String.h:
+ * tao/CORBA_String.inl:
+ * tao/Cache_Entries.cpp:
+ * tao/Cache_Entries.h:
+ * tao/Cache_Entries.inl:
+ * tao/Cleanup_Func_Registry.cpp:
+ * tao/Cleanup_Func_Registry.h:
+ * tao/Cleanup_Func_Registry.inl:
+ * tao/ClientRequestInterceptor_Adapter.cpp:
+ * tao/ClientRequestInterceptor_Adapter.h:
+ * tao/ClientRequestInterceptor_Adapter_Factory.cpp:
+ * tao/ClientRequestInterceptor_Adapter_Factory.h:
+ * tao/Client_Strategy_Factory.cpp:
+ * tao/Client_Strategy_Factory.h:
+ * tao/Codeset_Descriptor_Base.h:
+ * tao/Codeset_Manager.cpp:
+ * tao/Codeset_Manager.h:
+ * tao/Codeset_Manager_Factory_Base.cpp:
+ * tao/Codeset_Manager_Factory_Base.h:
+ * tao/Codeset_Translator_Base.cpp:
+ * tao/Codeset_Translator_Base.h:
+ * tao/Collocated_Invocation.cpp:
+ * tao/Collocated_Invocation.h:
+ * tao/Collocation_Proxy_Broker.cpp:
+ * tao/Collocation_Proxy_Broker.h:
+ * tao/Collocation_Resolver.cpp:
+ * tao/Collocation_Resolver.h:
+ * tao/Condition.cpp:
+ * tao/Condition.h:
+ * tao/Condition.inl:
+ * tao/Connect_Strategy.cpp:
+ * tao/Connect_Strategy.h:
+ * tao/Connection_Handler.cpp:
+ * tao/Connection_Handler.h:
+ * tao/Connection_Handler.inl:
+ * tao/Connection_Purging_Strategy.cpp:
+ * tao/Connection_Purging_Strategy.h:
+ * tao/Connection_Purging_Strategy.inl:
+ * tao/Connector_Impl.cpp:
+ * tao/Connector_Impl.h:
+ * tao/Connector_Registry.cpp:
+ * tao/Connector_Registry.h:
+ * tao/Connector_Registry.i:
+ * tao/DLL_Parser.cpp:
+ * tao/DLL_Parser.h:
+ * tao/DLL_Parser.i:
+ * tao/Default_Collocation_Resolver.cpp:
+ * tao/Default_Collocation_Resolver.h:
+ * tao/Default_Endpoint_Selector_Factory.cpp:
+ * tao/Default_Endpoint_Selector_Factory.h:
+ * tao/Default_Protocols_Hooks.cpp:
+ * tao/Default_Protocols_Hooks.h:
+ * tao/Default_Stub_Factory.cpp:
+ * tao/Default_Stub_Factory.h:
+ * tao/Default_Thread_Lane_Resources_Manager.cpp:
+ * tao/Default_Thread_Lane_Resources_Manager.h:
+ * tao/Dynamic_Adapter.cpp:
+ * tao/Dynamic_Adapter.h:
+ * tao/Endpoint.cpp:
+ * tao/Endpoint.h:
+ * tao/Endpoint.i:
+ * tao/Endpoint_Selector_Factory.cpp:
+ * tao/Endpoint_Selector_Factory.h:
+ * tao/Environment.cpp:
+ * tao/Environment.h:
+ * tao/Environment.i:
+ * tao/Exception.cpp:
+ * tao/Exception.h:
+ * tao/Exception.i:
+ * tao/Exception_Data.h:
+ * tao/Exclusive_TMS.cpp:
+ * tao/Exclusive_TMS.h:
+ * tao/FILE_Parser.cpp:
+ * tao/FILE_Parser.h:
+ * tao/FILE_Parser.i:
+ * tao/Fault_Tolerance_Service.cpp:
+ * tao/Fault_Tolerance_Service.h:
+ * tao/Fault_Tolerance_Service.i:
+ * tao/Fixed_Array_Argument_T.cpp:
+ * tao/Fixed_Array_Argument_T.h:
+ * tao/Fixed_Array_Argument_T.inl:
+ * tao/Fixed_Size_Argument_T.cpp:
+ * tao/Fixed_Size_Argument_T.h:
+ * tao/Fixed_Size_Argument_T.inl:
+ * tao/FlResource_Factory.cpp:
+ * tao/FlResource_Factory.h:
+ * tao/FlResource_Loader.cpp:
+ * tao/FlResource_Loader.h:
+ * tao/Flushing_Strategy.cpp:
+ * tao/Flushing_Strategy.h:
+ * tao/GIOP_Message_Base.cpp:
+ * tao/GIOP_Message_Base.h:
+ * tao/GIOP_Message_Generator_Parser.cpp:
+ * tao/GIOP_Message_Generator_Parser.h:
+ * tao/GIOP_Message_Generator_Parser_10.cpp:
+ * tao/GIOP_Message_Generator_Parser_10.h:
+ * tao/GIOP_Message_Generator_Parser_11.cpp:
+ * tao/GIOP_Message_Generator_Parser_11.h:
+ * tao/GIOP_Message_Generator_Parser_12.cpp:
+ * tao/GIOP_Message_Generator_Parser_12.h:
+ * tao/GIOP_Message_Generator_Parser_Impl.h:
+ * tao/GIOP_Message_Generator_Parser_Impl.inl:
+ * tao/GIOP_Message_Lite.cpp:
+ * tao/GIOP_Message_Lite.h:
+ * tao/GIOP_Message_Locate_Header.cpp:
+ * tao/GIOP_Message_Locate_Header.h:
+ * tao/GIOP_Message_Locate_Header.i:
+ * tao/GIOP_Message_State.cpp:
+ * tao/GIOP_Message_State.h:
+ * tao/GIOP_Message_State.inl:
+ * tao/GIOP_Message_Version.h:
+ * tao/GIOP_Message_Version.inl:
+ * tao/GIOP_Utils.cpp:
+ * tao/GIOP_Utils.h:
+ * tao/GUIResource_Factory.cpp:
+ * tao/GUIResource_Factory.h:
+ * tao/IFR_Client_Adapter.cpp:
+ * tao/IFR_Client_Adapter.h:
+ * tao/IIOP_Acceptor.cpp:
+ * tao/IIOP_Acceptor.h:
+ * tao/IIOP_Acceptor.i:
+ * tao/IIOP_Connection_Handler.cpp:
+ * tao/IIOP_Connection_Handler.h:
+ * tao/IIOP_Connector.cpp:
+ * tao/IIOP_Connector.h:
+ * tao/IIOP_Endpoint.cpp:
+ * tao/IIOP_Endpoint.h:
+ * tao/IIOP_Endpoint.i:
+ * tao/IIOP_Factory.cpp:
+ * tao/IIOP_Factory.h:
+ * tao/IIOP_Lite_Factory.cpp:
+ * tao/IIOP_Lite_Factory.h:
+ * tao/IIOP_Profile.cpp:
+ * tao/IIOP_Profile.h:
+ * tao/IIOP_Transport.cpp:
+ * tao/IIOP_Transport.h:
+ * tao/IORInterceptor_Adapter.cpp:
+ * tao/IORInterceptor_Adapter.h:
+ * tao/IORInterceptor_Adapter_Factory.cpp:
+ * tao/IORInterceptor_Adapter_Factory.h:
+ * tao/IOR_Parser.cpp:
+ * tao/IOR_Parser.h:
+ * tao/Incoming_Message_Queue.cpp:
+ * tao/Incoming_Message_Queue.h:
+ * tao/Incoming_Message_Queue.inl:
+ * tao/Intrusive_Ref_Count_Base_T.cpp:
+ * tao/Intrusive_Ref_Count_Base_T.h:
+ * tao/Intrusive_Ref_Count_Base_T.inl:
+ * tao/Intrusive_Ref_Count_Handle_T.cpp:
+ * tao/Intrusive_Ref_Count_Handle_T.h:
+ * tao/Intrusive_Ref_Count_Handle_T.inl:
+ * tao/Invocation_Adapter.cpp:
+ * tao/Invocation_Adapter.h:
+ * tao/Invocation_Adapter.inl:
+ * tao/Invocation_Base.cpp:
+ * tao/Invocation_Base.h:
+ * tao/Invocation_Base.inl:
+ * tao/Invocation_Endpoint_Selectors.cpp:
+ * tao/Invocation_Endpoint_Selectors.h:
+ * tao/Invocation_Utils.h:
+ * tao/LF_CH_Event.cpp:
+ * tao/LF_CH_Event.h:
+ * tao/LF_Connect_Strategy.cpp:
+ * tao/LF_Connect_Strategy.h:
+ * tao/LF_Event.cpp:
+ * tao/LF_Event.h:
+ * tao/LF_Event.inl:
+ * tao/LF_Event_Binder.cpp:
+ * tao/LF_Event_Binder.h:
+ * tao/LF_Event_Binder.inl:
+ * tao/LF_Event_Loop_Thread_Helper.cpp:
+ * tao/LF_Event_Loop_Thread_Helper.h:
+ * tao/LF_Event_Loop_Thread_Helper.inl:
+ * tao/LF_Follower.cpp:
+ * tao/LF_Follower.h:
+ * tao/LF_Follower.inl:
+ * tao/LF_Follower_Auto_Adder.cpp:
+ * tao/LF_Follower_Auto_Adder.h:
+ * tao/LF_Follower_Auto_Adder.inl:
+ * tao/LF_Follower_Auto_Ptr.cpp:
+ * tao/LF_Follower_Auto_Ptr.h:
+ * tao/LF_Follower_Auto_Ptr.inl:
+ * tao/LF_Invocation_Event.cpp:
+ * tao/LF_Invocation_Event.h:
+ * tao/LF_Strategy.cpp:
+ * tao/LF_Strategy.h:
+ * tao/LF_Strategy_Complete.cpp:
+ * tao/LF_Strategy_Complete.h:
+ * tao/LF_Strategy_Complete.inl:
+ * tao/LRU_Connection_Purging_Strategy.cpp:
+ * tao/LRU_Connection_Purging_Strategy.h:
+ * tao/Leader_Follower.cpp:
+ * tao/Leader_Follower.h:
+ * tao/Leader_Follower.i:
+ * tao/Leader_Follower_Flushing_Strategy.cpp:
+ * tao/Leader_Follower_Flushing_Strategy.h:
+ * tao/LocalObject.cpp:
+ * tao/LocalObject.h:
+ * tao/LocalObject.i:
+ * tao/LocateRequest_Invocation.cpp:
+ * tao/LocateRequest_Invocation.h:
+ * tao/LocateRequest_Invocation_Adapter.cpp:
+ * tao/LocateRequest_Invocation_Adapter.h:
+ * tao/MCAST_Parser.cpp:
+ * tao/MCAST_Parser.h:
+ * tao/MCAST_Parser.i:
+ * tao/MProfile.cpp:
+ * tao/MProfile.h:
+ * tao/MProfile.i:
+ * tao/Managed_Types.cpp:
+ * tao/Managed_Types.h:
+ * tao/Managed_Types.i:
+ * tao/Muxed_TMS.cpp:
+ * tao/Muxed_TMS.h:
+ * tao/NVList_Adapter.cpp:
+ * tao/NVList_Adapter.h:
+ * tao/New_Leader_Generator.cpp:
+ * tao/New_Leader_Generator.h:
+ * tao/ORB.cpp:
+ * tao/ORB.h:
+ * tao/ORB.i:
+ * tao/ORBInitializer_Registry.cpp:
+ * tao/ORBInitializer_Registry.h:
+ * tao/ORBInitializer_Registry_Adapter.cpp:
+ * tao/ORBInitializer_Registry_Adapter.h:
+ * tao/ORB_Constants.h:
+ * tao/ORB_Core.cpp:
+ * tao/ORB_Core.h:
+ * tao/ORB_Core.i:
+ * tao/ORB_Core_Auto_Ptr.cpp:
+ * tao/ORB_Core_Auto_Ptr.h:
+ * tao/ORB_Core_Auto_Ptr.inl:
+ * tao/ORB_Core_TSS_Resources.cpp:
+ * tao/ORB_Core_TSS_Resources.h:
+ * tao/ORB_Table.cpp:
+ * tao/ORB_Table.h:
+ * tao/ORB_Table.inl:
+ * tao/Object.cpp:
+ * tao/Object.h:
+ * tao/Object.i:
+ * tao/ObjectKey_Table.cpp:
+ * tao/ObjectKey_Table.h:
+ * tao/Object_Argument_T.cpp:
+ * tao/Object_Argument_T.h:
+ * tao/Object_Argument_T.inl:
+ * tao/Object_Loader.cpp:
+ * tao/Object_Loader.h:
+ * tao/Object_Proxy_Broker.cpp:
+ * tao/Object_Proxy_Broker.h:
+ * tao/Object_Ref_Table.cpp:
+ * tao/Object_Ref_Table.h:
+ * tao/Object_Ref_Table.inl:
+ * tao/Object_T.cpp:
+ * tao/Object_T.h:
+ * tao/Objref_VarOut_T.cpp:
+ * tao/Objref_VarOut_T.h:
+ * tao/Parser_Registry.cpp:
+ * tao/Parser_Registry.h:
+ * tao/Parser_Registry.i:
+ * tao/Pluggable_Messaging.cpp:
+ * tao/Pluggable_Messaging.h:
+ * tao/Pluggable_Messaging_Utils.cpp:
+ * tao/Pluggable_Messaging_Utils.h:
+ * tao/Pluggable_Messaging_Utils.i:
+ * tao/PolicyFactory_Registry_Adapter.cpp:
+ * tao/PolicyFactory_Registry_Adapter.h:
+ * tao/Policy_Current.cpp:
+ * tao/Policy_Current.h:
+ * tao/Policy_Current.inl:
+ * tao/Policy_Current_Impl.cpp:
+ * tao/Policy_Current_Impl.h:
+ * tao/Policy_Current_Impl.inl:
+ * tao/Policy_Manager.cpp:
+ * tao/Policy_Manager.h:
+ * tao/Policy_Manager.i:
+ * tao/Policy_Set.cpp:
+ * tao/Policy_Set.h:
+ * tao/Policy_Set.i:
+ * tao/Policy_Validator.cpp:
+ * tao/Policy_Validator.h:
+ * tao/Principal.cpp:
+ * tao/Principal.h:
+ * tao/Principal.i:
+ * tao/Profile.cpp:
+ * tao/Profile.h:
+ * tao/Profile.i:
+ * tao/Profile_Transport_Resolver.cpp:
+ * tao/Profile_Transport_Resolver.h:
+ * tao/Profile_Transport_Resolver.inl:
+ * tao/Protocol_Factory.cpp:
+ * tao/Protocol_Factory.h:
+ * tao/Protocols_Hooks.cpp:
+ * tao/Protocols_Hooks.h:
+ * tao/Pseudo_VarOut_T.cpp:
+ * tao/Pseudo_VarOut_T.h:
+ * tao/Pseudo_VarOut_T.inl:
+ * tao/QtResource_Factory.cpp:
+ * tao/QtResource_Factory.h:
+ * tao/QtResource_Loader.cpp:
+ * tao/QtResource_Loader.h:
+ * tao/Queued_Message.cpp:
+ * tao/Queued_Message.h:
+ * tao/Reactive_Connect_Strategy.cpp:
+ * tao/Reactive_Connect_Strategy.h:
+ * tao/Reactive_Flushing_Strategy.cpp:
+ * tao/Reactive_Flushing_Strategy.h:
+ * tao/Refcounted_ObjectKey.cpp:
+ * tao/Refcounted_ObjectKey.h:
+ * tao/Refcounted_ObjectKey.inl:
+ * tao/Remote_Invocation.cpp:
+ * tao/Remote_Invocation.h:
+ * tao/Remote_Object_Proxy_Broker.cpp:
+ * tao/Remote_Object_Proxy_Broker.h:
+ * tao/Reply_Dispatcher.cpp:
+ * tao/Reply_Dispatcher.h:
+ * tao/Reply_Dispatcher.i:
+ * tao/Request_Dispatcher.cpp:
+ * tao/Request_Dispatcher.h:
+ * tao/Resource_Factory.cpp:
+ * tao/Resource_Factory.h:
+ * tao/Resume_Handle.cpp:
+ * tao/Resume_Handle.h:
+ * tao/Resume_Handle.inl:
+ * tao/Seq_Out_T.cpp:
+ * tao/Seq_Out_T.h:
+ * tao/Seq_Out_T.inl:
+ * tao/Seq_Var_T.cpp:
+ * tao/Seq_Var_T.h:
+ * tao/Seq_Var_T.inl:
+ * tao/Sequence.cpp:
+ * tao/Sequence.h:
+ * tao/Sequence.i:
+ * tao/Sequence_T.cpp:
+ * tao/Sequence_T.h:
+ * tao/Sequence_T.i:
+ * tao/ServerRequestInterceptor_Adapter.cpp:
+ * tao/ServerRequestInterceptor_Adapter.h:
+ * tao/ServerRequestInterceptor_Adapter_Factory.cpp:
+ * tao/ServerRequestInterceptor_Adapter_Factory.h:
+ * tao/Server_Strategy_Factory.cpp:
+ * tao/Server_Strategy_Factory.h:
+ * tao/Service_Callbacks.cpp:
+ * tao/Service_Callbacks.h:
+ * tao/Service_Context.cpp:
+ * tao/Service_Context.h:
+ * tao/Service_Context.inl:
+ * tao/Services_Activate.cpp:
+ * tao/Services_Activate.h:
+ * tao/Special_Basic_Argument_T.cpp:
+ * tao/Special_Basic_Argument_T.h:
+ * tao/Special_Basic_Argument_T.inl:
+ * tao/Special_Basic_Arguments.h:
+ * tao/Stub.cpp:
+ * tao/Stub.h:
+ * tao/Stub.i:
+ * tao/Stub_Factory.cpp:
+ * tao/Stub_Factory.h:
+ * tao/Synch_Invocation.cpp:
+ * tao/Synch_Invocation.h:
+ * tao/Synch_Invocation.inl:
+ * tao/Synch_Queued_Message.cpp:
+ * tao/Synch_Queued_Message.h:
+ * tao/Synch_Reply_Dispatcher.cpp:
+ * tao/Synch_Reply_Dispatcher.h:
+ * tao/SystemException.cpp:
+ * tao/SystemException.h:
+ * tao/SystemException.inl:
+ * tao/TAO_Internal.cpp:
+ * tao/TAO_Server_Request.cpp:
+ * tao/TAO_Server_Request.h:
+ * tao/TAO_Server_Request.i:
+ * tao/TAO_Singleton.cpp:
+ * tao/TAO_Singleton.h:
+ * tao/TAO_Singleton.inl:
+ * tao/TAO_Singleton_Manager.cpp:
+ * tao/TAO_Singleton_Manager.h:
+ * tao/TAO_Singleton_Manager.inl:
+ * tao/TSS_Resources.cpp:
+ * tao/TSS_Resources.h:
+ * tao/Tagged_Components.cpp:
+ * tao/Tagged_Components.h:
+ * tao/Tagged_Components.i:
+ * tao/Tagged_Profile.cpp:
+ * tao/Tagged_Profile.h:
+ * tao/Tagged_Profile.i:
+ * tao/Thread_Lane_Resources.cpp:
+ * tao/Thread_Lane_Resources.h:
+ * tao/Thread_Lane_Resources_Manager.cpp:
+ * tao/Thread_Lane_Resources_Manager.h:
+ * tao/Thread_Per_Connection_Handler.cpp:
+ * tao/Thread_Per_Connection_Handler.h:
+ * tao/TkResource_Factory.cpp:
+ * tao/TkResource_Factory.h:
+ * tao/TkResource_Loader.cpp:
+ * tao/TkResource_Loader.h:
+ * tao/Transport.cpp:
+ * tao/Transport.h:
+ * tao/Transport.inl:
+ * tao/Transport_Acceptor.cpp:
+ * tao/Transport_Acceptor.h:
+ * tao/Transport_Acceptor.inl:
+ * tao/Transport_Cache_Manager.cpp:
+ * tao/Transport_Cache_Manager.h:
+ * tao/Transport_Cache_Manager.inl:
+ * tao/Transport_Connector.cpp:
+ * tao/Transport_Connector.h:
+ * tao/Transport_Connector.inl:
+ * tao/Transport_Descriptor_Interface.cpp:
+ * tao/Transport_Descriptor_Interface.h:
+ * tao/Transport_Descriptor_Interface.inl:
+ * tao/Transport_Mux_Strategy.cpp:
+ * tao/Transport_Mux_Strategy.h:
+ * tao/Transport_Queueing_Strategies.cpp:
+ * tao/Transport_Queueing_Strategies.h:
+ * tao/Transport_Timer.cpp:
+ * tao/Transport_Timer.h:
+ * tao/TypeCodeFactory_Adapter.h:
+ * tao/UB_String_Argument_T.cpp:
+ * tao/UB_String_Argument_T.h:
+ * tao/UB_String_Argument_T.inl:
+ * tao/UB_String_Arguments.h:
+ * tao/UserException.cpp:
+ * tao/UserException.h:
+ * tao/UserException.inl:
+ * tao/Valuetype_Adapter.cpp:
+ * tao/Valuetype_Adapter.h:
+ * tao/VarOut_T.cpp:
+ * tao/VarOut_T.h:
+ * tao/VarOut_T.inl:
+ * tao/Var_Array_Argument_T.cpp:
+ * tao/Var_Array_Argument_T.h:
+ * tao/Var_Array_Argument_T.inl:
+ * tao/Var_Size_Argument_T.cpp:
+ * tao/Var_Size_Argument_T.h:
+ * tao/Var_Size_Argument_T.inl:
+ * tao/Wait_On_LF_No_Upcall.cpp:
+ * tao/Wait_On_LF_No_Upcall.h:
+ * tao/Wait_On_Leader_Follower.cpp:
+ * tao/Wait_On_Leader_Follower.h:
+ * tao/Wait_On_Reactor.cpp:
+ * tao/Wait_On_Reactor.h:
+ * tao/Wait_On_Read.cpp:
+ * tao/Wait_On_Read.h:
+ * tao/Wait_Strategy.cpp:
+ * tao/Wait_Strategy.h:
+ * tao/corba.h:
+ * tao/corbafwd.cpp:
+ * tao/debug.cpp:
+ * tao/debug.h:
+ * tao/default_client.cpp:
+ * tao/default_client.h:
+ * tao/default_environment.h:
+ * tao/default_resource.cpp:
+ * tao/default_resource.h:
+ * tao/default_server.cpp:
+ * tao/objectid.h:
+ * tao/operation_details.cpp:
+ * tao/operation_details.h:
+ * tao/operation_details.i:
+ * tao/orbconf.h:
+ * tao/params.cpp:
+ * tao/params.h:
+ * tao/params.i:
+ * tao/varbase.h:
+
+ Added versioned namespace support.
+
+ Removed some empty and/or unnecessary `.cpp' and `.inl' files.
+
+ Improved exception safety in some assignment operators.
+
+Tue Nov 1 14:27:36 USMST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * examples/CSD_Strategy/ThreadPool/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool2/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool3/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool4/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool5/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool6/run_test.pl:
+ * performance-tests/CSD_Strategy/TestApps/run_test.pl:
+ * tests/CSD_Strategy_Tests/Broken/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_1/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/run_test.pl:
+
+ Changed to enable these scripts to run from autobuild for VxWorks builds.
+
+ * tests/CSD_Strategy_Tests/TP_Test_1/ServerApp.cpp:
+
+ Removed duplicated log message.
+
+Tue Nov 1 14:30:05 2005 William Otte <wotte@dre.vanderbilt.edu>
+
+ * orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc
+
+ Added missing project dependancies to fix errors/warnings for the
+ strict OS X linker.
+
+Tue Nov 1 19:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2289_Regression/MyInterfaceImpl.h:
+ Fixed fuzz error
+
+Tue Nov 1 19:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/bounded_string_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_string_sequence_ut.cpp:
+ Added regression for bug 2201
+
+Tue Nov 1 19:12:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp:
+ Added regression for bug 2201
+
+Tue Nov 1 19:06:48 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/driver/drv_preproc.cpp:
+
+ Fixed addition of default paths to preprocess command line,
+ for the case where only $ACE_ROOT, and not $TAO_ROOT, is
+ defined in the environment. Thanks to Chris Cleeland
+ <cleeland_c@ociweb.cpm> for reporting the problem.
+
+Tue Nov 1 19:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/Sequence_Unit_Tests.mpc:
+ * tests/Sequence_Unit_Tests/run_test.pl:
+ * tests/Sequence_Unit_Tests/Unbounded_Octet.cpp:
+ * tests/Sequence_Unit_Tests/unbounded_octet_sequence_ut.cpp:
+ Added new tests for unbounded octet sequences, a specialization
+ for octet sequences will follow in the near future
+
+Tue Nov 1 18:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/bounded_value_sequence.hpp:
+ Fixed incorrect guards
+
+Tue Nov 1 17:55:43 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp:
+
+ Fixed bug in code generation of valuetype initialzing
+ constructor when there is a generated call to the
+ valuetype's base class constrcutor.
+
+Tue Nov 1 15:44:41 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp:
+
+ Eliminated unused local variable.
+
+Tue Nov 1 15:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/value_sequence_tester.hpp:
+ Fixed two bugs in this tester, it expected that the sequence
+ always expects int which is not true, made it generic so
+ that it can also be used for sequences of other types
+
+Tue Nov 1 15:37:04 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp:
+ * TAO_IDL/be_include/be_visitor_valuetype/valuetype_obv_cs.h:
+
+ Fixed generation of valuetype initializing constructor for
+ array members. These cannot be handled in the constructor's
+ initialization list, so they are handled in the constructor
+ body.
+
+Tue Nov 1 14:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/unbounded_value_sequence_ut.cpp:
+ Added a regression for bug 2201
+
+ * tests/Sequence_Unit_Tests/value_traits.hpp:
+ Implement initialize_range and zero_range as fix for bug
+ 2201 which also seemed to exist in the new sequence implementation
+
+Tue Nov 1 14:42:14 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp:
+
+ Fixed bug in generation of constructor initializing member
+ values that failed to screen out attributes when traversing
+ the valuetype's scope for stub source file generation.
+
+Tue Nov 1 14:14:31 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/Managed_Types.h:
+ * tao/Managed_Types.i:
+
+ Added constructors for TAO_String_Manager and
+ TAO_WString_Manager from const char* and const CORBA::WChar*
+ respectively (each constructor makes a copy). These new
+ constructors are used in generated code for valuetypes, in
+ the initializing constructor added in
+
+ Fri Oct 28 23:55:14 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+Tue Nov 1 12:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2074_Regression/*:
+ * orbsvcs/tests/Bug_2074_Regression/*:
+ Moved test to orbsvs
+
+Tue Nov 1 11:47:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/generic_sequence.hpp:
+ Fixed typo
+
+Tue Nov 1 10:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/File_IO/File_i.cpp:
+ 64bit fix
+
+Tue Nov 1 10:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/CSD_Strategy/TestInf/ClientTask.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/ClientTask.cpp:
+ Fixed 64bit conversion warnings
+
+Tue Nov 1 10:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Profile.cpp:
+ Use prefix operators to modify the refcount
+
+Tue Nov 1 09:50:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1495_Regression/Client_Task.cpp:
+ Extended this test to do multiple calls. It will fail now
+
+ * tests/Bug_2289_Regression/MyStruct*.{h,cpp,inl}:
+ Removed generated files, shouldn't be in the repo
+
+Tue Nov 1 09:35:36 2005 Simon McQueen <sm@prismtech.com>
+
+ * tests/Bug_2289_Regression/Bug_2289_Regression.mpc:
+ * tests/Bug_2289_Regression/MyInterfaceImpl.cpp:
+ * tests/Bug_2289_Regression/MyInterfaceImpl.h:
+ * tests/Bug_2289_Regression/MyStruct.idl:
+ * tests/Bug_2289_Regression/MyStructC.cpp:
+ * tests/Bug_2289_Regression/MyStructC.h:
+ * tests/Bug_2289_Regression/MyStructC.inl:
+ * tests/Bug_2289_Regression/MyStructS.cpp:
+ * tests/Bug_2289_Regression/MyStructS.h:
+ * tests/Bug_2289_Regression/MyStructS.inl:
+ * tests/Bug_2289_Regression/MyStructS_T.cpp:
+ * tests/Bug_2289_Regression/MyStructS_T.h:
+ * tests/Bug_2289_Regression/MyStructS_T.inl:
+ * tests/Bug_2289_Regression/README:
+ * tests/Bug_2289_Regression/Test.idl:
+ * tests/Bug_2289_Regression/client.cpp:
+ * tests/Bug_2289_Regression/run_test.pl:
+ * tests/Bug_2289_Regression/server.cpp:
+
+ Added regression test for this bug. Bug is not yet fixed so it
+ *will* fail.
+
+Mon Oct 31 15:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Sequence_Unit_Tests/mock_reference.hpp:
+ * tests/Sequence_Unit_Tests/range_checking.hpp:
+ Small doxygen improvements
+
+Mon Oct 31 12:00:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2084_Regression/*:
+ Integrated regression for bug 2084. Thanks to David Faure
+ <dfaure at klaralvdalens-datakonsult dot se> for creating this
+ test. It seems this bug has already been resolved in the past
+ but to prevent to reappear it in the future added the test
+ to our regression suite.
+
+Mon Oct 31 11:36:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2074_Regression/*:
+ Integrated regression for bug 2074. Thanks to Robert Hancock
+ <hancockr at shaw dot ca> for creating this test
+
+Sat Oct 29 13:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Bug_2285_Regression/client2.cpp:
+ Fixed compile error
+
+Fri Oct 28 23:55:14 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_type.cpp:
+
+ Cosmetic changes.
+
+ * TAO_IDL/include/ast_attribute.h:
+
+ Removed legacy comment.
+
+ * TAO_IDL/be/be_valuetype.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp:
+ * TAO_IDL/be_include/be_valuetype.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/valuetype.h:
+ * TAO_IDL/be_include/be_visitor_valuetype/valuetype_obv_cs.h:
+
+ Added generation of valuetype constructor that initializes all
+ members, including inherited members, as specified in the CORBA
+ C++ mapping (03-06-03) section 1.17.2. This fix closes
+ [BUGID:2270].
+
+Thu Oct 27 14:55:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/Dynamic/server_interceptor.cpp:
+ Reordered includes to fix gcc4 errors
+
+Fri Oct 28 15:35:54 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2287_Regression/Hello.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/ServerRequest_Interceptor.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/client2.cpp:
+
+ More unused arg warnings and 'EXCEPTION' in the debug output
+ was incorrectly marking this as a 'fail'.
+
+Fri Oct 28 09:53:24 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp:
+
+ Fixed debian full build error - residual ACE cast macro.
+
+Thu Oct 27 14:20:35 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_global.cpp:
+
+ Modified change in
+
+ Wed Oct 26 18:57:47 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ to handle the use case where skeleton files are generated
+ from a .pidl file, for example tao/ImR_Client/ImplRepo.pidl.
+ Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for
+ reporting the problem.
+
+Thu Oct 27 14:31:12 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2287_Regression/Hello.cpp:
+
+ Fix gcc unused arg warning.
+
+Thu Oct 27 13:36:53 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2285_Regression/Hello.h:
+ * orbsvcs/tests/Bug_2287_Regression/Hello.h:
+ * orbsvcs/tests/Bug_2285_Regression/ServerORBInitializer.h:
+ * orbsvcs/tests/Bug_2285_Regression/ServerORBInitializer2.h:
+ * orbsvcs/tests/Bug_2285_Regression/ServerRequest_Interceptor.h:
+ * orbsvcs/tests/Bug_2285_Regression/ServerRequest_Interceptor2.h:
+ * orbsvcs/tests/Bug_2287_Regression/ServerORBInitializer2.h:
+ * orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.h:
+
+ Fix the obligatory fuzz errors.
+
+Thu Oct 27 11:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * tao/GIOP_Utils.cpp:
+ * tao/Transport_Connector.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy_Factory.cpp:
+ 64bit fixes
+
+Thu Oct 27 11:30:59 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/operation_details.h:
+ * tao/operation_details.i:
+
+ Add members (with accessors) for the FT request retention ID and
+ expiration time.
+
+ * tao/PI/ClientRequestInfo.cpp:
+ * tao/PI/ClientRequestInfo.h:
+
+ Add accessors for the FT request retention ID and expiration time
+ of the underlying request operation details (see above).
+
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.h:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp:
+
+ Transmit the correct retention ID and request expiration time in
+ the request service context. Bound retries by the expiration time.
+
+ This fixes bus #2285 and #2287.
+
+ * orbsvcs/tests/Bug_2285_Regression/Bug_2285_Regression.mpc:
+ * orbsvcs/tests/Bug_2285_Regression/Hello.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/Hello.h:
+ * orbsvcs/tests/Bug_2285_Regression/README:
+ * orbsvcs/tests/Bug_2285_Regression/ServerORBInitializer.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/ServerORBInitializer.h:
+ * orbsvcs/tests/Bug_2285_Regression/ServerORBInitializer2.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/ServerORBInitializer2.h:
+ * orbsvcs/tests/Bug_2285_Regression/ServerRequest_Interceptor.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/ServerRequest_Interceptor.h:
+ * orbsvcs/tests/Bug_2285_Regression/ServerRequest_Interceptor2.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/ServerRequest_Interceptor2.h:
+ * orbsvcs/tests/Bug_2285_Regression/Test.idl:
+ * orbsvcs/tests/Bug_2285_Regression/client.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/client2.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/run_test.pl:
+ * orbsvcs/tests/Bug_2285_Regression/run_test2.pl:
+ * orbsvcs/tests/Bug_2285_Regression/server.cpp:
+ * orbsvcs/tests/Bug_2285_Regression/server2.cpp:
+ * orbsvcs/tests/Bug_2287_Regression/Bug_2287_Regression.mpc:
+ * orbsvcs/tests/Bug_2287_Regression/Hello.cpp:
+ * orbsvcs/tests/Bug_2287_Regression/Hello.h:
+ * orbsvcs/tests/Bug_2287_Regression/README:
+ * orbsvcs/tests/Bug_2287_Regression/ServerORBInitializer2.cpp:
+ * orbsvcs/tests/Bug_2287_Regression/ServerORBInitializer2.h:
+ * orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.cpp:
+ * orbsvcs/tests/Bug_2287_Regression/ServerRequest_Interceptor2.h:
+ * orbsvcs/tests/Bug_2287_Regression/Test.idl:
+ * orbsvcs/tests/Bug_2287_Regression/client.cpp:
+ * orbsvcs/tests/Bug_2287_Regression/run_test.pl:
+ * orbsvcs/tests/Bug_2287_Regression/server.cpp:
+
+ Regression tests for these bugs.
+
+Thu Oct 27 09:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Sequence_T.{h,cpp}:
+ Applied the fix of bug 2201, when shrinking a sequence we
+ re initialize the elements. Fixes bugzilla 2201.
+ Thanks to Frank Pilhofer <fp at mc dot com> for reporting this
+ and supplying the patch.
+
+Thu Oct 27 09:27:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_2201_Regression/*:
+ Added regression for bug 2201 to the cvs archive
+
+Thu Oct 27 06:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp:
+ Fixed conversion warnings
+
+Wed Oct 26 17:22:12 2005 Don Busch <busch_d@ociweb.com>
+
+ * orbsvcs/CosEvent_Service/CosEvent_Service.mpc
+ * orbsvcs/examples/ORT/ORT.mpc
+ * orbsvcs/orbsvcs/CosEvent.mpc
+ * orbsvcs/orbsvcs/CosNaming_Serv.mpc
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp
+ * orbsvcs/orbsvcs/Naming/Naming_Server.cpp
+ * tao/CSD_Framework.mpc
+
+ This is a footprint reduction fix, eliminating a library dependency.
+ TAO 1.4 introduced a new dependency on the Messaging, Valuetype,
+ PI, and CodecFactory libraries for the CosNaming_Serv and
+ CosEvent_Serv libraries. Turning off CORBA Messaging did not remove
+ this dependency. Thus, any application that uses CosNaming_Serv or
+ CosEvent_Serv, but not CORBA Messaging, depends on those libraries
+ anyway. This change eliminates the CosNaming_Serv and CosEvent_Serv
+ dependencies on Messaging (and thus PI, CodecFactory, and Valuetype)
+ when CORBA Messaging and Interceptors are turned off. It reduces
+ the footprint in that case by about 600K.
+ There is a ACE ChangeLog entry with the same timestamp that
+ descibes the MPC config file changes.
+
+Wed Oct 26 19:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/CodecFactory/IOP_Codec_includeA.h:
+ Added new file
+
+ * tao/Makefile.am:
+ Updated
+
+Wed Oct 26 18:57:47 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_global.cpp (be_change_idl_file_extension):
+
+ Changed logic to ignore a header extension set by the -hc
+ option and use "C.h", if we are processing a .pidl file,
+ and we are not generating an *A.h file. Thanks to
+ Johnny Willemsen <jwillemsen@remedy.nl> for reporting
+ the problem.
+
+Wed Oct 26 18:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/ClientRequestInfoA.cpp
+ * tao/PI/ClientRequestInfoC.cpp
+ * tao/PI/ClientRequestInfoC.h
+ * tao/PI/ClientRequestInfoS.h
+ * tao/PI/ClientRequestInterceptorA.cpp
+ * tao/PI/ClientRequestInterceptorC.cpp
+ * tao/PI/ClientRequestInterceptorC.h
+ * tao/PI/ClientRequestInterceptorS.h
+ * tao/PI/InterceptorA.cpp
+ * tao/PI/InterceptorC.cpp
+ * tao/PI/InterceptorC.h
+ * tao/PI/InterceptorS.h
+ * tao/PI/ORBInitInfoC.cpp
+ * tao/PI/ORBInitInfoC.h
+ * tao/PI/ORBInitInfoS.h
+ * tao/PI/ORBInitializerA.cpp
+ * tao/PI/ORBInitializerC.cpp
+ * tao/PI/ORBInitializerC.h
+ * tao/PI/ORBInitializerS.h
+ * tao/PI/PIForwardRequestA.cpp
+ * tao/PI/PIForwardRequestC.cpp
+ * tao/PI/PIForwardRequestC.h
+ * tao/PI/PIForwardRequestS.h
+ * tao/PI/PolicyFactoryA.cpp
+ * tao/PI/PolicyFactoryC.cpp
+ * tao/PI/PolicyFactoryC.h
+ * tao/PI/PolicyFactoryS.h
+ * tao/PI/RequestInfoA.cpp
+ * tao/PI/RequestInfoC.cpp
+ * tao/PI/RequestInfoC.h
+ * tao/PI/RequestInfoS.h
+ * tao/PI_Server/ServerRequestInfoA.cpp
+ * tao/PI_Server/ServerRequestInfoC.cpp
+ * tao/PI_Server/ServerRequestInfoC.h
+ * tao/PI_Server/ServerRequestInfoS.h
+ * tao/PI_Server/ServerRequestInterceptorA.cpp
+ * tao/PI_Server/ServerRequestInterceptorC.cpp
+ * tao/PI_Server/ServerRequestInterceptorC.h
+ * tao/PI_Server/ServerRequestInterceptorS.h
+ * tao/IORInterceptor/IORInfoC.cpp
+ * tao/IORInterceptor/IORInfoC.h
+ Regenerated
+
+ * tao/IORInterceptor/IORInfo.pidl
+ * tao/PI/ORBInitInfo.pidl
+ Updated regeneration instructions
+
+ * tao/PI/ORBInitInfoA.cpp:
+ Removed
+
+ * tao/PI/ClientRequestInfoA.h
+ * tao/PI/ClientRequestInterceptorA.h
+ * tao/PI/InterceptorA.h
+ * tao/PI/ORBInitializerA.h
+ * tao/PI/PIForwardRequestA.h
+ * tao/PI/PolicyFactoryA.h
+ * tao/PI/RequestInfoA.h
+ * tao/PI_Server/ServerRequestInfoA.h
+ * tao/PI_Server/ServerRequestInterceptorA.h
+ New generated files
+
+ * tao/PortableServer/POA_Cached_Policies.cpp
+ Layout fix
+
+ * tao/Makefile.am
+ Added new files
+
+ * tao/IORInterceptor/IORInterceptor.pidl
+ * tao/IORInterceptor/IORInterceptorC.cpp
+ * tao/IORInterceptor/IORInterceptorC.h
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp
+ Splitted PortableInterceptor::IORInterceptor into IORInterceptor
+ and IORInterceptor_3_0. This is triggered by bug 1271 which contained
+ issues about CORBA Compliance. In the 3.0.3 spec the IORInterceptor
+ was splitted. This fixes bug 1271.
+
+ IMPORTANT!!!
+ If you use IORInterceptor methods components_established,
+ adapter_manger_state_changed and adapter_state_changed you have to
+ derive your implementation from IORInterceptor_3_0 else these
+ methods don't get called!!!
+
+ * tests/ORT/ORT_test_IORInterceptor.h
+ * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.h
+ * tests/Portable_Interceptors/PolicyFactory/IORInterceptor.cpp
+ * tests/Portable_Interceptors/PolicyFactory/IORInterceptor.h
+ * orbsvcs/examples/ORT/Server_IORInterceptor.h
+ * orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h
+ Changes for IORInterceptor_3_0.
+
+Wed Oct 26 13:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/diffs/ServerRequestInterceptor.diff:
+ * tao/PI_Server/diffs/ServerRequestInterceptor.diff:
+ Moved this diff to the PI_Server directory, it belongs there
+
+Wed Oct 26 09:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ObjRefTemplate/ObjectReferenceTemplate.pidl:
+ Removed the equals and make_profiles methods which where
+ commented out. That these exist in the IDL of CORBA 3.0.3
+ is an editorial error. See also OMG issue 9112
+
+Tue Oct 25 22:24:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/LocateRequest_Invocation.cpp (invoke):
+ * tao/Synch_Invocation.cpp (remote_oneway, remote_twoway):
+
+ Changed OutputCDR_Auto_Reset to ACE_OutputCDR_Auto_Reset to
+ match corresponding changes made to ACE.
+
+Tue Oct 25 21:50:46 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * utils/wxNamingViewer/wxNamingViewer.cpp:
+ * utils/wxNamingViewer/wxNamingViewerFrame.cpp: Added some #include
+ files to get things working again on Linux. Thanks to Matt
+ Gillen <mgillen@bbn.com> for these fixes.
+
+Tue Oct 25 08:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/CosEvent/Basic/Shutdown.cpp:
+ Fixed warning in MinGW build
+
+Tue Oct 25 07:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/POA_Current_Impl.cpp:
+ Implemented POA_Current::get_reference. This is the last item
+ of bugzilla bug 1917, which is now totally fixed
+
+Mon Oct 24 19:08:06 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/util/utl_scope.cpp:
+ * TAO_IDL/util/utl_string.cpp:
+
+ Added immediate exits when name clash errors are encountered,
+ since trying to continue parsing from these points can lead to a
+ crash. Thanks to Ian Zagorskih <ianzag@megasignal.com> for
+ reporting the problem. This fix closes [BUGID:2281].
+
+Mon Oct 24 18:39:31 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/fe/fe_interface_header.cpp:
+ * TAO_IDL/fe/idl.yy:
+ * TAO_IDL/fe/y.tab.cpp:
+ * TAO_IDL/include/fe_interface_header.h:
+
+ For IDL types that are added to the IDL compiler's
+ AST via an FE_*Header class (interfaces, valuetypes,
+ eventtypes, components, and homes), modified the
+ creation of this class to pass in a scoped name
+ created on the heap instead of on the stack.
+ Memory allocated within this scoped name was being
+ freed in a different scope, and it's dangerous
+ to assume that the stack address would still be
+ valid. Also added a destroy() method to the
+ FE_InterfaceHeader class (base class to all the
+ others) that handles the destruction of the scoped
+ name member and its contents, if it is nonzero.
+ Thanks to Iliyan Jeliazkov <jeliazkov_i@ociweb.com>
+ for reporting the problem.
+
+Mon Oct 24 18:18:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/CodecFactory/CodecFactory_impl.cpp:
+ Added validation whether the requested codesets are supported
+
+ * tao/Codeset/Codeset_Manager_i.{h,cpp}:
+ * tao/Codeset_Manager.h:
+ Added get_ncs to be able to check whether a codeset is supported.
+ Thanks to Phil Mesnier for helping with this issue.
+
+Mon Oct 24 17:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Codec/client.cpp:
+ Added missing return
+
+Mon Oct 24 06:53:12 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/IFR_Service/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+ * tao/Makefile.am:
+
+ Regenerated.
+
+Mon Oct 24 13:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Codec/client.cpp:
+ * tests/Codec/Codec.mpc:
+ Extended this test
+
+Mon Oct 24 13:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/CodecFactory/CDR_Encaps_Codec.{h,cpp}
+ * tao/CodecFactory/CodecFactory_impl.{h,cpp}:
+ * tao/CodecFactory/IOP_Codec.pidl:
+ * tao/CodecFactory/IOP_Codec_includeC.h:
+ * tao/CodecFactory/IOP_Codec_includeS.h:
+ * tao/CodecFactory/IOP_CodecC.{h,cpp}:
+ The current Codec just encode/decodes wstring without
+ using the codesets. When wstrings are encoded/decoded
+ this causes problems. We found that there has been
+ raised already an issue at the OMG for this: issue 6050,
+ see http://www.omg.org/issues/issue6050.txt
+ This proposes a new IDL method on CodecFactory,
+ CodecFactory::create_codec_with_codesets.
+ With this method a Codec can be created with specific
+ codesets in place. We implemented this method in TAO,
+ the only thing we will add soon is the extra check whether
+ the requested codeset is supported, this is not possible
+ at this moment because the codeset interfaces are not really
+ setup in a way to do this.
+
+ * tao/CodecFactory/IOP_CodecA.cpp:
+ Removed
+
+ * tao/Codeset_Manager.h:
+ * tao/Codeset_Descriptor_Base.h:
+ Small layout/doxygen fixes
+
+ * tao/Makefile.am:
+ Removed tao/CodecFactory/IOP_CodecA.cpp
+
+ * tao/CodecFactory/diff/IOP_Codec.diff:
+ Updated
+
+Mon Oct 24 12:59:07 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/Messaging/ExceptionHolder_i.cpp:
+
+ Fixed compile error with VC++ 6.
+
+Mon Oct 24 07:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Adapter_Registry.cpp:
+ * ORB_Core.cpp:
+ * Object.cpp:
+ * BiDir_GIOP/BiDirGIOP.cpp:
+ * CSD_Framework/CSD_Object_Adapter_Factory.cpp:
+ * Messaging/Messaging_Loader.cpp:
+ * PortableServer/Root_POA.cpp:
+ * RTPortableServer/RT_Servant_Dispatcher.cpp:
+ Don't pass %P, %t, \n to ACE_PRINT_EXCEPTION, it
+ does this itself already.
+
+ * Codeset/Codeset_Manager_i.cpp:
+ Layout improvements
+
+Fri Oct 21 14:12:49 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * examples/CSD_Strategy/ThreadPool6/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool5/ClientApp.cpp:
+ * examples/CSD_Strategy/ThreadPool5/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool3/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool2/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool4/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_3/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_3/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_4/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_2/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_1/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/Broken/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/Broken/ServerApp.cpp:
+ * performance-tests/CSD_Strategy/TestApps/ServerApp.cpp:
+
+ Added PI.h include to force statically initialization happen
+ before the TAO_CSD_Object_Adapter::init() is called. This would
+ resolve the problem that CSD test failures on static builds.
+
+ * examples/CSD_Strategy/ThreadPool/CSD_Test_ThreadPool.mpc:
+ * examples/CSD_Strategy/ThreadPool2/CSD_Test_ThreadPool2.mpc:
+ * examples/CSD_Strategy/ThreadPool3/CSD_Test_ThreadPool3.mpc:
+ * examples/CSD_Strategy/ThreadPool4/CSD_Test_ThreadPool4.mpc:
+ * examples/CSD_Strategy/ThreadPool5/CSD_Test_ThreadPool5.mpc:
+ * examples/CSD_Strategy/ThreadPool6/CSD_Test_ThreadPool6.mpc:
+
+ Added dependency on pi base project since the PI.h is included
+ in the test application.
+
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_i.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_Statistics.cpp:
+
+ Corrected the conversion specifier (using %u) for unsigned value.
+
+Fri Oct 21 12:25:56 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tao/PI_Server/PI_Server_Loader.cpp:
+
+ Removed the %P|%t in the ACE_PRINT_EXCEPTION info parameter.
+
+Fri Oct 21 11:17:10 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tao/CSD_ThreadPool/CSD_TP_Strategy_Factory.cpp:
+
+ Made the number of threads to use the default value 1 if the
+ number of threads is not specified in the service config file.
+
+ * tao/CSD_ThreadPool/CSD_TP_Task.cpp:
+
+ Replaced the unsigned* with unsigned int* to fix a parse error
+ compilation error on some compilers.
+
+Fri Oct 21 07:19:32 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * performance-tests/Sequence_Latency/Deferred/Deferred.mpc:
+
+ Fix tipo in server project that caused it not to depend on IDL
+ project.
+
+Fri Oct 21 13:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/CodeSets/simple/client.cpp:
+ Fixed signed/unsigned warning
+
+Fri Oct 21 10:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp:
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp:
+ * orbsvcs/performance-tests/RTEvent/TCP_Baseline/client.cpp:
+ Don't use barrier as variable name, can be a macro. fixes bugzila
+ bug 2271. Thanks to Francesco Salvestrini
+ <f dot salvestrini at nextworks dot it> for reporting this.
+
+ * tests/Nested_Upcall_Crash/Clock_Ticks.{h,cpp}:
+ * orbsvcs/orbsvcs/IFRService/Container_i.cpp:
+ * tests/CodeSets/simple/client.cpp:
+ 64bit fixes
+
+ * examples/Simple/echo/Echo_i.cpp:
+ Initialise pointer with 0
+
+ * tao/PortableServer/POA_Current.{h,cpp}:
+ * tao/PortableServer/POA_Current_Impl.{h,cpp}:
+ * tao/PortableServer/PS_CurrentA.cpp:
+ * tao/PortableServer/PS_CurrentC.{h,cpp}:
+ * tao/PortableServer/PS_Current.pidl:
+ Added Current::get_reference as to be implemented method, that will
+ be done soon. Generated the pidl file as a result of AnyTypeCode
+ refactoring the PS_CurrentA.cpp is not usable for this file, so
+ zapped it.
+
+ * tao/Makefile.am:
+ Removed PS_CurrentA.cpp
+
+Fri Oct 21 09:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging/ExceptionHolder_i.h:
+ Fixed forward declaration
+
+Thu Oct 20 12:24:30 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/server.cpp:
+
+ Made the ACE_Thread_Manager instance wait for CSD task threads
+ exit. This should fix test failure shown on scoreboard.
+
+Thu Oct 20 11:54:38 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * examples/CSD_Strategy/ThreadPool/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool2/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool3/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool4/Callback_i.h:
+ * examples/CSD_Strategy/ThreadPool4/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool5/Callback_i.h:
+ * examples/CSD_Strategy/ThreadPool5/Foo_i.h:
+ * performance-tests/CSD_Strategy/TestServant/Foo_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/Foo_A_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Callback_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_i.h:
+
+ Removed the duplicated inheritence of PortableServer::ServantBase.
+
+ * tao/CSD_Framework/CSD_Framework.pidl:
+
+ Fixed fuzz errors.
+
+ * tao/CSD_Framework/CSD_FrameworkA.cpp:
+ * tao/CSD_Framework/CSD_FrameworkA.h:
+ * tao/CSD_Framework/CSD_FrameworkC.cpp:
+ * tao/CSD_Framework/CSD_FrameworkC.h:
+ * tao/CSD_Framework/diffs/CSD_Framework.diff:
+
+ Regenerated files from pidl file and updated to resolve error
+ message from compiler.
+
+ * tao/CSD_Framework/CSD_FrameworkC.inl:
+
+ Removed the empty file to fix fuzz error.
+
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp:
+ * tao/CSD_Framework/CSD_Strategy_Base.h:
+ * tao/CSD_ThreadPool/CSD_ThreadPool.h:
+ * tao/CSD_ThreadPool/CSD_TP_Task.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_Custom_ClientEngine.h:
+
+ Fixed fuzz errors and compilation errors shown on scoreboard.
+
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/client.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/Hello.h:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/run_test.pl:
+
+ Updated to be the same as in $TAO_ROOT/tests/Hello test.
+
+Thu Oct 20 14:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.cpp:
+ Fixed argument not used warning
+
+Thu Oct 20 13:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Enabled the new AMI implementation as described in the CORBA
+ 3.0.3 specification. All tests and examples are updated to the
+ new spec but if you want to use the old specification for
+ your application then define TAO_HAS_DEPRECATED_EXCEPTION_HOLDER
+ in your config.h and rebuild the core libs and the TAO IDL compiler.
+ This deprecated AMI support will be kept alive until x.5.1 has
+ been released and then we will zap it completely from the
+ TAO distribution.
+
+ When you want to update the application code for the new mapping,
+ all _excep methods in the reply handler must be updated. Change
+ the interface specific exceptionholder in the interface to
+ ::Messaging::ExceptionHolder, change in the implementation the
+ raise_x call to raise_exception.
+
+ * TAO_IDL/be_include/be_global.h:
+ * tao/orbconf.h:
+ Removed define of TAO_HAS_DEPRECATED_EXCEPTION_HOLDER, we
+ are switching now to the new AMI implementation
+
+ * docs/tutorials/Quoter/AMI/Handler_i.{h,cpp}:
+ * docs/tutorials/Quoter/On_Demand_Activation/Handler_i.{h,cpp}:
+ * examples/AMI/FL_Callback/Peer_i.{h,cpp}:
+ * examples/Buffered_AMI/client.cpp:
+ * examples/Content_Server/AMI_Iterator/Iterator_Handler.h:
+ * examples/Content_Server/AMI_Observer/Callback_Handler.{h,cpp}:
+ * examples/Content_Server/AMI_Observer/Push_Iterator_Handler.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ObjectGroupManagerHandler.{h,cpp}:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.{h,cpp}:
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert_Handler.{h,cpp}:
+ * orbsvcs/tests/HTIOP/AMI/client.cpp
+ * orbsvcs/tests/HTIOP/AMI/simple_client.cpp
+ * performance-tests/Latency/AMI/Roundtrip_Handler.{h,cpp}:
+ * performance-tests/Sequence_Latency/AMI/Roundtrip_Handler.{h,cpp}:
+ * tests/AMI/client.cpp:
+ * tests/AMI/simple_client.cpp:
+ * tests/AMI_Buffering/Reply_Handler.{h,cpp}:
+ * tests/AMI_Timeouts/timeout_i.{h,cpp}:
+ * tests/Big_AMI/client.cpp:
+ * tests/Bug_1482_Regression/Reply_Handler.{h,cpp}:
+ * tests/Bug_1551_Regression/Reply_Handler.{h,cpp}:
+ * tests/LongUpcalls/AMI_Manager.{h,cpp}:
+ * tests/LongUpcalls/Manager_Handler.{h,cpp}:
+ * tests/Portable_Interceptors/AMI/Echo_Handler.{h,cpp}:
+ Updated for the new AMI mapping
+
+Thu Oct 20 12:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/compiler.html:
+ Documented AMI behaviour and fixed some incorrect links
+
+Thu Oct 20 12:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/releasenotes/index.html:
+ Fixed html tag
+
+Thu Oct 20 10:45:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_ami_pre_proc.cpp:
+ Fixed problem with the exceptionholder in the new AMI mapping, it
+ was created for each interface in an idl file, it should only
+ be created once
+
+Thu Oct 20 09:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp:
+ Guarded another part of code with TAO_HAS_DEPRECATED_EXCEPTION_HOLDER,
+ it is not needed with the new AMI implementation
+
+Wed Oct 19 14:09:44 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * tao/Messaging/AMH_Response_Handler.cpp:
+
+ Release the lock in the destructor before calling
+ _tao_rh_send_exception (). The said method is well
+ protected. Calling this method with the lock held could create a
+ deadlock. Thanks to Anton Bakanovskiy <Anton dot Bakanovskiy at
+ bercut dot ru> and Toha Bakanovsky <im-scooter at yandex.ru> for
+ reporting the problem. This fixes [BUGID 2269].
+
+Wed Oct 19 11:30:23 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ * tao/CSD_Framework/CSD_Strategy_Base.h:
+
+ Removed extra ";" from the POAManager forward declaration.
+
+ * tao/CSD_Framework/CSD_Strategy_Base.cpp:
+ * tao/PortableServer/Root_POA.cpp:
+
+ Removed the argument name from the csd hook interfaces instead
+ of using ACE_UNUSED_ARG.
+
+ * docs/libraries.html:
+
+ Added CSD_Framework and CSD_ThreadPool library descriptions.
+
+ * examples/CSD_Strategy/ThreadPool/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool2/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool3/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool4/Callback_i.h:
+ * examples/CSD_Strategy/ThreadPool4/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool5/Callback_i.h:
+ * examples/CSD_Strategy/ThreadPool5/Foo_i.h:
+ * performance-tests/CSD_Strategy/TestServant/Foo_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/Foo_A_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Callback_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_i.h:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/Hello.h:
+
+ Replaced deprecated RefCountServantBase with ServantBase.
+
+Wed Oct 19 10:01:03 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/Valuetype/Value_VarOut_T.cpp (operator=):
+
+ Implement assignment operators in terms of their constructor
+ counterparts using the canonical copy and (non-throwing) swap
+ technique. Provides strong exception safety guarantee, obviates
+ need for self-assignment check and reduces code duplication
+ between constructors and assignment operators. This change also
+ reverts "Tue Jun 21 13:38:23 2005 Gary Maxey <gary.maxey@...>",
+ and fixes a memory leak reported by Mickael P. Golovin <migel at
+ garant dot ru>.
+
+Wed Oct 19 12:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging/ExceptionHolder_i.cpp:
+ Added todo that code could be simplified when missing valuetype
+ constructor is generated
+
+Wed Oct 19 10:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be_include/be_global.h:
+ Added define of TAO_HAS_DEPRECATED_EXCEPTION_HOLDER. This way
+ I can the new AMI support to the IDL compiler in the repo
+ and build it on multiple boxes by removing this define by hand.
+ At the moment the new AMI support is fully ready I will remove
+ this define and then it is up to the user to set it.
+
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_ch.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_cs.cpp:
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_visitor_ami_pre_proc.cpp:
+ Added support for the new AMI mapping, is enabled when
+ TAO_HAS_DEPRECATED_EXCEPTION_HOLDER is not defined, so by
+ default it is disabled at this moment
+
+Wed Oct 19 09:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging/ExceptionHolder_i.{h,cpp}:
+ Added new Messaging::ExceptionHolder implementation, will be used
+ for the new AMI mapping
+
+ * tao/Makefile.am:
+ Added new files above
+
+Wed Oct 19 08:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be_include/be_global.h:
+ * TAO_IDL/be/be_global.cpp:
+ Added member to store the new Messaging::ExceptionHolder
+ for the latest AMI mapping
+
+Wed Oct 19 00:35:02 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Add default AM_CONDITIONAL for BUILD_WFMO.
+
+Wed Oct 19 07:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp:
+ Fixed MinGW warning
+
+Wed Oct 19 00:11:34 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/POA/Explicit_Activation/Alt_Resources/Makefile.am:
+
+ Regenerate.
+
+ * examples/POA/Explicit_Activation/Alt_Resources/Alt_Resource.mpc:
+
+ Changed to inherit from wfmo instead of using a verbatim section
+ to disable building on systems without the ACE_WFMO_Reactor.
+
+Tue Oct 18 23:43:02 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am
+
+ Regenerate.
+
+ * tao/CSD_Framework.mpc:
+ * tao/CSD_ThreadPool.mpc:
+
+ Add Pkconfig_Files section for new pkg-config templates.
+
+ * tao/CSD_Framework/TAO_CSD_Framework.pc.in:
+
+ New file, pkg-config *.pc template for TAO_CSD_Framework
+ library.
+
+ * tao/CSD_ThreadPool/TAO_CSD_ThreadPool.pc.in:
+
+ New file, pkg-config *.pc template for TAO_CSD_ThreadPool
+ library.
+
+Tue Oct 18 20:56:24 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/CSD_ThreadPool.mpc:
+
+ Changed to inherit from core.mpb base project.
+
+Tue Oct 18 18:35:26 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am:
+
+ Regenerate due to CSD.
+
+Tue Oct 18 18:33:04 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Kokyu_dsrt_schedulers/fp_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/mif_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/muf_example/Makefile.am:
+
+ Regenerate due to change in Kokyu_dsrt_schedulers.mpb.
+
+Tue Oct 18 17:24:26 MST 2005 Yan Dai <dai_y@ociweb.com>
+
+ Merged in the CSD (Custom Servant Dispatching) feature from OCI.
+
+ The main changes to existing code are:
+
+ - Four hooks are added to TAO_Root_POA to notify the CSD when poa
+ is activated/deactivated and servant is activated/deactivated.
+ Some areas of the code were instrumented to call these hooks to
+ notify the CSD Strategy object of POA activation and deactivation
+ "events". Likewise, code was added to notify the CSD Strategy object
+ of servant activation and deactivation "events".
+ - A virtual method do_dispatch() is added to the TAO_Object_Adapter so
+ the CSD object adpater can override the default implementation to
+ dispatch the requests to the CSD strategy.
+ - The remote requests and the collocated oneway requests are cloned when
+ they are dispatched to the CSD strategy. To support the TAO_ServerRequest
+ clone in the CSD library, the friendship is added to the TAO_ServerRequest
+ class and it's data member classes such as TAO_Service_Context class,
+ TAO_Operation_Details class and TAO_Tagged_Profile class.
+
+ * tao/PortableServer/Root_POA.cpp:
+ * tao/PortableServer/Root_POA.h:
+
+ Added four hooks.
+
+ * tao/PortableServer/Object_Adapter.cpp:
+ * tao/PortableServer/Object_Adapter.h:
+ * tao/PortableServer/POAManager.cpp:
+ * tao/PortableServer/ServantRetentionStrategyRetain.cpp:
+
+ Instrumented to call the hooks.
+
+ * tao/operation_details.h:
+ * tao/Service_Context.h:
+ * tao/Tagged_Profile.h:
+
+ Added friendship with CSD_FW_Server_Request_Wrapper to support
+ the TAO_ServerRequest clone in CSD library.
+
+ * tao/TAO_Server_Request.h:
+
+ - Changed the operation_details_ to be pointer to const
+ TAO_Operation_Details object instead of const pointer to const
+ TAO_Operation_Details object. This change is made to accommodate
+ the change of TAO_ServerRequest clone in the CSD library.
+ - Added friendship with CSD_FW_Server_Request_Wrapper to support
+ the TAO_ServerRequest clone in CSD library.
+
+ * tao/PortableServer/get_arg.h:
+
+ Made the get_in_arg template function check whether the
+ detail argument is nil. If the detail is not nil and the
+ argument list in detail is nil(collocated oneway case) then it
+ will demarshall the input CDR stream and get arguments. This
+ change is made to accommodate the changes in TAO_Operation_Details
+ clone that writes the argument list to the input CDR of the
+ TAO_ServerRequest object.
+
+ * tao/Intrusive_Ref_Count_Base_T.cpp:
+ * tao/Intrusive_Ref_Count_Base_T.h:
+ * tao/Intrusive_Ref_Count_Base_T.inl:
+ * tao/Intrusive_Ref_Count_Handle_T.cpp:
+ * tao/Intrusive_Ref_Count_Handle_T.h:
+ * tao/Intrusive_Ref_Count_Handle_T.inl:
+
+ These are two new classes that provide infrastructure-level support
+ for classes that need an "intrusive" reference counting mechanism.
+
+ * tao/CSD_Framework.mpc:
+ * tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp:
+ * tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h:
+ * tao/CSD_Framework/CSD_Framework.pidl:
+ * tao/CSD_Framework/CSD_Framework_Loader.cpp:
+ * tao/CSD_Framework/CSD_Framework_Loader.h:
+ * tao/CSD_Framework/CSD_FrameworkA.cpp:
+ * tao/CSD_Framework/CSD_FrameworkA.h:
+ * tao/CSD_Framework/CSD_FrameworkC.cpp:
+ * tao/CSD_Framework/CSD_FrameworkC.h:
+ * tao/CSD_Framework/CSD_FrameworkC.inl:
+ * tao/CSD_Framework/CSD_FW_Export.h:
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.cpp:
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.h:
+ * tao/CSD_Framework/CSD_FW_Server_Request_Wrapper.inl:
+ * tao/CSD_Framework/CSD_Object_Adapter.cpp:
+ * tao/CSD_Framework/CSD_Object_Adapter.h:
+ * tao/CSD_Framework/CSD_Object_Adapter_Factory.cpp:
+ * tao/CSD_Framework/CSD_Object_Adapter_Factory.h:
+ * tao/CSD_Framework/CSD_ORBInitializer.cpp:
+ * tao/CSD_Framework/CSD_ORBInitializer.h:
+ * tao/CSD_Framework/CSD_POA.cpp:
+ * tao/CSD_Framework/CSD_POA.h:
+ * tao/CSD_Framework/CSD_POA.inl:
+ * tao/CSD_Framework/CSD_Strategy_Base.cpp:
+ * tao/CSD_Framework/CSD_Strategy_Base.h:
+ * tao/CSD_Framework/CSD_Strategy_Base.inl:
+ * tao/CSD_Framework/CSD_Strategy_Proxy.cpp:
+ * tao/CSD_Framework/CSD_Strategy_Proxy.h:
+ * tao/CSD_Framework/CSD_Strategy_Proxy.inl:
+ * tao/CSD_Framework/CSD_Strategy_Repository.cpp:
+ * tao/CSD_Framework/CSD_Strategy_Repository.h:
+ * tao/CSD_Framework/diffs/CSD_Framework.diff:
+
+ All of the files listed above are brand new and are used to build
+ the new CSD Framework library. This framework implements the base
+ classes for the concrete strategy implementation and implements
+ the service objects for CSD strategy static and dynamic loading
+ via the service configuration file.
+
+ * tao/CSD_ThreadPool.mpc:
+ * tao/CSD_ThreadPool/CSD_ThreadPool.cpp:
+ * tao/CSD_ThreadPool/CSD_ThreadPool.h:
+ * tao/CSD_ThreadPool/CSD_TP_Cancel_Visitor.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Cancel_Visitor.h:
+ * tao/CSD_ThreadPool/CSD_TP_Cancel_Visitor.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Asynch_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Asynch_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Asynch_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_With_Server_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_With_Server_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_With_Server_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Corba_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Corba_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Corba_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Asynch_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Asynch_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Asynch_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request_Operation.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request_Operation.h:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Request_Operation.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Synch_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Synch_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Custom_Synch_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Dispatchable_Visitor.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Dispatchable_Visitor.h:
+ * tao/CSD_ThreadPool/CSD_TP_Dispatchable_Visitor.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Export.h:
+ * tao/CSD_ThreadPool/CSD_TP_Queue.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Queue.h:
+ * tao/CSD_ThreadPool/CSD_TP_Queue.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Queue_Visitor.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Queue_Visitor.h:
+ * tao/CSD_ThreadPool/CSD_TP_Queue_Visitor.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Remote_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Remote_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Remote_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Request.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Request.h:
+ * tao/CSD_ThreadPool/CSD_TP_Request.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State.h:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State_Map.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State_Map.h:
+ * tao/CSD_ThreadPool/CSD_TP_Servant_State_Map.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.h:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy_Factory.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Strategy_Factory.h:
+ * tao/CSD_ThreadPool/CSD_TP_Synch_Helper.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Synch_Helper.h:
+ * tao/CSD_ThreadPool/CSD_TP_Synch_Helper.inl:
+ * tao/CSD_ThreadPool/CSD_TP_Task.cpp:
+ * tao/CSD_ThreadPool/CSD_TP_Task.h:
+ * tao/CSD_ThreadPool/CSD_TP_Task.inl:
+
+ All of the files listed above are brand new and are used to build
+ the new CSD ThreadPool library. Collectively, these classes
+ represent the reference-implementation for the CSD Strategy feature.
+
+ * examples/CSD_Strategy/README:
+ * examples/CSD_Strategy/ThreadPool/client_main.cpp:
+ * examples/CSD_Strategy/ThreadPool/ClientApp.cpp:
+ * examples/CSD_Strategy/ThreadPool/ClientApp.h:
+ * examples/CSD_Strategy/ThreadPool/CSD_Test_ThreadPool.mpc:
+ * examples/CSD_Strategy/ThreadPool/Foo.idl:
+ * examples/CSD_Strategy/ThreadPool/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool/OrbShutdownTask.cpp:
+ * examples/CSD_Strategy/ThreadPool/OrbShutdownTask.h:
+ * examples/CSD_Strategy/ThreadPool/README:
+ * examples/CSD_Strategy/ThreadPool/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool/server_main.cpp:
+ * examples/CSD_Strategy/ThreadPool/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool/ServerApp.h:
+ * examples/CSD_Strategy/ThreadPool2/client_main.cpp:
+ * examples/CSD_Strategy/ThreadPool2/ClientApp.cpp:
+ * examples/CSD_Strategy/ThreadPool2/ClientApp.h:
+ * examples/CSD_Strategy/ThreadPool2/CSD_Test_ThreadPool2.mpc:
+ * examples/CSD_Strategy/ThreadPool2/Foo.idl:
+ * examples/CSD_Strategy/ThreadPool2/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool2/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool2/FooServantList.cpp:
+ * examples/CSD_Strategy/ThreadPool2/FooServantList.h:
+ * examples/CSD_Strategy/ThreadPool2/OrbShutdownTask.cpp:
+ * examples/CSD_Strategy/ThreadPool2/OrbShutdownTask.h:
+ * examples/CSD_Strategy/ThreadPool2/README:
+ * examples/CSD_Strategy/ThreadPool2/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool2/server_main.cpp:
+ * examples/CSD_Strategy/ThreadPool2/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool2/ServerApp.h:
+ * examples/CSD_Strategy/ThreadPool3/client_main.cpp:
+ * examples/CSD_Strategy/ThreadPool3/ClientApp.cpp:
+ * examples/CSD_Strategy/ThreadPool3/ClientApp.h:
+ * examples/CSD_Strategy/ThreadPool3/CSD_Test_ThreadPool3.mpc:
+ * examples/CSD_Strategy/ThreadPool3/Foo.idl:
+ * examples/CSD_Strategy/ThreadPool3/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool3/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool3/OrbShutdownTask.cpp:
+ * examples/CSD_Strategy/ThreadPool3/OrbShutdownTask.h:
+ * examples/CSD_Strategy/ThreadPool3/OrbTask.cpp:
+ * examples/CSD_Strategy/ThreadPool3/OrbTask.h:
+ * examples/CSD_Strategy/ThreadPool3/README:
+ * examples/CSD_Strategy/ThreadPool3/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool3/server_main.cpp:
+ * examples/CSD_Strategy/ThreadPool3/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool3/ServerApp.h:
+ * examples/CSD_Strategy/ThreadPool4/Callback.idl:
+ * examples/CSD_Strategy/ThreadPool4/Callback_i.cpp:
+ * examples/CSD_Strategy/ThreadPool4/Callback_i.h:
+ * examples/CSD_Strategy/ThreadPool4/ClientTask.cpp:
+ * examples/CSD_Strategy/ThreadPool4/ClientTask.h:
+ * examples/CSD_Strategy/ThreadPool4/CSD_Test_ThreadPool4.mpc:
+ * examples/CSD_Strategy/ThreadPool4/Foo.idl:
+ * examples/CSD_Strategy/ThreadPool4/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool4/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool4/OrbShutdownTask.cpp:
+ * examples/CSD_Strategy/ThreadPool4/OrbShutdownTask.h:
+ * examples/CSD_Strategy/ThreadPool4/README:
+ * examples/CSD_Strategy/ThreadPool4/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool4/server_main.cpp:
+ * examples/CSD_Strategy/ThreadPool4/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool4/ServerApp.h:
+ * examples/CSD_Strategy/ThreadPool5/Callback.idl:
+ * examples/CSD_Strategy/ThreadPool5/Callback_i.cpp:
+ * examples/CSD_Strategy/ThreadPool5/Callback_i.h:
+ * examples/CSD_Strategy/ThreadPool5/client_main.cpp:
+ * examples/CSD_Strategy/ThreadPool5/ClientApp.cpp:
+ * examples/CSD_Strategy/ThreadPool5/ClientApp.h:
+ * examples/CSD_Strategy/ThreadPool5/ClientTask.cpp:
+ * examples/CSD_Strategy/ThreadPool5/ClientTask.h:
+ * examples/CSD_Strategy/ThreadPool5/CSD_Test_ThreadPool5.mpc:
+ * examples/CSD_Strategy/ThreadPool5/Foo.idl:
+ * examples/CSD_Strategy/ThreadPool5/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool5/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool5/FooServantList.cpp:
+ * examples/CSD_Strategy/ThreadPool5/FooServantList.h:
+ * examples/CSD_Strategy/ThreadPool5/OrbShutdownTask.cpp:
+ * examples/CSD_Strategy/ThreadPool5/OrbShutdownTask.h:
+ * examples/CSD_Strategy/ThreadPool5/OrbTask.cpp:
+ * examples/CSD_Strategy/ThreadPool5/OrbTask.h:
+ * examples/CSD_Strategy/ThreadPool5/README:
+ * examples/CSD_Strategy/ThreadPool5/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool5/server_main.cpp:
+ * examples/CSD_Strategy/ThreadPool5/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool5/ServerApp.h:
+ * examples/CSD_Strategy/ThreadPool6/client_main.cpp:
+ * examples/CSD_Strategy/ThreadPool6/ClientApp.cpp:
+ * examples/CSD_Strategy/ThreadPool6/ClientApp.h:
+ * examples/CSD_Strategy/ThreadPool6/CSD_Test_ThreadPool6.mpc:
+ * examples/CSD_Strategy/ThreadPool6/Foo.idl:
+ * examples/CSD_Strategy/ThreadPool6/Foo_i.cpp:
+ * examples/CSD_Strategy/ThreadPool6/Foo_i.h:
+ * examples/CSD_Strategy/ThreadPool6/OrbShutdownTask.cpp:
+ * examples/CSD_Strategy/ThreadPool6/OrbShutdownTask.h:
+ * examples/CSD_Strategy/ThreadPool6/README:
+ * examples/CSD_Strategy/ThreadPool6/run_test.pl:
+ * examples/CSD_Strategy/ThreadPool6/server_main.cpp:
+ * examples/CSD_Strategy/ThreadPool6/ServerApp.cpp:
+ * examples/CSD_Strategy/ThreadPool6/ServerApp.h:
+ * performance-tests/CSD_Strategy/TestApps/client_main.cpp:
+ * performance-tests/CSD_Strategy/TestApps/ClientApp.cpp:
+ * performance-tests/CSD_Strategy/TestApps/ClientApp.h:
+ * performance-tests/CSD_Strategy/TestApps/csd_pt_testapps.mpc:
+ * performance-tests/CSD_Strategy/TestApps/run_test.pl:
+ * performance-tests/CSD_Strategy/TestApps/server_main.cpp:
+ * performance-tests/CSD_Strategy/TestApps/ServerApp.cpp:
+ * performance-tests/CSD_Strategy/TestApps/ServerApp.h:
+ * performance-tests/CSD_Strategy/TestApps/README:
+ * performance-tests/CSD_Strategy/TestInf/AppHelper.cpp:
+ * performance-tests/CSD_Strategy/TestInf/AppHelper.h:
+ * performance-tests/CSD_Strategy/TestInf/AppShutdown.cpp:
+ * performance-tests/CSD_Strategy/TestInf/AppShutdown.h:
+ * performance-tests/CSD_Strategy/TestInf/CancelledException.idl:
+ * performance-tests/CSD_Strategy/TestInf/ClientEngine.cpp:
+ * performance-tests/CSD_Strategy/TestInf/ClientEngine.h:
+ * performance-tests/CSD_Strategy/TestInf/ClientTask.cpp:
+ * performance-tests/CSD_Strategy/TestInf/ClientTask.h:
+ * performance-tests/CSD_Strategy/TestInf/csd_pt_testinf.mpc:
+ * performance-tests/CSD_Strategy/TestInf/CSD_PT_TestInf_Export.h:
+ * performance-tests/CSD_Strategy/TestInf/CustomException.idl:
+ * performance-tests/CSD_Strategy/TestInf/FooException.idl:
+ * performance-tests/CSD_Strategy/TestInf/OrbRunner.cpp:
+ * performance-tests/CSD_Strategy/TestInf/OrbRunner.h:
+ * performance-tests/CSD_Strategy/TestInf/OrbShutdownTask.cpp:
+ * performance-tests/CSD_Strategy/TestInf/OrbShutdownTask.h:
+ * performance-tests/CSD_Strategy/TestInf/OrbTask.cpp:
+ * performance-tests/CSD_Strategy/TestInf/OrbTask.h:
+ * performance-tests/CSD_Strategy/TestInf/ServantList_T.cpp:
+ * performance-tests/CSD_Strategy/TestInf/ServantList_T.h:
+ * performance-tests/CSD_Strategy/TestInf/TestAppBase.cpp:
+ * performance-tests/CSD_Strategy/TestInf/TestAppBase.h:
+ * performance-tests/CSD_Strategy/TestInf/TestAppException.idl:
+ * performance-tests/CSD_Strategy/TestInf/TestAppMain.h:
+ * performance-tests/CSD_Strategy/TestInf/README:
+ * performance-tests/CSD_Strategy/TestServant/csd_pt_testservant.mpc:
+ * performance-tests/CSD_Strategy/TestServant/CSD_PT_TestServant_Export.h:
+ * performance-tests/CSD_Strategy/TestServant/Foo.idl:
+ * performance-tests/CSD_Strategy/TestServant/Foo_ClientEngine.cpp:
+ * performance-tests/CSD_Strategy/TestServant/Foo_ClientEngine.h:
+ * performance-tests/CSD_Strategy/TestServant/Foo_i.cpp:
+ * performance-tests/CSD_Strategy/TestServant/Foo_i.h:
+ * performance-tests/CSD_Strategy/TestServant/Foo_Statistics.cpp:
+ * performance-tests/CSD_Strategy/TestServant/Foo_Statistics.h:
+ * performance-tests/CSD_Strategy/TestServant/README:
+ * tests/CSD_Strategy_Tests/README:
+ * tests/CSD_Strategy_Tests/Broken/client_main.cpp:
+ * tests/CSD_Strategy_Tests/Broken/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/Broken/ClientApp.h:
+ * tests/CSD_Strategy_Tests/Broken/CSD_TP_Broken.mpc:
+ * tests/CSD_Strategy_Tests/Broken/run_test.pl:
+ * tests/CSD_Strategy_Tests/Broken/server_main.cpp:
+ * tests/CSD_Strategy_Tests/Broken/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/Broken/ServerApp.h:
+ * tests/CSD_Strategy_Tests/TP_Common/AppHelper.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/AppHelper.h:
+ * tests/CSD_Strategy_Tests/TP_Common/AppShutdown.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/AppShutdown.h:
+ * tests/CSD_Strategy_Tests/TP_Common/CancelledException.idl:
+ * tests/CSD_Strategy_Tests/TP_Common/ClientEngine.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/ClientEngine.h:
+ * tests/CSD_Strategy_Tests/TP_Common/ClientTask.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/ClientTask.h:
+ * tests/CSD_Strategy_Tests/TP_Common/CSD_TP_Test_Export.h:
+ * tests/CSD_Strategy_Tests/TP_Common/CSD_TP_Test_Lib.mpc:
+ * tests/CSD_Strategy_Tests/TP_Common/CustomException.idl:
+ * tests/CSD_Strategy_Tests/TP_Common/FooException.idl:
+ * tests/CSD_Strategy_Tests/TP_Common/OrbRunner.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/OrbRunner.h:
+ * tests/CSD_Strategy_Tests/TP_Common/OrbShutdownTask.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/OrbShutdownTask.h:
+ * tests/CSD_Strategy_Tests/TP_Common/OrbTask.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/OrbTask.h:
+ * tests/CSD_Strategy_Tests/TP_Common/ServantList_T.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/ServantList_T.h:
+ * tests/CSD_Strategy_Tests/TP_Common/StatisticsHelper.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/StatisticsHelper.h:
+ * tests/CSD_Strategy_Tests/TP_Common/TestAppBase.cpp:
+ * tests/CSD_Strategy_Tests/TP_Common/TestAppBase.h:
+ * tests/CSD_Strategy_Tests/TP_Common/TestAppException.idl:
+ * tests/CSD_Strategy_Tests/TP_Common/TestAppMain.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/CSD_TP_Foo_A_Export.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/csd_tp_foo_a_lib.mpc:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/Foo_A.idl:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/Foo_A_ClientEngine.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/Foo_A_ClientEngine.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/Foo_A_i.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/Foo_A_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/Foo_A_Statistics.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_A/Foo_A_Statistics.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Callback.idl:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Callback_i.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Callback_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/CSD_TP_Foo_B_Export.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/csd_tp_foo_b_lib.mpc:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B.idl:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_ClientEngine.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_ClientEngine.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_i.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_SimpleClientEngine.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_SimpleClientEngine.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_Statistics.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_Statistics.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/CSD_TP_Foo_C_Export.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/csd_tp_foo_c_lib.mpc:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C.idl:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_ClientEngine.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_ClientEngine.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op1.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op1.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op2.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op2.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op3.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op3.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op4.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op4.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op5.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_cust_op5.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_Custom_ClientEngine.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_Custom_ClientEngine.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_Custom_Proxy.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_Custom_Proxy.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_i.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_i.h:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_Statistics.cpp:
+ * tests/CSD_Strategy_Tests/TP_Foo_C/Foo_C_Statistics.h:
+ * tests/CSD_Strategy_Tests/TP_Test_1/client_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_1/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_1/ClientApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_1/CSD_TP_Test_1.mpc:
+ * tests/CSD_Strategy_Tests/TP_Test_1/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_1/server_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_1/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_1/ServerApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_2/client_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_2/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_2/ClientApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_2/CSD_TP_Test_2.mpc:
+ * tests/CSD_Strategy_Tests/TP_Test_2/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_2/server_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_2/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_2/ServerApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_3/client_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_3/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_3/ClientApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_3/CSD_TP_Test_3.mpc:
+ * tests/CSD_Strategy_Tests/TP_Test_3/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_3/server_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_3/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_3/ServerApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_4/client_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_4/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_4/ClientApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_4/CSD_TP_Test_4.mpc:
+ * tests/CSD_Strategy_Tests/TP_Test_4/README:
+ * tests/CSD_Strategy_Tests/TP_Test_4/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_4/server_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_4/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_4/ServerApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/client.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/CSD_TP_Test_Dynamic.mpc:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/Hello.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/Hello.h:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/README:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/server.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/svc.conf:
+ * tests/CSD_Strategy_Tests/TP_Test_Dynamic/Test.idl:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/client_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/ClientApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/ClientApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/CSD_TP_Test_Static.mpc:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/README:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/run_test.pl:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/server_main.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/ServerApp.cpp:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/ServerApp.h:
+ * tests/CSD_Strategy_Tests/TP_Test_Static/svc.conf:
+
+ All of the files above are part of the examples, tests and performance
+ tests added for the CSD feature.
+
+Tue Oct 18 13:23:21 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * docs/ec_options.html: Finally updated documentation to
+ include information about the "new" queue-full options.
+ See entry from "Thu Aug 25 11:00:47 2005 Chris Cleeland" for
+ more info.
+
+Tue Oct 18 10:31:38 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp:
+
+ Updated TAO multicast service ID enumerator names to match
+ new names in tao/objectid.h.
+
+Tue Oct 18 09:34:53 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp (setup_multicast):
+ * orbsvcs/orbsvcs/Naming/Naming_Server.cpp (init_new_naming):
+ * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp
+ (init_multicast_server):
+
+ Updated TAO multicast service ID enumerator names to match
+ new names in tao/objectid.h.
+
+Tue Oct 18 09:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_global.cpp:
+ Removed duplicate space
+
+Tue Oct 18 08:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/AV/AVStreams_i.cpp:
+ * orbsvcs/orbsvcs/AV/RTCP_Packet.cpp:
+ Fixed warnings in MinGW build
+
+Tue Oct 18 00:19:41 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/ORB_Core.cpp (init):
+
+ Corrected minor typo in previous commit.
+
+Tue Oct 18 00:08:30 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/SystemException.cpp:
+ * tao/SystemException.inl:
+
+ Moved concrete SystemException constructors out of line again.
+ The intended footprint decreases were unfortunately not seen
+ across all platforms.
+
+ * tao/ORB.h (resolve_service):
+
+ Removed unnecessary return type and emulated exception
+ parameter.
+
+ * tao/ORB.cpp (resolve_service):
+
+ Use snprintf() to simplify integer-to-string conversion and
+ string concatenation. Thanks to Jiang Wei <jw dot tao at sduept
+ dot com> for providing a patch.
+
+ Optimized to only determine multicast port if multicast default
+ initial reference is enabled.
+
+ Removed unused "return_value" variable.
+
+ (resolve_initial_references):
+
+ Updated calls to resolve_service() to reflect new signature and
+ void return type.
+
+ * tao/ORB_Core.cpp (init):
+
+ Simplified code that sets Name Service default initial
+ reference.
+
+ Updated names of multicast-capable service IDs to match the new
+ names in tao/objectid.h.
+
+ * tao/objectid.h (TAO_MCAST_SERVICEID):
+
+ Addressed global namespace pollution by placing this enumeration
+ within the TAO namespace. Also prepended each service ID
+ enumerator with "MCAST_" to further reduce potential internal
+ TAO namespace pollution.
+
+ * tao/params.h:
+ * tao/params.i:
+
+ TAO_MCAST_SERVICEID is now TAO::MCAST_SERVICEID, as changed in
+ tao/objectid.h.
+
+Tue Oct 18 06:45:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/DynamicInterface/DII_Invocation.h:
+ Added forward declaration of ParameterList
+
+Mon Oct 17 14:43:18 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am:
+
+ Regenerated due to tao/Messaging/* refactor.
+
+Mon Oct 17 14:42:09 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/examples/Notify/Lanes/Makefile.am:
+ * orbsvcs/tests/Notify/Basic/Makefile.am:
+ * orbsvcs/tests/Notify/Blocking/Makefile.am:
+ * orbsvcs/tests/Notify/Destroy/Makefile.am:
+ * orbsvcs/tests/Notify/Discarding/Makefile.am:
+ * orbsvcs/tests/Notify/Driver/Makefile.am:
+ * orbsvcs/tests/Notify/MT_Dispatching/Makefile.am:
+ * orbsvcs/tests/Notify/Ordering/Makefile.am:
+ * orbsvcs/tests/Notify/Reconnecting/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile.am:
+
+ Regenerated due to notification_serv being added to notifytest
+ base project.
+
+Mon Oct 17 12:45:57 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * performance-tests/POA/Demux/Makefile.am:
+ * performance-tests/RTCorba/Oneways/Reliable/Makefile.am:
+ * performance-tests/RTCorba/Thread_Pool/Makefile.am:
+
+ Regenerated.
+
+ * performance-tests/POA/Demux/Demux.mpc:
+ * performance-tests/RTCorba/Oneways/Reliable/Reliable.mpc:
+ * performance-tests/RTCorba/Thread_Pool/Thread_Pool.mpc:
+
+ Add/tweak *_IDL projects for compiling *.idl files.
+
+Mon Oct 17 12:33:03 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/ec_typed_events_idl.mpb:
+
+ Set idlflags to be used when compiling Cos TypedEvent IDL files.
+ Reset idlflags so they won't be duplicated when compiling plain
+ CosEvent IDL files.
+
+Mon Oct 17 18:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Invocation_Base.h:
+ Removed some not needed forward declarations
+
+Mon Oct 17 09:52:05 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+
+ Enabled building "performance-tests" subdirectory.
+
+ * configure.ac:
+
+ Configure all Makefile.am's in performance-tests subdirectories.
+
+ * performance-tests/Makefile.am:
+ * performance-tests/Anyop/Makefile.am:
+ * performance-tests/Callback/Makefile.am:
+ * performance-tests/Cubit/Makefile.am:
+ * performance-tests/Cubit/TAO/Makefile.am:
+ * performance-tests/Cubit/TAO/DII_Cubit/Makefile.am:
+ * performance-tests/Cubit/TAO/IDL_Cubit/Makefile.am:
+ * performance-tests/Cubit/TAO/MT_Cubit/Makefile.am:
+ * performance-tests/Latency/Makefile.am:
+ * performance-tests/Latency/AMH_Single_Threaded/Makefile.am:
+ * performance-tests/Latency/AMI/Makefile.am:
+ * performance-tests/Latency/Collocation/Makefile.am:
+ * performance-tests/Latency/DII/Makefile.am:
+ * performance-tests/Latency/DSI/Makefile.am:
+ * performance-tests/Latency/Deferred/Makefile.am:
+ * performance-tests/Latency/Single_Threaded/Makefile.am:
+ * performance-tests/Latency/Thread_Per_Connection/Makefile.am:
+ * performance-tests/Latency/Thread_Pool/Makefile.am:
+ * performance-tests/Memory/Makefile.am:
+ * performance-tests/Memory/IORsize/Makefile.am:
+ * performance-tests/Memory/Single_Threaded/Makefile.am:
+ * performance-tests/POA/Makefile.am:
+ * performance-tests/POA/Create_Reference/Makefile.am:
+ * performance-tests/POA/Demux/Makefile.am:
+ * performance-tests/POA/Implicit_Activation/Makefile.am:
+ * performance-tests/POA/Object_Creation_And_Registration/Makefile.am:
+ * performance-tests/Pluggable/Makefile.am:
+ * performance-tests/Protocols/Makefile.am:
+ * performance-tests/RTCorba/Makefile.am:
+ * performance-tests/RTCorba/Multiple_Endpoints/Makefile.am:
+ * performance-tests/RTCorba/Multiple_Endpoints/Common/Makefile.am:
+ * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile.am:
+ * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Makefile.am:
+ * performance-tests/RTCorba/Oneways/Makefile.am:
+ * performance-tests/RTCorba/Oneways/Reliable/Makefile.am:
+ * performance-tests/RTCorba/Thread_Pool/Makefile.am:
+ * performance-tests/Sequence_Latency/Makefile.am:
+ * performance-tests/Sequence_Latency/AMH_Single_Threaded/Makefile.am:
+ * performance-tests/Sequence_Latency/AMI/Makefile.am:
+ * performance-tests/Sequence_Latency/DII/Makefile.am:
+ * performance-tests/Sequence_Latency/DSI/Makefile.am:
+ * performance-tests/Sequence_Latency/Deferred/Makefile.am:
+ * performance-tests/Sequence_Latency/Single_Threaded/Makefile.am:
+ * performance-tests/Sequence_Latency/Thread_Per_Connection/Makefile.am:
+ * performance-tests/Sequence_Latency/Thread_Pool/Makefile.am:
+ * performance-tests/Throughput/Makefile.am:
+
+ New files.
+
+ * performance-tests/Callback/Callback.mpc:
+ * performance-tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.mpc:
+ * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit.mpc:
+ * performance-tests/Latency/AMH_Single_Threaded/Single_Threaded.mpc:
+ * performance-tests/Latency/AMI/AMI.mpc:
+ * performance-tests/Latency/DII/DII.mpc:
+ * performance-tests/Latency/Deferred/Deferred.mpc:
+ * performance-tests/Latency/Single_Threaded/Single_Threaded.mpc:
+ * performance-tests/Latency/Thread_Per_Connection/Thread_Per_Connection.mpc:
+ * performance-tests/Latency/Thread_Pool/Thread_Pool.mpc:
+ * performance-tests/Memory/IORsize/Memory_IORsize.mpc:
+ * performance-tests/Memory/Single_Threaded/Memory_Growth.mpc:
+ * performance-tests/POA/Implicit_Activation/Implicit_Activation.mpc:
+ * performance-tests/Pluggable/Pluggable.mpc:
+ * performance-tests/Protocols/Protocols.mpc:
+ * performance-tests/Sequence_Latency/AMH_Single_Threaded/Single_Threaded.mpc:
+ * performance-tests/Sequence_Latency/AMI/ami.mpc:
+ * performance-tests/Sequence_Latency/DII/DII.mpc:
+ * performance-tests/Sequence_Latency/DSI/DSI.mpc:
+ * performance-tests/Sequence_Latency/Deferred/Deferred.mpc:
+ * performance-tests/Sequence_Latency/Single_Threaded/Single_Threaded.mpc:
+ * performance-tests/Sequence_Latency/Thread_Per_Connection/Thread_Per_Conn.mpc:
+ * performance-tests/Sequence_Latency/Thread_Pool/Thread_Pool.mpc:
+ * performance-tests/Throughput/Throughput.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Mon Oct 17 09:24:13 2005 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * docs/ec_options.html:
+
+ Rename the -q option's parameter from servant_name to ec_object_id.
+
+Mon Oct 17 13:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/orbconf.h:
+ * tao/Messaging/ExceptionHolder*.*:
+ * tao/Messaging/OldExceptionHolder*.*:
+ Added also the new ExceptionHolder. Old and new are guarded with
+ TAO_HAS_DEPRECATED_EXCEPTION_HOLDER. This is enabled at this
+ moment until the new mapping is fully working, at that moment
+ we remove this define from orbconf.h and it is up to the user
+ to enable the old mapping
+
+Mon Oct 17 11:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging/*:
+ Moved the ExceptionHolder to its own file (OldExceptionHolder)
+ the latest CORBA spec describe an updated ExceptionHolder
+ and this impacts the AMI generated but also user written
+ code. Working on this new spec but we will keep the old
+ mapping supported until x.5.1 has come out. By moving
+ this to its own file we can easier support the new one
+
+Mon Oct 17 11:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging/*:
+ Regenerated all files with the latest version of the idl
+ compiler.
+
+Mon Oct 17 10:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/TAO_PI.pc.in:
+ * tao/PI_Server/TAO_PI_Server.pc.in:
+ Fixed incorrect libs. Thanks to Francesco Salvestrini
+ <f dot salvestrini at nextworks dot it> for reporting this.
+ This fixes bugzilla bug 2267
+
+Mon Oct 17 10:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/CosEvent/Basic/Shutdown.cpp:
+ Fixed MinGW build warnings
+
+Mon Oct 17 07:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rules.tao.GNU:
+ Prevent building with emulated exceptions
+
+Mon Oct 17 07:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Notify/Service.h:
+ * orbsvcs/orbsvcs/CosNotification.mpc:
+ Service should be in CosNotification_Serv. Thanks for JT
+ for notificing this
+
+Sun Oct 16 12:05:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp:
+ Fixed signed/unsigned warning
+
+Sat Oct 15 00:42:36 2005 Steve Totten <totten_s@ociweb.com>
+
+ * orbsvcs/examples/CosEC/TypedSimple/Consumer.cpp:
+ * orbsvcs/examples/CosEC/TypedSimple/Country.idl:
+ * orbsvcs/examples/CosEC/TypedSimple/Country.idl.for_ifr:
+ * orbsvcs/examples/CosEC/TypedSimple/Country_i.cpp:
+ * orbsvcs/examples/CosEC/TypedSimple/Supplier.cpp:
+ * orbsvcs/examples/CosEC/TypedSimple/run_test.pl:
+
+ Merge changes from OCI TAO 1.4a to fix build errors for exceptions=0
+ builds, remove the hard-coded repository IDs and the unneeded pragma
+ prefix from this test, add various missing #includes for Windows
+ builds, disable use of IFR persistence, add a new test script for
+ this example, and make some changes to Consumer.cpp to make the
+ script reliable. Thanks to Paul Calabrese <calabrese_p@ociweb.com>
+ and Chad Elliott <elliott_c@ociweb.com> for originating these
+ changes.
+
+Fri Oct 14 09:35:33 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerate.
+
+ * orbsvcs/orbsvcs/CosEvent.mpc:
+
+ Split out separate project for generating IDL files.
+
+ * orbsvcs/orbsvcs/ec_typed_event.mpb:
+
+ Remove IDL Files section from project, they've been moved
+ to ec_typed_event_idl.mpb.
+
+ * orbsvcs/orbsvcs/ec_typed_event_idl.mpb:
+
+ New base project containing Typed Event IDL files.
+
+Fri Oct 14 11:25:17 2005 Paul Calabrese <calabrese_p@ociweb.com>
+
+ Merge some changes from OCI TAO 1.4a that are mostly
+ documentation.
+
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/driver/drv_args.cpp:
+
+ Move the documentation for the -g option from the front end
+ to the back end. This causes it to not be in the help message
+ of other IDL processors (like tao_ifr) as it is specific to
+ tao_idl.
+ Add an error check to the processing of -t (avoids a core if
+ no argument is passed).
+
+ * docs/interfacerepo/tao_ifr.html:
+
+ Document some missing options.
+
+ * orbsvcs/Event_Service/Event_Service.h:
+ * orbsvcs/Event_Service/Event_Service.cpp:
+
+ Rename the servant_name variable and documentation to object_id.
+
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp:
+
+ Fix the scope settings for kokyu scheduling.
+
+Fri Oct 14 14:45:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/DynamicInterface/ExceptionList.cpp:
+ Use prefix increment/decrement and store the value after decrement
+ in a temporarily variable and use that check whether to delete
+ ourself to prevent a possible double deletion.
+
+Fri Oct 14 14:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Notify/Basic/run_test.pl:
+ When the exe can't be spawned break directly instead of waiting
+ for a minute
+
+Fri Oct 14 08:55:07 2005 Ciju John <john_c@ociweb.com>
+
+ * tao/IIOP_Acceptor.cpp:
+ * tao/IIOP_Acceptor.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp:
+
+ Added new IIOP specific option 'reuse_addr' which would be
+ provided to the -ORBEndpoint option to control socket level
+ option SO_REUSEADDR being set/unset.
+
+Fri Oct 14 12:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_operation/ami_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ 64bit fixes
+
+Fri Oct 14 09:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ From James Megquier <jmegq at radiance dot com>
+
+ * orbsvcs/orbsvcs/Notify/Service.h:
+ This should be in the notification project, removed include of
+ PortableServer, just add some forward declarations, this is
+ an interface class, no need to pull in portableserver library
+
+ * orbsvcs/orbsvcs/CosNotification.mpc:
+ Moved service to Notification project
+
+ * orbsvcs/orbsvcs/Notify/Property.h:
+ Added typedef for ULong property
+
+Thu Oct 13 13:12:12 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/examples/ImR/Combined_Service/ImR_Combined_Service.mpc:
+
+ Add synthetic dependencies for the gnuace build so that IDL-
+ generated files used by more than one project won't be compiled
+ multiple times simultaneously (with parallel builds), which may
+ result in corrupted object files. Thanks to Simon Massey for
+ pointing out this problem in a scoreboard build.
+
+Thu Oct 13 12:26:47 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/ORB_Core.cpp:
+
+ Minor coding convention updates. Class members outside of a
+ base member initializer list should be referenced with the
+ "this" pointer (e.g. this->client_request_interceptor_adapter_).
+
+ * tao/Pseudo_VarOut_T.h:
+
+ Added unimplemented copy constructor and assignment operator
+ that accept a TAO_Base_var parameter. Prevents invalid
+ widening.
+
+ * tao/Pseudo_VarOut_T.inl:
+
+ Explicitly initialize TAO_Base_var in the copy constructor
+ base member initializer list.
+
+ * tao/SystemException.cpp:
+ * tao/SystemException.inl:
+
+ Inlined concrete system exception constructors and static
+ _tao_any_destructor() method. Since they are small, a good
+ footprint decrease is achieved by doing so, especially since
+ only a few of the concrete SystemExceptions are used within
+ TAO.
+
+ * tao/UserException.cpp:
+ * tao/UserException.inl:
+
+ Likewise.
+
+ Moved _tao_type() method of out of line. Since it is virtual
+ inlining can cause RTTI related problems when using g++ 4.x's
+ "-fvisibility-inlines-hidden" feature.
+
+ * tao/TSS_Resources.cpp:
+
+ Do not use "this" pointer in base member initializer list. It
+ is not guaranteed to be available until after base member
+ initialization is completed.
+
+ * tao/TSS_Resources.h:
+
+ Minor include directive reorganization.
+
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.h:
+
+ Cosmetic update.
+
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp:
+ * tao/PI/ClientRequestInterceptor_Factory_Impl.cpp:
+
+ Corrected ACE_RCSID macro arguments.
+
+Thu Oct 13 12:03:05 2005 Steve Totten <totten_s@ociweb.com>:
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.i:
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.cpp:
+
+ Applied several changes from OCI's TAO 1.4a release to fix problems
+ in the Typed Event Channel implementation. The primary fixes are to
+ properly handle consumer/supplier disconnects when using typed event
+ channels, and to properly deal with unresponsive push consumers when
+ the reactive consumer control is used. Also fixed some memory
+ leaks. Most of these changes originated from Jonathon Astle
+ <jon@astle45.fsnet.co.uk> and Paul Calabrese
+ <calabrese_p@ociweb.com>.
+
+Thu Oct 13 10:06:22 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Any/Recursive/client.cpp:
+
+ Added recursive union test case.
+
+Thu Oct 13 11:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ From James Megquier <jmegq at radiance dot com>
+ * orbsvcs/orbsvcs/Notify/Service.{h,cpp}:
+ Added destructor to fix runtime gcc4 problems. Fixes bugzilla
+ 2262
+
+ * orbsvcs/orbsvcs/CosNotification.mpc:
+ * orbsvcs/orbsvcs/Makefile.am:
+ Added new cpp file
+
+Wed Oct 12 19:26:48 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * docs/notification/reliability.html:
+
+ Fix library name in service config file examples.
+
+ Fix formatting of NotifyExt.inl excerpts.
+
+Wed Oct 12 12:47:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Big_Request_Muxing/server.cpp:
+ Run the orb 3 seconds instead of 1 and print out how many
+ messages we expect so that it is easy to see how many
+ messages we didn't receive.
+
+Wed Oct 12 10:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB_Core.{h,cpp,i}:
+ * tao/Transport_Queueing_Strategies.{h,cpp}:
+ Added new flush strategy. For asynchronous calls we now have
+ the following behaviour:
+ - Normal oneways are not explicitly buffered, but when send
+ returns EWOULDBLOCK we buffer the message and schedule for
+ output, we just send the data later and don't explicitly
+ flush things, we return control directly to the app
+ - Oneways with SYNC_WITH_TRANSPORT, SYNC_WITH_SERVER and
+ SYNC_WITH_TARGET, we don't explicitly buffer but when
+ send returns EWOULDBLOCK we buffer things, but we do
+ then explicitly flush things
+ - When SYNC_NONE is specified, this is the same as
+ TAO::SYNC_EAGER_BUFFERING and we do buffer then things
+ explicitly
+
+ * tests/Reliable_Oneways/client.cpp:
+ After doing all calls run the orb for 3 seconds, this way at
+ least all queues are flushed
+
+
+Wed Oct 12 09:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Strategies/UIOP_Transport.cpp:
+ * tao/Strategies/SCIOP_Transport.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
+ Remove not needed include of tao/Sync_Strategies.h
+
+Wed Oct 12 09:06:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Sync_Strategies.{h,cpp}:
+ * tao/Transport_Queueing_Strategies.{h,cpp}:
+ Renamed Sync_Strategies to Transport_Queueing_Strategies, this is
+ what it are, and there was already a todo that a rename should be
+ done. Also use bool instead of int where usable and there is no
+ need to export these classes.
+
+ * tao/Makefile.am:
+ * tao/tao.mpc:
+ * tao/ORB_Core.{h,cpp,i}:
+ * tao/Stub.{h,cpp}:
+ * tao/Transport.{h,cpp}:
+ Updated for change above, also updated these files to talk about
+ Transport Queueing Strategies
+
+Wed Oct 12 08:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rules.tao.GNU:
+ Just for some hours disabled no exception check, the performance
+ stats use no exceptions, if the stats are back to normal I will
+ enable this check again
+
+Wed Oct 12 08:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/performance-tests/RTEvent/lib/Servant_var.h:
+ * orbsvcs/examples/Notify/Federation/Gate/Gate.h:
+ Fixed fuzz check
+
+Wed Oct 12 08:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * rules.tao.GNU:
+ Emulated exception macros are not maintained anymore, so it
+ is just not safe to use them, so when exceptions=0, we output
+ an error about this and refer to the NEWS file.
+
+Wed Oct 12 07:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Strategies/DIOP_Transport.cpp:
+ * tao/Strategies/SHMIOP_Transport.cpp:
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp:
+ Remove not needed include of tao/Sync_Strategies.h
+
+Wed Oct 12 03:59:27 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_union/discriminant_ci.cpp:
+
+ In the generated body of the _default() method for a
+ union, which sets the discriminator to its default
+ value (the _default() method is not generated unless
+ the discriminator can have a valid default value),
+ added a call to _reset(), which will free memory
+ allocated for the existing active member. The former
+ behavior, without the call to _reset(), was producing
+ a memory leak in many cases when _default() is called
+ on an instantiated union. Thanks to Georg Lohrer
+ <news@tropezien.de> for reporting the problem.
+
+ * TAO_IDL/be/be_visitor_union/union_cs.cpp:
+
+ Minor change to generated code formatting.
+
+Tue Oct 11 22:23:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tao/IIOP_Connection_Handler.cpp:
+ Fixed the performance problem.
+ Simplifications sometimes become over-simplifications:-(
+
+Tue Oct 11 08:33:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tao/IIOP_Acceptor.cpp:
+ Fix to counter problems with IPv4-compatible IPv6 addresses.
+
+Tue Oct 11 01:24:45 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ From James Megquier <jmegq at radiance dot com>
+ * orbsvcs/orbsvcs/AV/AV_Core.h:
+ * orbsvcs/orbsvcs/Notify/Properties.h:
+ * orbsvcs/orbsvcs/Notify/RT_Properties.h:
+ * orbsvcs/tests/Notify/lib/LookupManager.h:
+
+ Declare exported (i.e. default visibility) singleton templates
+ prior to typedefs that reference them. Prevents g++ 4.0 from
+ silently making their visibility hidden. [Bug 2260]
+
+Tue Oct 11 07:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/AMI_Timeouts/timeout_client.cpp:
+ Added casts to unsigned long to silence compiler warnings
+
+Tue Oct 11 07:10:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Sync_Strategies.cpp:
+ Changed the default for flush for TAO_Transport_Sync_Strategy to
+ false. This means that when an application does oneway calls or
+ AMI calls, we only buffer at the moment the send block and we
+ schedule the transport for output but don't do a forced flush
+ at that moment. We just control to the app and send out the data
+ later when the socket is free again.
+
+Mon Oct 10 21:15:45 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/driver/drv_args.cpp:
+ * TAO_IDL/driver/drv_preproc.cpp:
+ * TAO_IDL/include/drv_extern.h:
+
+ Added some commonly used include paths to the list that is passed
+ by the IDL compiler to the preprocessor, and to its own
+ internal list of include paths. Some are necessary to find
+ canonical IDL files without requiring command line include
+ paths (the include path to find orb.idl was already added
+ internally in the IDL compiler), while others are paths to
+ files commonly included in applications. The current order
+ of include paths is:
+
+ 1. $ACE_ROOT/TAO
+ 2. $ACE_ROOT/TAO/tao
+ 3. -I command line options
+ 4. $ACE_ROOT/TAO/orbsvcs
+ 5. $ACE_ROOT/TAO/CIAO
+ 6. $ACE_ROOT/TAO/CIAO/ciao
+
+ The last 3 can be overridden by the user, by passing in alternate
+ paths ahead of these 3 on the command line, but this practice
+ is almost sure to cause link problems.
+
+Mon Oct 10 19:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Codeset/UTF16_BOM_Factory.cpp:
+ * tao/Codeset/UTF16_BOM_Translator.cpp:
+ Changed layout of some debug statements to have the same
+ formatting as the others in TAO
+
+Mon Oct 10 07:13:58 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/IFR_Service/IFR_Service.mpc:
+
+ Partially revert:
+ Sun Oct 9 14:14:01 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ Add $(TAO_ROOT)/orbsvcs/IFR_Service back to includes definition
+ for TAO_IFR_EXE project.
+
+Mon Oct 10 13:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/AMI_Timeouts/timeout_client.{h,cpp}:
+ Fixed 64bit conversion warnings
+
+Mon Oct 10 13:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/AVStreams/Modify_QoS/sender.cpp:
+ * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp:
+ * orbsvcs/tests/AVStreams/Pluggable/server.cpp:
+ * orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/TimeStamp.cpp:
+ Fixed 64bit conversion warningw
+
+Mon Oct 10 13:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_valuetype/arglist.cpp:
+ Fixed 64bit conversion warning
+
+ * tao/ORB_Core.cpp (init):
+ Fixed 64bit conversion warnings when setting sock_rcvbuf_size
+ and sock_sndbuf_size
+
+Mon Oct 10 11:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Transport.cpp:
+ Added missing return
+
+Mon Oct 10 10:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Big_AMI/run_test.pl:
+ Perl script for running this test.
+
+ * tests/Big_AMI/README:
+ Short readme
+
+Mon Oct 10 10:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Quoter/Quoter.idl:
+ Fixed include
+
+Mon Oct 10 10:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp (_tao_decode):
+ Take over the version of the source cdr. For example the
+ (de)marshaling of a wstring is dependent on the GIOP version,
+ it can be that we get a 1.1 version to decode, by default the
+ version is 1.2 and when we don't take over the version number
+ we try to decode a 1.1 version streams as 1.2 version which
+ will fail. When we take over the version we correctly decode
+ the stream later as 1.1. Thanks to Lothar Werzinger
+ <lothar at tradescape dot biz> for reporting this issue
+ and supply a test case. This fixes the Codec test in our
+ daily builds.
+
+Mon Oct 10 06:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Transport.{h,cpp}:
+ Refactored send_message_shared_i. This method contains now
+ just a switch to check for message_semantics and for asynchronous
+ calls it now calls the new method send_asynchronous_message_i
+
+Sun Oct 9 14:38:12 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Quoter/Makefile.am:
+ * examples/Simulator/Event_Supplier/Makefile.am:
+ * orbsvcs/IFR_Service/Makefile.am:
+ * orbsvcs/examples/RtEC/Kokyu/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerate with recent *.mpc file changes.
+
+Sun Oct 9 14:14:01 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/IFR_Service/IFR_Service.mpc:
+
+ Removed includes definitions pointing to $(TAO_ROOT) and
+ $(TAO_ROOT)/orbsvcs/IFR_Service. These are already
+ obtained from the base projects we derive from.
+
+ Set TAO_IDL_INCLUDE_DIR to $(includedir)/tao for automake
+ builds so end-user's won't have to set ACE_ROOT/TAO_ROOT
+ to run the installed executable.
+
+Sun Oct 9 08:16:17 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/examples/RtEC/Kokyu/RtECKokyu.mpc:
+ * orbsvcs/orbsvcs/FtRtEvent.mpc:
+
+ Removed includes definitions pointing to directories under
+ $(TAO_ROOT)/orbsvcs. This appears no longer to be needed,
+ all headers are specified relative to $(TAO_ROOT)/orbsvcs.
+
+Sat Oct 8 18:43:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Codec/client.cpp:
+ * tests/Codec/test.idl:
+ Added a wstring to the struct we encode/decode, this fails at
+ this moment, working on a fix, but this at least demonstrates
+ the problem
+
+Sat Oct 8 08:18:29 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.mpc:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.mpc:
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.mpc:
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/Colocated_Roundtrip.mpc:
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Federated_Roundtrip.mpc:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/RTCORBA_Baseline.mpc:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/RTCORBA_Callback.mpc:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/Roundtrip.mpc:
+ * orbsvcs/performance-tests/RTEvent/TCP_Baseline/TCP_Baseline.mpc:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Infrastructure_Controlled.mpc:
+ * orbsvcs/tests/LoadBalancing/LoadMonitor/CPU/LoadMonitorCPU.mpc:
+
+ Remove includes definitions pointing to $(TAO_ROOT)/orbsvcs.
+ This is already obtained from the base projects we derive from.
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+
+ Remove includes definitions pointing to $(TAO_ROOT).
+ This is already obtained from the base projects we derive from.
+
+Sat Oct 8 07:50:48 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * examples/Simulator/Event_Supplier/Event_Supplier.mpc:
+ * examples/Quoter/Quoter.mpc:
+
+ Remove includes and idlflags definitions pointing to
+ ../../orbsvcs/orbsvcs. This hasn't been right since we
+ normalized all orbsvcs header files to be included with
+ "orbsvcs/foo.h". The correct settings of ../../orbsvcs is
+ already obtained from the base projects we derive from.
+
+Fri Oct 7 16:40:05 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2248_Regression/Server_Request_Interceptor.cpp:
+
+ Another day, another emulated exception macro problem.
+
+Fri Oct 7 14:03:54 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * docs/tutorials/Quoter/AMI/Makefile.am:
+ * docs/tutorials/Quoter/Event_Service/Makefile.am:
+ * docs/tutorials/Quoter/On_Demand_Activation/Makefile.am:
+ * docs/tutorials/Quoter/RT_Event_Service/Makefile.am:
+ * docs/tutorials/Quoter/idl/Makefile.am:
+ * examples/AMH/Sink_Server/Makefile.am:
+ * examples/AMI/FL_Callback/Makefile.am:
+ * examples/Advanced/ch_3/Makefile.am:
+ * examples/Buffered_AMI/Makefile.am:
+ * examples/Buffered_Oneways/Makefile.am:
+ * examples/Callback_Quoter/Makefile.am:
+ * examples/Content_Server/AMI_Iterator/Makefile.am:
+ * examples/Content_Server/AMI_Observer/Makefile.am:
+ * examples/Content_Server/SMI_Iterator/Makefile.am:
+ * examples/Event_Comm/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/fp_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/mif_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/muf_example/Makefile.am:
+ * examples/Load_Balancing/Makefile.am:
+ * examples/Load_Balancing_persistent/Makefile.am:
+ * examples/Logging/Makefile.am:
+ * examples/OBV/Typed_Events/Makefile.am:
+ * examples/POA/DSI/Makefile.am:
+ * examples/POA/Default_Servant/Makefile.am:
+ * examples/POA/Forwarding/Makefile.am:
+ * examples/POA/Generic_Servant/Makefile.am:
+ * examples/POA/TIE/Makefile.am:
+ * examples/Persistent_Grid/Makefile.am:
+ * examples/PluggableUDP/tests/Basic/Makefile.am:
+ * examples/PluggableUDP/tests/Performance/Makefile.am:
+ * examples/PluggableUDP/tests/SimplePerformance/Makefile.am:
+ * examples/Quoter/Makefile.am:
+ * examples/RTCORBA/Activity/Makefile.am:
+ * examples/RTScheduling/Fixed_Priority_Scheduler/Makefile.am:
+ * examples/RTScheduling/MIF_Scheduler/Makefile.am:
+ * examples/Simple/bank/Makefile.am:
+ * examples/Simple/chat/Makefile.am:
+ * examples/Simple/echo/Makefile.am:
+ * examples/Simple/grid/Makefile.am:
+ * examples/Simple/time/Makefile.am:
+ * examples/Simple/time-date/Makefile.am:
+ * examples/Simulator/Event_Supplier/Makefile.am:
+ * examples/TypeCode_Creation/Makefile.am:
+ * examples/ior_corbaloc/Makefile.am:
+ * examples/mfc/Makefile.am:
+ * interop-tests/wchar/Makefile.am:
+ * orbsvcs/ImplRepo_Service/Makefile.am:
+ * orbsvcs/examples/CosEC/Factory/Makefile.am:
+ * orbsvcs/examples/CosEC/TypedSimple/Makefile.am:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/Makefile.am:
+ * orbsvcs/examples/ImR/Advanced/Makefile.am:
+ * orbsvcs/examples/ImR/Combined_Service/Makefile.am:
+ * orbsvcs/examples/LoadBalancing/Makefile.am:
+ * orbsvcs/examples/ORT/Makefile.am:
+ * orbsvcs/examples/Security/Send_File/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/performance-tests/LoadBalancing/LBPerf/RPS/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/lib/Makefile.am:
+ * orbsvcs/tests/BiDir_CORBALOC/Makefile.am:
+ * orbsvcs/tests/Bug_1395_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2247_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2248_Regression/Makefile.am:
+ * orbsvcs/tests/EC_Custom_Marshal/Makefile.am:
+ * orbsvcs/tests/FT_App/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/IOGR/Makefile.am:
+ * orbsvcs/tests/HTIOP/AMI/Makefile.am:
+ * orbsvcs/tests/HTIOP/BiDirectional/Makefile.am:
+ * orbsvcs/tests/HTIOP/Hello/Makefile.am:
+ * orbsvcs/tests/IOR_MCast/Makefile.am:
+ * orbsvcs/tests/ImplRepo/Makefile.am:
+ * orbsvcs/tests/ImplRepo/scale/Makefile.am:
+ * orbsvcs/tests/InterfaceRepo/Application_Test/Makefile.am:
+ * orbsvcs/tests/Interoperable_Naming/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile.am:
+ * orbsvcs/tests/Miop/McastHello/Makefile.am:
+ * orbsvcs/tests/Notify/Blocking/Makefile.am:
+ * orbsvcs/tests/Notify/Discarding/Makefile.am:
+ * orbsvcs/tests/Notify/MT_Dispatching/Makefile.am:
+ * orbsvcs/tests/Notify/Ordering/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/lib/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Makefile.am:
+ * orbsvcs/tests/Redundant_Naming/Makefile.am:
+ * orbsvcs/tests/Security/BiDirectional/Makefile.am:
+ * orbsvcs/tests/Security/Big_Request/Makefile.am:
+ * orbsvcs/tests/Security/Callback/Makefile.am:
+ * orbsvcs/tests/Security/Crash_Test/Makefile.am:
+ * orbsvcs/tests/Security/MT_IIOP_SSL/Makefile.am:
+ * orbsvcs/tests/Security/MT_SSLIOP/Makefile.am:
+ * orbsvcs/tests/Security/Secure_Invocation/Makefile.am:
+ * orbsvcs/tests/Security/ssliop_corbaloc/Makefile.am:
+ * orbsvcs/tests/Simple_Naming/Makefile.am:
+ * orbsvcs/tests/Trading/Makefile.am:
+ * orbsvcs/tests/ior_corbaname/Makefile.am:
+
+ Regenerate with recent MPC and base project changes.
+
+Fri Oct 7 07:11:29 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/LogActivator.h:
+
+ Changed header inclusion guard macro name to match file name.
+
+Fri Oct 7 07:07:28 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * docs/tutorials/Quoter/Event_Service/Quoter_Event_Service.mpc:
+ * docs/tutorials/Quoter/RT_Event_Service/Quoter_RT_Event_Service.mpc:
+
+ Changed *idl project to inherit from anytypecode.
+
+Fri Oct 7 10:43:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Sync_Strategies.h:
+ Document must_flush argument
+
+Fri Oct 7 10:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Big_AMI/client.cpp:
+ Added a check that after sending the AMI requests we shouldn't
+ have received any reply at that moment. If so, we output an
+ error
+
+Fri Oct 7 07:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Big_Request_Muxing/Payload_Receiver.cpp:
+ Removed RefCountServantBase and made the count an Atomic_Op
+ to make sure it does get incremented correctly in a MT situation
+
+Thu Oct 6 10:03:16 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * Makefile.am:
+
+ Enabled building "docs" subdirectory.
+
+ * docs/tutorials/Quoter/Naming_Service/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Client/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Impl-Repo/Makefile.am:
+ * docs/tutorials/Quoter/Simple/ImprovedServer/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Persistent/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Server/Makefile.am:
+
+ Hand tweaks to _CPPFLAGS to find Stub/Skeleton headers in ../idl
+
+ directory.
+
+ * docs/tutorials/Quoter/AMI/Makefile.am:
+ * docs/tutorials/Quoter/Event_Service/Makefile.am:
+ * docs/tutorials/Quoter/On_Demand_Activation/Makefile.am:
+ * docs/tutorials/Quoter/RT_Event_Service/Makefile.am:
+
+ Regenerate.
+
+ * docs/tutorials/Quoter/AMI/Quoter_AMI.mpc:
+ * docs/tutorials/Quoter/Event_Service/Quoter_Event_Service.mpc:
+ * docs/tutorials/Quoter/On_Demand_Activation/Quoter_On_Demand_Activation.mpc:
+ * docs/tutorials/Quoter/RT_Event_Service/Quoter_RT_Event_Service.mpc:
+
+ Add "*idl" project for compiling *.idl files.
+
+Thu Oct 6 15:44:13 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2248_Regression/Server_Request_Interceptor.h:
+
+ Yet another emulated exception fix.
+
+Thu Oct 6 10:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Big_AMI/*:
+ Added new test to test the behaviour of AMI when sending
+ large request. We shouldn't block in that case. Perl script
+ will follow but put the files now in cvs so that I can build
+ the server remotely and then test AMI between two hosts that
+ are connected using the internet. Testing things locally doesn't
+ show the issues I want to address
+
+Thu Oct 6 09:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/AMI/ami_test_i.h:
+ * orbsvcs/tests/HTIOP/AMI/simple_client.cpp:
+ * orbsvcs/tests/HTIOP/AMI/ami_test_i.h:
+ Removed usage of TAO_HAS_AMI_EXCEPTIONS, seems something that has gone
+ a long time ago
+
+Thu Oct 6 08:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/AMI/ami_test_i.{h,cpp}:
+ * tests/AMI/client.cpp:
+ * tests/AMI/server.cpp:
+ * tests/AMI/simple_client.cpp:
+ Converted documentation to doxygen style
+
+Thu Oct 6 08:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Param_Test/client.cpp:
+ Fixed might be unitialized warning in MinGW build
+
+Wed Oct 5 13:54:00 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/Miop/McastHello/Makefile.am:
+
+ Regenerate.
+
+ * orbsvcs/tests/Miop/McastHello/McastHello.mpc:
+
+ Add "*idl" project for compiling *.idl files.
+
+Wed Oct 5 12:18:39 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * examples/POA/DSI/Database_i.h:
+
+ Include appropriate headers to address incomplete type
+ definition related compile-time errors. Necessitated by header
+ dependency reductions in ACE.
+
+Wed Oct 5 17:28:52 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_native.cpp:
+ * TAO_IDL/ast/ast_operation.cpp:
+ * TAO_IDL/be/be_native.cpp:
+ * TAO_IDL/be_include/be_native.h:
+ * TAO_IDL/include/ast_native.h:
+
+ Implemented the handling of IDL native declarations in an
+ IDL operation exception list. Thanks to Johnny Willemsen
+ <jwillemsen@remedy.nl> for pointing out that, in the latest
+ version of the CORBA Messaging specification, the
+ ExceptionHolder valuetype contains an operation with this
+ use case.
+
+Wed Oct 5 11:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging/AMH_Response_Handler.cpp:
+ Removed not needed return at end of method
+
+Wed Oct 5 11:23:27 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/CodecFactory.mpc:
+ * tao/DynamicAny.mpc:
+ * tao/IFR_Client.mpc:
+ * tao/IORManipulation.mpc:
+ * tao/PortableServer.mpc:
+ * tao/Strategies.mpc:
+ * tao/Valuetype.mpc:
+
+ Removed 'anytypecode' base project and substituted 'core_anytypecode'.
+ This removes a dependency on the IDL compiler that had crept in.
+
+Wed Oct 5 02:24:50 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * tests/Queued_Message_Test/Queued_Message_Test.cpp:
+
+ Fixed compilation errors introduced from Mon Oct 3 06:33:20
+ 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+Tue Oct 4 15:15:02 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+ * orbsvcs/tests/Makefile.am:
+
+ Add Bug_2247_Regression and Bug_2248_Regression directories.
+
+ * orbsvcs/tests/Bug_2247_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_2248_Regression/Makefile.am:
+
+ New files.
+
+ * orbsvcs/tests/ImplRepo/Makefile.am:
+ * orbsvcs/tests/ImplRepo/scale/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/tests/Bug_2247_Regression/Bug_2247_Regression.mpc:
+ * orbsvcs/tests/Bug_2248_Regression/Bug_2248_Regression.mpc:
+ * orbsvcs/tests/ImplRepo/ImplRepo.mpc:
+ * orbsvcs/tests/ImplRepo/scale/scaletest.mpc
+
+ Add "*idl" project for compiling *.idl files.
+
+Tue Oct 4 11:19:47 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/PortableServer/Creation_Time.inl:
+
+ Include "tao/orbconf.h" to pull in POA_NO_TIMESTAMP definition.
+ Addresses problems where comparison to this preprocessor
+ constant were made but no definition of it was available.
+
+Tue Oct 4 14:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/IIOP_Transport.cpp (send):
+ Make clear the number printed out in the send failure message is
+ errno.
+
+Tue Oct 4 14:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Big_Oneways/server.cpp:
+ Improved debug statement to make clear we are waiting on the
+ sessions to finish.
+
+Tue Oct 4 14:06:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Transport.cpp (send_message_shared_i):
+ Get the flushing_strategy later in the method just before the
+ moment we need it.
+
+Tue Oct 4 13:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1476_Regression/client.cpp:
+ Added -c commandline argument to control how many client
+ tasks will be created. Makes it easier to debug
+
+Tue Oct 4 12:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1476_Regression/client.cpp:
+ Fixed bug in handling of -n commandline argument
+
+Tue Oct 4 12:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Bug_1476_Regression/server.cpp:
+ Print an error when the server didn't receive any calls
+
+Tue Oct 4 13:01:42 2005 Simon McQueen <sm@prismtech.com>
+
+ * tests/Bug_2183_Regression/Hello.h:
+
+ Remove reference to deprecated RefCountServantBase.
+
+Tue Oct 4 12:57:09 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2248_Regression/tests.idl:
+
+ Swapped <> for "" in #includes to fix fuzz error.
+
+Tue Oct 4 11:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/fe/fe_tmplinst.cpp:
+ Removed, not needed anymore
+
+ * TAO_IDL/Makefile.am:
+ Removed file above
+
+ * TAO_IDL/be/be_helper.cpp
+ * TAO_IDL/be/be_tmplinst.cpp
+ * TAO_IDL/be_include/be_helper.h
+ * examples/RTCORBA/Activity/Activity.cpp
+ * examples/RTCORBA/Activity/Task_Stats.cpp
+ * examples/RTScheduling/Task_Stats.cpp
+ * examples/RTScheduling/Fixed_Priority_Scheduler/test.cpp
+ * examples/RTScheduling/MIF_Scheduler/test.cpp
+ * orbsvcs/PSS/PSDL_Datastore.cpp
+ * orbsvcs/PSS/PSDL_Interface_Visitor.cpp
+ * orbsvcs/PSS/PSDL_Scope.cpp
+ * orbsvcs/Scheduling_Service/Scheduling_Service.cpp
+ * orbsvcs/Trading_Service/Trading_Service.cpp
+ * orbsvcs/orbsvcs/Scheduler_Factory.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp
+ * orbsvcs/orbsvcs/Notify/Properties.cpp
+ * orbsvcs/orbsvcs/Notify/RT_Properties.cpp
+ * orbsvcs/orbsvcs/Notify/Routing_Slip.cpp
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp
+ * orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp
+ * orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp
+ * orbsvcs/orbsvcs/Notify/Topology_Object.cpp
+ * orbsvcs/orbsvcs/Notify/XML_Loader.cpp
+ * orbsvcs/orbsvcs/PortableGroup/GOA.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_FactoryRegistry.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Map.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_Location_Map.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroup_Map.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Encoder.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_Properties_Support.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PG_Property_Set.cpp
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp
+ * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp
+ * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp
+ * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.cpp
+ * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp
+ * orbsvcs/orbsvcs/Sched/DynSched.cpp
+ * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.cpp
+ * orbsvcs/orbsvcs/Sched/Scheduler.cpp
+ * orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp
+ * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp
+ * orbsvcs/orbsvcs/Security/SL3_CredentialsCurator.cpp
+ * orbsvcs/orbsvcs/Time/Timer_Helper.cpp
+ * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp
+ * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp
+ * orbsvcs/orbsvcs/Trader/Interpreter_Utils.cpp
+ * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp
+ * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp
+ * orbsvcs/orbsvcs/Trader/Trader.cpp
+ * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp
+ * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/server.cpp
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/server.cpp
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/server.cpp
+ * orbsvcs/performance-tests/RTEvent/TCP_Baseline/client.cpp
+ * orbsvcs/performance-tests/RTEvent/TCP_Baseline/server.cpp
+ * orbsvcs/performance-tests/RTEvent/lib/Loopback.cpp
+ * orbsvcs/performance-tests/RTEvent/lib/ORB_Task.cpp
+ * orbsvcs/performance-tests/RTEvent/lib/ORB_Task_Activator.cpp
+ * orbsvcs/performance-tests/RTEvent/lib/Peer_Base.cpp
+ * orbsvcs/performance-tests/RTEvent/lib/Send_Task.cpp
+ * orbsvcs/performance-tests/RTEvent/lib/Send_Task_Stopper.cpp
+ * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Connection_Manager.cpp
+ * orbsvcs/tests/AVStreams/Asynch_Three_Stage/distributer.cpp
+ * orbsvcs/tests/AVStreams/Asynch_Three_Stage/receiver.cpp
+ * orbsvcs/tests/AVStreams/Asynch_Three_Stage/sender.cpp
+ * orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.cpp
+ * orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.cpp
+ * orbsvcs/tests/AVStreams/Component_Switching/Connection_Manager.cpp
+ * orbsvcs/tests/AVStreams/Component_Switching/distributer.cpp
+ * orbsvcs/tests/AVStreams/Component_Switching/receiver.cpp
+ * orbsvcs/tests/AVStreams/Component_Switching/sender.cpp
+ * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp
+ * orbsvcs/tests/AVStreams/Full_Profile/server.cpp
+ * orbsvcs/tests/AVStreams/Latency/control.cpp
+ * orbsvcs/tests/AVStreams/Latency/ping.cpp
+ * orbsvcs/tests/AVStreams/Latency/pong.cpp
+ * orbsvcs/tests/AVStreams/Modify_QoS/receiver.cpp
+ * orbsvcs/tests/AVStreams/Modify_QoS/sender.cpp
+ * orbsvcs/tests/AVStreams/Multicast/ftp.cpp
+ * orbsvcs/tests/AVStreams/Multicast/server.cpp
+ * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp
+ * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp
+ * orbsvcs/tests/AVStreams/Multiple_Flows/receiver.cpp
+ * orbsvcs/tests/AVStreams/Multiple_Flows/sender.cpp
+ * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp
+ * orbsvcs/tests/AVStreams/Pluggable/server.cpp
+ * orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.cpp
+ * orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.cpp
+ * orbsvcs/tests/AVStreams/Simple_Three_Stage/distributer.cpp
+ * orbsvcs/tests/AVStreams/Simple_Three_Stage/receiver.cpp
+ * orbsvcs/tests/AVStreams/Simple_Three_Stage/sender.cpp
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage/receiver.cpp
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage/sender.cpp
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/receiver.cpp
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/sender.cpp
+ * orbsvcs/tests/CosEvent/Basic/Disconnect.cpp
+ * orbsvcs/tests/CosEvent/Basic/MT_Disconnect.cpp
+ * orbsvcs/tests/CosEvent/Basic/Shutdown.cpp
+ * orbsvcs/tests/CosEvent/lib/Counting_Consumer.cpp
+ * orbsvcs/tests/CosEvent/lib/Counting_Supplier.cpp
+ * orbsvcs/tests/EC_Custom_Marshal/ECM_Data.cpp
+ * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp
+ * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp
+ * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp
+ * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp
+ * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp
+ * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp
+ * orbsvcs/tests/Event/Basic/Atomic_Reconnect.cpp
+ * orbsvcs/tests/Event/Basic/BCast.cpp
+ * orbsvcs/tests/Event/Basic/Bitmask.cpp
+ * orbsvcs/tests/Event/Basic/Control.cpp
+ * orbsvcs/tests/Event/Basic/Disconnect.cpp
+ * orbsvcs/tests/Event/Basic/MT_Disconnect.cpp
+ * orbsvcs/tests/Event/Basic/Negation.cpp
+ * orbsvcs/tests/Event/Basic/Observer.cpp
+ * orbsvcs/tests/Event/Basic/Reconnect.cpp
+ * orbsvcs/tests/Event/Basic/Schedule.cpp
+ * orbsvcs/tests/Event/Basic/Shutdown.cpp
+ * orbsvcs/tests/Event/Basic/Timeout.cpp
+ * orbsvcs/tests/Event/Mcast/Common/EC_Wrapper.cpp
+ * orbsvcs/tests/Event/Performance/Connect.cpp
+ * orbsvcs/tests/Event/Performance/Inversion.cpp
+ * orbsvcs/tests/Event/Performance/Latency.cpp
+ * orbsvcs/tests/Event/Performance/Latency_Server.cpp
+ * orbsvcs/tests/Event/Performance/Throughput.cpp
+ * orbsvcs/tests/Event/lib/Consumer.cpp
+ * orbsvcs/tests/Event/lib/Counting_Consumer.cpp
+ * orbsvcs/tests/Event/lib/Counting_Supplier.cpp
+ * orbsvcs/tests/Event/lib/Supplier.cpp
+ * orbsvcs/tests/FT_App/FTAPP_Analyzer_Main.cpp
+ * orbsvcs/tests/FT_App/FTAPP_FactoryRegistry_Main.cpp
+ * orbsvcs/tests/FT_App/FTAPP_FaultConsumer_Main.cpp
+ * orbsvcs/tests/FT_App/FTAPP_Notifier_Main.cpp
+ * orbsvcs/tests/FT_App/FT_Client.cpp
+ * orbsvcs/tests/FT_App/FT_Creator.cpp
+ * orbsvcs/tests/FT_App/FT_Replica.cpp
+ * orbsvcs/tests/FT_App/FT_ReplicaFactory_i.cpp
+ * orbsvcs/tests/FT_App/FT_TestReplica_i.cpp
+ * orbsvcs/tests/FT_App/ReplicationManagerFaultConsumerAdapter.cpp
+ * orbsvcs/tests/FT_App/StubBatchConsumer.cpp
+ * orbsvcs/tests/FT_App/StubFaultAnalyzer.cpp
+ * orbsvcs/tests/FT_App/StubFaultConsumer.cpp
+ * orbsvcs/tests/FT_App/StubFaultNotifier.cpp
+ * orbsvcs/tests/FT_App/TAO_Object_Group_Creator.cpp
+ * orbsvcs/tests/HTIOP/AMI/Test_Output.cpp
+ * orbsvcs/tests/HTIOP/BiDirectional/Test_Output.cpp
+ * orbsvcs/tests/HTIOP/Hello/Test_Output.cpp
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Factory_Map.cpp
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Factory_Struct.cpp
+ * orbsvcs/tests/Notify/Basic/Events.cpp
+ * orbsvcs/tests/Notify/Basic/Filter.cpp
+ * orbsvcs/tests/Notify/Basic/Sequence.cpp
+ * orbsvcs/tests/Notify/Basic/Simple.cpp
+ * orbsvcs/tests/Notify/Basic/Updates.cpp
+ * orbsvcs/tests/Notify/RT_lib/RT_Factories_Define.cpp
+ * orbsvcs/tests/Notify/Reconnecting/Consumer.cpp
+ * orbsvcs/tests/Notify/Reconnecting/Supplier.cpp
+ * orbsvcs/tests/Notify/Test_Filter/RT_Test_Filter.cpp
+ * orbsvcs/tests/Notify/lib/Activation_Manager.cpp
+ * orbsvcs/tests/Notify/lib/Command_Builder.cpp
+ * orbsvcs/tests/Notify/lib/Driver.cpp
+ * orbsvcs/tests/Notify/lib/Factories_Define.cpp
+ * orbsvcs/tests/Notify/lib/LookupManager.cpp
+ * orbsvcs/tests/Notify/lib/Periodic_Supplier.cpp
+ * orbsvcs/tests/Notify/lib/PushConsumer.cpp
+ * orbsvcs/tests/Notify/lib/PushSupplier.cpp
+ * orbsvcs/tests/Notify/lib/SequencePushConsumer.cpp
+ * orbsvcs/tests/Notify/lib/SequencePushSupplier.cpp
+ * orbsvcs/tests/Notify/lib/StructuredPushConsumer.cpp
+ * orbsvcs/tests/Notify/lib/StructuredPushSupplier.cpp
+ * orbsvcs/tests/Notify/lib/Task_Stats.cpp
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp
+ * orbsvcs/tests/Trading/Offer_Exporter.cpp
+ * orbsvcs/tests/Trading/colocated_test.cpp
+ * performance-tests/Callback/client.cpp
+ * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp
+ * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp
+ * performance-tests/Cubit/TAO/MT_Cubit/client.cpp
+ * performance-tests/Cubit/TAO/MT_Cubit/server.cpp
+ * performance-tests/POA/Demux/demux_test_server.cpp
+ * performance-tests/RTCorba/Thread_Pool/client.cpp
+ * tao/ORB_Table.cpp
+ * tao/TSS_Resources.cpp
+ * tao/Strategies/DIOP_Connector.cpp
+ * tao/Valuetype/ValueFactory_Map.cpp
+ * tests/CodeSets/libs/IBM1047_ISO8859/Char_IBM1047_ISO8859_Factory.cpp
+ * tests/CodeSets/libs/IBM1047_ISO8859/Wchar_IBM1047_ISO8859_Factory.cpp
+ * tests/CodeSets/libs/UCS4_UTF16/WUCS4_UTF16_Factory.cpp
+ * tests/DynAny_Test/driver.cpp
+ * tests/IOR_Endpoint_Hostnames/list_interfaces.cpp
+ * tests/OctetSeq/OctetSeq.cpp
+ * tests/Param_Test/driver.cpp
+ * tests/Param_Test/helper.cpp
+ * tests/Param_Test/options.cpp
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/Request_Interceptor.cpp
+ * tests/RTCORBA/Collocation/Collocation.cpp
+ Zapped explicit templates
+
+Tue Oct 4 11:08:35 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2248_Regression/tests.idl:
+
+ Added missing file.
+
+ * orbsvcs/tests/Bug_2248_Regression/Bug_2248_Regression.mpc:
+ * orbsvcs/tests/Bug_2248_Regression/Server_Request_Interceptor.h:
+
+ Correct errors.
+
+Tue Oct 4 10:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/POA/DSI/Database_i.cpp
+ * examples/RTCORBA/Activity/Activity.cpp
+ * examples/RTCORBA/Activity/Task_Stats.cpp
+ * examples/RTScheduling/Task_Stats.cpp
+ * examples/RTScheduling/Fixed_Priority_Scheduler/test.cpp
+ * examples/RTScheduling/MIF_Scheduler/test.cpp
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManagerFaultAnalyzer.cpp
+ * orbsvcs/FT_ReplicationManager/FT_ReplicationManager_Main.cpp
+ * orbsvcs/Fault_Detector/FT_FaultDetectorFactory_i.cpp
+ * orbsvcs/Fault_Detector/Fault_Detector_Main.cpp
+ * orbsvcs/Fault_Notifier/FT_Notifier_i.cpp
+ * orbsvcs/Fault_Notifier/Fault_Notifier_Main.cpp
+ * orbsvcs/IFR_Service/be_global.cpp
+ * orbsvcs/IFR_Service/ifr_adding_visitor.cpp
+ * orbsvcs/IFR_Service/ifr_adding_visitor_exception.cpp
+ * orbsvcs/Logging_Service/RTEvent_Logging_Service/RTEvent_Logging_Service.cpp
+ * orbsvcs/orbsvcs/AV/AVStreams_i.cpp
+ * orbsvcs/orbsvcs/AV/AV_Core.cpp
+ * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.cpp
+ * orbsvcs/orbsvcs/AV/Policy.cpp
+ * orbsvcs/orbsvcs/AV/Protocol_Factory.cpp
+ * orbsvcs/orbsvcs/AV/RTCP.cpp
+ * orbsvcs/orbsvcs/AV/TCP.cpp
+ * orbsvcs/orbsvcs/AV/Transport.cpp
+ * orbsvcs/orbsvcs/AV/sfp.cpp
+ * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp
+ * orbsvcs/orbsvcs/Concurrency/Concurrency_Loader.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_Factory.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp
+ * orbsvcs/orbsvcs/Event/ECG_Adapters.cpp
+ * orbsvcs/orbsvcs/Event/ECG_CDR_Message_Receiver.cpp
+ * orbsvcs/orbsvcs/Event/ECG_Complex_Address_Server.cpp
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.cpp
+ * orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.cpp
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.cpp
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Receiver.cpp
+ * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.cpp
+ * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp
+ * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp
+ * orbsvcs/orbsvcs/Event/EC_Factory.cpp
+ * orbsvcs/orbsvcs/Event/EC_Filter.cpp
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP.cpp
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.cpp
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Dispatching.cpp
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp
+ * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp
+ * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp
+ * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp
+ * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp
+ * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp
+ * orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp
+ * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientRequest_Interceptor.cpp
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientService_Activate.cpp
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerService_Activate.cpp
+ * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Transport.cpp
+ * orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Loader.cpp
+ * orbsvcs/orbsvcs/IFRService/Options.cpp
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlertMap.cpp
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadListMap.cpp
+ * orbsvcs/orbsvcs/LoadBalancing/LB_LoadMap.cpp
+ * orbsvcs/orbsvcs/LoadBalancing/LB_Location_Index_Map.cpp
+ * orbsvcs/orbsvcs/LoadBalancing/LB_MonitorMap.cpp
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp
+ * orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp
+ * orbsvcs/orbsvcs/Log/Hash_LogStore.cpp
+ * orbsvcs/orbsvcs/Log/LogRecordStore_persist.cpp
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp
+ * orbsvcs/orbsvcs/Log/Log_i.cpp
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp
+ * orbsvcs/orbsvcs/Metrics/Metrics_LocalCache.cpp
+ * orbsvcs/orbsvcs/Metrics/Metrics_Logger.cpp
+ * orbsvcs/orbsvcs/Metrics/Metrics_UpcallMonitor.cpp
+ * orbsvcs/orbsvcs/Metrics/Metrics_Utils.cpp
+ * orbsvcs/orbsvcs/Naming/Naming_Loader.cpp
+ * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp
+ * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp
+ * orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp
+ * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp
+ * orbsvcs/orbsvcs/Notify/Bit_Vector.cpp
+ * orbsvcs/orbsvcs/Notify/Builder.cpp
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp
+ * orbsvcs/orbsvcs/Notify/Delivery_Request.cpp
+ * orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp
+ * orbsvcs/orbsvcs/Notify/EventChannel.cpp
+ * orbsvcs/orbsvcs/Notify/FilterAdmin.cpp
+ * orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp
+ * orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp
+ * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp
+ * orbsvcs/orbsvcs/Notify/Object.cpp
+ * orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp
+ * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp
+ * orbsvcs/orbsvcs/Notify/QoSProperties.cpp
+ * orbsvcs/orbsvcs/Notify/Random_File.cpp
+ * orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp:
+ Zapped explicit templates
+
+Mon Oct 3 23:43:08 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/FT_App/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/IOGR/Makefile.am:
+ * orbsvcs/tests/IOR_MCast/Makefile.am:
+ * orbsvcs/tests/ior_corbaname/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/tests/FT_App/FT_App.mpc:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/GroupRef_Manipulation.mpc:
+ * orbsvcs/tests/FaultTolerance/IOGR/FaultTolerance_IOGR.mpc:
+ * orbsvcs/tests/IOR_MCast/IOR_MCast.mpc:
+ * orbsvcs/tests/ior_corbaname/ior_corbaname.mpc:
+
+ Add "*idl" project for compiling *.idl files.
+
+Mon Oct 3 19:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/tutorials/Quoter/Event_Service/Stock_i.cpp
+ * docs/tutorials/Quoter/RT_Event_Service/Stock_i.cpp
+ * examples/Callback_Quoter/Notifier_i.cpp
+ * examples/Event_Comm/Event_Comm_i.cpp
+ * examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp
+ * examples/Kokyu_dsrt_schedulers/FP_Scheduler.cpp
+ * examples/Kokyu_dsrt_schedulers/MIF_Scheduler.cpp
+ * examples/Kokyu_dsrt_schedulers/MUF_Scheduler.cpp
+ * examples/Kokyu_dsrt_schedulers/Task_Stats.cpp
+ * examples/Kokyu_dsrt_schedulers/utils.cpp
+ * examples/Load_Balancing/Load_Balancer_i.cpp
+ * examples/Load_Balancing_persistent/Load_Balancer_i.cpp
+ * examples/Logging/Logger_i.cpp
+ * examples/OBV/Typed_Events/Client_i.cpp
+ * examples/OBV/Typed_Events/server.cpp
+ * examples/POA/On_Demand_Loading/Servant_Manager.cpp
+ * examples/Persistent_Grid/Grid_Client_i.cpp
+ * examples/Persistent_Grid/Persistent_Client_i.cpp
+ * examples/Persistent_Grid/server.cpp
+ * examples/PluggableUDP/tests/Basic/UDP_i.cpp
+ * examples/PluggableUDP/tests/Performance/UDP_i.cpp
+ * examples/RTScheduling/Starter.cpp
+ * examples/Simple/bank/AccountManager_i.cpp
+ * examples/Simple/bank/Bank_Client_i.cpp
+ * examples/Simple/bank/server.cpp
+ * examples/Simple/chat/Broadcaster_i.cpp
+ * examples/Simple/echo/Echo_Client_i.cpp
+ * examples/Simple/echo/server.cpp
+ * examples/Simple/grid/Grid_Client_i.cpp
+ * examples/Simple/grid/server.cpp
+ * examples/Simple/time/Time_Client_i.cpp
+ * examples/Simple/time/server.cpp
+ * examples/Simple/time-date/Time_Date.cpp
+ * examples/Simple/time-date/Time_Date_Client_i.cpp
+ * examples/Simulator/Event_Supplier/DualEC_Sup.cpp
+ * examples/Simulator/Event_Supplier/Event_Sup.cpp
+ * examples/Simulator/Event_Supplier/Logging_Sup.cpp
+ * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp
+ * orbsvcs/examples/CosEC/RtEC_Based/lib/ConsumerAdmin_i.cpp
+ * orbsvcs/examples/CosEC/RtEC_Based/lib/CosEvent_Utilities.cpp
+ * orbsvcs/examples/CosEC/RtEC_Based/lib/EventChannel_i.cpp
+ * orbsvcs/examples/CosEC/RtEC_Based/lib/ProxyPushConsumer_i.cpp
+ * orbsvcs/examples/CosEC/RtEC_Based/lib/ProxyPushSupplier_i.cpp
+ * orbsvcs/examples/CosEC/RtEC_Based/lib/SupplierAdmin_i.cpp
+ * orbsvcs/examples/CosEC/Simple/Consumer.cpp
+ * orbsvcs/examples/CosEC/Simple/Service.cpp
+ * orbsvcs/examples/CosEC/Simple/Supplier.cpp
+ * orbsvcs/examples/Log/Event/Event_Consumer.cpp
+ * orbsvcs/examples/Log/Event/Event_Supplier.cpp
+ * orbsvcs/examples/Log/Notify/Notify_Consumer.cpp
+ * orbsvcs/examples/Log/Notify/Notify_Supplier.cpp
+ * orbsvcs/examples/Log/RTEvent/RTEvent_Consumer.cpp
+ * orbsvcs/examples/Log/RTEvent/RTEvent_Supplier.cpp
+ * orbsvcs/examples/Notify/Filter/Filter.cpp
+ * orbsvcs/examples/Notify/Subscribe/Subscribe.cpp
+ * orbsvcs/examples/RtEC/IIOPGateway/Consumer.cpp
+ * orbsvcs/examples/RtEC/IIOPGateway/EC.cpp
+ * orbsvcs/examples/RtEC/IIOPGateway/Gateway.cpp
+ * orbsvcs/examples/RtEC/IIOPGateway/Supplier.cpp
+ * orbsvcs/examples/RtEC/Kokyu/Consumer.cpp
+ * orbsvcs/examples/RtEC/Kokyu/Service.cpp
+ * orbsvcs/examples/RtEC/Kokyu/Supplier.cpp
+ * orbsvcs/examples/RtEC/MCast/Consumer.cpp
+ * orbsvcs/examples/RtEC/MCast/MCast.cpp
+ * orbsvcs/examples/RtEC/MCast/Supplier.cpp
+ * orbsvcs/examples/RtEC/Schedule/Service.cpp
+ * orbsvcs/examples/RtEC/Simple/Consumer.cpp
+ * orbsvcs/examples/RtEC/Simple/Service.cpp
+ * orbsvcs/examples/RtEC/Simple/Supplier.cpp
+ Zapped explicit templates
+
+Mon Oct 3 18:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_OwnCredentials.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_SSL.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.cpp
+ Zapped explicit templates
+
+Mon Oct 3 18:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/RTPortableServer/RT_Policy_Validator.cpp:
+ Emulated exception fix
+
+ * tao/RTCORBA/Thread_Pool.{h,cpp}:
+ Renamed request_dynamic_thread to new_dynamic_thread.
+
+Mon Oct 3 10:48:45 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/tao_idl.mpc:
+ * orbsvcs/orbsvcs/CosNaming_Serv.mpc:
+ * orbsvcs/orbsvcs/Svc_Utils.mpc:
+ * tao/Strategies.mpc:
+
+ Added "ace_for_tao" ACE library subset support.
+
+ * TAO_IDL/driver/drv_preproc.cpp:
+ * TAO_IDL/fe/fe_extern.cpp:
+ * TAO_IDL/fe/fe_init.cpp:
+ * TAO_IDL/include/fe_extern.h:
+
+ Removed use of ACE_UUID. Rely on ACE_OS::mkstemp() instead to
+ avoid depending on more areas of ACE than necessary.
+
+ * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h:
+ * tao/default_resource.cpp:
+ * tao/Strategies/advanced_resource.cpp:
+
+ Include appropriate headers to address incomplete type
+ definition related compile-time errors. Necessitated by header
+ dependency reductions in ACE.
+
+Mon Oct 3 15:39:59 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2248_Regression/Bug_2248_Regression.mpc:
+ * orbsvcs/tests/Bug_2248_Regression/Server_Request_Interceptor.h:
+ * orbsvcs/tests/Bug_2248_Regression/client.h:
+
+ Linux build errors.
+
+Mon Oct 3 06:54:16 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/examples/ImR/Advanced/Makefile.am:
+ * orbsvcs/examples/ImR/Combined_Service/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Makefile.am:
+ * orbsvcs/tests/Security/MT_SSLIOP/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/examples/ImR/Advanced/Advanced.mpc:
+ * orbsvcs/examples/ImR/Combined_Service/ImR_Combined_Service.mpc:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Application_Controlled.mpc:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Infrastructure_Controlled.mpc:
+ * orbsvcs/tests/Security/MT_SSLIOP/MT_SSLIOP.mpc:
+
+ Add "*idl" project for compiling *.idl files.
+
+Mon Oct 3 13:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/RTPortableServer/RT_Policy_Validator.cpp:
+ Updated for threadpool manager interfaces
+
+Mon Oct 3 12:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/RTCORBA/Thread_Pool.{h,cpp,inl}:
+ Fixed deadlock that occured when a ThreadPool was being destructed
+ when the ORB is still running. At that moment we did a wait on
+ the thread pool wait the lock on the thread pool manager was still
+ hold which resulted in a deadlock. Now each Thread Pool lane has
+ its own lock to guard its state, the lock in the thread pool manager
+ is just to guard the map in the manager. This fixes bugzilla bug
+ #2235.
+ Thanks to Anders Olsson <Anders dot EPK dot Olsson at ericsson dot com>
+ for reporting this issue.
+
+ * tao/Makefile.am:
+ Added new Thread_Pool.inl
+
+Mon Oct 3 12:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/RTCORBA/Thread_Pool/test_i.cpp:
+ Use C++ cast instead of c-style cast
+
+Mon Oct 3 11:45:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * docs/releasenotes/index.html:
+ Documented IPv6 status
+
+Mon Oct 3 06:33:20 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * tao/LF_Event.cpp (state_changed):
+ * tao/LF_Event.h:
+
+ There was strange problem that showed up during our testing
+ here. The problem happens only on peers that have server threads
+ waiting for requests, effectively leaving some threads hanging
+ around LF waiting for the reply, when infact the reply was
+ received by the server thread -- sort of missed wakeups.
+
+ Problem: Server threads that wait for requests can process
+ replies (for requests initiated by client threads) since they
+ can get to the reactor right away and become leaders within the
+ reactor. What happens when a reply is received by a server
+ thread before a client thread adds itslf as a follower (in the
+ LF loop as a follower)? Disaster.
+
+ Context: Why disaster? The server thread, never bound by the
+ synchronization in the LF, would pick the reply. It would
+ check for the follower (without holding the LF lock), and since
+ the follower is still joining the follower list, the LF_Event
+ would not have a follower pointer. The server thread would then
+ simply exit state_changed () without waiting for a follower. The
+ client thread that becomes a follower will never get a wakeup
+ signal and continue to hang around blocking a resource.
+
+ Solution: Do wakeups only with the locks held. Grab LF lock
+ before thinking of doing wakeups, which would allow clients
+ languishing to set the follower pointer.
+
+ To implement the solution, all I did was to change the interface
+ of state_changed () to pass in a LF reference.
+
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp:
+ * performance-tests/Latency/Thread_Pool/run_test.pl:
+ * tao/Asynch_Queued_Message.cpp:
+ * tao/Asynch_Queued_Message.h:
+ * tao/Connection_Handler.cpp:
+ * tao/IIOP_Connection_Handler.cpp:
+ * tao/Queued_Message.cpp:
+ * tao/Queued_Message.h:
+ * tao/Synch_Queued_Message.cpp:
+ * tao/Synch_Queued_Message.h:
+ * tao/Synch_Reply_Dispatcher.cpp:
+ * tao/Transport.cpp:
+ * tao/Wait_On_Read.cpp:
+ * tao/Strategies/DIOP_Connection_Handler.cpp:
+ * tao/Strategies/SCIOP_Connection_Handler.cpp:
+ * tao/Strategies/SHMIOP_Connection_Handler.cpp:
+ * tao/Strategies/UIOP_Connection_Handler.cpp:
+
+ Changes that got propogated due to the interface change in
+ LF_Event.
+
+Mon Oct 3 11:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Connection_Handler.cpp (close_connection_eh):
+ Removed some asserts that triggered when a RTCorba ThreadLane
+ was destroyed from a thread not belonging to this ThreadLane,
+ now we just have a fallback when the reactor associated with the
+ event handler is zero. This fixes bugzilla bug #2244. Thanks to
+ Bala for validating my ideas.
+
+ * tao/Transport.{h,cpp,inl}:
+ Moved sent_byte_count and recv_buffer_size const and moved
+ them to the inline file
+
+Mon Oct 3 10:02:06 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/Synch_Invocation.cpp:
+
+ Don't reset the profiles upon a comm failure exception when
+ the FT service callback indicates a restart. This fixes bug #2248.
+
+ Thanks to Milan Cvetkovic for reporting the problem and providing
+ the regression test.
+
+ * orbsvcs/tests/Bug_2248_Regression/Bug_2248_Regression.mpc:
+ * orbsvcs/tests/Bug_2248_Regression/Client_i.h:
+ * orbsvcs/tests/Bug_2248_Regression/README:
+ * orbsvcs/tests/Bug_2248_Regression/Server_ORBInitializer.cpp:
+ * orbsvcs/tests/Bug_2248_Regression/Server_ORBInitializer.h:
+ * orbsvcs/tests/Bug_2248_Regression/Server_Request_Interceptor.cpp:
+ * orbsvcs/tests/Bug_2248_Regression/Server_Request_Interceptor.h:
+ * orbsvcs/tests/Bug_2248_Regression/client.cpp:
+ * orbsvcs/tests/Bug_2248_Regression/client.h:
+ * orbsvcs/tests/Bug_2248_Regression/run_test.pl:
+ * orbsvcs/tests/Bug_2248_Regression/server.cpp:
+ * orbsvcs/tests/Bug_2248_Regression/test.idl:
+ * orbsvcs/tests/Bug_2248_Regression/test_i.cpp:
+ * orbsvcs/tests/Bug_2248_Regression/test_i.h:
+
+ Regression test for the above.
+
+Sun Oct 2 11:05:51 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/Log_i.cpp (validate_capacity_alarm_thresholds):
+
+ Fixed out-of-range array element access that occured with single
+ element sequences.
+
+ Add note that the specification does not require theshold values
+ to be in order or unique.
+
+Sun Oct 2 22:22:55 IST 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * performance-tests/Latency/Thread_Per_Connection/run_test.pl:
+
+ Increased the timeout for the test to succeed on all platforms.
+
+Sun Oct 2 12:01:40 2005 Carlos O'Ryan <coryan@atdesk.com>
+
+ * tests/Sequence_Unit_Tests/Sequence_Unit_Tests.mpc:
+ * tests/Sequence_Unit_Tests/bounded_object_reference_sequence.hpp:
+ * tests/Sequence_Unit_Tests/bounded_object_reference_sequence_ut.cpp:
+ * tests/Sequence_Unit_Tests/run_test.pl:
+ Implemented bounded sequences of object references.
+
+ * tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp:
+ Fixed typos in unit test.
+
+ * tests/Sequence_Unit_Tests/object_reference_traits.hpp:
+ * tests/Sequence_Unit_Tests/object_reference_traits_base.hpp:
+ Refactor traits so it is possible to implement better unit
+ tests.
+
+ * tests/Sequence_Unit_Tests/string_traits_base.hpp:
+ Fixed comment
+
+ * tests/Sequence_Unit_Tests/testing_allocation_traits.hpp:
+ Fixed #include guards
+
+ * tests/Sequence_Unit_Tests/testing_object_reference_traits.hpp:
+ Modified so we can better test object reference management in
+ the sequences.
+
+ * tests/Sequence_Unit_Tests/unbounded_object_reference_sequence_ut.cpp:
+ Add more test cases
+
+Sat Oct 1 08:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/fe/fe_init.cpp:
+ Reverted WChar fixes, we have some problems in the idl compiler,
+ maybe they are caused by this
+
+Fri Sep 30 18:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Smart_Proxies/dtor/dtor.mpc:
+ Added anytypecode as base project to the client
+
+Fri Sep 30 12:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/params.cpp:
+ Fixed 64bit conversion warning
+
+Fri Sep 30 12:22:51 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2247_Regression/Bug_2247_Regression.mpc:
+
+ Add minimum_corba.
+
+ * orbsvcs/tests/Bug_2247_Regression/Manager.cpp:
+
+ ACE_CHECK to ACE_CHECK_RETURN.
+
+Fri Sep 30 10:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Invocation_Base.{h,cpp}:
+ Set the invoke_status_ correctly when an exception has occured.
+ This fixes bugzilla bug 2247. Thanks to Simon McQueen
+ <sm@prismtech.com> for adding the regression for this test
+ to the repo and to Milan Cvetkovic
+ <milan dot cvetkovic at mpathix dot com> for creating the
+ regression
+
+Fri Sep 30 10:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/fe/fe_init.cpp:
+ WChar fix
+
+Fri Sep 30 09:10:00 2005 Simon Massey <simon.massey@prismtech.com>
+
+ * tao/PI_Server/ServerInterceptorAdapter.cpp:
+
+ This fixes Bugzilla 2249.
+ (Problems with TAO_HAS_EXTENDED_FT_INTERCEPTORS builds)
+
+Thu Sep 29 15:07:30 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/EventLog_i.cpp:
+ * orbsvcs/orbsvcs/Log/Log_i.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLog_i.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLog_i.cpp:
+
+ De-fuzzed simple cases ACE_CHECK/ACE_TRY_CHECK warnings.
+ I'll get to the remaining cases that need new temporary
+ variables, etc. in the next week.
+
+Thu Sep 29 17:25:39 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2247_Regression/test_i.cpp:
+ * orbsvcs/tests/Bug_2247_Regression/test_i.h:
+
+ Fixing the inevitable emulated exception errors.
+
+Thu Sep 29 10:02:19 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp:
+
+ De-fuzzed ACE_CHECK/ACE_TRY_CHECK warnings. Thanks to Johnny
+ Willemsen for catching this and holding my feet to the fire.
+
+Thu Sep 29 09:12:24 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/SmartProxies/Smart_Proxies.h:
+
+ Removed the virtual from the inheritance list. It is not
+ necessary.
+
+Thu Sep 29 14:29:17 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2247_Regression/Bug_2247_Regression.mpc:
+ * orbsvcs/tests/Bug_2247_Regression/Client_i.h:
+ * orbsvcs/tests/Bug_2247_Regression/Manager.cpp:
+ * orbsvcs/tests/Bug_2247_Regression/Manager.h:
+ * orbsvcs/tests/Bug_2247_Regression/README:
+ * orbsvcs/tests/Bug_2247_Regression/run_test.pl:
+ * orbsvcs/tests/Bug_2247_Regression/server.cpp:
+ * orbsvcs/tests/Bug_2247_Regression/test.idl:
+ * orbsvcs/tests/Bug_2247_Regression/test_i.cpp:
+ * orbsvcs/tests/Bug_2247_Regression/test_i.h:
+
+ Regression test added.
+
+Thu Sep 29 07:38:32 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Smart_Proxies/dtor/client.cpp:
+ * tests/Smart_Proxies/dtor/server.cpp:
+
+ Corrected build issues (include files, exception macros and
+ minimum corba related problems) and warnings from certain versions
+ of the GNU compiler about implicit conversion.
+
+Thu Sep 29 12:34:50 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/Makefile.am:
+
+ Removed WrongTransactionS.inl - file no longer in CVS.
+
+Thu Sep 29 09:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.cpp
+ * orbsvcs/tests/AVStreams/Component_Switching/distributer.cpp
+ * orbsvcs/tests/AVStreams/Modify_QoS/sender.cpp
+ * orbsvcs/tests/AVStreams/Multicast/server.cpp
+ * orbsvcs/tests/AVStreams/Multiple_Flows/sender.cpp
+ * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp
+ * tests/Big_Twoways/client.cpp
+ * tests/Two_Objects/Object_Factory_i.cpp
+ Fixed fuzz errors
+
+ * utils/catior/catior.cpp
+ Wchar fix
+
+Thu Sep 29 07:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Smart_Proxies/server.cpp:
+ * tests/Smart_Proxies/Benchmark/client.cpp:
+ * tests/Smart_Proxies/Benchmark/server.cpp:
+ * tests/Smart_Proxies/On_Demand/server.cpp:
+ * tests/Smart_Proxies/Policy/client.cpp:
+ * tests/Smart_Proxies/Policy/server.cpp:
+ * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp:
+ Fixed fuzz errors
+
+Thu Sep 29 07:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp:
+ Emulated exception fix
+
+Thu Sep 29 07:24:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Connect_Strategy.h:
+ * tao/ORB.h:
+ * tao/PI_Server/Policy_Creator_T.h:
+ Layout and documentation changes
+
+ * tao/Strategies/SHMIOP_Connection_Handler.cpp:
+ Updated debug statement to have the same layout as the other messages
+
+ * tao/Stub.{h,cpp,i}:
+ Use an Atomic_Op for the refcount, removed some accessors that are
+ not needed and which violated the encapsulation principle. Made
+ some methods protected which don't need to be public, removed the
+ return value of the _incr_refcnt and _decr_refcnt methods, the
+ return value isn't something you can build logic on because it
+ can change again quickly. Also fixed a 64bit problem.
+
+ * tao/Valuetype/AbstractBase.cpp:
+ Removed (void) before calls of _incr_rfcnt/_decr_refcnt, they don't
+ return a value anymore.
+
+Thu Sep 29 07:08:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp:
+ * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}:
+ * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp:
+ Fixed emulated exception fuzz errors. It seems the Trading service
+ is not really correct related to emulated exceptions, if someone
+ really wants to use it in that configuration some more work has
+ to be done.
+
+Thu Sep 29 06:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.cpp:
+ Fixed emulated exception fuzz errors
+
+Wed Sep 28 20:05:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tao/IIOP_Acceptor.cpp:
+
+ Fixed compile error for Borland compiler.
+
+Wed Sep 28 18:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Naming/Naming_Server.cpp:
+ Fixed emulated exception errors
+
+Wed Sep 28 11:35:17 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ Committing the following changes on behalf of Wallace Zhang
+ <zhang_w@ociweb.com>.
+
+ * tao/SmartProxies/Smart_Proxies.h:
+
+ Let TAO_Smart_Proxy_Base inherit from
+ TAO_Local_RefCounted_Object to have a correct destruction of smart
+ proxies. This also fixed the problem that _non_existent() crashes
+ when using smart proxy
+
+ * tests/Smart_Proxies/dtor/.cvsignore:
+ * tests/Smart_Proxies/dtor/README:
+ * tests/Smart_Proxies/dtor/Smart_Proxy_Impl.h:
+ * tests/Smart_Proxies/dtor/Smart_Proxy_Impl.cpp:
+ * tests/Smart_Proxies/dtor/client.cpp:
+ * tests/Smart_Proxies/dtor/dtor.mpc:
+ * tests/Smart_Proxies/dtor/run_test.pl:
+ * tests/Smart_Proxies/dtor/server.cpp:
+ * tests/Smart_Proxies/dtor/test.idl:
+
+ Created a new test for Smart Proxy. This test is to detect
+ the destruction of smart proxies and a _non_existent()
+ crash.
+
+Wed Sep 28 15:21:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tao/Acceptor_Registry{.h .cpp}:
+ * tao/IIOP_Acceptor{.h .cpp .i}:
+
+ Added improvements for IPv6 support with Windows (circumventing
+ the problems coming from MS's single-stack implementation of
+ IPv4/IPv6).
+
+Fri Sep 23 13:11:31 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * tao/orbconf.h: Added a comment warning users about the
+ impact of setting huge values for the number of configured
+ handles. Thanks to Jan.Zima@sofis.cz for motivating this.
+
+Wed Sep 28 14:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/IFRService/*S.{h,cpp,inl}:
+ * orbsvcs/orbsvcs/IFRService/*S_T.{h,cpp,inl}:
+ Regenerated with the latest version of the TAO_IDL compiler
+
+Wed Sep 28 14:12:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/POA/Demux/demux_test_server.cpp:
+ Fixed fuzz error
+
+Wed Sep 28 14:53:27 2005 Simon McQueen <sm@prismtech.com>
+
+ * orbsvcs/tests/Bug_2137_Regression/client.cpp:
+
+ What kind of muppet makes 35 seperate mistakes with emulated
+ exception handling in one file ? That would be me.
+
+Wed Sep 28 14:35:26 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/WrongTransaction.pidl:
+
+ Changed generation instructions to include use of -SS.
+
+ * tao/WrongTransactionS.h:
+
+ Regenerated using -SS.
+
+ * tao/WrongTransactionS.inl:
+
+ Removed file.
+
+Tue Sep 27 18:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/POA/Single_Threaded_POA/Single_Threaded_POA.cpp:
+ Emulated exception fix
+
+Mon Sep 26 14:19:42 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/DsLogAdmin.mpc:
+
+ Added "Log/LogStore.h" to Header_Files in the DsLogAdmin_Serv
+ project.
+
+Mon Sep 26 09:47:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
+ Wchar fix
+
+ * orbsvcs/orbsvcs/RTEvent.mpc:
+ * orbsvcs/orbsvcs/RTEvent_Skel.mpc:
+ Added export files to the header section so that they get copied
+ on install
+
+Mon Sep 26 09:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/Event_Service/Event_Service.cpp:
+ Corrected the way we check whether we should create a persistent POA
+ or not.
+
+Mon Sep 26 07:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp:
+ Added ACE_CHECK generation and fixed some layout issues
+
+Sun Sep 25 21:33:41 2005 Bala Natarajan <bala_natarajan at symantec dot com>
+
+ * tao/Transport_Cache_Manager.cpp:
+
+ Cosmetic check, which seems to help some builds.
+
+Sat Sep 24 11:37:37 2005 Balachandran Natarajan <bala_natarajan at symantec dot com>
+
+ * tao/default_client.cpp:
+
+ Changed the default value of use_cleanup_options_ switch to
+ false. This should address performance and thread_pool latency
+ test failures in our daily scoreboard.
+
+Fri Sep 23 12:17:29 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Bug_2222_Regression/test.cpp (main):
+
+ Removed unnecessary try/catch block that caused an "unused
+ ACE_TRY_LABEL" warning in emulated exception builds. Thanks to
+ Simon Massey for pointing out the problem.
+
+Fri Sep 23 16:22:01 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/AnyTypeCode/Any_Basic_Impl_T.cpp:
+
+ Added include of Any.h, similar to the other Any_*_Impl_T.cpp
+ files. The need for this include shows up only when enums
+ are seen in an IDL file, with no other IDL types to
+ pull in the include. Thanks to Jules Colding <colding@omesc.com>
+ for reporting the problem.
+
+Fri Sep 23 07:42:38 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/examples/Security/Send_File/Makefile.am:
+
+ Regenerate.
+
+ * orbsvcs/examples/Security/Send_File/Security_Send_File.mpc:
+
+ Add "*idl" project for compiling *.idl files.
+
+Fri Sep 23 07:07:33 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/examples/LoadBalancing/LoadBalancing.mpc:
+
+ Changed *idl project to inherit from anytypecode.
+
+Fri Sep 23 14:31:39 2005 Simon McQueen <sm@prismtech.com>
+
+ * docs/Options.html:
+
+ Removed some text that had been put in the wrong place.
+
+Fri Sep 23 05:55:03 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/HTIOP/Hello/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/HTIOP/Hello/HTIOP_Hello.mpc:
+
+ Added "custom_only = 1" to *idl project.
+
+Fri Sep 23 11:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Notify/Event.inl:
+ Emulated exception fix
+
+Fri Sep 23 11:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_Gateway.{h,cpp}:
+ * orbsvcs/orbsvcs/Naming/Storable_Naming_Context.cpp:
+ Some wchar fixes
+
+Fri Sep 23 10:05:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tests/CallbackTest/Callback.cpp:
+ * tests/CallbackTest/server.cpp:
+ * tests/CallbackTest/client.cpp:
+
+ Fixed compile warnings.
+
+Thu Sep 22 23:55:22 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/HTIOP/AMI/Makefile.am:
+ * orbsvcs/tests/HTIOP/Hello/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/tests/HTIOP/AMI/HTIOP_AMI.mpc:
+ * orbsvcs/tests/HTIOP/Hello/HTIOP_Hello.mpc:
+
+ Add "*idl" projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Thu Sep 22 14:03:11 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac:
+
+ Updated AC_CONFIG_FILES for the new directories.
+
+ Added BUILD_REPO, BUILD_THREADS, and BUILD_EC_TYPED_EVENTS
+ automake conditionals. Explicitly set to false, true, and
+ true (at least for now).
+
+ * TAO_IDL/Makefile.am:
+ * orbsvcs/Makefile.am:
+ * orbsvcs/Concurrency_Service/Makefile.am:
+ * orbsvcs/CosEvent_Service/Makefile.am:
+ * orbsvcs/Dump_Schedule/Makefile.am:
+ * orbsvcs/Event_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Event_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Factory_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Gateway_Service/Makefile.am:
+ * orbsvcs/FT_ReplicationManager/Makefile.am:
+ * orbsvcs/Fault_Detector/Makefile.am:
+ * orbsvcs/Fault_Notifier/Makefile.am:
+ * orbsvcs/IFR_Service/Makefile.am:
+ * orbsvcs/ImplRepo_Service/Makefile.am:
+ * orbsvcs/LifeCycle_Service/Makefile.am:
+ * orbsvcs/LoadBalancer/Makefile.am:
+ * orbsvcs/Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/RTEvent_Logging_Service/Makefile.am:
+ * orbsvcs/Naming_Service/Makefile.am:
+ * orbsvcs/Notify_Service/Makefile.am:
+ * orbsvcs/Scheduling_Service/Makefile.am:
+ * orbsvcs/TAO_Service/Makefile.am:
+ * orbsvcs/Time_Service/Makefile.am:
+ * orbsvcs/Trading_Service/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/bin/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+ * orbsvcs/performance-tests/Makefile.am:
+ * orbsvcs/performance-tests/LoadBalancing/Makefile.am:
+ * orbsvcs/performance-tests/LoadBalancing/LBPerf/Makefile.am:
+ * orbsvcs/performance-tests/LoadBalancing/LBPerf/RPS/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/Roundtrip/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/TCP_Baseline/Makefile.am:
+ * orbsvcs/performance-tests/RTEvent/lib/Makefile.am:
+ * orbsvcs/tests/Makefile.am:
+ * orbsvcs/tests/AVStreams/Makefile.am:
+ * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Bidirectional_Flows/Makefile.am:
+ * orbsvcs/tests/AVStreams/Component_Switching/Makefile.am:
+ * orbsvcs/tests/AVStreams/Full_Profile/Makefile.am:
+ * orbsvcs/tests/AVStreams/Latency/Makefile.am:
+ * orbsvcs/tests/AVStreams/Modify_QoS/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multicast/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multicast_Full_Profile/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multiple_Flows/Makefile.am:
+ * orbsvcs/tests/AVStreams/Pluggable/Makefile.am:
+ * orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Three_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/Makefile.am:
+ * orbsvcs/tests/BiDir_CORBALOC/Makefile.am:
+ * orbsvcs/tests/Bug_1334_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_1393_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_1395_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_1630_Regression/Makefile.am:
+ * orbsvcs/tests/Concurrency/Makefile.am:
+ * orbsvcs/tests/CosEvent/Makefile.am:
+ * orbsvcs/tests/CosEvent/Basic/Makefile.am:
+ * orbsvcs/tests/CosEvent/lib/Makefile.am:
+ * orbsvcs/tests/EC_Custom_Marshal/Makefile.am:
+ * orbsvcs/tests/EC_MT_Mcast/Makefile.am:
+ * orbsvcs/tests/EC_Mcast/Makefile.am:
+ * orbsvcs/tests/EC_Multiple/Makefile.am:
+ * orbsvcs/tests/EC_Throughput/Makefile.am:
+ * orbsvcs/tests/Event/Makefile.am:
+ * orbsvcs/tests/Event/Basic/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Common/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Complex/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Simple/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Two_Way/Makefile.am:
+ * orbsvcs/tests/Event/Performance/Makefile.am:
+ * orbsvcs/tests/Event/lib/Makefile.am:
+ * orbsvcs/tests/FT_App/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/IOGR/Makefile.am:
+ * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile.am:
+ * orbsvcs/tests/FtRtEvent/Makefile.am:
+ * tao/Makefile.am:
+ * utils/Makefile.am:
+ * utils/catior/Makefile.am:
+ * utils/nslist/Makefile.am:
+
+ Regenerated.
+
+ * docs/Makefile.am:
+ * docs/tutorials/Makefile.am:
+ * docs/tutorials/Quoter/AMI/Makefile.am:
+ * docs/tutorials/Quoter/Event_Service/Makefile.am:
+ * docs/tutorials/Quoter/Makefile.am:
+ * docs/tutorials/Quoter/Naming_Service/Makefile.am:
+ * docs/tutorials/Quoter/On_Demand_Activation/Makefile.am:
+ * docs/tutorials/Quoter/RT_Event_Service/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Client/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Impl-Repo/Makefile.am:
+ * docs/tutorials/Quoter/Simple/ImprovedServer/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Persistent/Makefile.am:
+ * docs/tutorials/Quoter/Simple/Server/Makefile.am:
+ * docs/tutorials/Quoter/idl/Makefile.am:
+ * examples/AMH/Makefile.am:
+ * examples/AMH/Sink_Server/Makefile.am:
+ * examples/AMI/FL_Callback/Makefile.am:
+ * examples/AMI/Makefile.am:
+ * examples/Advanced/Makefile.am:
+ * examples/Advanced/ch_3/Makefile.am:
+ * examples/Buffered_AMI/Makefile.am:
+ * examples/Buffered_Oneways/Makefile.am:
+ * examples/Callback_Quoter/Makefile.am:
+ * examples/Content_Server/AMI_Iterator/Makefile.am:
+ * examples/Content_Server/AMI_Observer/Makefile.am:
+ * examples/Content_Server/Makefile.am:
+ * examples/Content_Server/SMI_Iterator/Makefile.am:
+ * examples/Event_Comm/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/fp_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/mif_example/Makefile.am:
+ * examples/Kokyu_dsrt_schedulers/muf_example/Makefile.am:
+ * examples/Load_Balancing/Makefile.am:
+ * examples/Load_Balancing_persistent/Makefile.am:
+ * examples/Logging/Makefile.am:
+ * examples/Makefile.am:
+ * examples/OBV/Makefile.am:
+ * examples/OBV/Typed_Events/Makefile.am:
+ * examples/POA/Adapter_Activator/Makefile.am:
+ * examples/POA/DSI/Makefile.am:
+ * examples/POA/Default_Servant/Makefile.am:
+ * examples/POA/Explicit_Activation/Alt_Resources/Makefile.am:
+ * examples/POA/Explicit_Activation/Makefile.am:
+ * examples/POA/FindPOA/Makefile.am:
+ * examples/POA/Forwarding/Makefile.am:
+ * examples/POA/Generic_Servant/Makefile.am:
+ * examples/POA/Loader/Makefile.am:
+ * examples/POA/Makefile.am:
+ * examples/POA/NewPOA/Makefile.am:
+ * examples/POA/On_Demand_Activation/Makefile.am:
+ * examples/POA/On_Demand_Loading/Makefile.am:
+ * examples/POA/POA_BiDir/Makefile.am:
+ * examples/POA/Reference_Counted_Servant/Makefile.am:
+ * examples/POA/RootPOA/Makefile.am:
+ * examples/POA/TIE/Makefile.am:
+ * examples/Persistent_Grid/Makefile.am:
+ * examples/PluggableUDP/Makefile.am:
+ * examples/PluggableUDP/tests/Basic/Makefile.am:
+ * examples/PluggableUDP/tests/Makefile.am:
+ * examples/PluggableUDP/tests/Performance/Makefile.am:
+ * examples/PluggableUDP/tests/SimplePerformance/Makefile.am:
+ * examples/Quoter/Makefile.am:
+ * examples/RTCORBA/Activity/Makefile.am:
+ * examples/RTCORBA/Makefile.am:
+ * examples/RTScheduling/Fixed_Priority_Scheduler/Makefile.am:
+ * examples/RTScheduling/MIF_Scheduler/Makefile.am:
+ * examples/RTScheduling/Makefile.am:
+ * examples/Simple/Makefile.am:
+ * examples/Simple/bank/Makefile.am:
+ * examples/Simple/chat/Makefile.am:
+ * examples/Simple/echo/Makefile.am:
+ * examples/Simple/grid/Makefile.am:
+ * examples/Simple/time-date/Makefile.am:
+ * examples/Simple/time/Makefile.am:
+ * examples/Simulator/Event_Supplier/Makefile.am:
+ * examples/Simulator/Makefile.am:
+ * examples/TypeCode_Creation/Makefile.am:
+ * examples/ior_corbaloc/Makefile.am:
+ * examples/mfc/Makefile.am:
+ * interop-tests/Makefile.am:
+ * interop-tests/wchar/Makefile.am:
+ * orbsvcs/examples/CosEC/Factory/Makefile.am:
+ * orbsvcs/examples/CosEC/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/tests/Makefile.am:
+ * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Makefile.am:
+ * orbsvcs/examples/CosEC/Simple/Makefile.am:
+ * orbsvcs/examples/CosEC/TypedSimple/Makefile.am:
+ * orbsvcs/examples/FaultTolerance/Makefile.am:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/Makefile.am:
+ * orbsvcs/examples/ImR/Advanced/Makefile.am:
+ * orbsvcs/examples/ImR/Combined_Service/Makefile.am:
+ * orbsvcs/examples/ImR/Makefile.am:
+ * orbsvcs/examples/LoadBalancing/Makefile.am:
+ * orbsvcs/examples/Log/Basic/Makefile.am:
+ * orbsvcs/examples/Log/Event/Makefile.am:
+ * orbsvcs/examples/Log/Makefile.am:
+ * orbsvcs/examples/Log/Notify/Makefile.am:
+ * orbsvcs/examples/Log/RTEvent/Makefile.am:
+ * orbsvcs/examples/Makefile.am:
+ * orbsvcs/examples/Notify/Federation/Agent/Makefile.am:
+ * orbsvcs/examples/Notify/Federation/Gate/Makefile.am:
+ * orbsvcs/examples/Notify/Federation/Makefile.am:
+ * orbsvcs/examples/Notify/Federation/SpaceCraft/Makefile.am:
+ * orbsvcs/examples/Notify/Filter/Makefile.am:
+ * orbsvcs/examples/Notify/Lanes/Makefile.am:
+ * orbsvcs/examples/Notify/Makefile.am:
+ * orbsvcs/examples/Notify/Subscribe/Makefile.am:
+ * orbsvcs/examples/Notify/ThreadPool/Makefile.am:
+ * orbsvcs/examples/ORT/Makefile.am:
+ * orbsvcs/examples/RtEC/IIOPGateway/Makefile.am:
+ * orbsvcs/examples/RtEC/Kokyu/Makefile.am:
+ * orbsvcs/examples/RtEC/MCast/Makefile.am:
+ * orbsvcs/examples/RtEC/Makefile.am:
+ * orbsvcs/examples/RtEC/Schedule/Makefile.am:
+ * orbsvcs/examples/RtEC/Simple/Makefile.am:
+ * orbsvcs/examples/Security/Makefile.am:
+ * orbsvcs/examples/Security/Send_File/Makefile.am:
+ * orbsvcs/tests/Bug_2137_Regression/Makefile.am:
+ * orbsvcs/tests/HTIOP/AMI/Makefile.am:
+ * orbsvcs/tests/HTIOP/BiDirectional/Makefile.am:
+ * orbsvcs/tests/HTIOP/Hello/Makefile.am:
+ * orbsvcs/tests/HTIOP/Makefile.am:
+ * orbsvcs/tests/IOR_MCast/Makefile.am:
+ * orbsvcs/tests/ImplRepo/Makefile.am:
+ * orbsvcs/tests/ImplRepo/NameService/Makefile.am:
+ * orbsvcs/tests/ImplRepo/scale/Makefile.am:
+ * orbsvcs/tests/InterfaceRepo/Application_Test/Makefile.am:
+ * orbsvcs/tests/InterfaceRepo/IDL3_Test/Makefile.am:
+ * orbsvcs/tests/InterfaceRepo/IFR_Test/Makefile.am:
+ * orbsvcs/tests/InterfaceRepo/Latency_Test/Makefile.am:
+ * orbsvcs/tests/InterfaceRepo/Makefile.am:
+ * orbsvcs/tests/InterfaceRepo/Persistence_Test/Makefile.am:
+ * orbsvcs/tests/Interoperable_Naming/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Infrastructure_Controlled/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/LoadMonitor/CPU/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/LoadMonitor/Makefile.am:
+ * orbsvcs/tests/LoadBalancing/Makefile.am:
+ * orbsvcs/tests/Log/Basic_Log_Test/Makefile.am:
+ * orbsvcs/tests/Log/Makefile.am:
+ * orbsvcs/tests/Miop/Makefile.am:
+ * orbsvcs/tests/Miop/McastHello/Makefile.am:
+ * orbsvcs/tests/Notify/Basic/Makefile.am:
+ * orbsvcs/tests/Notify/Blocking/Makefile.am:
+ * orbsvcs/tests/Notify/Destroy/Makefile.am:
+ * orbsvcs/tests/Notify/Discarding/Makefile.am:
+ * orbsvcs/tests/Notify/Driver/Makefile.am:
+ * orbsvcs/tests/Notify/MT_Dispatching/Makefile.am:
+ * orbsvcs/tests/Notify/Makefile.am:
+ * orbsvcs/tests/Notify/Ordering/Makefile.am:
+ * orbsvcs/tests/Notify/PluggableTopology/Makefile.am:
+ * orbsvcs/tests/Notify/RT_lib/Makefile.am:
+ * orbsvcs/tests/Notify/Reconnecting/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/Test_Filter/Makefile.am:
+ * orbsvcs/tests/Notify/XML_Persistence/Makefile.am:
+ * orbsvcs/tests/Notify/lib/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile.am:
+ * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile.am:
+ * orbsvcs/tests/Property/Makefile.am:
+ * orbsvcs/tests/Redundant_Naming/Makefile.am:
+ * orbsvcs/tests/Sched/Makefile.am:
+ * orbsvcs/tests/Sched_Conf/Makefile.am:
+ * orbsvcs/tests/Security/BiDirectional/Makefile.am:
+ * orbsvcs/tests/Security/Big_Request/Makefile.am:
+ * orbsvcs/tests/Security/Callback/Makefile.am:
+ * orbsvcs/tests/Security/Crash_Test/Makefile.am:
+ * orbsvcs/tests/Security/MT_IIOP_SSL/Makefile.am:
+ * orbsvcs/tests/Security/MT_SSLIOP/Makefile.am:
+ * orbsvcs/tests/Security/Makefile.am:
+ * orbsvcs/tests/Security/Secure_Invocation/Makefile.am:
+ * orbsvcs/tests/Security/ssliop_corbaloc/Makefile.am:
+ * orbsvcs/tests/Simple_Naming/Makefile.am:
+ * orbsvcs/tests/Time/Makefile.am:
+ * orbsvcs/tests/Trading/Makefile.am:
+ * orbsvcs/tests/ior_corbaname/Makefile.am:
+ * orbsvcs/tests/tests_svc_loader/Makefile.am:
+
+ Added.
+
+ * examples/AMI/FL_Callback/FL_Callback.mpc:
+ * examples/Advanced/ch_3/Advanced_ch_3.mpc:
+ * orbsvcs/examples/CosEC/Factory/CosEC_Factory.mpc:
+ * orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly.mpc:
+ * orbsvcs/examples/LoadBalancing/LoadBalancing.mpc:
+ * orbsvcs/examples/ORT/ORT.mpc:
+ * orbsvcs/tests/HTIOP/BiDirectional/HTIOP_BiDirectional.mpc:
+ * orbsvcs/tests/Notify/Blocking/Blocking.mpc:
+ * orbsvcs/tests/Notify/Discarding/Discarding.mpc:
+ * orbsvcs/tests/Notify/MT_Dispatching/MT_Dispatching.mpc:
+ * orbsvcs/tests/Notify/Ordering/Ordering.mpc:
+ * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Seq_Multi_ETCL_Filter.mpc:
+ * orbsvcs/tests/Notify/Sequence_Multi_Filter/Seq_Multi_Filter.mpc:
+ * orbsvcs/tests/Notify/Structured_Filter/Struct_Filter.mpc:
+ * orbsvcs/tests/Notify/Structured_Multi_Filter/Struct_Multi_Filter.mpc:
+ * orbsvcs/tests/Notify/performance-tests/Filter/Filter.mpc:
+ * orbsvcs/tests/Security/BiDirectional/Secure_BiDir.mpc:
+ * orbsvcs/tests/Security/Big_Request/Big_Request.mpc:
+ * orbsvcs/tests/Security/Callback/Callback.mpc:
+ * orbsvcs/tests/Security/Crash_Test/Security_Crash_Test.mpc:
+ * orbsvcs/tests/Security/MT_IIOP_SSL/MT_IIOP_SSL.mpc:
+ * orbsvcs/tests/Security/Secure_Invocation/Secure_Invocation.mpc:
+ * performance-tests/Sequence_Latency/DII/DII.mpc:
+ * performance-tests/Sequence_Latency/DSI/DSI.mpc:
+ * performance-tests/Sequence_Latency/Deferred/Deferred.mpc:
+
+ Add "*idl" projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Thu Sep 22 15:12:12 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * orbsvcs/tests/InterfaceRepo/IDL3_Test/test.idl:
+
+ Modified valuetype declartion used as a primary key to
+ conform to the CCM spec section 61.7.2.1 listing
+ constraints on primary key types.
+
+Thu Sep 22 08:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/POA/Loader/Server_Manager.cpp:
+ * examples/Quoter/Factory_Finder.cpp:
+ * tao/ImR_Client/ImplRepoC.*:
+ * tao/ImR_Client/ImplRepoS.*:
+ * tao/ImR_Client/ServerObjectC.*:
+ * tao/ImR_Client/ServerObjectS.*:
+ * tao/PortableServer/POA_Policy_Set.cpp:
+ * tao/PortableServer/Root_POA.inl:
+ * tests/AMH_Oneway/client.cpp:
+ * tests/POA/Default_Servant/Default_Servant.cpp:
+ * tests/RTScheduling/Thread_Cancel/test.cpp:
+ * utils/nslist/nsdel.cpp:
+ Emulated exceptions fixes
+
+ * tests/RTScheduling/Thread_Cancel/Thread_Cancel.mpc:
+ Removed empty lines
+
+ * tao/Codeset/Codeset_Manager_i.cpp:
+ * tao/RTCORBA/RT_ORBInitializer.cpp:
+ Wchar fixes
+
+Thu Sep 22 08:21:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/POA/DSI/Server.cpp:
+ Emulated exceptions fixes
+
+ * tao/IIOP_Endpoint.cpp:
+ * tao/MCAST_Parser.cpp:
+ * tao/ORB_Core.cpp:
+ Wchar fixes
+
+Thu Sep 22 08:13:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tests/CallbackTest/Service.cpp:
+ * tests/CallbackTest/server.cpp:
+
+ Fixed compile errors.
+
+Wed Sep 21 08:06:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tests/CallbackTest/Callback.{h,cpp}:
+
+ Fixed compile errors.
+
+Tue Sep 20 17:23:37 2005 Arvind S. Krishna <arvindk@doc.dre.vanderbilt.edu>
+
+ * tao/Connection_Handler.inl:
+ * tao/GIOP_Message_Base.cpp:
+ * tao/PortableServer/Servant_Base.cpp:
+
+ Added hooks in the source file to enable aggressive
+ specialization of request processing in certain conditions.
+
+Tue Sep 20 21:18:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tests/IPV6/run_test.pl:
+
+ Added a test.
+
+Tue Sep 20 15:13:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tests/CallbackTest/CallbackTest.mpc:
+ * tests/CallbackTest/Callback{.h .cpp}:
+ * tests/CallbackTest/Test.idl:
+ * tests/CallbackTest/Service{.h .cpp}:
+ * tests/CallbackTest/client.cpp:
+ * tests/CallbackTest/server.cpp:
+ * tests/CallbackTest/run_test.pl:
+ * tests/CallbackTest/run_test_ipv6.pl:
+ * tests/CallbackTest/run_test_mixed_ip.pl:
+ * tests/CallbackTest/README:
+
+ Added new test.
+
+Tue Sep 20 08:39:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * orbsvcs/tests/Notify/Basic/run_test_ipv6.pl:
+
+ Added IPV6 specific testscript.
+
+Tue Sep 20 08:32:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * orbsvcs/tests/IOR_MCast/ior_mcast_client_i.cpp:
+
+ Added some traces to be able to see testresult.
+
+ * orbsvcs/tests/IOR_MCast/run_test_ipv6.pl:
+
+ Added IPV6 specific testscript.
+
+Tue Sep 20 08:26:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tests/BiDirectional/run_test_ipv6.pl:
+
+ Added IPV6 specific testscript.
+
+Tue Sep 20 08:23:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tao/IIOP_Acceptor.cpp:
+ * tao/IIOP_Endpoint.cpp:
+ * tao/Invocation_Endpoint_Selectors.cpp:
+
+ Improvements for IPv6 support.
+
+Mon Sep 19 20:46:14 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp:
+
+ Removed run-time assertions. They generally shouldn't be used
+ in infrastructure code. Favor returning and checking error
+ conditions and/or throwing exceptions instead.
+
+Mon Sep 19 16:14:09 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp: Fixed the
+ initialization of the event_channel_ and typed_event_channel_
+ data members. Thanks to Lukas Gruetzmacher
+ <gruetzmacher@ais-dresden.de> for reporting this and suggesting
+ the fix.
+
+Mon Sep 19 16:11:12 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_home.cpp:
+
+ Added missing check for null before enqueueing a primary
+ key valuetype into the queue to be checked after parsing.
+ If there is no primary key specified, we don't want to
+ enqueue a 0, since the queue will then be non-empty but
+ have no usable value to dequeue.
+
+Mon Sep 19 14:50:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * tests/Bug_2234_Regression/server.cpp:
+
+ Eliminate unused exception macros.
+
+Mon Sep 19 11:45:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * orbsvcs/examples/Notify/Federation/Agent/Agent.cpp:
+
+ Corrected the correction due to non-standard MSVC name,
+ Thanks to Martin J.N. Corino for the correct interpretation.
+
+Mon Sep 19 10:15:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * orbsvcs/examples/Notify/Federation/Agent/Agent.cpp:
+
+ Corrected typo at line 7 (#include "strstrea.h")
+
+Mon Sep 19 08:50:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * tests/Bug_2234_Regression/run_test.pl:
+
+ Forced commit for chmod permissions.
+
+Mon Sep 19 08:00:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * tests/Bug_2234_Regression/server.cpp:
+
+ Incorrect emulated exception call for init_orb.
+
+Fri Sep 16 15:12:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * test/IPV6/Hello.mpc:
+
+ Removed and replaced by:
+
+ * test/IPV6/IPV6_Hello.mpc:
+
+ Because MPC can't work with identically named .mpc files
+ even in separate directories:-(
+
+Fri Sep 16 12:45:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * tests/Bug_2234_Regression/server.cpp:
+
+ Emulated exception incorrect macro used line 681.
+
+Fri Sep 16 10:55:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * test/IPV6/Hello.mpc:
+ * test/IPV6/Hello{.h .cpp}:
+ * test/IPV6/client.cpp:
+ * test/IPV6/server.cpp:
+ * test/IPV6/Test.idl:
+ * test/IPV6/run_test.pl:
+ * test/IPV6/README:
+
+ Added new IPV6 specific test.
+
+Fri Sep 16 08:53:55 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_ccm_pre_proc.cpp(lookup_cookie):
+
+ Changed creation of scoped name to use the member
+ UTL_Identifier for the "Components" module name,
+ instead of creating a new identifier.
+
+ * TAO_IDL/include/utl_err.h:
+ * TAO_IDL/util/utl_err.cpp:
+
+ - Changed existing error enum value from EIDL_ILLEGAL_VALUETYPE
+ to the more informative EIDL_ILLEGAL_BOXED_TYPE, which is
+ what this enum value is used to express.
+
+ - Added new error enum value EIDL_ILLEGAL_PRIMARY_KEY, to be
+ used in the check for illegal primary key described below.
+
+ * TAO_IDL/fe/idl.yy:
+ * TAO_IDL/fe/y.tab.cpp:
+
+ Changed usage of EIDL_ILLEGAL_VALUETYPE to
+ EIDL_ILLEGAL_BOXED_TYPE.
+
+ * TAO_IDL/tao_idl.cpp:
+ * TAO_IDL/ast/ast_home.cpp:
+ * TAO_IDL/ast/ast_structure.cpp:
+ * TAO_IDL/ast/ast_type.cpp:
+ * TAO_IDL/ast/ast_union.cpp:
+ * TAO_IDL/ast/ast_valuetype.cpp:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/include/ast_type.h:
+ * TAO_IDL/include/ast_union.h:
+ * TAO_IDL/include/ast_valuetype.h:
+ * TAO_IDL/include/idl_global.h:
+ * TAO_IDL/util/utl_global.cpp:
+
+ Added check for illegal usage of a valuetype as a primary key.
+ The CCM spec puts several constraints on valuetypes that are
+ used as primary keys, and making sure these constaints are
+ satisfied requires checking the valuetype's inheritance
+ graph, as well as recursively checking its members. Valuetypes
+ used as primary keys are place in a list, and the list is
+ checked after all parsing has finished, so that we can be
+ sure all forward declared structs and unions have been
+ fully defined.
+
+Thu Sep 15 15:54:24 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am:
+
+ Regenerated.
+
+ * tao/tao.mpc:
+
+ Added WrongTransactionS.h to Header_Files.
+
+Thu Sep 15 15:25:06 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/CosNaming_Serv.mpc:
+
+ Added Naming/nsconf.h to Header_Files.
+
+Thu Sep 15 14:04:28 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h
+ (dispatch):
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp
+ (dispatch):
+
+ Removed unnecessary exception specification. It prevented user
+ exceptions from being propagated to the caller. Thanks to David
+ Carlton <david dot carlton at sun dot com> for reporting the
+ problem and to Johnny Willemsen for suggesting a fix.
+
+Thu Sep 15 12:42:34 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/Makefile.am:
+
+ Regenerated.
+
+Thu Sep 15 14:16:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * tests/Bug_2234_Regression/server.cpp:
+
+ Emulated exception incorrect macro used line 118/156.
+
+Wed Sep 14 10:34:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * tests/Bug_2234_Regression/server.cpp:
+
+ Correct another minor fussy compiler gripe.
+
+Wed Sep 14 09:45:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * tests/Bug_2234_Regression/client.cpp:
+ * tests/Bug_2234_Regression/server.cpp:
+
+ Correct minor fussy compiler gripes for some gcc platforms.
+
+Wed Sep 14 08:41:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * orbsvcs/examples/Notify/Federation/Agent/Agent.cpp:
+
+ Fixed compile error.
+
+Tue Sep 13 11:43:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * examples/Advanced/ch_3/client.cpp:
+ * examples/Advanced/ch_3/server.cpp:
+ * orbsvcs/examples/Notify/Federation/Agent/Agent.cpp:
+ * tests/Bug_1639_Regression/struct_client.cpp:
+
+ Fixed for environments defining ACE_USES_OLD_IOSTREAMS
+ (which unfortunately is the case for Windows x64 at the
+ moment due to shortcomings in the Platform SDK).
+
+Tue Sep 13 10:30:00 UTC 2005 Simon Massey <sma@prismtech.com>
+
+ * tao/AnyTypeCode/Any.cpp:
+
+ * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union/any_op_cs.cpp:
+
+ * tests/Bug_2234_Regression/Bug_2234_Regression.mpc:
+ * tests/Bug_2234_Regression/Test.idl:
+ * tests/Bug_2234_Regression/client.cpp:
+ * tests/Bug_2234_Regression/run_test.pl:
+ * tests/Bug_2234_Regression/server.cpp:
+
+ This fixes bug 2234.
+ The Portiable Interception call to arguments() attempts to create
+ a read-only copy of all arguments passed into the current method.
+ Unfortunatly during the call to receive_request() the "out" args
+ of variable length types have not yet been allocated by the server
+ and so are NULL pointers. A deep copy was being attempted which
+ de-referenced these NULLs causing a crash. Explicit NULL checks
+ are now performed for these types and a NULL pointer to the type
+ is placed into the arg list instead.
+
+Tue Sep 13 10:18:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tests/Portable_Interceptors/Bug_1559/run_test.pl:
+ * tests/Portable_Interceptors/Dynamic/run_test.pl:
+ * tests/Portable_Interceptors/Service_Context_Manipulation/run_test.pl:
+ * tests/RTCORBA/Persistent_IOR/run_test.pl:
+
+ Removed '-ORBObjRefStyle url' switch because it causes problems with IPv6
+ builds and is not essential to the tests.
+
+ * tests/Hang_Shutdown/server.cpp:
+ * tests/Hang_Shutdown/client.cpp:
+
+ Adjusted test timeouts because they were a little too tight for
+ Windows/IPv6 environment.
+
+Mon Sep 12 11:52:22 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerate.
+
+Mon Sep 12 11:34:13 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/orb.idl:
+
+ Had left fix commented out in Fri Sep 9 11:08:40 2005 Simon McQueen.
+
+Fri Sep 9 22:00:24 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_array.cpp:
+ * TAO_IDL/ast/ast_field.cpp:
+ * TAO_IDL/ast/ast_interface.cpp:
+ * TAO_IDL/ast/ast_sequence.cpp:
+ * TAO_IDL/ast/ast_structure.cpp:
+ * TAO_IDL/ast/ast_type.cpp:
+ * TAO_IDL/ast/ast_typedef.cpp:
+ * TAO_IDL/ast/ast_union.cpp:
+ * TAO_IDL/ast/ast_valuetype.cpp:
+ * TAO_IDL/include/ast_array.h:
+ * TAO_IDL/include/ast_field.h:
+ * TAO_IDL/include/ast_interface.h:
+ * TAO_IDL/include/ast_sequence.h:
+ * TAO_IDL/include/ast_structure.h:
+ * TAO_IDL/include/ast_type.h:
+ * TAO_IDL/include/ast_typedef.h:
+ * TAO_IDL/include/ast_union.h:
+ * TAO_IDL/include/ast_valuetype.h:
+
+ - Added virtual legal_for_primary_key() method to AST_Type
+ plus overrides for derived node classes AST_Sruct,
+ AST_Union, AST_Array, AST_Sequence, AST_Typedef,
+ AST_Interface, and AST_Valuetype. The override in
+ AST_Valuetype is empty at this time, but when finished,
+ the method will be called on a valuetype when it is used
+ as a primary key of a component. The method will check
+ the various constraints put on valuetypes used as
+ primary keys by the CCM spec. It will, among other
+ things, be called recursively on the valuetype's members.
+
+ - Made some accessor methods, such as base_type() and
+ field_type(), const.
+
+Fri Sep 9 11:08:40 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/orb.idl:
+
+ Add include of WrongTransaction.pidl.
+
+ * tao/WrongTransaction.pidl:
+
+ Update generation instructions.
+
+ * tao/WrongTransactionS.h:
+ * tao/WrongTransactionS.inl:
+
+ Add these new 'handcrafted' files. These changes fix
+ bug #1813.
+
+ * tests/Bug_1813_Regression/Bug_1813_Regession.mpc:
+ * tests/Bug_1813_Regression/Test.idl:
+ * tests/Bug_1813_Regression/test.cpp:
+
+ Regression test for the above.
+
+Fri Sep 9 10:28:11 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/orb.idl:
+
+ Add ValueFactory to CORBA module. Fixes bug #1812.
+
+ * tests/Bug_1812_Regression/Bug_1812_Regession.mpc:
+ * tests/Bug_1812_Regression/Test.idl:
+ * tests/Bug_1812_Regression/test.cpp:
+
+ Regression test for the above.
+
+Thu Sep 8 16:39:10 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * tao/tao.mpc:
+
+ Added AnyTypeCode_Adapter.h and Any_Insert_Policy_T.h
+ to list of Header_Files.
+
+Wed Sep 7 15:54:08 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+Wed Sep 7 11:47:35 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * tao/IIOP_Acceptor.cpp:
+
+ Marker modified for the specializations to work properly.
+
+Tue Sep 6 15:54:57 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Bug_2222_Regression/test.cpp:
+
+ Fixed unused argument warnings.
+
+ * tests/DynAny_Test/test_dynany.cpp:
+ * tests/DynAny_Test/test_dynunion.cpp:
+
+ More include directive reordering to address g++ 3.4 order of
+ parsing template related errors.
+
+Tue Sep 6 15:40:17 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp (gen_stub_src_includes):
+
+ Reordered include directives to address CORBA::AbstractBase
+ order of parsing related template compile-time errors with g++
+ 3.4 or better and some HP compilers.
+
+Tue Sep 6 17:26:39 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * tao/Endpoint.h
+
+ Accidentally committed a file with the instrumented
+ code. Reverted this and updated the markers.
+
+Tue Sep 6 16:12:04 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * tao/Connection_Handler.cpp:
+ * tao/IIOP_Acceptor.cpp:
+ * tao/IIOP_Connector.h:
+ * tao/IIOP_Endpoint.h:
+ * tao/IIOP_Endpoint.cpp:
+ * tao/IIOP_Profile.h:
+ * tao/Transport.h:
+ * tao/Transport_Acceptor.h:
+
+ The markers in these files accidentally includes the destructor
+ which conflicts with the base class.
+
+Tue Sep 6 13:29:04 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * tao/IIOP_Endpoint.h:
+ * tao/IIOP_Profile.h:
+ * tao/Transport_Acceptor.h:
+ * tao/Profile.h:
+
+ Updated marker names as there was a mismatch in the code based
+ and the specialization files.
+
+Tue Sep 6 10:33:09 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/examples/ORT/Gateway_i.h:
+
+ Added "AnyTypeCode_methods.h" include directive as a temporary
+ work around for g++ 3.4 or better and some HP compiler order of
+ parsing template related issues.
+
+Tue Sep 6 11:32:31 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * tao/Connection_Handler.h:
+ * tao/Connection_Handler.cpp:
+ * tao/IIOP_Connection_Handler.h:
+ * tao/IIOP_Connection_Handler.cpp:
+ * tao/Transport.h:
+ * tao/Transport.cpp:
+ * tao/IIOP_Transport.h:
+ * tao/IIOP_Transport.cpp:
+ * tao/Endpoint.h:
+ * tao/IIOP_Endpoint.cpp:
+ * tao/IIOP_Endpoint.h:
+ * tao/Profile.h:
+ * tao/IIOP_Profile.h:
+ * tao/Profile.cpp:
+ * tao/IIOP_Profile.h:
+ * tao/Transport_Acceptor.h:
+ * tao/Traport_Acceptor.cpp:
+ * tao/IIOP_Acceptor.h:
+ * tao/IIOP_Connector.h:
+ * tao/IIOP_Connector.cpp:
+ * tao/Transport_Connector.h:
+ * tao/Transport_Connector.cpp:
+
+ Added markers within the Pluggable protocols frameworks for
+ specializing the implementation with a concrete protocol
+ implementation, e.g., iiop.
+
+Mon Sep 5 12:11:28 2005 Simon McQueen <sm@prismtech.com>
+
+ * TAO_IDL/be/be_visitor_typedef/typedef_ci.cpp:
+
+ Only omit generating the copy, dup, alloc & free operations
+ if the typedef is imported. This fixes bugzilla #2222.
+
+ * tests/Bug_2222_Regression/Bug_2222_Regression.mpc:
+ * tests/Bug_2222_Regression/TestCase.idl:
+ * tests/Bug_2222_Regression/TestType.idl:
+ * tests/Bug_2222_Regression/test.cpp:
+
+ Regression test for the above.
+
+Fri Sep 02 13:21:30 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * performance-tests/Callback/Callback_i.cpp:
+ * performance-tests/Latency/DII/client.cpp:
+ * performance-tests/Latency/Deferred/client.cpp:
+ * performance-tests/Latency/Thread_Per_Connection/Client_Task.cpp:
+ * performance-tests/Latency/Thread_Pool/Client_Task.cpp:
+ * performance-tests/POA/Demux/demux_test_client.cpp:
+ * performance-tests/Sequence_Latency/DII/client.cpp:
+ * performance-tests/Sequence_Latency/Deferred/client.cpp:
+ * performance-tests/Sequence_Latency/Thread_Pool/Client_Task.cpp:
+ Used ACE_hrtime_t and ACE_HRTIME_TO_U64 macro for platform
+ independence.
+
+Fri Sep 2 12:51:23 2005 Ciju John <john_c@ociweb.com>
+
+ * tests/Big_Request_Muxing/Payload_Receiver.h:
+ * tests/Big_Request_Muxing/Payload_Receiver.cpp
+ * tests/Big_Request_Muxing/run_test.pl
+ * tests/Big_Request_Muxing/Big_Request_Muxing.mpc
+ * tests/Big_Request_Muxing/Client_Task.cpp
+
+ Added AnyTypeCode includes. Removed msvc checks. VxWorks fixes.
+
+Fri Sep 2 11:05:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tao/MCAST_Parser.cpp:
+ Small change concerning IPv6 multicast support.
+
+Fri Sep 2 09:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Array_VarOut_T.inl:
+ Reverted a C++ cast back to a c-style cast, vc6 can't handle
+ the C++ cast. Added a remark that we can use a C++ cast when
+ vc6 has been dropped
+
+Thu Sep 1 16:56:12 2005 Ciju John <john_c@ociweb.com>
+
+ * tests/Big_Request_Muxing/*
+ Brought in OCI modified tests.
+
+ Wed Jul 13 09:57:17 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Big_Request_Muxing/run_test.pl:
+
+ Added a separator between tests to aid in debugging.
+
+ Tue Jul 5 07:31:33 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Big_Request_Muxing/server.cpp:
+
+ Added includes for inline=0 builds.
+
+ Wed Jun 29 14:35:36 2005 Justin Michel <michel_j@ociweb.com>
+
+ * tests/Big_Request_Muxing/client.cpp:
+ * tests/Big_Request_Muxing/run_test.pl:
+ * tests/Big_Request_Muxing/server.cpp:
+
+ This test was destroying the orb before the orb was
+ finished sending requests. The test still fails intermittently,
+ because sometimes events are lost. I tried changing SYNC_NONE to
+ SYNC_WITH_TRANSPORT, but this didn't help. This may be a real
+ TAO bug. I changed the run_test.pl to run more iterations so
+ that the bug should happen more often.
+
+ Tue Jun 28 08:46:29 2005 Justin Michel <michel_j@ociweb.com>
+
+ * tests/Big_Request_Muxing/Client_Task.cpp:
+ * tests/Big_Request_Muxing/Payload_Receiver.h:
+ * tests/Big_Request_Muxing/Payload_Receiver.cpp:
+ * tests/Big_Request_Muxing/client.cpp:
+ * tests/Big_Request_Muxing/run_test.pl:
+ * tests/Big_Request_Muxing/server.cpp:
+
+ Changed the way the test works so that it prints an
+ error if too many messages are received. Added a -e parameter
+ when starting the server in the run_test.pl to expect the
+ correct number of events when running multiple clients. Added
+ additional debugging output. Changed the default number of
+ events from 12000 to 1200 to make the test run faster.
+
+ Mon Jun 27 12:15:31 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Big_Request_Muxing/client.cpp:
+
+ This test was changed a while back to decrease the
+ amount of time it takes to run. However, a time value of 2
+ miniutes was overlooked (and was causing problems during test
+ shutdown). I have changed it to be 10 seconds.
+
+ Sat Jun 25 14:30:34 2005 Justin Michel <michel_j@ociweb.com>
+
+ * tests/Big_Request_Muxing/Client_Task.h:
+ * tests/Big_Request_Muxing/Client_Task.cpp:
+ * tests/Big_Request_Muxing/Payload_Receiver.h:
+ * tests/Big_Request_Muxing/Payload_Receiver.cpp:
+ * tests/Big_Request_Muxing/Test.idl:
+ * tests/Big_Request_Muxing/client.cpp:
+ * tests/Big_Request_Muxing/run_test.pl:
+ * tests/Big_Request_Muxing/server.cpp:
+
+ Changed the processes in this test to actually wait for
+ the test to complete instead of simply running for two minutes.
+
+Thu Sep 1 19:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/Event_Service/Event_Service.{h,cpp}:
+ Restored -n to the original behaviour, it is the name that will
+ be used to register to the naming service. With the new option
+ -x we can indicate that the event service shouldn't register
+ with the naming service. This is just as the other orbsvcs,
+ thanks to JT for indicating this.
+
+ * docs/ec_options.html:
+ Updated
+
+Thu Sep 1 16:54:53 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_interface_strategy.cpp:
+
+ Fixed typo in comment.
+
+ * TAO_IDL/be/be_interface.cpp (gen_stub_ctor):
+
+ Fixed order of generated base class stub constructor calls
+ when the interface has both concrete and abstract parents.
+
+ * TAO_IDL/be/be_visitor_amh_pre_proc.cpp (visit_interface):
+ * TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+
+ Disabled all AMH-related code generation for interfaces that
+ have an abstract ancestor. The AMH_-prefixed
+ classes have an inheritance structure that reflects that of
+ the corresponding IDL interfaces. This poses a problem
+ when the interface has an abstract ancestor, since no skeleton
+ code is generated for abstract interfaces.
+
+ * tests/IDL_Test/fwd.idl:
+
+ Just after an interface with a concrete and an abstract parent,
+ added another interface with the same parents in reverse order.
+ This change is to test the order of generated base class stub
+ constructor calls in the stub inline file.
+
+Thu Sep 01 08:30:31 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * TAO_IDL/be/be_visitor_typecode/union_typecode.cpp:
+ Add extra underscore in generated names to help reduce conflicts
+ with user supplied names.
+
+Thu Sep 1 14:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/Event_Service/Event_Service.{h,cpp}:
+ Made it possible to just pass -n to indicate that no service
+ name should be used. At that moment the Event_Service will not
+ register itself with the naming service. If also the default
+ scheduling service option (none) is used, then the naming
+ service is not used at all. This is usefull for systems where
+ the Event_Service is with the option to write the IOR to file,
+ then the user doesn't need the naming service.
+
+ * docs/ec_options.html:
+ Documentated the commandline options of the Event_Service executable
+
+Thu Sep 1 10:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/MCAST_Parser.cpp:
+ * tao/params.cpp:
+ * tao/Transport_Connector.cpp:
+ Fixed 64bit conversion warnings
+
+Thu Sep 1 09:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.{h,cpp}:
+ Fixed gcc4 compile errors
+
+Thu Sep 1 08:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_interface.cpp:
+ Fixed variable not used warning
+
+Thu Sep 1 07:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/default_resource.cpp:
+ Use the new ACE_REMOVE_SERVICE_DIRECTIVE macro to remove the
+ TAO_CodeSet. Thanks to Lothar Werzinger <lothar at xcerla dot com>
+ for reporting this. This fixes bugzilla bug 2227
+
+Wed Aug 31 21:49:41 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/IDL_Test/fwd.idl:
+
+ Added simple test case to reproduce the situation described
+ below in
+
+ Wed Aug 31 21:19:41 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>.
+
+Wed Aug 31 21:19:41 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_interface/interface_ch.cpp:
+
+ Removed some unnecessary code.
+
+ * TAO_IDL/be/be_interface.cpp (redefine):
+
+ Changed the method to handle the use case where an interface
+ with one or more abstract parents has been forward declared,
+ then fully defined. The IDL compiler maintains an internal
+ queue of interfaces with mixed (abstract and concrete)
+ parentage, in order to generate overloads of CORBA::release()
+ and CORBA::is_nil(). The process of full definition after
+ forward declaration ends up deleting the node that has
+ been put in the queue (just after redefine() returns), so
+ we now update the queue inside the redefine() method. Thanks
+ to Paul Friberg <p.friberg@isti.com> for providing the
+ sample IDL that uncovered the bug.
+
+Wed Aug 31 18:24:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * docs/Options.html:
+ Corrected description of option ORBUseSharedProfiles which in
+ reality is 'ORBUseSharedProfile' (without the 's') and by
+ is *disabled* instead of enabled!
+
+Wed Aug 31 11:53:51 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tests/Any/Recursive/NonRecursive.idl:
+ * tests/Any/Recursive/RecursiveHello.mpc:
+
+ New IDL containing non-recursive structures that triggered the
+ TAO_IDL recursive type false positive problem described in bug
+ 2225. This IDL will be used to prevent such problems from being
+ reintroduced. Thanks to Bruce MacDonald
+ <brucemac at netcomuk dot co dot uk> for supplying this IDL.
+
+Wed Aug 31 10:53:06 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_typecode/struct_typecode.cpp:
+ * TAO_IDL/be/be_visitor_typecode/union_typecode.cpp:
+ * TAO_IDL/be/be_visitor_typecode/value_typecode.cpp:
+
+ Fixed false positive recursion detection by using Jeff's existing
+ type-specific in_recursion() method. Thanks to Jeff for
+ explaining how to use that method. [Bug 2225]
+
+Wed Aug 31 13:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/TypeCode.h:
+ Export the unaliased_kind method
+
+Wed Aug 31 13:12:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/BooleanSeqC.{h,cpp}:
+ * tao/CharSeqC.{h,cpp}:
+ * tao/DoubleSeqC.{h,cpp}:
+ * tao/FloatSeqC.{h,cpp}:
+ * tao/AnyTypeCode/BooleanSeqA.{h,cpp}:
+ * tao/AnyTypeCode/CharSeqA.{h,cpp}:
+ * tao/AnyTypeCode/DoubleSeqA.{h,cpp}:
+ * tao/AnyTypeCode/FloatSeqA.{h,cpp}:
+ Regenerated
+
+Wed Aug 31 12:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/TypeCode.{h,cpp,inl}:
+ Moved unaliased_kind to the cpp file, it uses a TypeCode_var
+ which requires again the TypeCode_methods which causes issues
+ with GCC4
+
+Wed Aug 31 12:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/corba.h:
+ Removed include of AnyTypeCode/TypeCode.h
+
+ * tao/Exception.h:
+ Removed _tc_exception_type
+
+ * tao/Exception_Data.h:
+ Added forward declaration CORBA::TypeCode_ptr
+
+ * tao/Profile.h:
+ Removed not needed forward declarations
+
+Wed Aug 31 11:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/IFR_Service/be_global.h:
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/Client_Request_Interceptor.h:
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/Request_Interceptor.h:
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/Server_Request_Interceptor.h:
+ Fixed GCC4 error
+
+ * tao/TypeCode.cpp:
+ Removed this file, it shouldn't be in the archive anymore
+
+ * tao/Environment.i (_nil):
+ Use a static cast instead of a c-style cast
+
+ * tao/Object.{cpp,i} (is_nil):
+ Use true/false instead of 1/0
+
+ * tao/AnyTypeCode/TC_Constants_Forward.h:
+ Added forward declaration of TypeCode
+
+Wed Aug 31 11:21:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/IFR_Service/IFR_Service.h:
+ Fixed GCC4 error
+
+ * tao/ULongSeq.pidl:
+ Updated regeneration instructions
+
+ * tao/ULongSeqC.{h,cpp}:
+ * tao/AnyTypeCode/ULongSeqA.{h,cpp}:
+ Regenerated without patching.
+
+Wed Aug 31 10:57:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/WStringSeq.pidl:
+ * tao/WCharSeq.pidl:
+ Updated regeneration instructions
+
+ * tao/WStringSeqC.{h,cpp}:
+ * tao/WCharSeqC.{h,cpp}:
+ * tao/AnyTypeCode/WStringSeqA.{h,cpp}:
+ * tao/AnyTypeCode/WCharSeqA.{h,cpp}:
+ Regenerated without patching.
+
+Wed Aug 31 10:01:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/Notify_Service/Notify_Server.cpp
+ * orbsvcs/Notify_Service/Notify_Service.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.cpp
+ * orbsvcs/orbsvcs/IFRService/HomeDef_i.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils_T.cpp
+ * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp
+ * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp
+ * orbsvcs/tests/Notify/Driver/main.cpp
+ * orbsvcs/tests/Time/Client_i.cpp
+ * tao/AnyTypeCode/append.cpp
+ * tao/DynamicAny/DynStruct_i.cpp
+ * tao/DynamicAny/DynUnion_i.cpp
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp
+ * tao/PortableServer/Default_Servant_Dispatcher.cpp
+ * tao/PortableServer/LifespanStrategyPersistent.cpp
+ * tao/PortableServer/ServantRetentionStrategyRetain.cpp
+ * tao/RTCORBA/RT_Endpoint_Utils.cpp
+ * tao/RTCORBA/RT_Protocols_Hooks.cpp
+ * tao/TypeCodeFactory/TypeCodeFactory_i.cpp
+ * tests/Exposed_Policies/Policy_Verifier.cpp
+ * tests/MProfile_Connection_Timeout/client.cpp
+ * tests/NestedUpcall/MT_Client_Test/server.cpp
+ * tests/NestedUpcall/Triangle_Test/server_B.cpp
+ * tests/ORT/ServerRequestInterceptor.cpp
+ * tests/Policies/Manipulation.cpp
+ * tests/Portable_Interceptors/Benchmark/client.cpp
+ Fixed emulated exception fuzz errors
+
+Wed Aug 31 09:27:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp:
+ Replaced deprecated ACE cast macro
+
+Wed Aug 31 09:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.h:
+ Reordered includes to fix vc71 link warnings
+
+Tue Aug 30 17:05:11 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+Tue Aug 30 16:30:30 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Notify_Service/Notify_Service.cpp (shutdown):
+
+ Removed code that abuses ._retn() to release orb, poa,
+ naming context, etc. This may have been done because
+ the driver class was previously a file-scope static,
+ but now that it's allocated on the stack within main()
+ we can let the destructor release these variables.
+
+Tue Aug 30 16:09:53 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Notify_Service/Notify_Server.cpp:
+
+ Removed extraneous ACE_DEBUG().
+
+Tue Aug 30 15:56:49 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Notify_Service/Notify_Server.cpp:
+
+ Changed to add support for clean shutdown with SIGINT/SIGTERM
+ using the Service_Shutdown class from the Svc_Utils library.
+
+Tue Aug 30 12:42:18 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.cpp:
+
+ Removed inclusion of .i files to complete my earlier commit.
+
+Tue Aug 30 11:22:51 2005 Steve Totten <totten_s@ociweb.com>
+
+ * tests/IDL_Test/IDL_Test.mpc:
+ * tests/IDL_Test/array_only.idl:
+ Added a test for the IDL compiler to make sure code generated for
+ an IDL file that contains nothing but an array definition will
+ compile correctly. Thanks to Yevgen Galchenko for supplying the
+ test case.
+
+Tue Aug 30 10:03:24 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp:
+
+ Fixed errors in Fuzz build and use of deprecated ACE cast macros
+
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.i:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.i:
+
+ Removed these b/c they're empty and fix a fuzz build.
+
+Tue Aug 30 14:43:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * docs/Options.html:
+ Added docu for new IPv6 specific options (ORBPreferIPV6Interfaces and
+ ORBConnectIPV6Only).
+
+Tue Aug 30 14:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Kokyu_dsrt_schedulers/EDF_Scheduler.cpp
+ * examples/Kokyu_dsrt_schedulers/FP_Scheduler.cpp
+ * examples/Kokyu_dsrt_schedulers/MIF_Scheduler.cpp
+ * examples/Kokyu_dsrt_schedulers/MUF_Scheduler.cpp
+ * examples/RTCORBA/Activity/Activity.cpp
+ * examples/RTCORBA/Activity/Task_Stats.cpp
+ * orbsvcs/Concurrency_Service/Concurrency_Service.cpp
+ * orbsvcs/Event_Service/Event_Service.cpp
+ * orbsvcs/FTRT_Event_Service/Event_Service/FT_EventService.cpp
+ * orbsvcs/FTRT_Event_Service/Factory_Service/FTRTEC_Factory_Service.cpp
+ * orbsvcs/FTRT_Event_Service/Gateway_Service/FTRTEC_Gateway_Service.cpp
+ * orbsvcs/LifeCycle_Service/LifeCycle_Service.cpp
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.cpp
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.cpp
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.cpp
+ * orbsvcs/Naming_Service/Naming_Server.cpp
+ * orbsvcs/Naming_Service/Naming_Service.cpp
+ * orbsvcs/Notify_Service/Notify_Server.cpp
+ * orbsvcs/Notify_Service/Notify_Service.cpp
+ * orbsvcs/Scheduling_Service/Scheduling_Service.cpp
+ * orbsvcs/Time_Service/Clerk_i.cpp
+ * orbsvcs/Time_Service/Server_i.cpp
+ * orbsvcs/Trading_Service/Trading_Service.cpp
+ * orbsvcs/examples/Notify/Lanes/Consumer_Client.cpp
+ * orbsvcs/examples/Notify/Lanes/Supplier_Client.cpp
+ * orbsvcs/examples/Notify/ThreadPool/Consumer_Client.cpp
+ * orbsvcs/examples/Notify/ThreadPool/Supplier_Client.cpp
+ * orbsvcs/orbsvcs/Scheduler_Factory.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp
+ * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp
+ * orbsvcs/orbsvcs/Event/EC_Gateway_IIOP_Factory.cpp
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Factory.cpp
+ * orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Loader.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Fault_Detector_Loader.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Identification_Service.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Replication_Service.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Acceptor_Impl.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Completion_Handler.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp
+ * orbsvcs/orbsvcs/HTIOP/HTIOP_Connector.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp
+ * orbsvcs/orbsvcs/Naming/Flat_File_Persistence.cpp
+ * orbsvcs/orbsvcs/Naming/Naming_Server.cpp
+ * orbsvcs/orbsvcs/Notify/CosNotify_Service.cpp
+ * orbsvcs/orbsvcs/Sched/DynSched.cpp
+ * orbsvcs/orbsvcs/Sched/Scheduler.cpp
+ * orbsvcs/orbsvcs/Trader/Trader.cpp
+ * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage/Receiver_Stats.cpp
+ * orbsvcs/tests/FtRtEvent/consumer.cpp
+ * orbsvcs/tests/FtRtEvent/supplier.cpp
+ * orbsvcs/tests/Notify/Destroy/main.cpp
+ * orbsvcs/tests/Notify/Driver/main.cpp
+ * orbsvcs/tests/Notify/lib/Activation_Manager.cpp
+ * orbsvcs/tests/Notify/lib/Command.cpp
+ * orbsvcs/tests/Notify/lib/Driver.cpp
+ * orbsvcs/tests/Redundant_Naming/client.cpp
+ * tao/CORBALOC_Parser.cpp
+ * tao/IIOP_Connection_Handler.cpp
+ * tao/IIOP_Profile.cpp
+ * tao/MCAST_Parser.cpp
+ * tao/ORB_Core.cpp
+ * tao/default_client.cpp
+ * tests/MProfile_Connection_Timeout/client.cpp
+ Replaced ACE_LIB_TEXT with ACE_TEXT. ACE_LIB_TEXT is only for in the
+ ACE lib itself.
+
+Tue Aug 30 14:04:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h:
+ Fixed export macro
+
+Tue Aug 30 06:42:46 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Server.cpp:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Server.cpp:
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Server.cpp:
+
+ Fix emulated exception builds.
+
+Tue Aug 30 13:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Param_Test/server.cpp:
+ * tests/Param_Test/except.cpp:
+ * tests/Faults/test_i.cpp:
+ * tests/Faults/ping.cpp:
+ * tests/AMI_Timeouts/timeout_client.cpp:
+ * tests/InterOp-Naming/Server_i.cpp:
+ * tests/Bug_1476_Regression/Client_Task.cpp:
+ * tests/Bug_1482_Regression/Reply_Handler.cpp:
+ * tests/Big_Oneways/Session.cpp:
+ Fixed emulated exception fuzz errors
+
+Tue Aug 30 13:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/PolicyS.cpp:
+ Regenerated this file and merged some of the changes caused by that,
+ especially the include order
+
+Tue Aug 30 12:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/util/utl_global.cpp:
+ Fixed hasspace implementation, if an empty string was passed the
+ function would loop forever. Also a space as second last character
+ in the string wasn't detected
+
+Tue Aug 30 10:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/Time_Service/Server_i.cpp:
+ Fixed compilation problem with emulated exceptions
+
+Tue Aug 30 09:12:12 UTC 2005 Martin Corino <mcorino@remedy.nl>
+
+ * tao/CORBALOC_Parser.cpp:
+ * IIOP_Acceptor.cpp:
+ * IIOP_Connection_Handler.cpp:
+ * IIOP_Connector.cpp:
+ * IIOP_Endpoint{.h .cpp. i}:
+ * IIOP_Profile.cpp:
+ * IIOP_Transport.cpp:
+ * Invocation_Endpoint_Selectors.cpp:
+ * MCAST_Parser.cpp:
+ * orbconf.h:
+ * ORB_Core.cpp:
+ * params{ .h .cpp}:
+ * orbsvcs/orbsvcs/IOR_Multicast.cpp:
+
+ Added IPv6 support for TAO.
+
+Tue Aug 30 06:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h:
+ Fixed pragma once is obsolete warning
+
+Tue Aug 30 01:20:32 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp (queue_full_action):
+
+ Fixed "'*/' found outside of comment" warning.
+
+Mon Aug 29 18:39:29 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/AV/AV_Core.h:
+ * orbsvcs/orbsvcs/AV/Policy.cpp::
+ * orbsvcs/orbsvcs/AV/Protocol_Factory.h::
+ * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h::
+ * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h::
+ * orbsvcs/orbsvcs/CosEvent/CEC_DynamicImplementation.h::
+ * orbsvcs/orbsvcs/CosEvent/CEC_Factory.h::
+ * orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h::
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp::
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h::
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp::
+ * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp::
+ * orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h::
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h::
+ * orbsvcs/orbsvcs/Event/ECG_Reactive_ConsumerEC_Control.cpp::
+ * orbsvcs/orbsvcs/Event/ECG_Reconnect_ConsumerEC_Control.cpp::
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp::
+ * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp:
+ * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp:
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/AMI_Replication_Strategy.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FT_ProxyAdmin_Base.h:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.cpp:
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/ForwardCtrlServerInterceptor.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.h:
+ * orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.cpp:
+ * orbsvcs/orbsvcs/Log/LogActivator.h:
+ * orbsvcs/orbsvcs/Log/Log_Persistence_Strategy.h:
+ * orbsvcs/orbsvcs/FtRtEvent/ClientORB/FTRT_ClientORB_Initializer.h:
+ * orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.cpp:
+ * orbsvcs/orbsvcs/Notify/Builder.h:
+ * orbsvcs/orbsvcs/Notify/POA_Helper.h:
+ * orbsvcs/orbsvcs/Notify/Properties.h:
+ * orbsvcs/orbsvcs/Notify/Timer.h:
+ * orbsvcs/orbsvcs/Notify/Timer_Reactor.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/GOA.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/GOA.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Group_Factory.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Object_Group_Manipulator.h:
+ * orbsvcs/orbsvcs/PortableGroup/PG_Servant_Dispatcher.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp:
+ * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp:
+ * orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.cpp:
+ * orbsvcs/orbsvcs/Trader/Trading_Loader.h:
+
+ Reordered include directives to make sure all necessary
+ non-dependent names are parsed before the templates that use
+ them. Addresses g++ 3.4.x or better compile-time errors.
+
+Mon Aug 29 18:45:49 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * tao/Wait_On_Read.cpp:
+ * tao/Wait_Strategy.cpp:
+
+ Added makers that aid in specializing the wait strategy
+ implementation in TAO.
+
+Mon Aug 29 14:08:42 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * tao/GIOP_Message_Base.h:
+ * tao/Strategies/UIOP_Transport.cpp:
+ * tao/Strategies/DIOP_Transport.cpp:
+ * tao/Strategies/SHMIOP_Transport.cpp:
+
+ Added markers that aid in specializing TAO's pluggable messaging
+ implementation with either GIOP or GIOP_Lite when the type of
+ messaging object is known a priori.
+
+Mon Aug 29 12:08:16 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Server.cpp:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Server.cpp:
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Server.cpp:
+
+ Changed to clarify error message output when service
+ initialization fails.
+
+Mon Aug 29 09:03:55 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * tao/default_resource.cpp:
+ * tao/Strategies/advanced_resource.cpp:
+
+ Added markers within the code to specialize TAO components with
+ concrete implementations. This commit relates to the commit on
+ Sun Aug 28 14:25:07 2005 Arvind S. Krishna
+ <arvindk@dre.vanderbilt.edu> on specializing middleware
+ components. The motivation here is added for sake of clarity.
+
+ As a part of the Feature Oriented Customizer (FOCUS) tool being
+ developed in my research, we are trying to specialize framework
+ implementation and strategies within middleware with concrete
+ counterparts when their implementation/type is known a priori.
+ FOCUS provides an XML based transformation engine, where the
+ specialization transformations are captured in XML file and a
+ weaver specializes the code.
+
+ To help in this transformation process, this commit adds markers
+ within the source code. These markers are added as special
+ comments. For example, //@@
+ REACTOR_SPL_INCLUDE_FORWARD_DECL_ADD_HOOK represents a hook
+ where forward declarations and include files are added by the
+ weaver. As these markers are comments therefore should not
+ affect normal applications in *any* manner. Additionally,
+ applications that use multiple reactor implementations not be
+ affected/do not need any change. Currently, these
+ specializations are targeted for TAO middleware, where
+ applications know the target reactor a priori and want to
+ leverage the specialization to improve performance.
+
+Mon Aug 29 13:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/Time_Service/Server_i.cpp:
+ Fixed emulated exception fuzz errors
+
+Mon Aug 29 13:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/LoadBalancer/LoadManager.cpp:
+ Fixed emulated exception fuzz errors
+
+Mon Aug 29 13:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/default_client.cpp:
+ Corrected argument initialisation order to silence GNU warnings
+
+Sun Aug 28 13:36:19 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
+
+ * tao/orbconf.h:
+
+ Updated the TAO_NULL_LOCK_REACTOR typedef to conform to the
+ following Reactor change: Fri Aug 26 18:01:31 2005 Steve Huston
+ <shuston@riverace.com>. In particular, updated
+ ACE_Select_Reactor_Token_T to ACE_Reactor_Token_T in the typedef
+ for ACE_Select_Reactor.
+
+Sat Aug 27 13:32:55 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/driver/drv_args.cpp:
+ * TAO_IDL/include/idl_global.h:
+ * TAO_IDL/util/utl_global.cpp:
+
+ Fixed the command line parsing to preserve the literal
+ quotes if they are used in an include path that has a space,
+ so the path is passed to the preprocessor with the literal
+ quotes following '-I'. Since the string is also added to
+ the IDL compiler's list of include paths this way, the
+ literal quotes must also be stripped off when using the
+ include path to form a full path for validation of
+ included files. This fix closes [BUGID:2219]. Thanks to
+ Dorian Hileaga <hdorianh@hotmail.com> for reporting the
+ problem.
+
+Sat Aug 27 11:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/ImplRepo_Service/Forwarder.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.cpp
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp
+ * orbsvcs/orbsvcs/Event/EC_Kokyu_Filter_Builder.cpp
+ * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp
+ Fixed emulated exception errors
+
+Sat Aug 27 10:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB_Core.cpp:
+ Added missing semi colon
+
+Fri Aug 26 23:48:25 2005 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ Fix for bug
+
+ http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=2224
+
+ * tao/Client_Strategy_Factory.cpp:
+ * tao/Client_Strategy_Factory.h:
+ * tao/default_client.cpp:
+ * tao/default_client.h:
+
+ New strategy ORBConnectionHandlerCleanup .
+
+ * tao/Connection_Handler.cpp:
+
+ Use the id for deregistration instead of the handle.
+
+ * tao/Transport_Cache_Manager.cpp:
+ * tao/Wait_On_Read.cpp:
+
+ Do the registration and deregistration. One could possibly think
+ of doing a suspend and resume instead of
+ registration/deregistration. Our reactor interfaces do not
+ provide a way to add a handler in a suspended mode. Doing a
+ registration and then calling suspend () could provide a window
+ of time where a thread could be dispatched. Hence the decision to
+ use registration/deregistration combo.
+
+Fri Aug 26 14:07:57 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp:
+
+ Fix the "export" class used in the ACE_FACTORY_DEFINE for the
+ TAO_EC_Simple_Queue_Full_Action. Hopefully this fixes the
+ internal compiler error on mingw compilers.
+
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp:
+
+ Fix problems for no-exception builds.
+
+Fri Aug 26 18:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/DynamicInterface/Server_Request.cpp:
+ Fixed fuzz error
+
+Fri Aug 26 18:25:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/CORBALOC_Parser.cpp:
+ * tao/ORB_Core.cpp:
+ * tao/Messaging/Asynch_Invocation.cpp:
+ * tao/PortableServer/Root_POA.cpp:
+ Fixed fuzz errors
+
+Fri Aug 26 11:42:29 2005 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * tao/Codeset/Codeset_Manager_i.cpp:
+ The codeset manager was doing the wrong thing when no codeset
+ information was available. The "default" codeset should be used
+ in that case, not the "fallback" codeset, which is only to be
+ used when codeset information is available, but no other codeset
+ will do.
+
+ * tao/Codeset/UTF8_Latin1_Translator.cpp:
+ This translator was not correctly appending the NUL to the end
+ of outbound strings.
+
+Fri Aug 26 11:33:07 2005 Justin Michel <michel_j@ociweb.com>
+
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.h:
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp:
+
+ * tao/CDR.h:
+ * tao/CDR.i:
+ * tao/LocateRequest_Invocation.cpp:
+ * tao/Synch_Invocation.cpp:
+ * tao/orbconf.h:
+
+ Add a new compile-time setting to TAO that controls whether output
+ CDRs are reset() after a request is sent. Enabling this feature greatly
+ reduces memory usage in some situations such as event services that
+ occasionally send large messages. However, it also currently exposes
+ (or introduces) a multi-threading bug introducing deadlocks or infinite
+ loops. One (of several) test that can show the problem is
+ TAO/orbsvcs/tests/Notify/Basic/run_test.pl notify.mt.conf.
+
+ Add a new constructor for input CDR that allows specifying a ACE_Lock* which
+ will be used to protect the ACE_Data_Block used in the CDR. This will be
+ used by the Any impl above. The current implementation uses a global mutex
+ to protect all instances, because the internals of the Any impl will
+ be copied around, and there's no way to give ownership of the lock to the
+ actual ACE_Data_Block that uses it.
+
+Fri Aug 26 06:33:04 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.cpp:
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.h:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.cpp:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.h:
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.cpp:
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.h:
+
+ Changed to add support for the thread pool concurrency model. A
+ new "-t" command line parameter is used to specify the number of
+ threads in the pool.
+
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Server.cpp:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Server.cpp:
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Server.cpp:
+
+ Changed to add support for clean shutdown with SIGINT/SIGTERM
+ using the Service_Shutdown class from the Svc_Utils library.
+
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Server.cpp:
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.cpp:
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.h:
+
+ Split main() out into new file Basic_Logging_Server.cpp.
+
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Server.cpp:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.cpp:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.h:
+
+ Split main() out into new file Event_Logging_Server.cpp.
+
+Fri Aug 26 13:45:10 2005 Simon McQueen <sm@prismtech.com>
+
+ * tests/Portable_Interceptors/PolicyFactory/server.cpp:
+ * tests/OBV/Supports/Supports_Test_impl.cpp:
+ * tests/OBV/Supports/client.cpp:
+ * tests/Big_Twoways/Session.cpp:
+ * tests/NestedUpcall/Triangle_Test/server_B.cpp:
+ * tests/NestedUpcall/MT_Client_Test/server.cpp:
+ * tests/Bug_1551_Regression/Reply_Handler.cpp:
+ * tests/InterOp-Naming/Server_i.cpp:
+
+ Chipping away at the fuzz errors.
+
+Fri Aug 26 13:17:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Acceptor_Registry.cpp:
+ * tao/default_server.h:
+ * tao/PortableServer/PortableServer_WFunctions.cpp:
+ * tao/Strategies/DIOP_Acceptor.cpp:
+ Fixed 64bit conversion warnings
+
+Fri Aug 26 12:30:47 2005 Simon McQueen <sm@prismtech.com>
+
+ * tao/AnyTypeCode.mpc:
+
+ Removed ServicesA.cpp from unconditional compilation list.
+ ServicesC.cpp does not get built in min corba builds.
+
+ * tao/extra_anytypecode.mpb:
+
+ Create feature template to include ServicesA.cpp only if not
+ a min corba build.
+
+Fri Aug 26 10:18:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB_Core.cpp:
+ Removed handling of ORBGlobalCollocation, it is deprecated for some
+ time. Also removed handling of ORBCollocation==YES, this is now
+ ORBCollocation==global.
+
+Fri Aug 26 09:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp
+ * TAO_IDL/be/be_visitor_exception/exception_ch.cpp
+ * TAO_IDL/be/be_visitor_exception/exception_cs.cpp
+ * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp
+ * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp
+ * TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp
+ * TAO_IDL/be/be_visitor_operation/exceptlist_ss.cpp
+ * TAO_IDL/include/utl_err.h
+ * TAO_IDL/util/utl_err.cpp
+ * docs/compiler.html
+ When the -St option is used to suppress typecodes, we now
+ also suppress the type codes of user exceptions. There is no
+ requirement for this from the orb, the only functionality the
+ user looses is the ability to retrieve which exceptions an
+ operation throws using interceptors.
+
+ * tao/Adapter_Factory.cpp
+ * tao/BiDir_Adapter.cpp
+ * tao/CORBALOC_Parser.cpp
+ * tao/Cleanup_Func_Registry.cpp
+ * tao/DLL_Parser.cpp
+ * tao/Endpoint_Selector_Factory.cpp
+ * tao/Environment.cpp
+ * tao/Exclusive_TMS.cpp
+ * tao/FILE_Parser.cpp
+ * tao/IFR_Client_Adapter.cpp
+ * tao/IOR_Parser.cpp
+ * tao/LF_Follower.cpp
+ * tao/Leader_Follower.cpp
+ * tao/MCAST_Parser.cpp
+ * tao/Muxed_TMS.cpp
+ * tao/ORB.cpp
+ * tao/ORB_Core.cpp
+ * tao/ORB_Table.cpp
+ * tao/Resource_Factory.cpp
+ * tao/Stub.cpp
+ * tao/Stub_Factory.cpp
+ * tao/TSS_Resources.cpp
+ * tao/Transport_Cache_Manager.cpp
+ * tao/default_resource.cpp
+ * tao/Codeset/Codeset_Manager_i.cpp
+ * tao/Codeset/UTF16_BOM_Factory.cpp
+ * tao/Codeset/UTF8_Latin1_Factory.cpp
+ * tao/DynamicAny/DynAnyFactory.cpp
+ * tao/DynamicAny/DynUnion_i.cpp
+ * tao/DynamicInterface/ExceptionList.cpp
+ * tao/DynamicInterface/Request.cpp
+ * tao/IORManipulation/IORManipulation.cpp
+ * tao/Messaging/Asynch_Invocation.cpp
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp
+ * tao/PortableServer/Active_Object_Map.cpp
+ * tao/PortableServer/ImR_Client_Adapter.cpp
+ * tao/PortableServer/LifespanStrategyPersistent.cpp
+ * tao/PortableServer/LifespanStrategyTransient.cpp
+ * tao/PortableServer/Object_Adapter.cpp
+ * tao/PortableServer/Operation_Table_Dynamic_Hash.cpp
+ * tao/PortableServer/RequestProcessingStrategyServantActivator.cpp
+ * tao/PortableServer/RequestProcessingStrategyServantLocator.cpp
+ * tao/PortableServer/Root_POA.cpp
+ * tao/PortableServer/Root_POA.inl
+ * tao/RTCORBA/RT_Mutex.cpp
+ * tao/RTCORBA/RT_ORB.cpp
+ * tao/RTCORBA/RT_Protocols_Hooks.cpp
+ * tao/RTCORBA/Thread_Pool.cpp
+ * tao/RTScheduling/Current.cpp
+ * tao/Strategies/DIOP_Connection_Handler.cpp
+ * tao/Strategies/DIOP_Connector.cpp
+ * tao/Strategies/SCIOP_Acceptor.cpp
+ * tao/Strategies/SCIOP_Connection_Handler.cpp
+ * tao/Strategies/SCIOP_Connector.cpp
+ * tao/Strategies/SHMIOP_Acceptor.cpp
+ * tao/Strategies/SHMIOP_Connection_Handler.cpp
+ * tao/Strategies/SHMIOP_Connector.cpp
+ * tao/Strategies/UIOP_Acceptor.cpp
+ * tao/Strategies/UIOP_Connection_Handler.cpp
+ * tao/Strategies/UIOP_Connector.cpp
+ * tao/Strategies/advanced_resource.cpp
+ * tao/TypeCodeFactory/TypeCodeFactory_i.cpp
+ * tao/Valuetype/AbstractBase.cpp
+ * tao/Valuetype/StringValueC.cpp
+ * tao/Valuetype/ValueFactory_Map.cpp
+ Fixed emulated exception fuzz errors and removed explicit
+ template instantiations
+
+Thu Aug 25 17:15:27 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+Thu Aug 25 16:43:15 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/AnyTypeCode/Any_Array_Impl_T.cpp:
+
+ Added include of Any.h, similar to Any_Dual_Impl_T.cpp, needed
+ when compiling code generated for arrays and not passing -Sa
+ or -St to the IDL compiler.
+
+Thu Aug 25 11:00:47 2005 Chris Cleeland <cleeland_c@ociweb.com>
+
+ This does two things in the Real Time Event Service:
+
+ 1. Added a new dispatching strategy--Thread Per Consumer. This
+ strategy is similar to the MT dispatching strategy in that it
+ separates the thread that receives the push() from a supplier
+ from the thread that does the eventual push() to the
+ consumer(s), but it differs from MT in that MT has a pool of
+ threads pulling from a single queue and ultimately potentially
+ servicing every consumer, whereas TPC has a queue for *each*
+ consumer and, thus, a single thread dedicated to pushing to that
+ consumer. This insures that a badly-behaved consumer CANNOT
+ have an adverse effect on the channel or supplier.
+
+ 2. It adds a means by which an application can specify what the
+ RTEC should do if the TAO_EC_Queue fills up. This behavior is
+ encapsulated in a derivation of an ACE_Service_Object, called
+ TAO_EC_Queue_Full_Service_Object. The RTEC looks for a service
+ object of a particular name (default in macro
+ TAO_EC_DEFAULT_QUEUE_FULL_SERVICE_OBJECT_NAME)
+
+ * orbsvcs/orbsvcs/RTEvent_Serv.mpc:
+
+ Updated to build new files that are part of the TPC strategy.
+
+ * orbsvcs/orbsvcs/Event/EC_Default_Factory.h:
+
+ Added new data member to hold the name of the service object
+ used for queue full behavior.
+
+ * orbsvcs/orbsvcs/Event/EC_Default_Factory.i:
+ * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp:
+
+ Added new option, -ECQueueFullServiceObject, that can be used to
+ specify the name/tag in the svc.conf file through which the RTEC
+ should look for a queue full service object.
+
+ * orbsvcs/orbsvcs/Event/EC_Defaults.h:
+
+ Added default service object name/tag,
+ TAO_EC_DEFAULT_QUEUE_FULL_SERVICE_OBJECT_NAME.
+
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i:
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp:
+
+ Added the TAO_EC_Simple_Queue_Full_Action service object
+ implementation into here, since only the TAO_EC_Dispatching_Task
+ needs to know about it. This default implementation has only
+ two choices of behavior: "wait" for not-full condition (the default) or
+ "discard" silently. Specification of the desired behavior is by
+ putting the word "wait" or "discard" as the first argument in this
+ object's svc.conf arg vector.
+
+ * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i:
+
+ Created new macros, TAO_EC_QUEUE_LWM and TAO_EC_QUEUE_HWM, that
+ can be used to specify the low-water and high-water marks for
+ the TAO_EC_Queue. Previously, these were hard-coded values.
+
+ * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.cpp:
+
+ Modifications to CTORs to allow passing of a service object
+ pointer from the factory down through the dispatching strategy
+ down to the dispatching task itself.
+
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.cpp:
+
+ Minor modifications to pass the service object to the
+ dispatching strategy.
+
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.i:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Dispatching_Task.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.i:
+ * orbsvcs/orbsvcs/Event/EC_TPC_Factory.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.h:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.i:
+ * orbsvcs/orbsvcs/Event/EC_TPC_ProxySupplier.cpp:
+
+ Rather than cluttering the EC_Default_Factory with yet another
+ dispatch strategy, this derives from the EC_Default_Factory and
+ replaces certain behaviors with its own. Thus, in order to use
+ this new strategy you will have to replace the call in your code
+ for TAO_EC_Default_Factory::init_svcs() with
+ TAO_EC_TPC_Factory::init_svcs().
+
+ * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: Moved event_channel_,
+ consumer_, and refcount_ into "protected" section so subclasses
+ can have access.
+
+ * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: Moved event_channel_
+ into "protected" section so subclasses can have access.
+
+Thu Aug 25 07:11:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp:
+ Fixed small bug
+
+Wed Aug 24 21:57:37 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * configure.ac: Copied in updated copyright paragraph from COPYING.
+
+Wed Aug 24 18:12:16 2005 Simon McQueen <sm@prismtech.com>
+
+ * TAO_IDL/util/utl_global.cpp:
+
+ Avoid recording duplicate file names in ::add_to_included_idl_files.
+ This fixes bug #2221.
+
+Wed Aug 24 11:59:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp:
+ Reordered includes to fix gcc4 build problems
+
+Wed Aug 24 10:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/Dynamic/server_interceptor.cpp:
+ * tests/Portable_Interceptors/Dynamic/client_interceptor.cpp:
+ * tests/Portable_Interceptors/Collocated/Dynamic/interceptors.cpp:
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/Client_Request_Interceptor.cpp:
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/Server_Request_Interceptor.cpp:
+ Explicitly include the AnyTypeCode_Adapter_Impl.h. These tests
+ use the functionality to get the method arguments as Any and
+ for this we now need the AnyTypeCode adapter. Fixes test failures
+ in the static builds.
+
+ * tao/PI/PI.cpp:
+ Also do the process directive for the PICurrent Loader
+
+ * tao/PI/PICurrent_Loader.{h,cpp}:
+ No static initializer needed here, this is in the PI file
+
+ * tests/Portable_Interceptors/PICurrent/server.cpp:
+ Fixed static runtime error
+
+Wed Aug 24 09:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ On the client side we passed the typecode of the user exceptions to the
+ invocation adapter, but this is only needed when interceptors are being
+ used.
+
+ * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp:
+ Generate a TAO_HAS_INTERCEPTORS==1 around the passing of the typecode
+ of the user exception
+
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ Removed generation of an environment variable in the client side
+ code which was not needed
+
+ * tao/Exception_Data.h
+ * tao/PI/ClientRequestInfo.cpp
+ Only store and use the typecode of an user exception when
+ interceptors are enabled
+
+ * tao/ImR_Client/ImplRepo.pidl:
+ * tao/ImR_Client/ServerObject.pidl:
+ Updated regeneration instructions to not use -GA
+
+ * tao/ImR_Client/ImplRepoA.h
+ * tao/ImR_Client/ImplRepoC.cpp
+ * tao/ImR_Client/ImplRepoC.h
+ * tao/ImR_Client/ImplRepoC.inl
+ * tao/ImR_Client/ImplRepoS.cpp
+ * tao/ImR_Client/ImplRepoS.h
+ * tao/ImR_Client/ServerObjectA.h
+ * tao/ImR_Client/ServerObjectC.cpp
+ * tao/ImR_Client/ServerObjectC.h
+ * tao/ImR_Client/ServerObjectC.inl
+ * tao/ImR_Client/ServerObjectS.cpp
+ * tao/ImR_Client/ServerObjectS.h
+ Regenerated
+
+ * tao/ImR_Client/ImplRepoA.cpp
+ * tao/ImR_Client/ServerObjectA.cpp
+ Removed
+
+ * tao/Makefile.am:
+ Updated
+
+Tue Aug 23 18:09:07 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/Bug_1395_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_1630_Regression/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Common/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/tests/Event/Mcast/Common/ECMcastTests_lib.mpc:
+
+ Removed nonexistant ectest_export.h file from Header_Files
+ section.
+
+Tue Aug 23 15:54:52 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp (gen_stub_hdr_includes):
+
+ Another round of generated include directive reording to address
+ template related order of parsing issues in g++ 3.4.x or better.
+
+ * tao/Any_Insert_Policy_T.h (any_insert):
+
+ Made these methods non-virtual. All binding is done at
+ compile-time so there is no need make them virtual. Also
+ addresses "class with virtual funtions but no virtual
+ destructor" g++ 4.0 warnings.
+
+ * tao/IFR_Client/IFR_ComponentsC.h:
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.h:
+
+ More g++ 3.4.x or better order of parsing related template
+ error fixes.
+
+Tue Aug 23 10:43:07 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/IORInterceptor/IORInterceptor_Adapter_Factory_Impl.cpp:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Factory_Impl.h:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.h:
+ * tao/IORManipulation/IORA.cpp:
+ * tao/ImR_Client/ImplRepoA.cpp:
+ * tao/ImR_Client/ImplRepoS.cpp:
+ * tao/ImR_Client/ServerObjectA.cpp:
+ * tao/ImR_Client/ServerObjectS.cpp:
+ * tao/ObjRefTemplate/Default_ORTA.cpp:
+ * tao/ObjRefTemplate/ObjectReferenceTemplateA.cpp:
+ * tao/RTCORBA/RTCORBAA.cpp:
+ * tao/RTCORBA/RT_ORBInitializer.h:
+ * tao/RTCORBA/rtcorba_export.h:
+ * tao/RTCORBA/rtcorba_typedefs.h:
+ * tao/RTPortableServer/RTPortableServerA.cpp:
+ * tao/RTScheduling/RTSchedulerC.h:
+ * tao/Strategies/sciop_endpointsC.cpp:
+ * tao/Strategies/uiop_endpointsC.cpp:
+ * tao/TypeCodeFactory/TypeCodeFactoryA.cpp:
+ * tao/TypeCodeFactory/TypeCodeFactoryC.h:
+ * tao/TypeCodeFactory/TypeCodeFactory_Adapter_Impl.cpp:
+ * tao/TypeCodeFactory/TypeCodeFactory_i.cpp:
+ * tao/Utils/RIR_Narrow.h:
+
+ Reordered include directives to make sure all necessary
+ non-dependent names are parsed before the templates that use
+ them. In the case of the "*A.h" files, this is a temporary
+ work-around until TAO_IDL is updated. Addresses g++ 3.4.x or
+ better compile-time errors.
+
+Tue Aug 23 14:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Strategies/SHMIOP_Acceptor.cpp:
+ Fixed possible unitialized warning
+
+Tue Aug 23 13:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp:
+ Added include of Any.h
+
+Tue Aug 23 13:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Abstract_Servant_Base.h:
+ * tao/PortableServer/Servant_Base.{h,cpp}:
+ Changed the type of the operation name length to size_t to fix
+ 64bit conversion warnings
+
+Tue Aug 23 12:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_operation/exceptlist_ss.cpp:
+ * tao/Abstract_Servant_Base.h:
+ * tao/CORBA_String.cpp:
+ * tao/Invocation_Adapter.{h,inl}:
+ * tao/ORB.cpp:
+ * tao/ServerRequestInterceptor_Adapter.h:
+ * tao/operation_details.{h,i}:
+ * tao/Domain/DomainS.cpp:
+ * tao/DynamicInterface/DII_Invocation_Adapter.{h,cpp}:
+ * tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp:
+ * tao/ImR_Client/ImplRepoS.cpp:
+ * tao/ImR_Client/ServerObjectS.cpp:
+ * tao/Messaging/Asynch_Invocation_Adapter.{h,cpp}:
+ * tao/Messaging/MessagingS.cpp:
+ * tao/PI_Server/ServerInterceptorAdapter.{h,cpp}:
+ * tao/PI_Server/ServerRequestInfo.{h,inl}:
+ * tao/PortableServer/PolicyS.cpp:
+ * tao/PortableServer/Upcall_Wrapper.{h,cpp}:
+ * tao/Valuetype/AbstractBase_Invocation_Adapter.{h,cpp}:
+ Fixed several 64bit conversion warnings. The size of the
+ exception list is now a CORBA::ULong, the length of the operation
+ name is size_t.
+
+Tue Aug 23 10:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/DynamicInterface/Request.cpp:
+ Fixed 64bit conversion warnings and removed some not needed
+ const casts
+
+Tue Aug 23 10:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/Fixed_Array_SArgument_T.{h,cpp}:
+ Fixed compilation issues with vc6
+
+Tue Aug 23 07:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Bug_1395_Regression/Bug_1395_Regression.mpc:
+ Added anytypecode
+
+Mon Aug 22 23:03:02 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.cpp:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.h:
+
+ Changed the event_log_factory_ member variable from a
+ TAO_EventLogFactory_i to a pointer to a TAO_EventLogFactory_i.
+ This delays execution of the constructor, which avoids the ORB
+ being constructed implicitly, which in turn allows any -ORB...
+ command line arguments to be parsed and removed from the argc/
+ argv vector in Event_Logging_Service::init_ORB().
+
+Mon Aug 22 21:33:37 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+
+ Another round of generated include directive reording to address
+ template related order of parsing issues in g++ 3.4.x or better.
+
+ * tao/Typecode_typesC.h:
+ * tao/ParameterModeC.h
+
+ Removed unnecessary include directives. They were causing
+ headers to be included that prematurely caused some templates to
+ be parsed before all non-dependent names were parsed. Addresses
+ g++ 3.4.x or better compile-time errors.
+
+ * tao/AnyTypeCode/BooleanSeqA.h:
+ * tao/AnyTypeCode/BoundsA.h:
+ * tao/AnyTypeCode/CONV_FRAMEA.h:
+ * tao/AnyTypeCode/CharSeqA.h:
+ * tao/AnyTypeCode/CurrentA.h:
+ * tao/AnyTypeCode/DomainA.h:
+ * tao/AnyTypeCode/DoubleSeqA.h:
+ * tao/AnyTypeCode/DynamicC.h:
+ * tao/AnyTypeCode/Dynamic_ParameterC.h:
+ * tao/AnyTypeCode/FloatSeqA.h:
+ * tao/AnyTypeCode/GIOPA.h:
+ * tao/AnyTypeCode/IIOPA.h:
+ * tao/AnyTypeCode/IIOP_EndpointsA.h:
+ * tao/AnyTypeCode/IOPA.h:
+ * tao/AnyTypeCode/IOP_IORA.h:
+ * tao/AnyTypeCode/LongDoubleSeqA.h:
+ * tao/AnyTypeCode/LongLongSeqA.h:
+ * tao/AnyTypeCode/LongSeqA.h:
+ * tao/AnyTypeCode/Messaging_PolicyValueA.h:
+ * tao/AnyTypeCode/NVList.h:
+ * tao/AnyTypeCode/ObjectIdListA.h:
+ * tao/AnyTypeCode/OctetSeqA.h:
+ * tao/AnyTypeCode/PI_ForwardA.h:
+ * tao/AnyTypeCode/ParameterModeA.h:
+ * tao/AnyTypeCode/PolicyA.h:
+ * tao/AnyTypeCode/Policy_ForwardA.h:
+ * tao/AnyTypeCode/PortableInterceptorA.h:
+ * tao/AnyTypeCode/ServicesA.h:
+ * tao/AnyTypeCode/ShortSeqA.h:
+ * tao/AnyTypeCode/StringSeqA.h:
+ * tao/AnyTypeCode/SystemExceptionA.h:
+ * tao/AnyTypeCode/TAOA.h:
+ * tao/AnyTypeCode/TimeBaseA.h:
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.cpp:
+ * tao/AnyTypeCode/ULongLongSeqA.h:
+ * tao/AnyTypeCode/ULongSeqA.h:
+ * tao/AnyTypeCode/UShortSeqA.h:
+ * tao/AnyTypeCode/ValueModifierA.h:
+ * tao/AnyTypeCode/VisibilityA.h:
+ * tao/AnyTypeCode/WCharSeqA.h:
+ * tao/AnyTypeCode/WStringSeqA.h:
+ * tao/AnyTypeCode/WrongTransactionA.h:
+ * tao/AnyTypeCode/orb_typesA.h
+ * tao/BiDir_GIOP/BiDirGIOP.cpp:
+ * tao/CodecFactory/CDR_Encaps_Codec.cpp:
+ * tao/CodecFactory/CDR_Encaps_Codec.h:
+ * tao/CodecFactory/CodecFactory.h:
+ * tao/CodecFactory/CodecFactory_impl.cpp:
+ * tao/CodecFactory/CodecFactory_impl.h:
+ * tao/CodecFactory/IOP_CodecC.h:
+ * tao/CodecFactory/IOP_Codec_includeC.h:
+ * tao/Domain/DomainS.h:
+ * tao/DynamicAny/DynamicAny.h:
+ * tao/DynamicAny/DynamicAnyC.h:
+ * tao/DynamicInterface/Context.h:
+ * tao/DynamicInterface/DII_Arguments.cpp:
+ * tao/DynamicInterface/DII_Invocation.cpp:
+ * tao/DynamicInterface/ExceptionList.h:
+ * tao/IFR_Client/IFR_BaseC.h:
+ * tao/IFR_Client/IFR_BasicC.h:
+ * tao/IFR_Client/IFR_Client_Adapter_Impl.cpp:
+ * tao/IFR_Client/IFR_ComponentsC.cpp:
+ * tao/IFR_Client/IFR_ExtendedC.cpp:
+ * tao/IFR_Client/IFR_ExtendedC.h:
+ * tao/Messaging/MessagingA.cpp:
+ * tao/Messaging/MessagingS.cpp:
+ * tao/Messaging/Messaging_No_ImplA.cpp:
+ * tao/Messaging/Messaging_RT_PolicyA.cpp:
+ * tao/Messaging/Messaging_SyncScope_PolicyA.cpp:
+ * tao/Messaging/PollableC.cpp:
+ * tao/Messaging/TAO_ExtA.cpp:
+ * tao/PI/ClientRequestInfo.h:
+ * tao/PI/ClientRequestInfoC.h:
+ * tao/PI/ClientRequestInterceptorA.cpp:
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.h:
+ * tao/PI/InterceptorA.cpp:
+ * tao/PI/Interceptor_List_T.cpp:
+ * tao/PI/InvalidSlotA.cpp:
+ * tao/PI/ORBInitInfoC.h:
+ * tao/PI/ORBInitializerA.cpp:
+ * tao/PI/ORBInitializer_Registry_Impl.h:
+ * tao/PI/PI.h:
+ * tao/PI/PICurrent.h:
+ * tao/PI/PICurrentA.cpp:
+ * tao/PI/PICurrent_Impl.h:
+ * tao/PI/PIForwardRequestA.cpp:
+ * tao/PI/PolicyFactoryC.h:
+ * tao/PI/RequestInfoC.h:
+ * tao/PI_Server/ServerInterceptorAdapter.h:
+ * tao/PI_Server/ServerRequestInfoC.h:
+ * tao/PI_Server/ServerRequestInterceptorC.h:
+ * tao/PortableServer/AdapterActivatorA.cpp:
+ * tao/PortableServer/ForwardRequestA.cpp:
+ * tao/PortableServer/IdAssignmentPolicyA.cpp:
+ * tao/PortableServer/IdUniquenessPolicyA.cpp:
+ * tao/PortableServer/ImplicitActivationPolicyA.cpp:
+ * tao/PortableServer/LifespanPolicyA.cpp:
+ * tao/PortableServer/POAManagerC.cpp:
+ * tao/PortableServer/PS_CurrentA.cpp:
+ * tao/PortableServer/PS_ForwardA.cpp:
+ * tao/PortableServer/PolicyS.cpp:
+ * tao/PortableServer/PortableServerA.cpp:
+ * tao/PortableServer/RequestProcessingPolicyA.cpp:
+ * tao/PortableServer/ServantActivatorA.cpp:
+ * tao/PortableServer/ServantLocatorA.cpp:
+ * tao/PortableServer/ServantManagerA.cpp:
+ * tao/PortableServer/ServantRetentionPolicyA.cpp:
+ * tao/PortableServer/ThreadPolicyA.cpp:
+ * tao/Valuetype/StringValueC.cpp:
+ * tao/Valuetype/ValueBase.cpp:
+
+ Reordered include directives to make sure all necessary
+ non-dependent names are parsed before the templates that use
+ them. In the case of the "*A.h" files, this is a temporary
+ work-around until TAO_IDL is updated. Addresses g++ 3.4.x or
+ better compile-time errors.
+
+Mon Aug 22 21:05:36 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp (gen_stub_hdr_includes):
+
+ Reordered generated include directives so that Any/TypeCode
+ include directives are placed before ones from the ORB core to
+ make sure some things are parsed before some templates
+ (e.g. TAO_Pseudo_{Var,Out}_T). Addresses issues with compilers
+ that require all necessary non-dependent names be parsed prior
+ to parsing templates that may use them (e.g. GNU g++ 3.4.x or
+ better).
+
+ Removed duplicate "TypeCode.h" include directive generation.
+
+ * tao/AnyTypeCode/AnySeqC.h:
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp:
+ * tao/AnyTypeCode/BooleanSeqA.h:
+ * tao/AnyTypeCode/TypeCode.h:
+ * tao/AnyTypeCode/append.cpp:
+
+ Reordered include directives to force non-dependent names used
+ as template arguments to be parsed before the templates in
+ question. Addresses issues with compilers that require all
+ necessary non-dependent names be parsed prior to parsing
+ templates that may use them (e.g. GNU g++ 3.4.x or better).
+
+ * tao/AnyTypeCode/Any_Impl.h:
+
+ Removed unnecessary "Any.h" include directive.
+
+Mon Aug 22 15:46:29 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * tao/ORB.h:
+
+ Reordered include directives to work around g++ 4.0.x internal
+ compiler error.
+
+Mon Aug 22 12:58:11 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Concurrency_Service/Makefile.am:
+ * orbsvcs/CosEvent_Service/Makefile.am:
+ * orbsvcs/Dump_Schedule/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Event_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Factory_Service/Makefile.am:
+ * orbsvcs/FTRT_Event_Service/Gateway_Service/Makefile.am:
+ * orbsvcs/FT_ReplicationManager/Makefile.am:
+ * orbsvcs/Fault_Detector/Makefile.am:
+ * orbsvcs/Fault_Notifier/Makefile.am:
+ * orbsvcs/IFR_Service/Makefile.am:
+ * orbsvcs/ImplRepo_Service/Makefile.am:
+ * orbsvcs/LifeCycle_Service/Makefile.am:
+ * orbsvcs/LoadBalancer/Makefile.am:
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/RTEvent_Logging_Service/Makefile.am:
+ * orbsvcs/Naming_Service/Makefile.am:
+ * orbsvcs/Notify_Service/Makefile.am:
+ * orbsvcs/Scheduling_Service/Makefile.am:
+ * orbsvcs/Time_Service/Makefile.am:
+ * orbsvcs/Trading_Service/Makefile.am:
+
+ Regenerated.
+
+Mon Aug 22 12:32:42 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Bidirectional_Flows/Makefile.am:
+ * orbsvcs/tests/AVStreams/Component_Switching/Makefile.am:
+ * orbsvcs/tests/AVStreams/Full_Profile/Makefile.am:
+ * orbsvcs/tests/AVStreams/Latency/Makefile.am:
+ * orbsvcs/tests/AVStreams/Modify_QoS/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multicast/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multicast_Full_Profile/Makefile.am:
+ * orbsvcs/tests/AVStreams/Multiple_Flows/Makefile.am:
+ * orbsvcs/tests/AVStreams/Pluggable/Makefile.am:
+ * orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Three_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage/Makefile.am:
+ * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/Makefile.am:
+ * orbsvcs/tests/BiDir_CORBALOC/Makefile.am:
+ * orbsvcs/tests/Bug_1334_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_1393_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_1395_Regression/Makefile.am:
+ * orbsvcs/tests/Bug_1630_Regression/Makefile.am:
+ * orbsvcs/tests/Concurrency/Makefile.am:
+ * orbsvcs/tests/CosEvent/Basic/Makefile.am:
+ * orbsvcs/tests/CosEvent/lib/Makefile.am:
+ * orbsvcs/tests/EC_Custom_Marshal/Makefile.am:
+ * orbsvcs/tests/EC_MT_Mcast/Makefile.am:
+ * orbsvcs/tests/EC_Mcast/Makefile.am:
+ * orbsvcs/tests/EC_Multiple/Makefile.am:
+ * orbsvcs/tests/EC_Throughput/Makefile.am:
+ * orbsvcs/tests/Event/Basic/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Common/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Complex/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Simple/Makefile.am:
+ * orbsvcs/tests/Event/Mcast/Two_Way/Makefile.am:
+ * orbsvcs/tests/Event/Performance/Makefile.am:
+ * orbsvcs/tests/Event/lib/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/tests/EC_Custom_Marshal/EC_Custom_Marshal.mpc:
+
+ Add *_IDL projects for compiling *.idl files. This eliminates
+ duplicate rules that would otherwise result when Makefile.am's
+ are aggregated in the automake build.
+
+Mon Aug 22 18:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Pluggable/Pluggable.mpc:
+ * performance-tests/Memory/Single_Threaded/Memory_Growth.mpc:
+ * examples/Advanced/ch_3/Advanced_ch_3.mpc:
+ Updated to resolve link errors
+
+Mon Aug 22 18:12:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Array_VarOut_T.{h,inl}:
+ * tao/PortableServer/Fixed_Array_SArgument_T.cpp:
+ * tao/PortableServer/Var_Array_SArgument_T.{h,cpp}:
+ Changes to make msvc6 happy
+
+Mon Aug 22 10:43:11 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * TAO_IDL/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+ * tao/Makefile.am:
+
+ Regenerated.
+
+ * tao/AnyTypeCode.mpc:
+
+ Changed AnyTypecode to AnyTypeCode so generated project
+ files work with case sensitive filesystems.
+
+ * tao/tao.mpc:
+
+ Removed a few more headers that have been moved to the
+ AnyTypeCode library.
+
+ * tao/BiDir_GIOP/TAO_BiDirGIOP.pc.in:
+ * tao/CodecFactory/TAO_CodecFactory.pc.in:
+ * tao/Domain/TAO_Domain.pc.in:
+ * tao/DynamicAny/TAO_DynamicAny.pc.in:
+ * tao/DynamicInterface/TAO_DynamicInterface.pc.in:
+ * tao/IFR_Client/TAO_IFR_Client.pc.in:
+ * tao/IORInterceptor/TAO_IORInterceptor.pc.in:
+ * tao/IORManipulation/TAO_IORManip.pc.in:
+ * tao/ImR_Client/TAO_ImR_Client.pc.in:
+ * tao/Messaging/TAO_Messaging.pc.in:
+ * tao/ObjRefTemplate/TAO_ObjRefTemplate.pc.in:
+ * tao/PI/TAO_PI.pc.in:
+ * tao/PI_Server/TAO_PI_Server.pc.in:
+ * tao/PortableServer/TAO_PortableServer.pc.in:
+ * tao/RTCORBA/TAO_RTCORBA.pc.in:
+ * tao/RTPortableServer/TAO_RTPortableServer.pc.in:
+ * tao/RTScheduling/TAO_RTScheduler.pc.in:
+ * tao/Strategies/TAO_Strategies.pc.in:
+ * tao/TypeCodeFactory/TAO_TypeCodeFactory.pc.in:
+ * tao/Valuetype/TAO_Valuetype.pc.in:
+ * tao/TAO_Utils.pc.in
+
+ Update to add TAO_AnyTypeCode to "Requires:" as needed.
+
+ * tao/AnyTypeCode/TAO_AnyTypeCode.pc.in:
+
+ New file, pkg-config *.pc template for TAO_AnyTypeCode library.
+
+Mon Aug 22 13:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/*:
+ Fixed minimum corba builds
+
+Mon Aug 22 10:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/tao.mpc:
+ Removed a lot of files that are zapped
+
+ * tao/ORB.cpp
+ * tao/ORB.h
+ * tao/ORB_Core.cpp
+ * tao/ORB_Core.h
+ * tao/ORB_Core.i
+ * tao/PI/PICurrent_Loader.h
+ * tao/PI_Server/PI_Server.h
+ * tao/PI_Server/PortableServer_ORBInitializer.cpp
+ * tao/PI_Server/PortableServer_ORBInitializer.h
+ * tao/PortableServer/PortableServer.cpp
+ * tao/PortableServer/PortableServer.h
+ * tao/PortableServer/POA_Current.{h,cpp,inl}:
+ * tao/PortableServer/POA_Current_Factory.{h,cpp}:
+ * tao/PortableServer/PS_Current.pidl
+ * tao/PortableServer/PS_CurrentA.cpp
+ * tao/PortableServer/PS_CurrentC.cpp
+ * tao/PortableServer/PS_CurrentC.h
+ Moved POACurrent back to the PortableServer libary and use an object
+ loader to get it on demand instead of using an orbinitializer
+
+
+ * tao/PI_Server/POA_Current.cpp
+ * tao/PI_Server/POA_Current.h
+ * tao/PI_Server/POA_Current.inl
+ * tao/PI_Server/PS_Current.pidl
+ * tao/PI_Server/PS_CurrentA.cpp
+ * tao/PI_Server/PS_CurrentC.cpp
+ * tao/PI_Server/PS_CurrentC.h
+ Removed, back to PortableServer
+
+ * examples/POA/DSI/Database_i.h
+ * examples/POA/DSI/POA_DSI.mpc
+ * examples/POA/Default_Servant/File_i.cpp
+ * examples/POA/Default_Servant/POA_Default_Servant.mpc
+ * orbsvcs/ImplRepo_Service/Forwarder.cpp
+ * orbsvcs/ImplRepo_Service/Forwarder.h
+ * orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc
+ * orbsvcs/examples/ORT/Gateway_i.h
+ * orbsvcs/examples/ORT/ORT.mpc
+ * orbsvcs/orbsvcs/IFRService.mpc
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/UpdateableHandler.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp
+ * orbsvcs/orbsvcs/IFRService/Repository_i.h
+ * orbsvcs/tests/FtRtEvent/PushConsumer.cpp
+ * orbsvcs/tests/FtRtEvent/PushSupplier.cpp
+ * orbsvcs/tests/ImplRepo/scale/scaletest.mpc
+ * orbsvcs/tests/ImplRepo/scale/server_i.cpp
+ * tests/Collocation_Opportunities/Collocation_Opportunities.cpp
+ * tests/Collocation_Opportunities/Collocation_Opportunities.mpc
+ * tests/File_IO/File_IO.mpc
+ * tests/File_IO/File_i.cpp
+ * tests/ORT/ServerORBInitializer.cpp
+ * tests/POA/Current/Current.cpp
+ * tests/POA/Current/Current.mpc
+ * tests/POA/Persistent_ID/Persistent_ID.mpc
+ * tests/POA/Persistent_ID/server.cpp
+ Updated, no need to use PI_Server anymore now the POACurrent is
+ back to the PortableServer lib.
+
+ * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp
+ * orbsvcs/orbsvcs/Event/EC_ConsumerControl.cpp
+ * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp
+ Removed explicit template instantiations
+
+ * tao/Valuetype/ValueBase.cpp
+ Use C++ cast instead of c-style cast
+
+Mon Aug 22 09:09:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/Any.h:
+ * tao/AnyTypeCode/RefCount_Policy_Traits.h:
+ Include AnyTypeCode_methods instead of CORBA_methods
+
+ * tao/AnyTypeCode/AnyTypeCode_methods.h:
+ Added missing includes
+
+Mon Aug 22 08:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Muxed_GIOP_Versions/Muxed_GIOP_Versions.mpc:
+ * tests/Multiple_Inheritance/Multiple_Inheritance.mpc:
+ Updated to resolve link errors
+
+Mon Aug 22 07:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.cpp:
+ Updated return type of operator >>
+
+Sun Aug 21 12:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/TypeCode.inl:
+ Include AnyTypeCode_methods instead of CORBA_methods
+
+Sun Aug 21 11:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/TypeCode.{h,cpp}:
+ Fixed compile errors with msvc6
+
+Sun Aug 21 11:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Transport.cpp:
+ Fixed warning in valgrind build
+
+Sun Aug 21 11:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Portable_Interceptors/ORB_Shutdown/PI_ORB_Shutdown.mpc:
+ * tests/MT_Server/MT_Server.mpc:
+ * tests/Hello/Hello.mpc:
+ * tests/Hang_Shutdown/Hang.mpc:
+ * tests/Connect_Strategy_Test/Connect_Strategy_Test.mpc:
+ * tests/Bug_1330_Regression/Bug_1330_Regression.mpc:
+ Updated to resolve link errors
+
+Sun Aug 21 11:23:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/TAO_AnyTypeCode_Export.h:
+ Fixed vc71 static compile warnings
+
+Fri Aug 19 18:47:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Kokyu_dsrt_schedulers/EDF_Scheduling.idl:
+ Added missing include
+
+ * examples/Kokyu_dsrt_schedulers/Kokyu_DSRT_Schedulers.mpc:
+ Added EDF_SchedulingC.cpp
+
+Fri Aug 19 18:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/Union_TypeCode.cpp:
+ Fixed no return warning
+
+Fri Aug 19 18:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Explicit_Event_Loop/Explicit_Event_Loop.mpc:
+ * tests/Cache_Growth_Test/Cache_Growth_Test.mpc:
+ Updated to resolve link errors
+
+Fri Aug 19 18:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ Fixed deprecated conversion warning
+
+Fri Aug 19 18:27:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/HTIOP/Hello/HTIOP_Hello.mpc:
+ * performance-tests/POA/Implicit_Activation/Implicit_Activation.mpc:
+ * tests/Crash_On_Write/Crash_On_Write.mpc:
+ * tests/MT_Client/MT_Client.mpc:
+ * tests/Server_Connection_Purging/Server_Connection_Purging.mpc:
+ * tests/Single_Read/Single_Read.mpc:
+ Updated to resolve link errors
+
+Fri Aug 19 18:18:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Messaging/Messaging_PolicyFactory.{h,cpp}:
+ Fixed compile error when no messaging is defined
+
+Fri Aug 19 14:00:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ImR_Client/ImplRepoS.cpp:
+ Fixed some handcrafted code, will regenerate this file next week
+
+Fri Aug 19 13:43:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/NVList.h:
+ Fixed HP aCC compile error
+
+Fri Aug 19 12:45:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Profile.cpp:
+ Fixed 64bit conversion warnings by using the correct type or
+ using an explicit cast
+
+Fri Aug 19 12:24:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/SystemException.h:
+ Removed not needed trailing semi colon
+
+Fri Aug 19 11:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode.mpc:
+ Removed not existent file
+
+Fri Aug 19 11:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/DomainA.h:
+ Removed include of inline file.
+
+ * tao/AnyTypeCode/TypeCode.{h,cpp,inl}:
+ Moved operator << to cpp file
+
+Fri Aug 19 11:29:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Any_Insert_Policy_T.h:
+ Fix problem for HPUX, will move the special policies out of this
+ file soon.
+
+Fri Aug 19 10:15:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Log/LogMgr_i.cpp:
+ Fixed implicit conversion warning
+
+Fri Aug 19 09:17:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/PolicyA.h:
+ Removed include of inline file.
+
+Fri Aug 19 09:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/Empty_Param_TypeCode.h:
+ * tao/AnyTypeCode/NVList.h:
+ * tao/AnyTypeCode/Objref_TypeCode_Static.h:
+ * tao/AnyTypeCode/Union_TypeCode_Static.h:
+ * tao/AnyTypeCode/Value_TypeCode_Static.h:
+ Fixed include of inline file.
+
+Fri Aug 19 08:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/TypeCode.h:
+ * tao/AnyTypeCode/Alias_TypeCode_Static.h:
+ * tao/AnyTypeCode/Any.h:
+ Fixed include of inline file.
+
+Fri Aug 19 08:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/orbsvcs/Log/LogMgr_i.cpp:
+ Fixed compile error
+
+Fri Aug 19 07:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Merged AnyRefactor branch, a lot of files where moved to the
+ AnyTypeCode directory. Regenerated all files in the repo, add
+ AnyTypeCode as base project for a lot of MPC files, zapped
+ explicit templates
+
+ * TAO_IDL/be/be_codegen.cpp
+ * TAO_IDL/be/be_global.cpp
+ * TAO_IDL/be/be_produce.cpp
+ * TAO_IDL/be/be_visitor_arg_traits.cpp
+ * TAO_IDL/be/be_visitor_context.cpp
+ * TAO_IDL/be/be_visitor_root.cpp
+ * TAO_IDL/be/be_visitor_argument/invoke_cs.cpp
+ * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp
+ * TAO_IDL/be/be_visitor_argument/paramlist.cpp
+ * TAO_IDL/be/be_visitor_array/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_enum/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_exception/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_exception/exception_cs.cpp
+ * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp
+ * TAO_IDL/be/be_visitor_field/serializer_op_cs.cpp
+ * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp
+ * TAO_IDL/be/be_visitor_interface/interface_ch.cpp
+ * TAO_IDL/be/be_visitor_interface/interface_cs.cpp
+ * TAO_IDL/be/be_visitor_interface_fwd/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_module/module_ch.cpp
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp
+ * TAO_IDL/be/be_visitor_root/any_op.cpp
+ * TAO_IDL/be/be_visitor_root/root.cpp
+ * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
+ * TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp
+ * TAO_IDL/be/be_visitor_structure/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp
+ * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp
+ * TAO_IDL/be/be_visitor_union/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp
+ * TAO_IDL/be/be_visitor_union/serializer_op_cs.cpp
+ * TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.cpp
+ * TAO_IDL/be/be_visitor_union_branch/serializer_op_cs.cpp
+ * TAO_IDL/be/be_visitor_valuebox/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_cs.cpp
+ * TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp
+ * TAO_IDL/be/be_visitor_valuetype/field_cdr_cs.cpp
+ * TAO_IDL/be/be_visitor_valuetype_fwd/any_op_ch.cpp
+ * TAO_IDL/be_include/be_codegen.h
+ * TAO_IDL/be_include/be_global.h
+ * TAO_IDL/be_include/be_visitor_arg_traits.h
+ * TAO_IDL/be_include/be_visitor_context.h
+ * TAO_IDL/be_include/be_visitor_root/root.h
+ * TAO_IDL/driver/drv_args.cpp
+ * docs/compiler.html
+ * docs/releasenotes/index.html
+ * examples/Buffered_AMI/client.cpp
+ * examples/Buffered_Oneways/client.cpp
+ * examples/Kokyu_dsrt_schedulers/FP_Scheduling.idl
+ * examples/Kokyu_dsrt_schedulers/Kokyu_qos.idl
+ * examples/Kokyu_dsrt_schedulers/MIF_Scheduling.idl
+ * examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl
+ * examples/POA/DSI/Database_i.cpp
+ * examples/POA/Default_Servant/POA_Default_Servant.mpc
+ * examples/POA/Forwarding/POA_Forwarding.mpc
+ * examples/POA/POA_BiDir/POA_BiDir.cpp
+ * examples/POA/TIE/POA_TIE.mpc
+ * examples/POA/TIE/client.cpp
+ * examples/POA/TIE/server.cpp
+ * examples/Simulator/NavWeap.idl
+ * examples/Simulator/Event_Supplier/Event_Con.cpp
+ * interop-tests/wchar/interop_wchar.mpc
+ * orbsvcs/IFR_Service/ifr_adding_visitor_union.cpp
+ * orbsvcs/PSS/PSDL_Code_Gen.cpp
+ * orbsvcs/examples/FaultTolerance/RolyPoly/ReplicaController.cpp
+ * orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly.mpc
+ * orbsvcs/examples/FaultTolerance/RolyPoly/RolyPoly_i.cpp
+ * orbsvcs/examples/ORT/Gateway_i.cpp
+ * orbsvcs/orbsvcs/PortableGroup.mpc
+ * orbsvcs/orbsvcs/AV/AVStreams_i.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.cpp
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.cpp
+ * orbsvcs/orbsvcs/HTIOP/htiop_endpointsC.cpp
+ * orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp
+ * orbsvcs/orbsvcs/IFRService/Container_i.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS.h
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS.inl
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.h
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS_T.inl
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS.h
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS.inl
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.h
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS_T.inl
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.h
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.inl
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.h
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS_T.inl
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.h
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.inl
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.h
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS_T.inl
+ * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp
+ * orbsvcs/orbsvcs/IFRService/IRObject_i.cpp
+ * orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp
+ * orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h
+ * orbsvcs/orbsvcs/Log/PersistStore.cpp
+ * orbsvcs/orbsvcs/Log/PersistStore.h
+ * orbsvcs/orbsvcs/Naming/Naming_Server.cpp
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h
+ * orbsvcs/orbsvcs/SSLIOP/ssl_endpointsC.cpp
+ * orbsvcs/orbsvcs/Security/SL3_PolicyFactory.cpp
+ * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp
+ * orbsvcs/orbsvcs/Trader/Interpreter_Utils.h
+ * orbsvcs/performance-tests/RTEvent/lib/SyncScope_Setup.cpp
+ * orbsvcs/tests/BiDir_CORBALOC/BiDirCORBALOC.mpc
+ * orbsvcs/tests/BiDir_CORBALOC/TimeServer.cpp
+ * orbsvcs/tests/Bug_1630_Regression/test.mpc
+ * orbsvcs/tests/Bug_1630_Regression/testclient.cpp
+ * orbsvcs/tests/FaultTolerance/GroupRef_Manipulation/test.idl
+ * orbsvcs/tests/HTIOP/BiDirectional/client.cpp
+ * orbsvcs/tests/HTIOP/BiDirectional/server.cpp
+ * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_Client.cpp
+ * orbsvcs/tests/Notify/Reconnecting/Consumer.cpp
+ * orbsvcs/tests/Security/BiDirectional/client.cpp
+ * orbsvcs/tests/Security/BiDirectional/server.cpp
+ * orbsvcs/tests/Security/Big_Request/Big_Request.mpc
+ * performance-tests/Anyop/Anyop.mpc
+ * performance-tests/Anyop/anyop.cpp
+ * performance-tests/Callback/client.cpp
+ * performance-tests/Callback/server.cpp
+ * performance-tests/Cubit/TAO/DII_Cubit/client.cpp
+ * performance-tests/Latency/DII/client.cpp
+ * performance-tests/Latency/DSI/Roundtrip.cpp
+ * performance-tests/Latency/Deferred/client.cpp
+ * performance-tests/RTCorba/Oneways/Reliable/client.cpp
+ * performance-tests/Sequence_Latency/DII/client.cpp
+ * performance-tests/Sequence_Latency/DSI/Roundtrip.cpp
+ * performance-tests/Sequence_Latency/Deferred/client.cpp
+ * tao/Arg_Traits_T.h
+ * tao/Argument.cpp
+ * tao/Argument.h
+ * tao/Array_VarOut_T.h
+ * tao/Array_VarOut_T.inl
+ * tao/Asynch_Queued_Message.h
+ * tao/BD_String_Argument_T.cpp
+ * tao/BD_String_Argument_T.h
+ * tao/BD_String_Argument_T.inl
+ * tao/Basic_Argument_T.cpp
+ * tao/Basic_Argument_T.h
+ * tao/Basic_Argument_T.inl
+ * tao/Basic_Arguments.h
+ * tao/BiDir_GIOP.mpc
+ * tao/Block_Flushing_Strategy.h
+ * tao/BooleanSeqC.cpp
+ * tao/BooleanSeqC.h
+ * tao/BooleanSeqS.h
+ * tao/Buffering_Constraint_Policy.cpp
+ * tao/Buffering_Constraint_Policy.h
+ * tao/CONV_FRAMEC.cpp
+ * tao/CONV_FRAMEC.h
+ * tao/CONV_FRAMES.h
+ * tao/CORBANAME_Parser.cpp
+ * tao/CORBA_methods.h
+ * tao/Cache_Entries.h
+ * tao/Cache_Entries.inl
+ * tao/CharSeqC.h
+ * tao/CodecFactory.mpc
+ * tao/CurrentC.cpp
+ * tao/CurrentC.h
+ * tao/CurrentS.h
+ * tao/Domain.mpc
+ * tao/DomainC.cpp
+ * tao/DomainC.h
+ * tao/DoubleSeqC.h
+ * tao/DynamicAny.mpc
+ * tao/DynamicInterface.mpc
+ * tao/Dynamic_Adapter.cpp
+ * tao/Exception.cpp
+ * tao/Exception.h
+ * tao/Fixed_Array_Argument_T.cpp
+ * tao/Fixed_Array_Argument_T.h
+ * tao/Fixed_Array_Argument_T.inl
+ * tao/Fixed_Size_Argument_T.cpp
+ * tao/Fixed_Size_Argument_T.h
+ * tao/Fixed_Size_Argument_T.inl
+ * tao/FloatSeqC.cpp
+ * tao/FloatSeqC.h
+ * tao/FloatSeqS.h
+ * tao/Flushing_Strategy.h
+ * tao/GIOPC.cpp
+ * tao/GIOPC.h
+ * tao/GIOPS.h
+ * tao/GIOP_Message_Generator_Parser_10.cpp
+ * tao/GIOP_Message_Generator_Parser_12.cpp
+ * tao/GIOP_Message_Lite.cpp
+ * tao/IFR_Client.mpc
+ * tao/IFR_Client_Adapter.h
+ * tao/IIOP.pidl
+ * tao/IIOPC.cpp
+ * tao/IIOPC.h
+ * tao/IIOP_Acceptor.cpp
+ * tao/IIOP_EndpointsC.h
+ * tao/IOPC.cpp
+ * tao/IOPC.h
+ * tao/IOPS.h
+ * tao/IOP_IORC.cpp
+ * tao/IOP_IORC.h
+ * tao/IOP_IORS.h
+ * tao/IORInterceptor.mpc
+ * tao/IORManipulation.mpc
+ * tao/IORTable.mpc
+ * tao/ImR_Client.mpc
+ * tao/Invocation_Adapter.h
+ * tao/Invocation_Base.cpp
+ * tao/Invocation_Base.h
+ * tao/Invocation_Base.inl
+ * tao/Leader_Follower_Flushing_Strategy.h
+ * tao/LongDoubleSeqC.h
+ * tao/LongLongSeqC.h
+ * tao/LongSeqC.h
+ * tao/Messaging.mpc
+ * tao/Messaging_PolicyValue.pidl
+ * tao/Messaging_PolicyValueC.h
+ * tao/ORB.cpp
+ * tao/ORB.h
+ * tao/ORBInitializer_Registry_Adapter.h
+ * tao/ORB_Core.cpp
+ * tao/ORB_Core.h
+ * tao/ORB_Core.i
+ * tao/ORB_Core_Auto_Ptr.h
+ * tao/ORB_Core_TSS_Resources.cpp
+ * tao/ORB_Core_TSS_Resources.h
+ * tao/ORB_Table.h
+ * tao/ObjRefTemplate.mpc
+ * tao/Object.cpp
+ * tao/Object.h
+ * tao/ObjectIdListC.h
+ * tao/Object_Argument_T.cpp
+ * tao/Object_Argument_T.h
+ * tao/Object_Argument_T.inl
+ * tao/Object_KeyC.cpp
+ * tao/OctetSeq.pidl
+ * tao/OctetSeqC.cpp
+ * tao/OctetSeqC.h
+ * tao/OctetSeqS.h
+ * tao/PI.mpc
+ * tao/PI_ForwardC.cpp
+ * tao/PI_ForwardC.h
+ * tao/PI_Server.mpc
+ * tao/ParameterModeC.h
+ * tao/PolicyC.cpp
+ * tao/PolicyC.h
+ * tao/Policy_Current.cpp
+ * tao/Policy_ForwardC.cpp
+ * tao/Policy_ForwardC.h
+ * tao/Policy_ForwardS.h
+ * tao/PortableInterceptor.pidl
+ * tao/PortableInterceptorC.cpp
+ * tao/PortableInterceptorC.h
+ * tao/PortableInterceptorS.h
+ * tao/PortableServer.mpc
+ * tao/Profile.h
+ * tao/Profile_Transport_Resolver.h
+ * tao/Protocols_Hooks.h
+ * tao/RTCORBA.mpc
+ * tao/RTPortableServer.mpc
+ * tao/RTScheduler.mpc
+ * tao/Reactive_Flushing_Strategy.h
+ * tao/Refcounted_ObjectKey.h
+ * tao/Remote_Object_Proxy_Broker.cpp
+ * tao/ServerRequestInterceptor_Adapter.h
+ * tao/Services.pidl
+ * tao/ServicesC.cpp
+ * tao/ServicesC.h
+ * tao/ServicesS.h
+ * tao/ShortSeqC.cpp
+ * tao/ShortSeqC.h
+ * tao/ShortSeqS.h
+ * tao/SmartProxies.mpc
+ * tao/Special_Basic_Argument_T.cpp
+ * tao/Special_Basic_Argument_T.h
+ * tao/Special_Basic_Argument_T.inl
+ * tao/Special_Basic_Arguments.h
+ * tao/Strategies.mpc
+ * tao/StringSeqC.cpp
+ * tao/StringSeqC.h
+ * tao/StringSeqS.h
+ * tao/Synch_Invocation.cpp
+ * tao/Synch_Invocation.h
+ * tao/Synch_Queued_Message.h
+ * tao/Synch_Reply_Dispatcher.h
+ * tao/SystemException.cpp
+ * tao/SystemException.h
+ * tao/TAOC.cpp
+ * tao/TAOC.h
+ * tao/TAOS.h
+ * tao/TAO_Server_Request.cpp
+ * tao/TAO_Server_Request.h
+ * tao/TAO_Server_Request.i
+ * tao/TSS_Resources.h
+ * tao/TimeBaseC.h
+ * tao/Transport.cpp
+ * tao/Transport.h
+ * tao/TypeCodeFactory.mpc
+ * tao/TypeCodeFactory_Adapter.cpp
+ * tao/TypeCodeFactory_Adapter.h
+ * tao/UB_String_Argument_T.cpp
+ * tao/UB_String_Argument_T.h
+ * tao/UB_String_Argument_T.inl
+ * tao/UB_String_Arguments.h
+ * tao/ULongLongSeqC.cpp
+ * tao/ULongLongSeqC.h
+ * tao/ULongLongSeqS.h
+ * tao/ULongSeqC.cpp
+ * tao/ULongSeqC.h
+ * tao/ULongSeqS.h
+ * tao/UShortSeqC.h
+ * tao/UserException.cpp
+ * tao/UserException.h
+ * tao/UserException.inl
+ * tao/Utils.mpc
+ * tao/Valuetype.mpc
+ * tao/Valuetype_Adapter.cpp
+ * tao/Var_Array_Argument_T.cpp
+ * tao/Var_Array_Argument_T.h
+ * tao/Var_Array_Argument_T.inl
+ * tao/Var_Size_Argument_T.cpp
+ * tao/Var_Size_Argument_T.h
+ * tao/Var_Size_Argument_T.inl
+ * tao/WCharSeqC.cpp
+ * tao/WCharSeqC.h
+ * tao/WCharSeqS.h
+ * tao/WStringSeqC.cpp
+ * tao/WStringSeqC.h
+ * tao/WStringSeqS.h
+ * tao/Wait_On_LF_No_Upcall.h
+ * tao/Wait_On_Leader_Follower.h
+ * tao/Wait_On_Reactor.h
+ * tao/Wait_On_Read.h
+ * tao/Wait_Strategy.h
+ * tao/WrongTransactionC.cpp
+ * tao/WrongTransactionC.h
+ * tao/corba.h
+ * tao/corbafwd.h
+ * tao/extra_core.mpb
+ * tao/operation_details.cpp
+ * tao/operation_details.h
+ * tao/operation_details.i
+ * tao/orb.idl
+ * tao/orb_typesC.cpp
+ * tao/orb_typesC.h
+ * tao/orb_typesS.h
+ * tao/params.h
+ * tao/tao.mpc
+ * tao/BiDir_GIOP/BiDir_PolicyFactory.cpp
+ * tao/CodecFactory/CDR_Encaps_Codec.cpp
+ * tao/CodecFactory/IOP_CodecA.cpp
+ * tao/CodecFactory/IOP_CodecC.h
+ * tao/Domain/DomainS.cpp
+ * tao/DynamicAny/DynAny_i.cpp
+ * tao/DynamicAny/DynArray_i.cpp
+ * tao/DynamicAny/DynCommon.cpp
+ * tao/DynamicAny/DynEnum_i.cpp
+ * tao/DynamicAny/DynSequence_i.cpp
+ * tao/DynamicAny/DynStruct_i.cpp
+ * tao/DynamicAny/DynUnion_i.cpp
+ * tao/DynamicAny/DynamicAnyC.h
+ * tao/DynamicInterface/Context.cpp
+ * tao/DynamicInterface/DII_Arguments.cpp
+ * tao/DynamicInterface/DII_Arguments.h
+ * tao/DynamicInterface/DII_Invocation.cpp
+ * tao/DynamicInterface/Dynamic_Implementation.cpp
+ * tao/DynamicInterface/Dynamic_Implementation.h
+ * tao/DynamicInterface/ExceptionList.cpp
+ * tao/DynamicInterface/Request.cpp
+ * tao/DynamicInterface/Request.h
+ * tao/DynamicInterface/Server_Request.cpp
+ * tao/DynamicInterface/Unknown_User_Exception.cpp
+ * tao/DynamicInterface/Unknown_User_Exception.h
+ * tao/IFR_Client/IFR_Base.pidl
+ * tao/IFR_Client/IFR_BaseC.cpp
+ * tao/IFR_Client/IFR_BaseC.h
+ * tao/IFR_Client/IFR_BaseC.inl
+ * tao/IFR_Client/IFR_BaseS.h
+ * tao/IFR_Client/IFR_Basic.pidl
+ * tao/IFR_Client/IFR_BasicC.cpp
+ * tao/IFR_Client/IFR_BasicC.h
+ * tao/IFR_Client/IFR_BasicC.inl
+ * tao/IFR_Client/IFR_Client_Adapter_Impl.cpp
+ * tao/IFR_Client/IFR_Client_Adapter_Impl.h
+ * tao/IFR_Client/IFR_Components.pidl
+ * tao/IFR_Client/IFR_ComponentsC.cpp
+ * tao/IFR_Client/IFR_ComponentsC.h
+ * tao/IFR_Client/IFR_ComponentsC.inl
+ * tao/IFR_Client/IFR_Extended.pidl
+ * tao/IFR_Client/IFR_ExtendedC.cpp
+ * tao/IFR_Client/IFR_ExtendedC.h
+ * tao/IFR_Client/IFR_ExtendedC.inl
+ * tao/IORInterceptor/IORInfoC.cpp
+ * tao/IORManipulation/IORA.cpp
+ * tao/ImR_Client/ImplRepo.pidl
+ * tao/ImR_Client/ImplRepoA.cpp
+ * tao/ImR_Client/ImplRepoC.cpp
+ * tao/ImR_Client/ImplRepoS.cpp
+ * tao/ImR_Client/ServerObjectA.cpp
+ * tao/ImR_Client/ServerObjectS.cpp
+ * tao/Messaging/Connection_Timeout_Policy_i.cpp
+ * tao/Messaging/Messaging.cpp
+ * tao/Messaging/MessagingA.cpp
+ * tao/Messaging/MessagingC.cpp
+ * tao/Messaging/MessagingS.cpp
+ * tao/Messaging/Messaging_No_ImplA.cpp
+ * tao/Messaging/Messaging_PolicyFactory.cpp
+ * tao/Messaging/Messaging_PolicyFactory.h
+ * tao/Messaging/Messaging_Policy_i.cpp
+ * tao/Messaging/Messaging_RT_PolicyA.cpp
+ * tao/Messaging/Messaging_SyncScope_PolicyA.cpp
+ * tao/Messaging/PollableC.cpp
+ * tao/Messaging/TAO_ExtA.cpp
+ * tao/ObjRefTemplate/Default_ORTA.cpp
+ * tao/ObjRefTemplate/ObjectReferenceTemplateA.cpp
+ * tao/ObjRefTemplate/ObjectReferenceTemplateC.cpp
+ * tao/PI/ClientRequestInfo.cpp
+ * tao/PI/ClientRequestInfo.h
+ * tao/PI/ClientRequestInfoA.cpp
+ * tao/PI/ClientRequestInfoC.h
+ * tao/PI/ClientRequestInterceptorA.cpp
+ * tao/PI/InterceptorA.cpp
+ * tao/PI/ORBInitInfo.cpp
+ * tao/PI/ORBInitInfoA.cpp
+ * tao/PI/ORBInitializerA.cpp
+ * tao/PI/ORBInitializer_Registry_Impl.cpp
+ * tao/PI/ORBInitializer_Registry_Impl.h
+ * tao/PI/PI.h
+ * tao/PI/PIForwardRequestA.cpp
+ * tao/PI/PolicyFactoryA.cpp
+ * tao/PI/PolicyFactoryC.h
+ * tao/PI/RequestInfo.pidl
+ * tao/PI/RequestInfoA.cpp
+ * tao/PI/RequestInfoC.h
+ * tao/PI_Server/POA_Current.cpp
+ * tao/PI_Server/PS_CurrentA.cpp
+ * tao/PI_Server/ServerInterceptorAdapter.cpp
+ * tao/PI_Server/ServerInterceptorAdapter.h
+ * tao/PI_Server/ServerRequestInfo.cpp
+ * tao/PI_Server/ServerRequestInfoA.cpp
+ * tao/PI_Server/ServerRequestInfoC.h
+ * tao/PI_Server/ServerRequestInterceptorA.cpp
+ * tao/PortableServer/AdapterActivatorA.cpp
+ * tao/PortableServer/AdapterActivatorC.cpp
+ * tao/PortableServer/AdapterActivatorC.h
+ * tao/PortableServer/Any_SArg_Traits.h
+ * tao/PortableServer/BD_String_SArgument_T.cpp
+ * tao/PortableServer/BD_String_SArgument_T.h
+ * tao/PortableServer/BD_String_SArgument_T.inl
+ * tao/PortableServer/Basic_SArgument_T.cpp
+ * tao/PortableServer/Basic_SArgument_T.h
+ * tao/PortableServer/Basic_SArgument_T.inl
+ * tao/PortableServer/Basic_SArguments.h
+ * tao/PortableServer/Fixed_Array_SArgument_T.cpp
+ * tao/PortableServer/Fixed_Array_SArgument_T.h
+ * tao/PortableServer/Fixed_Array_SArgument_T.inl
+ * tao/PortableServer/Fixed_Size_SArgument_T.cpp
+ * tao/PortableServer/Fixed_Size_SArgument_T.h
+ * tao/PortableServer/Fixed_Size_SArgument_T.inl
+ * tao/PortableServer/ForwardRequestA.cpp
+ * tao/PortableServer/ForwardRequestC.cpp
+ * tao/PortableServer/ForwardRequestC.h
+ * tao/PortableServer/IdAssignmentPolicyA.cpp
+ * tao/PortableServer/IdAssignmentPolicyC.cpp
+ * tao/PortableServer/IdAssignmentPolicyC.h
+ * tao/PortableServer/IdUniquenessPolicyA.cpp
+ * tao/PortableServer/IdUniquenessPolicyC.cpp
+ * tao/PortableServer/IdUniquenessPolicyC.h
+ * tao/PortableServer/ImplicitActivationPolicyA.cpp
+ * tao/PortableServer/ImplicitActivationPolicyC.cpp
+ * tao/PortableServer/ImplicitActivationPolicyC.h
+ * tao/PortableServer/LifespanPolicyA.cpp
+ * tao/PortableServer/LifespanPolicyC.cpp
+ * tao/PortableServer/LifespanPolicyC.h
+ * tao/PortableServer/Object_SArg_Traits.h
+ * tao/PortableServer/Object_SArgument_T.cpp
+ * tao/PortableServer/Object_SArgument_T.h
+ * tao/PortableServer/Object_SArgument_T.inl
+ * tao/PortableServer/POAManagerC.cpp
+ * tao/PortableServer/POAManagerC.h
+ * tao/PortableServer/POA_Current_Impl.cpp
+ * tao/PortableServer/PS_ForwardA.cpp
+ * tao/PortableServer/PS_ForwardC.cpp
+ * tao/PortableServer/PS_ForwardC.h
+ * tao/PortableServer/PolicyS.cpp
+ * tao/PortableServer/PortableServer.h
+ * tao/PortableServer/PortableServerA.cpp
+ * tao/PortableServer/PortableServerC.cpp
+ * tao/PortableServer/PortableServerC.h
+ * tao/PortableServer/PortableServerS.h
+ * tao/PortableServer/PortableServer_includeC.h
+ * tao/PortableServer/PortableServer_includeS.h
+ * tao/PortableServer/RequestProcessingPolicyA.cpp
+ * tao/PortableServer/RequestProcessingPolicyC.cpp
+ * tao/PortableServer/RequestProcessingPolicyC.h
+ * tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp
+ * tao/PortableServer/Root_POA.cpp
+ * tao/PortableServer/ServantActivatorA.cpp
+ * tao/PortableServer/ServantActivatorC.cpp
+ * tao/PortableServer/ServantActivatorC.h
+ * tao/PortableServer/ServantLocatorA.cpp
+ * tao/PortableServer/ServantLocatorC.cpp
+ * tao/PortableServer/ServantLocatorC.h
+ * tao/PortableServer/ServantManagerA.cpp
+ * tao/PortableServer/ServantManagerC.cpp
+ * tao/PortableServer/ServantManagerC.h
+ * tao/PortableServer/ServantRetentionPolicyA.cpp
+ * tao/PortableServer/ServantRetentionPolicyC.cpp
+ * tao/PortableServer/ServantRetentionPolicyC.h
+ * tao/PortableServer/Servant_Base.cpp
+ * tao/PortableServer/Special_Basic_SArgument_T.cpp
+ * tao/PortableServer/Special_Basic_SArgument_T.h
+ * tao/PortableServer/Special_Basic_SArgument_T.inl
+ * tao/PortableServer/Special_Basic_SArguments.h
+ * tao/PortableServer/ThreadPolicyA.cpp
+ * tao/PortableServer/ThreadPolicyC.cpp
+ * tao/PortableServer/ThreadPolicyC.h
+ * tao/PortableServer/TypeCode_SArg_Traits.h
+ * tao/PortableServer/UB_String_SArgument_T.cpp
+ * tao/PortableServer/UB_String_SArgument_T.h
+ * tao/PortableServer/UB_String_SArguments.h
+ * tao/PortableServer/Upcall_Wrapper.cpp
+ * tao/PortableServer/Var_Array_SArgument_T.cpp
+ * tao/PortableServer/Var_Array_SArgument_T.h
+ * tao/PortableServer/Var_Array_SArgument_T.inl
+ * tao/PortableServer/Var_Size_SArgument_T.cpp
+ * tao/PortableServer/Var_Size_SArgument_T.h
+ * tao/PortableServer/Var_Size_SArgument_T.inl
+ * tao/RTCORBA/RTCORBAA.cpp
+ * tao/RTCORBA/RT_Policy_i.cpp
+ * tao/RTCORBA/RT_Thread_Lane_Resources_Manager.cpp
+ * tao/RTPortableServer/RTPortableServerA.cpp
+ * tao/RTScheduling/Current.cpp
+ * tao/RTScheduling/RTSchedulerA.cpp
+ * tao/RTScheduling/RTSchedulerC.cpp
+ * tao/RTScheduling/Request_Interceptor.cpp
+ * tao/Strategies/sciop_endpointsC.cpp
+ * tao/Strategies/uiop_endpointsC.cpp
+ * tao/TypeCodeFactory/Recursive_TypeCode.h
+ * tao/TypeCodeFactory/TypeCodeFactoryA.cpp
+ * tao/TypeCodeFactory/TypeCodeFactoryC.h
+ * tao/TypeCodeFactory/TypeCodeFactory_i.cpp
+ * tao/Valuetype/AbstractBase.h
+ * tao/Valuetype/StringValueC.cpp
+ * tao/Valuetype/ValueBase.cpp
+ * tao/Valuetype/ValueBase.h
+ * tests/AMI_Buffering/AMI_Buffering.mpc
+ * tests/AMI_Buffering/client.cpp
+ * tests/AMI_Timeouts/AMI_Timeouts.mpc
+ * tests/AMI_Timeouts/timeout_client.cpp
+ * tests/Any/Recursive/RecursiveHello.mpc
+ * tests/BiDirectional/BiDirectional.mpc
+ * tests/BiDirectional/client.cpp
+ * tests/BiDirectional/server.cpp
+ * tests/BiDirectional_MultipleORB/destroy.cpp
+ * tests/BiDirectional_MultipleORB/destroy.mpc
+ * tests/BiDirectional_NestedUpcall/client.cpp
+ * tests/BiDirectional_NestedUpcall/server.cpp
+ * tests/Big_Reply/Big_Reply.mpc
+ * tests/Big_Request_Muxing/Client_Task.cpp
+ * tests/Blocking_Sync_None/client.cpp
+ * tests/Bug_1020_Basic_Regression/client.cpp
+ * tests/Bug_1020_Regression/client.cpp
+ * tests/Bug_1269_Regression/client.cpp
+ * tests/Bug_1270_Regression/client.cpp
+ * tests/Bug_1361_Regression/client.cpp
+ * tests/Bug_1476_Regression/Client_Task.cpp
+ * tests/Bug_1476_Regression/client.cpp
+ * tests/Bug_1482_Regression/client.cpp
+ * tests/Bug_1551_Regression/client.cpp
+ * tests/Bug_1627_Regression/test.mpc
+ * tests/Bug_2174_Regression/Bug_2174_Regression.mpc
+ * tests/Bug_2183_Regression/Bug_2183_Regression.mpc
+ * tests/CDR/CDR.mpc
+ * tests/CDR/basic_types.cpp
+ * tests/CDR/tc.cpp
+ * tests/Client_Leaks/Client_Leaks.mpc
+ * tests/CodeSets/simple/CodeSets_simple.mpc
+ * tests/Collocation/Collocation.mpc
+ * tests/Collocation_Oneway_Tests/Client_Task.cpp
+ * tests/Connection_Timeout/client.cpp
+ * tests/Crashed_Callback/client.cpp
+ * tests/Crashed_Callback/server.cpp
+ * tests/DLL_ORB/DLL_ORB.mpc
+ * tests/DynAny_Test/data.cpp
+ * tests/DynAny_Test/data.h
+ * tests/File_IO/File_IO.mpc
+ * tests/Forwarding/Forwarding.mpc
+ * tests/Hello/Hello.mpc
+ * tests/IDL_Test/IDL_Test.mpc
+ * tests/IDL_Test/main.cpp
+ * tests/InterOp-Naming/InterOp-Naming.mpc
+ * tests/MProfile_Connection_Timeout/client.cpp
+ * tests/MProfile_Forwarding/MProfile_Forwarding.mpc
+ * tests/MT_BiDir/client.cpp
+ * tests/MT_BiDir/server.cpp
+ * tests/MT_Client/MT_Client.mpc
+ * tests/MT_Server/MT_Server.mpc
+ * tests/MT_Timeout/Client_Task.cpp
+ * tests/Muxing/Muxing.mpc
+ * tests/Native_Exceptions/Native_Exceptions.mpc
+ * tests/Nested_Upcall_Crash/client.cpp
+ * tests/Nested_Upcall_Crash/scavenger.cpp
+ * tests/Nested_Upcall_Crash/server.cpp
+ * tests/No_Server_MT_Connect_Test/No_Server_Connect_Test.mpc
+ * tests/ORT/ORT.mpc
+ * tests/Objref_Sequence_Test/Objref_Sequence_Test.mpc
+ * tests/OctetSeq/OctetSeq.mpc
+ * tests/Oneway_Buffering/client.cpp
+ * tests/POA/Current/Current.mpc
+ * tests/POA/MT_Servant_Locator/MT_Servant_Locator.cpp
+ * tests/POA/Policies/Policies.cpp
+ * tests/Param_Test/Param_Test.mpc
+ * tests/Param_Test/param_test.idl
+ * tests/Policies/Manipulation.cpp
+ * tests/Portable_Interceptors/Benchmark/client_interceptors.cpp
+ * tests/Portable_Interceptors/Benchmark/server_interceptors.cpp
+ * tests/Portable_Interceptors/Collocated/Dynamic/interceptors.cpp
+ * tests/Portable_Interceptors/Dynamic/client_interceptor.cpp
+ * tests/Portable_Interceptors/Dynamic/server_interceptor.cpp
+ * tests/Portable_Interceptors/ForwardRequest/test.idl
+ * tests/Portable_Interceptors/IORInterceptor/FOO_ClientRequestInterceptor.cpp
+ * tests/Portable_Interceptors/IORInterceptor/PI_IORInterceptor.mpc
+ * tests/Portable_Interceptors/PICurrent/ServerRequestInterceptor.h
+ * tests/Portable_Interceptors/PICurrent/client.cpp
+ * tests/Portable_Interceptors/PICurrent/test_i.h
+ * tests/Portable_Interceptors/PolicyFactory/PolicyFactory.cpp
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/Client_Request_Interceptor.cpp
+ * tests/Portable_Interceptors/Request_Interceptor_Flow/Server_Request_Interceptor.cpp
+ * tests/RTCORBA/Persistent_IOR/RTCORBA_Persistent_IOR.mpc
+ * tests/RTCORBA/Policies/Policies.cpp
+ * tests/Reliable_Oneways/client.cpp
+ * tests/Server_Leaks/Server_Leaks.mpc
+ * tests/Stack_Recursion/Stack_Recursion.mpc
+ * tests/Timed_Buffered_Oneways/client.cpp
+ * tests/Timeout/client.cpp
+ * tests/Two_Objects/Two_Objects.mpc
+ * tests/Typedef_String_Array/typedef_string_array.mpc
+ * tests/UNKNOWN_Exception/UNKNOWN_Exception.mpc
+ * utils/catior/catior.cpp
+ Updated these files because of the AnyTypeCode refactoring
+
+ * tao/AnyTypeCode/Alias_TypeCode.cpp
+ * tao/AnyTypeCode/Alias_TypeCode.h
+ * tao/AnyTypeCode/Alias_TypeCode.inl
+ * tao/AnyTypeCode/Alias_TypeCode_Static.cpp
+ * tao/AnyTypeCode/Alias_TypeCode_Static.h
+ * tao/AnyTypeCode/Alias_TypeCode_Static.inl
+ * tao/AnyTypeCode/Any.cpp
+ * tao/AnyTypeCode/Any.h
+ * tao/AnyTypeCode/Any.inl
+ * tao/AnyTypeCode/AnySeq.pidl
+ * tao/AnyTypeCode/AnySeqA.cpp
+ * tao/AnyTypeCode/AnySeqA.h
+ * tao/AnyTypeCode/AnySeqC.cpp
+ * tao/AnyTypeCode/AnySeqC.h
+ * tao/AnyTypeCode/AnySeqS.h
+ * tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.cpp
+ * tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.h
+ * tao/AnyTypeCode/AnyTypeCode_methods.h
+ * tao/AnyTypeCode/Any_Arg_Traits.h
+ * tao/AnyTypeCode/Any_Array_Impl_T.cpp
+ * tao/AnyTypeCode/Any_Array_Impl_T.h
+ * tao/AnyTypeCode/Any_Array_Impl_T.inl
+ * tao/AnyTypeCode/Any_Basic_Impl.cpp
+ * tao/AnyTypeCode/Any_Basic_Impl.h
+ * tao/AnyTypeCode/Any_Basic_Impl_T.cpp
+ * tao/AnyTypeCode/Any_Basic_Impl_T.h
+ * tao/AnyTypeCode/Any_Basic_Impl_T.inl
+ * tao/AnyTypeCode/Any_Dual_Impl_T.cpp
+ * tao/AnyTypeCode/Any_Dual_Impl_T.h
+ * tao/AnyTypeCode/Any_Dual_Impl_T.inl
+ * tao/AnyTypeCode/Any_Impl.cpp
+ * tao/AnyTypeCode/Any_Impl.h
+ * tao/AnyTypeCode/Any_Impl_T.cpp
+ * tao/AnyTypeCode/Any_Impl_T.h
+ * tao/AnyTypeCode/Any_Impl_T.inl
+ * tao/AnyTypeCode/Any_Special_Impl_T.cpp
+ * tao/AnyTypeCode/Any_Special_Impl_T.h
+ * tao/AnyTypeCode/Any_Special_Impl_T.inl
+ * tao/AnyTypeCode/Any_SystemException.cpp
+ * tao/AnyTypeCode/Any_SystemException.h
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.cpp
+ * tao/AnyTypeCode/Any_Unknown_IDL_Type.h
+ * tao/AnyTypeCode/BooleanSeqA.cpp
+ * tao/AnyTypeCode/BooleanSeqA.h
+ * tao/AnyTypeCode/Bounds.pidl
+ * tao/AnyTypeCode/BoundsA.cpp
+ * tao/AnyTypeCode/BoundsA.h
+ * tao/AnyTypeCode/BoundsC.cpp
+ * tao/AnyTypeCode/BoundsC.h
+ * tao/AnyTypeCode/CONV_FRAMEA.cpp
+ * tao/AnyTypeCode/CONV_FRAMEA.h
+ * tao/AnyTypeCode/CharSeqA.cpp
+ * tao/AnyTypeCode/CharSeqA.h
+ * tao/AnyTypeCode/CurrentA.cpp
+ * tao/AnyTypeCode/CurrentA.h
+ * tao/AnyTypeCode/DomainA.cpp
+ * tao/AnyTypeCode/DomainA.h
+ * tao/AnyTypeCode/DoubleSeqA.cpp
+ * tao/AnyTypeCode/DoubleSeqA.h
+ * tao/AnyTypeCode/Dynamic.pidl
+ * tao/AnyTypeCode/DynamicA.cpp
+ * tao/AnyTypeCode/DynamicA.h
+ * tao/AnyTypeCode/DynamicC.cpp
+ * tao/AnyTypeCode/DynamicC.h
+ * tao/AnyTypeCode/DynamicS.h
+ * tao/AnyTypeCode/Dynamic_Parameter.pidl
+ * tao/AnyTypeCode/Dynamic_ParameterA.cpp
+ * tao/AnyTypeCode/Dynamic_ParameterA.h
+ * tao/AnyTypeCode/Dynamic_ParameterC.cpp
+ * tao/AnyTypeCode/Dynamic_ParameterC.h
+ * tao/AnyTypeCode/Empty_Param_TypeCode.cpp
+ * tao/AnyTypeCode/Empty_Param_TypeCode.h
+ * tao/AnyTypeCode/Empty_Param_TypeCode.inl
+ * tao/AnyTypeCode/Enum_TypeCode.cpp
+ * tao/AnyTypeCode/Enum_TypeCode.h
+ * tao/AnyTypeCode/Enum_TypeCode.inl
+ * tao/AnyTypeCode/Enum_TypeCode_Static.cpp
+ * tao/AnyTypeCode/Enum_TypeCode_Static.h
+ * tao/AnyTypeCode/Enum_TypeCode_Static.inl
+ * tao/AnyTypeCode/ExceptionA.cpp
+ * tao/AnyTypeCode/ExceptionA.h
+ * tao/AnyTypeCode/Fixed_TypeCode.cpp
+ * tao/AnyTypeCode/Fixed_TypeCode.h
+ * tao/AnyTypeCode/Fixed_TypeCode.inl
+ * tao/AnyTypeCode/FloatSeqA.cpp
+ * tao/AnyTypeCode/FloatSeqA.h
+ * tao/AnyTypeCode/GIOPA.cpp
+ * tao/AnyTypeCode/GIOPA.h
+ * tao/AnyTypeCode/IIOPA.cpp
+ * tao/AnyTypeCode/IIOPA.h
+ * tao/AnyTypeCode/IIOP_EndpointsA.cpp
+ * tao/AnyTypeCode/IIOP_EndpointsA.h
+ * tao/AnyTypeCode/IOPA.cpp
+ * tao/AnyTypeCode/IOPA.h
+ * tao/AnyTypeCode/IOP_IORA.cpp
+ * tao/AnyTypeCode/IOP_IORA.h
+ * tao/AnyTypeCode/LongDoubleSeqA.cpp
+ * tao/AnyTypeCode/LongDoubleSeqA.h
+ * tao/AnyTypeCode/LongLongSeqA.cpp
+ * tao/AnyTypeCode/LongLongSeqA.h
+ * tao/AnyTypeCode/LongSeqA.cpp
+ * tao/AnyTypeCode/LongSeqA.h
+ * tao/AnyTypeCode/Marshal.cpp
+ * tao/AnyTypeCode/Marshal.h
+ * tao/AnyTypeCode/Marshal.inl
+ * tao/AnyTypeCode/Messaging_PolicyValueA.cpp
+ * tao/AnyTypeCode/Messaging_PolicyValueA.h
+ * tao/AnyTypeCode/Messaging_SyncScopeA.h
+ * tao/AnyTypeCode/NVList.cpp
+ * tao/AnyTypeCode/NVList.h
+ * tao/AnyTypeCode/NVList.inl
+ * tao/AnyTypeCode/NVList_Adapter_Impl.cpp
+ * tao/AnyTypeCode/NVList_Adapter_Impl.h
+ * tao/AnyTypeCode/Null_RefCount_Policy.h
+ * tao/AnyTypeCode/ObjectIdListA.cpp
+ * tao/AnyTypeCode/ObjectIdListA.h
+ * tao/AnyTypeCode/Objref_TypeCode.cpp
+ * tao/AnyTypeCode/Objref_TypeCode.h
+ * tao/AnyTypeCode/Objref_TypeCode.inl
+ * tao/AnyTypeCode/Objref_TypeCode_Static.cpp
+ * tao/AnyTypeCode/Objref_TypeCode_Static.h
+ * tao/AnyTypeCode/Objref_TypeCode_Static.inl
+ * tao/AnyTypeCode/OctetSeqA.cpp
+ * tao/AnyTypeCode/OctetSeqA.h
+ * tao/AnyTypeCode/PI_ForwardA.cpp
+ * tao/AnyTypeCode/PI_ForwardA.h
+ * tao/AnyTypeCode/ParameterModeA.cpp
+ * tao/AnyTypeCode/ParameterModeA.h
+ * tao/AnyTypeCode/PolicyA.cpp
+ * tao/AnyTypeCode/PolicyA.h
+ * tao/AnyTypeCode/Policy_ForwardA.cpp
+ * tao/AnyTypeCode/Policy_ForwardA.h
+ * tao/AnyTypeCode/PortableInterceptorA.cpp
+ * tao/AnyTypeCode/PortableInterceptorA.h
+ * tao/AnyTypeCode/Recursive_Type_TypeCode.cpp
+ * tao/AnyTypeCode/Recursive_Type_TypeCode.h
+ * tao/AnyTypeCode/Recursive_Type_TypeCode.inl
+ * tao/AnyTypeCode/RefCount_Policy_Traits.h
+ * tao/AnyTypeCode/Sequence_TypeCode.cpp
+ * tao/AnyTypeCode/Sequence_TypeCode.h
+ * tao/AnyTypeCode/Sequence_TypeCode.inl
+ * tao/AnyTypeCode/Sequence_TypeCode_Static.cpp
+ * tao/AnyTypeCode/Sequence_TypeCode_Static.h
+ * tao/AnyTypeCode/Sequence_TypeCode_Static.inl
+ * tao/AnyTypeCode/ServicesA.cpp
+ * tao/AnyTypeCode/ServicesA.h
+ * tao/AnyTypeCode/ShortSeqA.cpp
+ * tao/AnyTypeCode/ShortSeqA.h
+ * tao/AnyTypeCode/StringSeqA.cpp
+ * tao/AnyTypeCode/StringSeqA.h
+ * tao/AnyTypeCode/String_TypeCode.cpp
+ * tao/AnyTypeCode/String_TypeCode.h
+ * tao/AnyTypeCode/String_TypeCode.inl
+ * tao/AnyTypeCode/String_TypeCode_Static.cpp
+ * tao/AnyTypeCode/String_TypeCode_Static.h
+ * tao/AnyTypeCode/String_TypeCode_Static.inl
+ * tao/AnyTypeCode/String_TypeCode_Traits.h
+ * tao/AnyTypeCode/Struct_TypeCode.cpp
+ * tao/AnyTypeCode/Struct_TypeCode.h
+ * tao/AnyTypeCode/Struct_TypeCode.inl
+ * tao/AnyTypeCode/Struct_TypeCode_Static.cpp
+ * tao/AnyTypeCode/Struct_TypeCode_Static.h
+ * tao/AnyTypeCode/Struct_TypeCode_Static.inl
+ * tao/AnyTypeCode/SystemExceptionA.cpp
+ * tao/AnyTypeCode/SystemExceptionA.h
+ * tao/AnyTypeCode/TAOA.cpp
+ * tao/AnyTypeCode/TAOA.h
+ * tao/AnyTypeCode/TAO_AnyTypeCode_Export.h
+ * tao/AnyTypeCode/TC_Constants_Forward.h
+ * tao/AnyTypeCode/TimeBaseA.cpp
+ * tao/AnyTypeCode/TimeBaseA.h
+ * tao/AnyTypeCode/True_RefCount_Policy.cpp
+ * tao/AnyTypeCode/True_RefCount_Policy.h
+ * tao/AnyTypeCode/True_RefCount_Policy.inl
+ * tao/AnyTypeCode/TypeCode.cpp
+ * tao/AnyTypeCode/TypeCode.h
+ * tao/AnyTypeCode/TypeCode.inl
+ * tao/AnyTypeCode/TypeCodeA.cpp
+ * tao/AnyTypeCode/TypeCode_Base_Attributes.cpp
+ * tao/AnyTypeCode/TypeCode_Base_Attributes.h
+ * tao/AnyTypeCode/TypeCode_Base_Attributes.inl
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.cpp
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.h
+ * tao/AnyTypeCode/TypeCode_Case_Base_T.cpp
+ * tao/AnyTypeCode/TypeCode_Case_Base_T.h
+ * tao/AnyTypeCode/TypeCode_Case_Base_T.inl
+ * tao/AnyTypeCode/TypeCode_Case_T.cpp
+ * tao/AnyTypeCode/TypeCode_Case_T.h
+ * tao/AnyTypeCode/TypeCode_Case_T.inl
+ * tao/AnyTypeCode/TypeCode_Constants.cpp
+ * tao/AnyTypeCode/TypeCode_Constants.h
+ * tao/AnyTypeCode/TypeCode_Struct_Field.h
+ * tao/AnyTypeCode/TypeCode_Traits.h
+ * tao/AnyTypeCode/TypeCode_Value_Field.h
+ * tao/AnyTypeCode/Typecode_typesA.h
+ * tao/AnyTypeCode/ULongLongSeqA.cpp
+ * tao/AnyTypeCode/ULongLongSeqA.h
+ * tao/AnyTypeCode/ULongSeqA.cpp
+ * tao/AnyTypeCode/ULongSeqA.h
+ * tao/AnyTypeCode/UShortSeqA.cpp
+ * tao/AnyTypeCode/UShortSeqA.h
+ * tao/AnyTypeCode/Union_TypeCode.cpp
+ * tao/AnyTypeCode/Union_TypeCode.h
+ * tao/AnyTypeCode/Union_TypeCode.inl
+ * tao/AnyTypeCode/Union_TypeCode_Static.cpp
+ * tao/AnyTypeCode/Union_TypeCode_Static.h
+ * tao/AnyTypeCode/Union_TypeCode_Static.inl
+ * tao/AnyTypeCode/ValueModifier.pidl
+ * tao/AnyTypeCode/ValueModifierA.cpp
+ * tao/AnyTypeCode/ValueModifierA.h
+ * tao/AnyTypeCode/ValueModifierC.cpp
+ * tao/AnyTypeCode/ValueModifierC.h
+ * tao/AnyTypeCode/ValueModifierS.h
+ * tao/AnyTypeCode/Value_TypeCode.cpp
+ * tao/AnyTypeCode/Value_TypeCode.h
+ * tao/AnyTypeCode/Value_TypeCode.inl
+ * tao/AnyTypeCode/Value_TypeCode_Static.cpp
+ * tao/AnyTypeCode/Value_TypeCode_Static.h
+ * tao/AnyTypeCode/Value_TypeCode_Static.inl
+ * tao/AnyTypeCode/Visibility.pidl
+ * tao/AnyTypeCode/VisibilityA.cpp
+ * tao/AnyTypeCode/VisibilityA.h
+ * tao/AnyTypeCode/VisibilityC.cpp
+ * tao/AnyTypeCode/VisibilityC.h
+ * tao/AnyTypeCode/VisibilityS.h
+ * tao/AnyTypeCode/WCharSeqA.cpp
+ * tao/AnyTypeCode/WCharSeqA.h
+ * tao/AnyTypeCode/WStringSeqA.cpp
+ * tao/AnyTypeCode/WStringSeqA.h
+ * tao/AnyTypeCode/WrongTransactionA.cpp
+ * tao/AnyTypeCode/WrongTransactionA.h
+ * tao/AnyTypeCode/append.cpp
+ * tao/AnyTypeCode/orb_typesA.cpp
+ * tao/AnyTypeCode/orb_typesA.h
+ * tao/AnyTypeCode/skip.cpp
+ * examples/Kokyu_dsrt_schedulers/EDF_Scheduling.idl
+ * tao/AnyTypeCode.mpc
+ * tao/AnyTypeCode_Adapter.cpp
+ * tao/AnyTypeCode_Adapter.h
+ * tao/Any_Insert_Policy_T.h
+ * tao/NVList_Adapter.cpp
+ * tao/NVList_Adapter.h
+ * tao/IFR_Client/IFR_BaseA.h
+ * tao/IFR_Client/IFR_BasicA.h
+ * tao/IFR_Client/IFR_ComponentsA.h
+ * tao/ObjRefTemplate/ObjectReferenceTemplate_includeA.h
+ * tao/PI/InvalidSlot.pidl
+ * tao/PI/InvalidSlotA.cpp
+ * tao/PI/InvalidSlotA.h
+ * tao/PI/InvalidSlotC.cpp
+ * tao/PI/InvalidSlotC.h
+ * tao/PI/InvalidSlotS.h
+ * tao/PortableServer/PortableServer_includeA.h
+ * tao/PortableServer/RequestProcessingPolicyA.h
+ * tao/PortableServer/SArg_Traits_T.h
+ * tao/PortableServer/ServantActivatorA.h
+ * tao/PortableServer/ServantLocatorA.h
+ * tao/PortableServer/ServantManagerA.h
+ * tao/PortableServer/ServantRetentionPolicyA.h
+ * tao/PortableServer/ThreadPolicyA.h
+ * tao/PI/PICurrent.cpp
+ * tao/PI/PICurrent.h
+ * tao/PI/PICurrent.inl
+ * tao/PI/PICurrent.pidl
+ * tao/PI/PICurrentA.cpp
+ * tao/PI/PICurrentA.h
+ * tao/PI/PICurrentC.cpp
+ * tao/PI/PICurrentC.h
+ * tao/PI/PICurrentS.h
+ * tao/PI/PICurrent_Copy_Callback.cpp
+ * tao/PI/PICurrent_Copy_Callback.h
+ * tao/PI/PICurrent_Impl.cpp
+ * tao/PI/PICurrent_Impl.h
+ * tao/PI/PICurrent_Impl.inl
+ * tao/PI/PICurrent_Loader.cpp
+ * tao/PI/PICurrent_Loader.h
+ * tao/RTCORBA/RTCORBA_includeA.h
+ * tao/ImR_Client/ImplRepoA.h
+ * tao/IFR_Client/IFR_ExtendedA.h
+ * tao/RTScheduling/RTScheduler_includeA.h
+ * tao/PortableServer/ForwardRequestA.h
+ * tao/PortableServer/IdAssignmentPolicyA.h
+ * tao/PortableServer/IdUniquenessPolicyA.h
+ * tao/ImR_Client/ServerObjectA.h
+ * tao/PortableServer/ImplicitActivationPolicyA.h
+ * tao/PortableServer/LifespanPolicyA.h
+ * tao/PortableServer/AdapterActivatorA.h
+ * tao/PortableServer/PS_ForwardA.h
+ * tao/PI/RequestInfo_Util.cpp
+ * tao/PI/RequestInfo_Util.h
+ * tao/PI_Server/PICurrent_Guard.cpp
+ * tao/PI_Server/PICurrent_Guard.h
+ * tao/PI_Server/PI_Server_include.pidl
+ * tao/PI_Server/PI_Server_includeA.h
+ * tao/PI_Server/PI_Server_includeC.h
+ * tao/PI_Server/PI_Server_includeS.h
+ Added these files to the repo
+
+ * tao/UShortSeqA.cpp
+ * tao/Union_TypeCode.cpp
+ * tao/Union_TypeCode.h
+ * tao/Union_TypeCode.inl
+ * tao/Union_TypeCode_Static.cpp
+ * tao/Union_TypeCode_Static.h
+ * tao/Union_TypeCode_Static.inl
+ * tao/Dynamic.pidl
+ * tao/DynamicA.cpp
+ * tao/DynamicC.cpp
+ * tao/DynamicC.h
+ * tao/DynamicS.h
+ * tao/Dynamic_Parameter.pidl
+ * tao/Dynamic_ParameterA.cpp
+ * tao/Dynamic_ParameterC.cpp
+ * tao/Dynamic_ParameterC.h
+ * tao/Empty_Param_TypeCode.cpp
+ * tao/Empty_Param_TypeCode.h
+ * tao/Empty_Param_TypeCode.inl
+ * tao/Enum_TypeCode.cpp
+ * tao/Enum_TypeCode.h
+ * tao/Enum_TypeCode.inl
+ * tao/Enum_TypeCode_Static.cpp
+ * tao/Enum_TypeCode_Static.h
+ * tao/Enum_TypeCode_Static.inl
+ * tao/Valuetype/Seq_Tmplinst.cpp
+ * TAO_IDL/be/be_visitor_tmplinst.cpp
+ * TAO_IDL/be/be_visitor_tmplinst/arg_tmplinst.cpp
+ * TAO_IDL/be/be_visitor_tmplinst/tmplinst.cpp
+ * TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp
+ * TAO_IDL/be/be_visitor_tmplinst/tmplinst_ss.cpp
+ * examples/Kokyu_dsrt_schedulers/EDF_Scheduling.pidl
+ * examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.cpp
+ * examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h
+ * examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.h.diff
+ * examples/Kokyu_dsrt_schedulers/EDF_SchedulingC.i
+ * TAO_IDL/be_include/be_visitor_tmplinst.h
+ * TAO_IDL/be_include/be_visitor_tmplinst/arg_tmplinst.h
+ * TAO_IDL/be_include/be_visitor_tmplinst/tmplinst.h
+ * TAO_IDL/be_include/be_visitor_tmplinst/tmplinst_cs.h
+ * TAO_IDL/be_include/be_visitor_tmplinst/tmplinst_ss.h
+ * tao/ULongSeqA.cpp
+ * orbsvcs/orbsvcs/IFRService/tmplinst.cpp
+ * tao/Alias_TypeCode.cpp
+ * tao/Alias_TypeCode.h
+ * tao/Alias_TypeCode.inl
+ * tao/Alias_TypeCode_Static.cpp
+ * tao/Alias_TypeCode_Static.h
+ * tao/Alias_TypeCode_Static.inl
+ * tao/Any.cpp
+ * tao/Any.h
+ * tao/Any.i
+ * tao/AnySeq.pidl
+ * tao/AnySeqA.cpp
+ * tao/AnySeqC.cpp
+ * tao/AnySeqC.h
+ * tao/AnySeqS.h
+ * tao/Any_Arg_Traits.h
+ * tao/Any_Array_Impl_T.cpp
+ * tao/Any_Array_Impl_T.h
+ * tao/Any_Array_Impl_T.inl
+ * tao/Any_Basic_Impl.cpp
+ * tao/Any_Basic_Impl.h
+ * tao/Any_Basic_Impl_T.cpp
+ * tao/SystemExceptionA.cpp
+ * tao/TAOA.cpp
+ * tao/IFR_Client/IFR_ExtendedA.cpp
+ * tao/Any_Basic_Impl_T.h
+ * tao/Any_Basic_Impl_T.inl
+ * tao/Any_Dual_Impl_T.cpp
+ * tao/Any_Dual_Impl_T.h
+ * tao/Any_Dual_Impl_T.inl
+ * tao/Any_Impl.cpp
+ * tao/Any_Impl.h
+ * tao/Any_Impl_T.cpp
+ * tao/Any_Impl_T.h
+ * tao/Any_Impl_T.inl
+ * tao/IFR_Client/IFR_ComponentsA.cpp
+ * tao/IFR_Client/IFR_BaseA.cpp
+ * tao/IFR_Client/IFR_BasicA.cpp
+ * tao/ValueModifier.pidl
+ * tao/ValueModifierC.cpp
+ * tao/ValueModifierC.h
+ * tao/ValueModifierS.h
+ * tao/Value_TypeCode.cpp
+ * tao/Value_TypeCode.h
+ * tao/Value_TypeCode.inl
+ * tao/Value_TypeCode_Static.cpp
+ * tao/Value_TypeCode_Static.h
+ * tao/Value_TypeCode_Static.inl
+ * tao/Any_Special_Impl_T.cpp
+ * tao/Any_Special_Impl_T.h
+ * tao/Any_Special_Impl_T.inl
+ * tao/Any_SystemException.cpp
+ * tao/Any_SystemException.h
+ * tao/Any_Unknown_IDL_Type.cpp
+ * tao/Any_Unknown_IDL_Type.h
+ * tao/BooleanSeqA.cpp
+ * tao/Bounds.pidl
+ * tao/BoundsA.cpp
+ * tao/BoundsC.cpp
+ * tao/BoundsC.h
+ * tao/CONV_FRAMEA.cpp
+ * tao/CurrentA.cpp
+ * tao/DomainA.cpp
+ * tao/DoubleSeqA.cpp
+ * tao/PortableServer/PICurrent_Guard.cpp
+ * tao/PortableServer/PICurrent_Guard.h
+ * tao/PortableServer/POAManagerA.cpp
+ * tao/TC_Constants_Forward.h
+ * tao/TimeBaseA.cpp
+ * tao/True_RefCount_Policy.cpp
+ * tao/True_RefCount_Policy.h
+ * tao/True_RefCount_Policy.inl
+ * tao/TypeCode.h
+ * tao/TypeCode.inl
+ * tao/TypeCodeA.cpp
+ * tao/TypeCode_Base_Attributes.cpp
+ * tao/TypeCode_Base_Attributes.h
+ * tao/TypeCode_Base_Attributes.inl
+ * tao/TypeCode_CDR_Extraction.cpp
+ * tao/Visibility.pidl
+ * tao/VisibilityC.cpp
+ * tao/VisibilityC.h
+ * tao/VisibilityS.h
+ * tao/WCharSeqA.cpp
+ * tao/WStringSeqA.cpp
+ * tao/WrongTransactionA.cpp
+ * tao/append.cpp
+ * tao/skip.cpp
+ * tao/TypeCode_CDR_Extraction.h
+ * tao/TypeCode_Case.cpp
+ * tao/TypeCode_Case.h
+ * tao/TypeCode_Case.inl
+ * tao/TypeCode_Case_T.cpp
+ * tao/TypeCode_Case_T.h
+ * tao/TypeCode_Case_T.inl
+ * tao/TypeCode_Constants.cpp
+ * tao/TypeCode_Constants.h
+ * tao/TypeCode_Struct_Field.h
+ * tao/TypeCode_Traits.h
+ * tao/TypeCode_Value_Field.h
+ * tao/ULongLongSeqA.cpp
+ * tao/CharSeqA.cpp
+ * tao/Fixed_TypeCode.cpp
+ * tao/Fixed_TypeCode.h
+ * tao/Fixed_TypeCode.inl
+ * tao/FloatSeqA.cpp
+ * tao/GIOPA.cpp
+ * tao/IIOPA.cpp
+ * tao/IIOP_EndpointsA.cpp
+ * tao/IOP_IORA.cpp
+ * tao/InvalidSlot.pidl
+ * tao/InvalidSlotA.cpp
+ * tao/InvalidSlotC.cpp
+ * tao/InvalidSlotC.h
+ * tao/InvalidSlotS.h
+ * tao/Marshal.cpp
+ * tao/LongSeqA.cpp
+ * tao/LongDoubleSeqA.cpp
+ * tao/LongLongSeqA.cpp
+ * tao/Marshal.h
+ * tao/Marshal.i
+ * tao/Messaging_PolicyValueA.cpp
+ * tao/NVList.cpp
+ * tao/NVList.h
+ * tao/NVList.i
+ * tao/Null_RefCount_Policy.h
+ * tao/ObjectIdListA.cpp
+ * tao/Objref_TypeCode.cpp
+ * tao/Objref_TypeCode.h
+ * tao/Objref_TypeCode.inl
+ * tao/Objref_TypeCode_Static.cpp
+ * tao/Objref_TypeCode_Static.h
+ * tao/Objref_TypeCode_Static.inl
+ * tao/OctetSeqA.cpp
+ * tao/PICurrent.cpp
+ * tao/PICurrent.h
+ * tao/PICurrent.inl
+ * tao/PICurrent.pidl
+ * tao/PICurrentA.cpp
+ * tao/PICurrentC.cpp
+ * tao/PICurrentC.h
+ * tao/PICurrentS.h
+ * tao/PICurrent_Copy_Callback.cpp
+ * tao/PICurrent_Copy_Callback.h
+ * tao/PICurrent_Impl.cpp
+ * tao/PICurrent_Impl.h
+ * tao/PICurrent_Impl.inl
+ * tao/PICurrent_Loader.cpp
+ * tao/PICurrent_Loader.h
+ * tao/ParameterModeA.cpp
+ * tao/PolicyA.cpp
+ * tao/Policy_ForwardA.cpp
+ * tao/Recursive_Type_TypeCode.cpp
+ * tao/Recursive_Type_TypeCode.h
+ * tao/Recursive_Type_TypeCode.inl
+ * tao/RefCount_Policy_Traits.h
+ * tao/RequestInfo_Util.cpp
+ * tao/RequestInfo_Util.h
+ * tao/Sequence_TypeCode.cpp
+ * tao/Sequence_TypeCode.h
+ * tao/Sequence_TypeCode.inl
+ * tao/Sequence_TypeCode_Static.cpp
+ * tao/Sequence_TypeCode_Static.h
+ * tao/Sequence_TypeCode_Static.inl
+ * tao/ServicesA.cpp
+ * tao/ShortSeqA.cpp
+ * tao/StringSeqA.cpp
+ * tao/String_TypeCode.cpp
+ * tao/String_TypeCode.h
+ * tao/String_TypeCode.inl
+ * tao/String_TypeCode_Static.cpp
+ * tao/String_TypeCode_Static.h
+ * tao/String_TypeCode_Static.inl
+ * tao/String_TypeCode_Traits.h
+ * tao/Struct_TypeCode.cpp
+ * tao/Struct_TypeCode.h
+ * tao/Struct_TypeCode.inl
+ * tao/Struct_TypeCode_Static.cpp
+ * tao/Struct_TypeCode_Static.h
+ * tao/Struct_TypeCode_Static.inl
+ Removed these files from the repo
+
+ Thu Aug 18 14:28:45 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * examples/Simulator/Event_Supplier/Event_Con.cpp:
+
+ Removed uses of Any::value() and replaced them with the
+ generated extraction operator.
+
+ Thu Aug 18 07:43:16 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_arg_traits.cpp:
+ * TAO_IDL/be_include/be_visitor_arg_traits.h:
+ When Any generation is not enabled, generate Any_Insert_Policy_Noop
+ as insert policy for the any, that way we don't get dependent
+ on the AnyTypeCode library
+
+ Wed Aug 17 13:27:16 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+
+ In generating the include of *C.h in *A.h, added generation
+ of the prefix "tao/" if we are processing a .pidl file, since
+ in that case, the *A.h file will not be in the same directory.
+
+ Wed Aug 17 12:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp:
+ Generate explicit casts to suppress warnings at level 4 with msvc7
+
+ Wed Aug 17 10:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/Upcall_Wrapper.cpp:
+ * tao/ServerRequestInterceptor_Adapter.h:
+ * tao/TAO_Server_Request.{h,cpp,i}:
+ * tao/PI_Server/ServerInterceptorAdapter.{h,cpp}:
+ Made PICurrent working again
+
+ Wed Aug 17 08:34:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_arg_traits.cpp
+ * tao/AnyTypeCode_Adapter.h
+ * tao/BD_String_Argument_T.h
+ * tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.cpp
+ * tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.h
+ * tao/PortableServer/BD_String_SArgument_T.h
+ Removed the specialization for bound (w)string from the TAO
+ lib and just generate the full Arg_Trait in the IDL compiler,
+ this makes it not needed anymore to have an insertion
+ method for the bound (w)string in the AnyTypeCode adapter
+
+ Tue Aug 16 20:03:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_interface_fwd/any_op_ch.cpp:
+ Generate the correct export macro
+
+ Tue Aug 16 19:53:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/*:
+ Regenerated
+
+ Tue Aug 16 18:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ Removed pragma push/pop for msvs, those warnings are already
+ disabled in general
+
+ * tao/Array_VarOut_T.{h,inl}:
+ In the TAO_Array_Forany_T make the pointer in the constructor
+ const to get things compiling with the new any insertion
+
+ Mon Aug 15 19:56:10 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_nodule/module_ch.cpp:
+
+ Where namespace openings and closings are generated, add
+ generation of the same openings and closings in the *A.h
+ file, if the -GA option is being used. This change ensures
+ that typecode declarations for types nested in one or more
+ modules will themselves appear in the same scope.
+
+ Mon Aug 15 19:52:50 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/PI/PICurrent_Loader.cpp:
+ * tao/PI/PICurrent_Loader.h:
+
+ Change library name in ACE_FACTORY_DEFINE and ACE_FACTORY_DECLARE
+ to TAO_PI (where the modified files are located) instad of TAO.
+
+ Mon Aug 15 19:14:16 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * orbsvcs/tests/BiDir_CORBALOC/TimeServer.cpp:
+
+ Added #include of "tao/AnyTypeCode/Any.h".
+
+ Mon Aug 15 19:10:43 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * orbsvcs/orbsvcs/PortableGroup.mpc:
+
+ Removed the extra subgroup labeled OBRSVCS_COMPONENTS. This is
+ not used on any platform and it creates an extra subdirectory
+ in the MSVC 7.1 solution browser.
+
+ Mon Aug 15 09:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ Generate the A.h includes in the header file instead of the cpp file.
+ When A.idl includes B.pidl which includes C.pidl, when we generate
+ the includes in the header file, then in AC.h we don't have the types
+ from CC.h.
+
+ Fri Aug 12 12:59:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/ORBInitializer_Registry_Impl.cpp:
+ * tao/PI/PICurrent.{h,cpp,inl}:
+ Made PICurrent on the client side working again. When PICurrent is
+ requested and used, then we allocate a key in the orb tss resources
+ and create the PICurrent_Impl at that moment. The server side of
+ PICurrent is now the next todo.
+
+ Fri Aug 12 09:54:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB.cpp:
+ * tao/ORBInitializer_Registry_Adapter.h:
+ * tao/PI/ORBInitializer_Registry_Impl.{h,cpp}:
+ Changed the way the number of allocated slots is passed to PICurrent.
+ This is now completely handled in the PI library, it is not up
+ to the ORB anymore. This makes the ORB unaware of PICurrent
+
+ Thu Aug 11 15:56:51 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+
+ Fixed the logic of generating a *A.h include associated
+ with an included .pidl file to determine whether the
+ .pidl file is located in $TAO_ROOT/tao or in a subdirectory,
+ and thus whether to include the *A.h file from the
+ AnyTypeCode library or not. Only .pidl files in the
+ $TAO_ROOT/tao directory itself have their associated
+ *A.* files moved to the AnyTypeCode library.
+
+ Thu Aug 11 09:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PI/PI.h:
+ * orbsvcs/IFR_Service/ifr_adding_visitor_union.cpp
+ * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ClientPolicy_i.cpp
+ * orbsvcs/orbsvcs/FaultTolerance/FT_ServerRequest_Interceptor.cpp
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/FtEventServiceInterceptor.h
+ * orbsvcs/orbsvcs/FtRtEvent/EventChannel/Request_Context_Repository.cpp
+ * orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp
+ * orbsvcs/orbsvcs/IFRService/Container_i.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_BaseS.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_BasicS.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_ComponentsS.cpp
+ * orbsvcs/orbsvcs/IFRService/IFR_ExtendedS.cpp
+ * orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp
+ * orbsvcs/orbsvcs/Log/Hash_LogRecordStore.cpp
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp
+ * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h
+ * orbsvcs/orbsvcs/Log/PersistStore.cpp
+ * orbsvcs/orbsvcs/Log/PersistStore.h
+ * orbsvcs/orbsvcs/Naming/Naming_Server.cpp
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp
+ * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h
+ * orbsvcs/orbsvcs/Security/SL3_PolicyFactory.cpp
+ * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp
+ * orbsvcs/orbsvcs/Trader/Interpreter_Utils.h
+ * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_Client.cpp
+ * examples/POA/DSI/Database_i.cpp
+ * examples/POA/POA_BiDir/POA_BiDir.cpp
+ * examples/Simulator/Event_Supplier/Event_Con.cpp
+ * orbsvcs/PSS/PSDL_Code_Gen.cpp
+ * orbsvcs/examples/ORT/Gateway_i.cpp
+ * orbsvcs/tests/Notify/Reconnecting/Consumer.cpp
+ * tao/IFR_Client.mpc
+ * tao/tao.mpc
+ * tests/Nested_Upcall_Crash/client.cpp
+ * tests/Nested_Upcall_Crash/scavenger.cpp
+ * tests/Nested_Upcall_Crash/server.cpp
+ * tests/Oneway_Buffering/client.cpp
+ * tests/POA/Policies/Policies.cpp
+ * tests/Portable_Interceptors/PICurrent/client.cpp
+
+ Wed Aug 10 19:47:30 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_visitor_root.cpp:
+ * TAO_IDL/be/be_visitor_root/root.cpp:
+ * TAO_IDL/be_include/be_global.h:
+ * TAO_IDL/be_include/be_visitor_root/root.h:
+
+ Removed calls to the visitor classes in the files
+ below that have been removed, and removed the -GT
+ command line option and the associated usage message.
+ The IDL compiler now generates no explicit template
+ instantiations, and has no command line option to
+ do so.
+
+ * TAO_IDL/be_include/be_visitor_tmplinst/arg_tmplinst.h:
+ * TAO_IDL/be_include/be_visitor_tmplinst/tmplinst.h:
+ * TAO_IDL/be_include/be_visitor_tmplinst/tmplinst_cs.h:
+ * TAO_IDL/be_include/be_visitor_tmplinst/tmplinst_ss.h:
+ * TAO_IDL/be/be_visitor_tmplinst/arg_tmplinst.cpp:
+ * TAO_IDL/be/be_visitor_tmplinst/tmplinst.cpp:
+ * TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp:
+ * TAO_IDL/be/be_visitor_tmplinst/tmplinst_ss.cpp:
+ * TAO_IDL/be_include/be_visitor_tmplinst.h:
+ * TAO_IDL/be/be_visitor_tmplinst.cpp:
+
+ Unused visitor classes related to generation of
+ explicit template instantiations, their files
+ have been removed from CVS.
+
+ * docs/compiler.html:
+
+ Removed the -GT command line option from the table.
+
+ * docs/releasenotes/index.html:
+
+ Updated documentation of the IDL compiler to reflect
+ the above changes.
+
+ Wed Aug 10 13:38:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/PortableInterceptors/Benchmark/client_interceptors.cpp
+ * tests/PortableInterceptors/Benchmark/server_interceptors.cpp
+ * tests/PortableInterceptors/Collocated/Dynamic/interceptors.cpp
+ * tests/PortableInterceptors/Dynamic/client_interceptor.cpp
+ * tests/PortableInterceptors/Dynamic/server_interceptor.cpp
+ * tests/PortableInterceptors/PolicyFactory/PolicyFactory.cpp
+
+ Wed Aug 10 13:27:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Buffered_AMI/client.cpp
+ * examples/Buffered_Oneways/client.cpp
+ * orbsvcs/orbsvcs/AV/AVStreams_i.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h
+ * tests/MProfile_Connection_Timeout/client.cpp
+ * tests/MProfile_Forwarding/MProfile_Forwarding.mpc
+ * tests/MT_BiDir/client.cpp
+ * tests/MT_BiDir/server.cpp
+ * tests/MT_Client/MT_Client.mpc
+ * tests/MT_Server/MT_Server.mpc
+ * tests/MT_Timeout/Client_Task.cpp
+ * performance_tests/Anyop/Anyop.mpc
+ * performance_tests/Anyop/anyop.cpp
+ * performance_tests/Callback/client.cpp
+ * performance_tests/Callback/server.cpp
+ * performance_tests/Cubit/TAO/DII_Cubit/client.cpp
+ * performance_tests/Latency/DII/client.cpp
+ * performance_tests/Latency/DSI/Roundtrip.cpp
+ * performance_tests/Latency/Deferred/client.cpp
+ * performance_tests/RTCorba/Oneways/Reliable/client.cpp
+ * performance_tests/Sequence_Latency/DII/client.cpp
+ * performance_tests/Sequence_Latency/DSI/Roundtrip.cpp
+ * performance_tests/Sequence_Latency/Deferred/client.cpp
+ Updated for moves.
+
+ Wed Aug 10 12:59:06 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
+
+ Removed generation of Any operators for local interfaces.
+
+ Wed Aug 10 11:39:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/MProfile_Forwarding/MProfile_Forwarding.mpc
+ * tests/MT_Client/MT_Client.mpc
+ * tests/MT_Server/MT_Server.mpc
+ * tests/DLL_ORB/DLL_ORB.mpc
+ * tests/CDR/CDR.mpc:
+ * tests/AMI_Buffering/AMI_Buffering.mpc:
+ * tests/AMI_Timeouts/AMI_Timeouts.mpc:
+ * tests/BiDirectional/BiDirectional.mpc:
+ * tests/BiDirectional_MultipleORB/destroy.mpc:
+ * tests/Collocation/Collocation.mpc:
+ * CDR/CDR.mpc
+ Simplified this MPC file
+
+ * orbsvcs/orbsvcs/AV/AVStreams_i.cpp
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h
+ * orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h
+ * orbsvcs/orbsvcs/Security/SL3_PolicyFactory.cpp
+ * tests/MProfile_Connection_Timeout/client.cpp
+ * tests/MT_BiDir/client.cpp
+ * tests/MT_BiDir/server.cpp
+ * tests/MT_Timeout/Client_Task.cpp
+ * tests/CDR/tc.cpp:
+ * tests/AMI_Buffering/client.cpp:
+ * tests/AMI_Timeouts/timeout_client.cpp:
+ * tests/BiDirectional/client.cpp:
+ * tests/BiDirectional/server.cpp:
+ * tests/BiDirectional_MultipleORB/destroy.cpp:
+ * tests/BiDirectional_NestedUpcall/client.cpp:
+ * tests/BiDirectional_NestedUpcall/server.cpp:
+ * tests/Big_Request_Muxing/Client_Task.cpp:
+ * Blocking_Sync_None/client.cpp
+ * Bug_1020_Basic_Regression/client.cpp
+ * Bug_1020_Regression/client.cpp
+ * Bug_1269_Regression/client.cpp
+ * Bug_1270_Regression/client.cpp
+ * Bug_1361_Regression/client.cpp
+ * Bug_1476_Regression/Client_Task.cpp
+ * Bug_1476_Regression/client.cpp
+ * Bug_1482_Regression/client.cpp
+ * Bug_1551_Regression/client.cpp
+ * CDR/basic_types.cpp
+ * tests/Connection_Timeout/client.cpp
+ * tests/Crashed_Callback/client.cpp
+ * tests/Crashed_Callback/server.cpp
+ * tests/DynAny_Test/data.cpp
+ * tests/DynAny_Test/data.h
+ Added missing includes that are needed because of file moves
+
+ * tests/Any/Recursive/RecursiveHello.mpc:
+ Don't use -GA, causes problems with the recursive structs
+
+ * tao/corba.h:
+ Removed AnySeqC, file moved to a seperate library
+
+ * tao/BD_String_Argument_T.h:
+ * tao/PortableServer/BD_String_SArgument_T.{h,inl}:
+ Fixed some errors in these files
+
+ * tao/Fixed_Size_Argument_T.cpp
+ * tao/Fixed_Size_Argument_T.h
+ * tao/Fixed_Size_Argument_T.inl
+ * tao/PortableServer/Fixed_Size_SArgument_T.h
+ * tao/PortableServer/Fixed_Size_SArgument_T.inl
+ Updated
+
+ * tao/orb.idl
+ Removed moved files
+
+ Wed Aug 10 08:14:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ Added AnyTypeCode to include path of Any_Arg_Traits.h
+
+ Wed Aug 10 08:06:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/IFR_Client/*:
+ Removed -GA in the generation options and removed all *A.cpp
+ files. The IFR_Client has a struct defined in an interface, then
+ the generation of seperate *A.h file will not work.
+
+ * tao/AnyTypeCode/ValueModifier*.*:
+ Added A.{h,cpp} file.
+
+ Tue Aug 9 13:46:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/Any_SArg_Traits.h
+ * tao/PortableServer/BD_String_SArgument_T.cpp
+ * tao/PortableServer/BD_String_SArgument_T.h
+ * tao/PortableServer/BD_String_SArgument_T.inl
+ * tao/PortableServer/Basic_SArgument_T.cpp
+ * tao/PortableServer/Basic_SArgument_T.h
+ * tao/PortableServer/Basic_SArgument_T.inl
+ * tao/PortableServer/Basic_SArguments.h
+ * tao/PortableServer/Fixed_Array_SArgument_T.cpp
+ * tao/PortableServer/Fixed_Array_SArgument_T.h
+ * tao/PortableServer/Fixed_Array_SArgument_T.inl
+ * tao/PortableServer/Fixed_Size_SArgument_T.cpp
+ * tao/PortableServer/Fixed_Size_SArgument_T.h
+ * tao/PortableServer/Fixed_Size_SArgument_T.inl
+ * tao/PortableServer/Object_SArg_Traits.h
+ * tao/PortableServer/Object_SArgument_T.cpp
+ * tao/PortableServer/Object_SArgument_T.h
+ * tao/PortableServer/Object_SArgument_T.inl
+ * tao/PortableServer/PolicyS.cpp
+ * tao/PortableServer/Special_Basic_SArgument_T.cpp
+ * tao/PortableServer/Special_Basic_SArgument_T.h
+ * tao/PortableServer/Special_Basic_SArgument_T.inl
+ * tao/PortableServer/Special_Basic_SArguments.h
+ * tao/PortableServer/TypeCode_SArg_Traits.h
+ Updated also all SArg_Traits templates
+
+ Tue Aug 9 12:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_arg_traits.cpp:
+ Updated Arg traits generation
+
+ Tue Aug 9 11:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * AnyTypeCode_Adapter.h
+ * BD_String_Argument_T.cpp
+ * BD_String_Argument_T.h
+ * BD_String_Argument_T.inl
+ * Basic_Argument_T.cpp
+ * Basic_Argument_T.h
+ * Basic_Argument_T.inl
+ * Basic_Arguments.h
+ * DomainC.cpp
+ * Fixed_Array_Argument_T.cpp
+ * Fixed_Array_Argument_T.h
+ * Fixed_Array_Argument_T.inl
+ * ORB_Core_TSS_Resources.cpp
+ * ORB_Core_TSS_Resources.h
+ * Object.cpp
+ * Object.h
+ * Object_Argument_T.cpp
+ * Object_Argument_T.h
+ * Object_Argument_T.inl
+ * PolicyC.cpp
+ * Special_Basic_Argument_T.cpp
+ * Special_Basic_Argument_T.h
+ * Special_Basic_Argument_T.inl
+ * Special_Basic_Arguments.h
+ * UB_String_Argument_T.cpp
+ * UB_String_Argument_T.h
+ * UB_String_Argument_T.inl
+ * UB_String_Arguments.h
+ * Var_Array_Argument_T.cpp
+ * Var_Array_Argument_T.h
+ * Var_Array_Argument_T.inl
+ * Var_Size_Argument_T.cpp
+ * Var_Size_Argument_T.h
+ * Var_Size_Argument_T.inl
+ * AnyTypeCode/AnyTypeCode_Adapter_Impl.h
+ * AnyTypeCode/Any_Arg_Traits.h
+ * AnyTypeCode/TypeCode.h
+ * Domain/DomainS.cpp
+ * IFR_Client/IFR_BaseC.cpp
+ * IORInterceptor/IORInfoC.cpp
+ * ImR_Client/ImplRepoC.cpp
+ * ImR_Client/ImplRepoS.cpp
+ * ObjRefTemplate/ObjectReferenceTemplateC.cpp
+ * PortableServer/PolicyS.cpp
+ * PortableServer/PortableServerC.cpp
+ * RTScheduling/RTSchedulerC.cpp
+ * Valuetype/AbstractBase.h
+ * Valuetype/ValueBase.h
+ Updated Argument classes to use new Any Insert Policy template
+
+ Mon Aug 8 09:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/ORB.cpp:
+ * tao/ORB_Core.{h,cpp,i}:
+ * tao/PI/ClientRequestInfo.cpp:
+ * tao/PI_Server/POA_Current.cpp:
+ * tao/PI_Server/ServerRequestInfo.cpp:
+ Updated partly for PI changes. Idea is now to store PICurrent in the
+ ORB Core as Object_ptr, a dynamic cast can then be done in the PI libs
+
+ * tao/Argument.cpp
+ * tao/Argument.h
+ * tao/BD_String_Argument_T.cpp
+ * tao/BD_String_Argument_T.h
+ * tao/Basic_Argument_T.cpp
+ * tao/Basic_Argument_T.h
+ * tao/Basic_Arguments.h
+ * tao/DomainC.cpp
+ * tao/Fixed_Array_Argument_T.cpp
+ * tao/Fixed_Array_Argument_T.h
+ * tao/Fixed_Size_Argument_T.cpp
+ * tao/Fixed_Size_Argument_T.h
+ * tao/IFR_Client_Adapter.h
+ * tao/Object.cpp
+ * tao/Object.h
+ * tao/Object_Argument_T.cpp
+ * tao/Object_Argument_T.h
+ * tao/PolicyC.cpp
+ * tao/Special_Basic_Argument_T.cpp
+ * tao/Special_Basic_Argument_T.h
+ * tao/UB_String_Argument_T.cpp
+ * tao/UB_String_Argument_T.h
+ * tao/Var_Array_Argument_T.cpp
+ * tao/Var_Array_Argument_T.h
+ * tao/Var_Size_Argument_T.cpp
+ * tao/Var_Size_Argument_T.h
+ * tao/DynamicInterface/DII_Arguments.cpp
+ * tao/DynamicInterface/DII_Arguments.h
+ * tao/IFR_Client/IFR_BaseC.cpp
+ * tao/IFR_Client/IFR_BasicC.cpp
+ * tao/IFR_Client/IFR_Client_Adapter_Impl.cpp
+ * tao/IFR_Client/IFR_Client_Adapter_Impl.h
+ * tao/IFR_Client/IFR_ComponentsC.cpp
+ * tao/IFR_Client/IFR_ExtendedC.cpp
+ * tao/ImR_Client/ImplRepoC.cpp
+ * tao/ImR_Client/ServerObjectC.cpp
+ * tao/ObjRefTemplate/ObjectReferenceTemplateC.cpp
+ * tao/PI/ClientRequestInfo.cpp
+ * tao/PI_Server/ServerRequestInfo.cpp
+ * tao/PortableServer/BD_String_SArgument_T.cpp
+ * tao/PortableServer/BD_String_SArgument_T.h
+ * tao/PortableServer/Basic_SArgument_T.cpp
+ * tao/PortableServer/Basic_SArgument_T.h
+ * tao/PortableServer/Basic_SArguments.h
+ * tao/PortableServer/Fixed_Array_SArgument_T.cpp
+ * tao/PortableServer/Fixed_Array_SArgument_T.h
+ * tao/PortableServer/Fixed_Size_SArgument_T.cpp
+ * tao/PortableServer/Fixed_Size_SArgument_T.h
+ * tao/PortableServer/Object_SArgument_T.cpp
+ * tao/PortableServer/Object_SArgument_T.h
+ * tao/PortableServer/PolicyS.cpp
+ * tao/PortableServer/Special_Basic_SArgument_T.cpp
+ * tao/PortableServer/Special_Basic_SArgument_T.h
+ * tao/PortableServer/UB_String_SArgument_T.cpp
+ * tao/PortableServer/UB_String_SArgument_T.h
+ * tao/PortableServer/Var_Array_SArgument_T.cpp
+ * tao/PortableServer/Var_Array_SArgument_T.h
+ * tao/PortableServer/Var_Size_SArgument_T.cpp
+ * tao/PortableServer/Var_Size_SArgument_T.h
+ Changed the interface of TAO::Argument. Instead of using
+ Dynamic::Parameter as argument, use the method interceptor_
+ value that gets an Any* argument and a separate mode argument
+ to get the mode of the argument (in/out/inout). Instead of
+ duplicating this mode method, added InArgument, InoutArgument,
+ OutArgument and RetArgument class that implement this method.
+ All templates are then derived from the correct base method.
+
+ Mon Aug 8 20:26:22 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/AnyTypeCode/NVList_Adapter_Impl.h:
+
+ Corrected the export macro.
+
+ Mon Aug 8 19:55:07 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_exception/exception_cs.cpp:
+
+ Moved generation of the _tao_type() method for user exceptions
+ to the *A.cpp file if we are using the -GA option.
+
+ * TAO_IDL/be/be_codegen.cp:
+
+ Added code generation of *A.h includes from the AnyTypeCode
+ library corresponding to included .pidl files.
+
+ Thu Aug 4 18:52:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Cache_Entries.{h,inl}:
+ Removed non const index method
+
+ * tao/PortableServer/SArg_Traits_T.h:
+ * tao/PortableServer/Basic_SArguments.h:
+ * tao/PortableServer/Special_Basic_SArguments.h:
+ * tao/PortableServer/UB_String_SArguments.h:
+ * tao/Arg_Traits_T.h:
+ Moved SArg_Traits to its own file and updated includes
+
+ * tao/PI_Server/ServerRequestInfo.cpp:
+ * tao/PI_Server/ServerInterceptorAdapter.cpp:
+ Updated for PICurrent changes
+
+ * tao/PI/ClientRequestInfo.{h,cpp}:
+ Implemented several methods here instead of using
+ functionality that was in the TAO lib for interceptors
+
+ * tao/DynamicInterface/DII_Invocation.cpp:
+ Updated include of RequestInfo_Util.h
+
+ * tao/Invocation_Base.{h,cpp}:
+ * tao/operation_details.{h,cpp,i}:
+ Removed several methods that are just there for the
+ ClientRequestInfo. The functionality moved to the
+ ClientRequestInfo class in the PI library where we just
+ access the operation details.
+
+ * tao/tao.mpc:
+ Removed files
+
+ * tao/RequestInfo_Util.{h,cpp}:
+ * tao/PI/RequestInfo_Util.{h,cpp}:
+ Moved to the PI lib
+
+ * tao/Invocation_Adapter.h:
+ Removed obsolete forward declaration of TAO_Exception_Data
+
+ * tao/AnyTypeCode/TypeCode.cpp:
+ Applied some patches Ossama did to the main branch also
+
+ * tao/Argument.cpp:
+ Use true instead of 1
+
+ * tao/PI/InvalidSlotA.h:
+ * tao/PI/InvalidSlotC.h:
+ Corrected export macro
+
+ * tao/DynamicInterface/Unknown_User_Exception.{h,cpp}:
+ Removed _is_a method
+
+ * tao/operation_details.{h,i}:
+ Removed non const version of addressing_mode
+
+ * tao/Invocation_Base.{h,inl}:
+ Added accessor for operation details
+
+ Tue Aug 2 13:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/TC_Constants_Forward.h:
+ * tao/AnyTypeCode/TC_Constants_Forward.h:
+ Moved to AnyTypeCode lib
+
+ Tue Aug 2 12:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/CORBA_methods.h:
+ Removed not needed forward declarations
+
+ * tao/Dynamic_Adapter.cpp:
+ Removed not needed includes and explicit templates
+
+ * tao/NVList_Adapter.{h,cpp}:
+ New NVList adapter
+
+ * tao/ORB.{h,cpp}:
+ Use new NVList Adapter
+
+ * tao/tao.mpc:
+ Added NVList_Adapter files
+
+ * tao/AnyTypeCode.mpc:
+ Added new files
+
+ * tao/NVList.h:
+ Updated friends
+
+ * tao/NVList_Adapter_Impl.{h,cpp}:
+ Concrete NVList Adapter implementation
+
+ Tue Aug 2 12:17:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/AnyTypeCode_Adapter_Impl.{h,cpp}:
+ Adapter implementation. _tao_type for all systemexceptions
+ is not available
+
+ Tue Aug 2 12:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/ExceptionA.cpp:
+ Reenabled CORBA::Exception Any operators now _tao_type is available
+ again
+
+ Mon Aug 1 19:18:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Exception.{h,cpp}:
+ Removed class TAO_DONT_CATCH, it is not used at all. Also removed
+ the emulated exception argument from create_system_exception, it
+ is not needed
+
+ Mon Aug 1 19:06:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode_Adapter.{h,cpp}:
+ * tao/SystemException.cpp:
+ Added first version of Adapter interface and implemented
+ SystemException::_tao_type to call the adapter method.
+
+ * tao/tao.mpc:
+ Added new file
+
+ Mon Aug 1 18:10:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Exception.{h,cpp}:
+ * tao/SystemException.{h,cpp}:
+ * tao/UserException.{h,cpp}:
+ Removed _is_a, it is TAO specific to handle environments without
+ RTTI but we require and use that, so zapped this method.
+ Reimplemented SystemException::_tao_get_omg_exception_description
+ to use dynamic_cast to check for the specific exception type
+
+ Mon Aug 1 15:22:59 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/AnyTypeCode/DynamicA.h:
+ * tao/AnyTypeCode/DynamicC.h:
+
+ Fixed some export macros that were not changed when these
+ files were moved to the AnyTypeCode library.
+
+ Mon Aug 1 14:20:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Exception.h:
+ * tao/SystemException.h:
+ * tao/UserException.h:
+ Documentation improvements
+
+ Mon Aug 1 12:30:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Exception.{h,cpp}:
+ Declared _tao_type as pure virtual. No need to have a default
+ implementation here
+
+ * tao/ORB.{h,cpp}:
+ Optimized InvalidName::_downcast. Implemented _tao_type as
+ return 0, we don't have a default implementatio anymore in the
+ base
+
+ * tao/PolicyC.{h,cpp}:
+ * tao/WrongTransactionC.{h,cpp}:
+ Made _tao_type active again, implement this as return 0 at this
+ moment, have to call a new adapter later
+
+ * tao/SystemException.{h,cpp}:
+ Added _tao_type again, implemented it as return 0, have to add
+ a call to an adapter later for all system exceptions
+
+ * tao/UserException.{h,cpp}:
+ Added _tao_type with return 0 as default implementation, coming
+ from the base
+
+ * tao/AnyTypeCode/BoundsC.{h,cpp}:
+ * tao/PI/InvalidSlotC.{h,cpp}:
+ Added _tao_type again.
+
+ * tao/AnyTypeCode/TypeCode.{h,cpp}:
+ Added _tao_type with return 0
+
+ Mon Aug 1 11:19:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode.mpc:
+ Updated for a lot of changes
+
+ * tao/Basic_Argument_T.cpp:
+ Added a temporarily specialization for unsigned int, will need to be
+ removed soon
+
+ * tao/Object_Argument_T.cpp
+ Added a temporarily specialization for Policy, will need to be
+ removed soon
+
+ * tao/Special_Basic_Argument_T.cpp:
+ Added a temporarily specialization for bool, will need to be
+ removed soon
+
+ * tao/UB_String_Argument_T.cpp:
+ Added a temporarily specialization for string, will need to be
+ removed soon
+
+ * tao/BD_String_Argument_T.cpp:
+ * tao/Fixed_Array_Argument_T.cpp:
+ * tao/Fixed_Size_Argument_T.cpp:
+ Removed include of Dynamic_ParameterC.h
+
+ * tao/Block_Flushing_Strategy.h:
+ * tao/Flushing_Strategy.h:
+ * tao/Leader_Follower_Flushing_Strategy.h:
+ * tao/Reactive_Flushing_Strategy.h:
+ * tao/Wait_On_Leader_Follower.h:
+ * tao/Wait_On_LF_No_Upcall.h:
+ * tao/Wait_On_Reactor.h:
+ * tao/Wait_On_Read.h:
+ * tao/Wait_Strategy.h:
+ No need to export the class in this file
+
+ * tao/DomainC.cpp:
+ Pass the Dynamic_Parameter to the IFR Adapter, this way we don't
+ depend on Any
+
+ * tao/IFR_Client_Adapter.h:
+ Pass the Dynamic::Parameter to interfacedef_any_insert
+
+ * tao/InvalidSlot*.*:
+ Moved to the PI library
+
+ * tao/Invocation_Base.cpp:
+ * tao/operation_details.cpp:
+ Commented out several methods which need to be reimplemented
+ using a new adapter
+
+ * tao/ORB.cpp:
+ * tao/ORB_Core.{h,cpp,i}:
+ * tao/ORB_Core_TSS_Resources.{h,cpp}:
+ Commented out creation of PICurrent, will have to reimplement this
+ now PICurrent moved to the PI lib
+
+ * tao/PortableInterceptor.pidl:
+ * tao/PortableInterceptorC.h:
+ Removed the files that moved to the PI lib
+
+ * tao/PICurrent.{h,cpp,inl,pidl}:
+ * tao/PICurrent_Copy_Callback.{h,cpp}:
+ * tao/PICurrent_Impl.{h,cpp,inl}:
+ * tao/PICurrent_Loader.{h,cpp}:
+ * tao/PICurrentC.{h,cpp}:
+ * tao/PICurrentS.h:
+ Moved to the PI lib
+
+ * tao/Server_Request.{h,cpp,inl}:
+ Use pointers for the PI stuff, will need to update this soon
+
+ * tao/TypeCodeFactory_Adapter.h:
+ Added forward declaration for ValueModifier
+
+ * tao/ValueModifier.pidl:
+ * tao/ValueModifierC.{h,cpp}:
+ * tao/ValueModifierS.h:
+ Moved to AnyTypeCode lib
+
+ * tao/Visibility.pidl:
+ * tao/VisibilityC.{h,cpp}:
+ * tao/VisibilityS.h:
+ Moved to AnyTypeCode lib
+
+ * tao/AnyTypeCode/PICurrentA.{h,cpp}:
+ * tao/AnyTypeCode/InvalidSlotA.{h,cpp}:
+ Moved to the PI lib
+
+ * tao/AnyTypeCode/PortableInterceptorA.h:
+ Removed some includes
+
+ * tao/AnyTypeCode/TypeCode.h:
+ * tao/AnyTypeCode/Value_TypeCode:
+ * tao/AnyTypeCode/Value_TypeCode_Static.h:
+ Updated includes
+
+ * tao/IFR_Client/*C.cpp:
+ Added include of Dynamic_Parameter.h
+
+ * tao/PI/ClientRequestInfo.{h,cpp}:
+ Updated includes
+
+ * tao/PI/PICurrent*.*:
+ Moved here from the tao lib
+
+ * tao/PoratbleServer/Basic_SArgument_T.cpp
+ * tao/PoratbleServer/BD_String_SArgument_T.cpp
+ * tao/PoratbleServer/Fixed_Array_SArgument_T.cpp
+ * tao/PoratbleServer/Fixed_Size_SArgument_T.cpp
+ * tao/PoratbleServer/Object_SArgument_T.cpp
+ * tao/PoratbleServer/Special_Basic_SArgument_T.cpp
+ * tao/PoratbleServer/UB_String_SArgument_T.cpp
+ * tao/PoratbleServer/Var_Array_SArgument_T.cpp
+ * tao/PoratbleServer/Var_Size_SArgument_T.cpp
+ Update includes
+
+ * tao/PortableServer/Upcall_Wrapper.cpp:
+ Temporarily commented out PICurrent_Guard. Need to change this
+ to a call to the PI adapter and an auto_ptr
+
+ Fri Jul 29 19:23:17 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be_include/be_global.h:
+
+ Added -oA <path> option to direct the output of generated
+ *A.* files. The -oA option overrides path specified by
+ -o, if any.
+
+ * docs/compiler.html:
+
+ Added above option to commandline option table.
+
+ Fri Jul 29 18:32:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/DynamicAny.mpc
+ * tao/IFR_Client.mpc
+ * tao/IORManipulation.mpc
+ * tao/Strategies.mpc
+ * tao/Valuetype.mpc
+ * tao/Var_Size_Argument_T.cpp
+ * tao/corba.h
+ * tao/AnyTypeCode/DynamicA.cpp
+ * tao/AnyTypeCode/DynamicA.h
+ * tao/AnyTypeCode/DynamicC.cpp
+ * tao/AnyTypeCode/DynamicC.h
+ * tao/AnyTypeCode/TypeCode_CDR_Extraction.cpp
+ * tao/AnyTypeCode/orb_typesA.h
+ * tao/DynamicInterface/DII_Arguments.cpp
+ * tao/DynamicInterface/Request.cpp
+ * tao/DynamicInterface/Request.h
+ * tao/DynamicInterface/Server_Request.cpp
+ * tao/IFR_Client/IFR_BaseA.cpp
+ * tao/IFR_Client/IFR_BaseC.cpp
+ * tao/IFR_Client/IFR_BasicA.cpp
+ * tao/IFR_Client/IFR_BasicC.cpp
+ * tao/IFR_Client/IFR_Client_Adapter_Impl.cpp
+ * tao/IFR_Client/IFR_ComponentsA.cpp
+ * tao/IFR_Client/IFR_ExtendedA.cpp
+ * tao/IORManipulation/IORA.cpp
+ * tao/ImR_Client/ImplRepoA.cpp
+ * tao/Messaging/Messaging_PolicyFactory.cpp
+ * tao/Messaging/Messaging_Policy_i.cpp
+ * tao/Messaging/Messaging_RT_PolicyA.cpp
+ * tao/ObjRefTemplate/Default_ORTA.cpp
+ * tao/ObjRefTemplate/ObjectReferenceTemplateA.cpp
+ * tao/PI/ClientRequestInfoA.cpp
+ * tao/PI/ClientRequestInterceptorA.cpp
+ * tao/PI/InterceptorA.cpp
+ * tao/PI/ORBInitInfoA.cpp
+ * tao/PI/RequestInfo.pidl
+ * tao/PI/RequestInfoA.cpp
+ * tao/PI_Server/ServerRequestInfoA.cpp
+ * tao/PI_Server/ServerRequestInterceptorA.cpp
+ * tao/PortableServer/Var_Size_SArgument_T.cpp
+ * tao/RTCORBA/RTCORBAA.cpp
+ * tao/RTCORBA/RT_Policy_i.cpp
+ * tao/RTPortableServer/RTPortableServerA.cpp
+ * tao/RTScheduling/RTSchedulerA.cpp
+ * tao/Strategies/sciop_endpointsC.cpp
+ * tao/Strategies/uiop_endpointsC.cpp
+ * tao/TypeCodeFactory/Recursive_TypeCode.h
+ * tao/TypeCodeFactory/TypeCodeFactoryA.cpp
+ * tao/TypeCodeFactory/TypeCodeFactory_i.cpp
+ * tao/Valuetype/StringValueC.cpp
+ * tao/Valuetype/ValueBase.cpp
+ All kinds of changes to get things compiling again
+
+ * AnyTypeCode/Union_TypeCode.{h,cpp,inl}:
+ * AnyTypeCode/Union_TypeCode_T.{h,cpp,inl}:
+ Renamed _T back to normal file
+
+ Fri Jul 29 15:26:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/DynamicInterface/DynamicParameter*.{h,cpp}:
+ * tao/AnyTypeCode/DynamicParameter*.{h,cpp}:
+ Moved DynamicParameter to the AnyTypeCode lib. The PI lib uses this
+ and having it in DynamicInterface will make PI dependent on
+ DynamicInterface
+
+ Fri Jul 29 11:02:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Exception.{h,cpp}:
+ * tao/AnyTypeCode/Exception.{h,cpp}:
+ Moved Any code from Exception to AnyTypeCode. Have to solve the
+ _tao_type issue.
+
+ Fri Jul 29 10:42:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode/AnyTypeCode_methods.h:
+ * tao/AnyTypeCode/TypeCode.h:
+ Moved is_nil and release from TypeCode.h to AnyTypeCode_methods.h
+
+ Fri Jul 29 04:19:55 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/CORBA_methods.h:
+
+ Removed static CORBA is_nil() and release() methods for
+ NamedValue and NVList.
+
+ * tao/SystemException.cpp:
+
+ Restored definition of static _tao_any_destructor()
+ methods for system exceptions. They are used by Anys,
+ but do not depend on them. This move eliminated
+ 'inconsistent dll linkage' warnings on MSVC.
+
+ * tao/SystemException.h:
+
+ Removed declarations of typecodes and Any operators
+ for the system exceptions.
+
+ * tao/AnyTypeCode/NVList.h:
+
+ Added include of the new AnyTypeCode_methods.h file below.
+
+ * tao/AnyTypeCode/SystemExceptionA.cpp:
+
+ Removed definition of static _tao_any_destructor()
+ methods for system exceptions.
+
+ * tao/AnyTypeCode/SystemExceptionA.h:
+
+ New file, contains typecode and Any operator declarations
+ for system exceptions.
+
+ * tao/AnyTypeCode/AnyTypeCode_methods.h:
+
+ New file, contains declarations of static CORBA is_nil()
+ and release() methods for NamedValue and NVList. This
+ move eliminated 'inconsistent dll linkage' warnings on
+ MSVC.
+
+ Thu Jul 28 22:40:26 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_visitor_context.cpp:
+ * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp:
+ * TAO_IDL/be_include/be_visitor_context.h:
+
+ Added logic to make the anyop export macro and export include
+ default to the corresponding stub values, if any, when the
+ former values have not been set on the command line, but -GA
+ is used. This behavior will enable the *A.* files to be
+ generated, but compiled into the same library as the stub
+ files, if desired.
+
+ Thu Jul 28 18:35:07 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Buffering_Constraint_Policy.{h,cpp}:
+ * tao/Messaging/Messaging_PolicyFactory.{h,cpp}:
+ Moved the create method to extract a BufferingConstraint out of
+ an Any to the Messaging lib. It is used there and not needed at
+ all in the core TAO lib. In the future we probably will move the
+ complete Buffering_Constraint_Policy to the Messaging lib
+
+ Thu Jul 28 16:43:07 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+
+ Added code generation to include *A.h files (in the
+ *A.cpp file) for each included IDL file. If possible,
+ existence checks for these included files will be added
+ at a future date.
+
+ * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp:
+
+ Switched generation of the typecode declaration to the
+ *A.h file, if the -GA option is used.
+
+ * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
+
+ Updated comment.
+
+ * TAO_IDL/be/be_global.cpp:
+
+ Fixed typo in generated usage message.
+
+ * TAO_IDL/driver/drv_args.cpp:
+
+ Added usage messages for each individual recognized
+ -W[p|b] option.
+
+ * docs/compiler.html:
+
+ Updated command line option table with the new -Wb options
+ for export macro and export include in *A.h files.
+
+ Thu Jul 28 12:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/PortableServer/AdapterActivatorA.cpp
+ * tao/PortableServer/ForwardRequestA.cpp
+ * tao/PortableServer/IdAssignmentPolicyA.cpp
+ * tao/PortableServer/IdUniquenessPolicyA.cpp
+ * tao/PortableServer/ImplicitActivationPolicyA.cpp
+ * tao/PortableServer/LifespanPolicyA.cpp
+ * tao/PortableServer/POAManagerA.cpp
+ * tao/PortableServer/PolicyS.cpp
+ * tao/PortableServer/PortableServerA.cpp
+ * tao/PortableServer/PS_ForwardA.cpp
+ * tao/PortableServer/RequestProcessingPolicyA.cpp
+ * tao/PortableServer/ServantActivatorA.cpp
+ * tao/PortableServer/ServantLocatorA.cpp
+ * tao/PortableServer/ServantManagerA.cpp
+ * tao/PortableServer/ServantRetentionPolicyA.cpp
+ * tao/PortableServer/ThreadPolicyA.cpp
+ Updated includes to the new AnyTypeCode library. Just a quick
+ search and replace to get this lib compiling again. Only have
+ an unresolved link error I have to investigate
+
+ Thu Jul 28 11:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ Generate post include in A.h file, updated generated
+ includes for moving of files
+
+ * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp:
+ Zapped starting spaces
+
+ * tao/PortableServer/Basic_SArgument_T.cpp:
+ * tao/PortableServer/Object_SArgument_T.cpp:
+ * tao/PortableServer/Special_Basic_SArgument_T.cpp:
+ * tao/PortableServer/UB_String_SArgument_T.cpp:
+ Only include DynamicParameter.h when interceptors are enabled
+
+ Thu Jul 28 11:18:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/AnyTypeCode.mpc:
+ New MPC file
+
+ * tao/Alias_TypeCode.cpp
+ * tao/Alias_TypeCode.h
+ * tao/Alias_TypeCode.inl
+ * tao/Alias_TypeCode_Static.cpp
+ * tao/Alias_TypeCode_Static.h
+ * tao/Alias_TypeCode_Static.inl
+ * tao/Any.cpp
+ * tao/Any.h
+ * tao/Any.i
+ * tao/AnySeq.pidl
+ * tao/AnySeqA.cpp
+ * tao/AnySeqC.cpp
+ * tao/AnySeqC.h
+ * tao/AnySeqS.h
+ * tao/Any_Arg_Traits.h
+ * tao/Any_Array_Impl_T.cpp
+ * tao/Any_Array_Impl_T.h
+ * tao/Any_Array_Impl_T.inl
+ * tao/Any_Basic_Impl.cpp
+ * tao/Any_Basic_Impl.h
+ * tao/Any_Basic_Impl_T.cpp
+ * tao/Any_Basic_Impl_T.h
+ * tao/Any_Basic_Impl_T.inl
+ * tao/Any_Dual_Impl_T.cpp
+ * tao/Any_Dual_Impl_T.h
+ * tao/Any_Dual_Impl_T.inl
+ * tao/Any_Impl.cpp
+ * tao/Any_Impl.h
+ * tao/Any_Impl_T.cpp
+ * tao/Any_Impl_T.h
+ * tao/Any_Impl_T.inl
+ * tao/Any_Special_Impl_T.cpp
+ * tao/Any_Special_Impl_T.h
+ * tao/Any_Special_Impl_T.inl
+ * tao/Any_SystemException.cpp
+ * tao/Any_SystemException.h
+ * tao/Any_Unknown_IDL_Type.cpp
+ * tao/Any_Unknown_IDL_Type.h
+ * tao/BooleanSeqA.cpp
+ * tao/Bounds.pidl
+ * tao/BoundsA.cpp
+ * tao/BoundsC.cpp
+ * tao/BoundsC.h
+ * tao/CONV_FRAMEA.cpp
+ * tao/CharSeqA.cpp
+ * tao/CurrentA.cpp
+ * tao/DomainA.cpp
+ * tao/DoubleSeqA.cpp
+ * tao/Dynamic.pidl
+ * tao/DynamicA.cpp
+ * tao/DynamicC.cpp
+ * tao/DynamicC.h
+ * tao/DynamicS.h
+ * tao/Dynamic_Parameter.pidl
+ * tao/Dynamic_ParameterA.cpp
+ * tao/Dynamic_ParameterC.cpp
+ * tao/Dynamic_ParameterC.h
+ * tao/Empty_Param_TypeCode.cpp
+ * tao/Empty_Param_TypeCode.h
+ * tao/Empty_Param_TypeCode.inl
+ * tao/Enum_TypeCode.cpp
+ * tao/Enum_TypeCode.h
+ * tao/Enum_TypeCode.inl
+ * tao/Enum_TypeCode_Static.cpp
+ * tao/Enum_TypeCode_Static.h
+ * tao/Enum_TypeCode_Static.inl
+ * tao/Fixed_TypeCode.cpp
+ * tao/Fixed_TypeCode.h
+ * tao/Fixed_TypeCode.inl
+ * tao/FloatSeqA.cpp
+ * tao/GIOPA.cpp
+ * tao/IIOPA.cpp
+ * tao/IIOP_EndpointsA.cpp
+ * tao/IOP_IORA.cpp
+ * tao/InvalidSlotA.cpp
+ * tao/LongDoubleSeqA.cpp
+ * tao/LongLongSeqA.cpp
+ * tao/LongSeqA.cpp
+ * tao/Marshal.cpp
+ * tao/Marshal.h
+ * tao/Marshal.i
+ * tao/Messaging_PolicyValueA.cpp
+ * tao/NVList.cpp
+ * tao/NVList.h
+ * tao/NVList.i
+ * tao/Null_RefCount_Policy.h
+ * tao/ObjectIdListA.cpp
+ * tao/Objref_TypeCode.cpp
+ * tao/Objref_TypeCode.h
+ * tao/Objref_TypeCode.inl
+ * tao/Objref_TypeCode_Static.cpp
+ * tao/Objref_TypeCode_Static.h
+ * tao/Objref_TypeCode_Static.inl
+ * tao/OctetSeqA.cpp
+ * tao/PICurrentA.cpp
+ * tao/ParameterModeA.cpp
+ * tao/PolicyA.cpp
+ * tao/Policy_ForwardA.cpp
+ * tao/Recursive_Type_TypeCode.cpp
+ * tao/Recursive_Type_TypeCode.h
+ * tao/Recursive_Type_TypeCode.inl
+ * tao/RefCount_Policy_Traits.h
+ * tao/Sequence_TypeCode.cpp
+ * tao/Sequence_TypeCode.h
+ * tao/Sequence_TypeCode.inl
+ * tao/Sequence_TypeCode_Static.cpp
+ * tao/Sequence_TypeCode_Static.h
+ * tao/Sequence_TypeCode_Static.inl
+ * tao/ShortSeqA.cpp
+ * tao/StringSeqA.cpp
+ * tao/String_TypeCode.cpp
+ * tao/String_TypeCode.h
+ * tao/String_TypeCode.inl
+ * tao/String_TypeCode_Static.cpp
+ * tao/String_TypeCode_Static.h
+ * tao/String_TypeCode_Static.inl
+ * tao/String_TypeCode_Traits.h
+ * tao/Struct_TypeCode.cpp
+ * tao/Struct_TypeCode.h
+ * tao/Struct_TypeCode.inl
+ * tao/Struct_TypeCode_Static.cpp
+ * tao/Struct_TypeCode_Static.h
+ * tao/Struct_TypeCode_Static.inl
+ * tao/SystemExceptionA.cpp
+ * tao/TAOA.cpp
+ * tao/TimeBaseA.cpp
+ * tao/True_RefCount_Policy.cpp
+ * tao/True_RefCount_Policy.h
+ * tao/True_RefCount_Policy.inl
+ * tao/TypeCode.cpp
+ * tao/TypeCode.h
+ * tao/TypeCode.inl
+ * tao/TypeCodeA.cpp
+ * tao/TypeCode_Base_Attributes.cpp
+ * tao/TypeCode_Base_Attributes.h
+ * tao/TypeCode_Base_Attributes.inl
+ * tao/TypeCode_CDR_Extraction.cpp
+ * tao/TypeCode_CDR_Extraction.h
+ * tao/TypeCode_Case.cpp
+ * tao/TypeCode_Case.h
+ * tao/TypeCode_Case.inl
+ * tao/TypeCode_Case_T.cpp
+ * tao/TypeCode_Case_T.h
+ * tao/TypeCode_Case_T.inl
+ * tao/TypeCode_Constants.cpp
+ * tao/TypeCode_Constants.h
+ * tao/TypeCode_Struct_Field.h
+ * tao/TypeCode_Traits.h
+ * tao/TypeCode_Value_Field.h
+ * tao/ULongLongSeqA.cpp
+ * tao/ULongSeqA.cpp
+ * tao/UShortSeqA.cpp
+ * tao/Union_TypeCode.cpp
+ * tao/Union_TypeCode.h
+ * tao/Union_TypeCode.inl
+ * tao/Union_TypeCode_Static.cpp
+ * tao/Union_TypeCode_Static.h
+ * tao/Union_TypeCode_Static.inl
+ * tao/Value_TypeCode.cpp
+ * tao/Value_TypeCode.h
+ * tao/Value_TypeCode.inl
+ * tao/Value_TypeCode_Static.cpp
+ * tao/Value_TypeCode_Static.h
+ * tao/Value_TypeCode_Static.inl
+ * tao/WCharSeqA.cpp
+ * tao/WStringSeqA.cpp
+ * tao/WrongTransactionA.cpp
+ * tao/append.cpp
+ * tao/skip.cpp
+ All these files are moved to the AnyTypeCode directory
+
+ * tao/UB_String_Argument_T.cpp:
+ * tao/Special_Basic_Argument_T.cpp:
+ * tao/Basic_Argument_T.cpp:
+ * tao/Object_Argument_T.cpp:
+ * tao/operation_details.cpp
+ * tao/Invocation_Base.cpp
+ Only include Dynamic_ParameterC.h when interceptors are enabled
+
+ * tao/SystemException.{h,cpp}:
+ Moved excp_factory to this file, we need it here, temporarily
+ removed _tao_type, we need to work on this.
+
+ * tao/RequestInfo_Util.{h,cpp}:
+ Don't build these when interceptors are disabled
+
+ * tao/ORB_Core.cpp
+ Include ace/Message_Block.h to get ACE_Data_Block
+
+ * tao/ORB_Core.h:
+ Added forward declaration of ACE_Data_Block
+
+ * tao/extra_core.mpb:
+ Removed NVList
+
+ * tao/corba.h:
+ Removed BoundsC.h
+
+ * tao/PortableInterceptorC.cpp
+ * tao/VisibilityC.cpp
+ * tao/orb_typesC.cpp
+ * tao/ORB.cpp
+ * tao/PI_ForwardC.cpp
+ * tao/InvalidSlotC.cpp
+ * tao/WrongTransactionC.cpp
+ * tao/GIOPC.cpp
+
+ * tao/Exception.{h,cpp}:
+ Commented out the Any operators, they should go to another lib,
+ will handle this later
+
+ * tao/Buffering_Constraint_Policy.cpp:
+ Commented out Any usage, needs to be addressed
+
+ * tao/WrongTransactionC.{h,cpp}:
+ * tao/PolicyC.cpp:
+ Commented out _tao_type for exceptions, we have to solve this
+ because exceptions now use TypeCode but we have subsetted that
+
+ * tao/UShortSeqC.h
+ * tao/ULongSeqC.h
+ * tao/WCharSeqC.h
+ * tao/Typecode_typesC.h
+ * tao/ULongLongSeqC.h
+ * tao/StringSeqC.h
+ * tao/TAOC.h
+ * tao/TimeBaseC.h
+ * tao/Policy_ForwardC.h
+ * tao/PortableInterceptorC.h
+ * tao/ShortSeqC.h
+ * tao/VisibilityC.h
+ * tao/LongDoubleSeqC.h
+ * tao/LongLongSeqC.h
+ * tao/LongSeqC.h
+ * tao/Messaging_PolicyValueC.h
+ * tao/ObjectIdListC.h
+ * tao/OctetSeqC.h
+ * tao/PICurrentC.h
+ * tao/PI_ForwardC.h
+ * tao/ParameterModeC.h
+ * tao/PolicyC.h
+ * tao/GIOPC.h
+ * tao/IIOPC.h
+ * tao/IIOP_EndpointsC.h
+ * tao/IOP_IORC.h
+ * tao/InvalidSlotC.h
+ * tao/DomainC.h
+ * tao/CharSeqC.h
+ * tao/CurrentC.h
+ * tao/DoubleSeqC.h
+ * tao/Exception.h
+ * tao/FloatSeqC.h
+ * tao/WStringSeqC.h
+ * tao/WrongTransactionC.h
+ * tao/orb_typesC.h
+ * tao/BooleanSeqC.h
+ * tao/CONV_FRAMEC.h
+ Removed TypeCode and Any operators, these are now all
+ in AnyTypeCode/*.h. This has been by hand, with the
+ change of Jeff below we can automate this
+
+ * tao.mpc
+ Removed a lot of files
+
+ Thu Jul 28 02:15:01 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_produce.cpp:
+ * TAO_IDL/be/be_visitor_context.cpp:
+ * TAO_IDL/be/be_visitor_array/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_enum/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_exception/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_root/any_op.cpp:
+ * TAO_IDL/be/be_visitor_root/root.cpp:
+ * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_structure/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp:
+ * TAO_IDL/be_include/be_codegen.h:
+ * TAO_IDL/be_include/be_global.h:
+ * TAO_IDL/be_include/be_visitor_context.h:
+
+ Modified -GA option to generate a *A.h file as well as
+ a *A.cpp file, and added -Wb options 'anyop_export_macro'
+ and 'anyop_export_include' to optionally compile the *A.*
+ files into a separate library.
+
+ Wed Jul 27 17:51:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_argument/invoke_cs.cpp:
+ * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp:
+ * TAO_IDL/be/be_visitor_argument/paramlist.cpp:
+ * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_field/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/field_cdr_cs.cpp:
+ Use ACE_OutputCDR::from_octet and ACE_InputCDR:to_octet instead
+ of CORBA::Any::from_octect and CORBA::Any::to_octet
+
+ Wed Jul 27 14:56:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/GIOP_Message_Generator_Parser_10.cpp:
+ * tao/GIOP_Message_Generator_Parser_12.cpp:
+ * tao/GIOP_Message_Lite.cpp:
+ Use ACE_OutputCDR::from_octet and ACE_InputCDR:to_octet
+
+Thu Aug 18 13:59:52 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/LogActivator.cpp:
+
+ Fixed emulated exception build failures.
+
+Thu Aug 18 13:46:38 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/LogActivator.cpp:
+
+ Changed to omit identifier name for unused parameters.
+
+ * orbsvcs/orbsvcs/Log/LogMgr_i.cpp:
+
+ Changed to use CORBA::RepositoryId_var for the return value of
+ create_log_repositoryid() so results will be freed on exit.
+
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp:
+
+ Changed create_log_repositoryid() to duplicate string rather
+ than returning a string literal.
+
+Thu Aug 18 15:19:40 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/public_ch.cpp:
+
+ Removed more instances of generating a leading '::'
+ in front of ACE_NESTED_CLASS.
+
+Wed Aug 17 11:30:37 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp (create_with_id):
+
+ Fix bug where _nil() was returned instead of new object
+ reference.
+
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/DsLogAdmin.mpc:
+
+ Add LogActivator.cpp to Source_Files in the DsLogAdmin_Serv
+ project.
+
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp:
+
+ Changed create() and create_with_id() methods to invoke
+ create_log_reference() instead of create_log_object(). This is
+ not absolutely necessary, since a log is very likely to be used
+ after it is created. However, it helps to ensure the servant
+ activator code path is exercised so it will work when a dynamic
+ logging strategy that needs it is loaded.
+
+ * orbsvcs/orbsvcs/Log/LogMgr_i.cpp
+
+ Added USE_SERVANT_MANAGER request processing policy to the
+ log POA.
+
+ * orbsvcs/orbsvcs/Log/LogActivator.cpp:
+ * orbsvcs/orbsvcs/Log/LogActivator.h:
+
+ New files, servant activator class for creating new logs. This
+ is useful for persistent log strategies so that servants can be
+ created when they are first accessed instead of at startup.
+
+Wed Aug 17 14:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/Event_Service/Event_Service.cpp:
+ Removed explicit template instantiations
+
+Tue Aug 16 18:19:13 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp:
+
+ Removed generation of the leading double colon for typedef'd
+ basic type names in the exception constructor, since the
+ ACE_NESTED_CLASS macro could be used, and the double colon
+ will be incorrect for the VC6 expansion of the macro.
+
+Mon Aug 15 20:28:14 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/LogMgr_i.cpp:
+ * orbsvcs/orbsvcs/Log/LogMgr_i.h:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h:
+
+ Refactor separate create_log_reference() implementations from
+ the derived factory classes into a single template method in the
+ base class.
+
+ Added new create_repositoryid() virtual method to return
+ the repository id for the specific log type.
+
+Mon Aug 15 16:41:57 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/orbsvcs/DsEventLogAdmin.mpc:
+
+ Add eventlog_serv_export.h to Header_Files section.
+
+ * orbsvcs/orbsvcs/DsLogAdmin.mpc:
+
+ Add log_serv_export.h to Header_Files section.
+
+ * orbsvcs/orbsvcs/DsNotifyLogAdmin.mpc:
+
+ Add notifylog_serv_export.h to Header_Files section.
+
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/LogMgr_i.cpp:
+ * orbsvcs/orbsvcs/Log/LogMgr_i.h:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h:
+
+ Combine identical create_log_objectid() implementations from the
+ derived factory classes into a single one in the base class.
+
+ Refactor separate create_log_object() implementations to
+ a single template method in the base class.
+
+Mon Aug 15 15:13:10 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/tests/Concurrency/Makefile.am:
+
+ Remove tmplinst.cpp from list of files.
+
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/BasicLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/EventLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/LogMgr_i.h:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp:
+ * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h:
+
+ Create new virtual method create_log_servant() and factor out
+ implementation from create_log_object(). This change enables
+ making create_log_object() into a template method in the base
+ class and using a Servant Activator to avoid creating the log
+ servants until they're actually used. I hope to make these
+ changes soon.
+
+Mon Aug 15 10:56:28 2005 J.T. Conklin <jtc@acorntoolworks.com>
+
+ * orbsvcs/Logging_Service/Basic_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/Event_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/Notify_Logging_Service/Makefile.am:
+ * orbsvcs/Logging_Service/RTEvent_Logging_Service/Makefile.am:
+ * orbsvcs/orbsvcs/Makefile.am:
+
+ Regenerated.
+
+ * orbsvcs/orbsvcs/DsLogAdmin.mpc:
+
+ Changed to inherit from utils.
+
+ * orbsvcs/orbsvcs/Log/LogMgr_i.cpp (init):
+
+ Use TAO::Utils::PolicyList_Destroyer instead of plain
+ CORBA::PolicyList and an explicit loop to destroy the policies.
+ This ensures all policies will be destroyed if an exception is
+ thrown.
+
+Mon Aug 15 16:25:23 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_component/component_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/tie_si.cpp:
+
+ Removed incorrect generation of '::' before CORBA::is_nil()
+ and CORBA::release().
+
+Mon Aug 15 16:08:15 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_valuetype.cpp:
+
+ Removed incorrect generation of '::' before generation of
+ CORBA::add_ref() and CORBA::remove_ref() declarations.
+
+Mon Aug 15 15:45:32 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_exception/exception_ch.cpp:
+
+ Modified changes in
+
+ Fri Aug 12 22:13:15 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ slightly to omit the generation of the leading double colon
+ if a field is a typedef of a basic type. In some of these
+ cases, the ACE_NESTED_MACRO will be generated, and the
+ leading double colon would be incorrect.
+
+Mon Aug 15 10:15:40 CDT 2005 Steve Totten <totten_s@ociweb.com>
+
+ Committed the following change that came originally from
+ Dave Giovannini of OCI in OCI's TAO 1.4a.
+
+ Mon Jul 18 14:04:58 2005 David Giovannini <giovannd@ociweb.com>
+
+ * tao/DynamicInterface/DII_Invocation_Adapter.cpp:
+
+ Add forward invocation to DII adaptor.
+
+Mon Aug 15 10:48:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Cubit/TAO/MT_Cubit/tmplinst.cpp:
+ * performance-tests/Cubit/TAO/IDL_Cubit/tmplinst.cpp:
+ * orbsvcs/tests/Concurrency/tmplinst.cpp:
+ Removed these files
+
+ * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit.mpc:
+ * performance-tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.mpc:
+ Removed the files above
+
+Fri Aug 12 22:15:14 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tests/IDL_Test/nested_scope.idl:
+
+ Added the IDL test file sent in by Nikolay Metchev
+ <n.metchev@teamphone.com> to the test suite.
+
+Fri Aug 12 22:13:15 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_predefined_type.cpp:
+ * TAO_IDL/be/be_valuetype.cpp:
+ * TAO_IDL/be/be_visitor_traits.cpp:
+ * TAO_IDL/be/be_visitor_argument/arglist.cpp:
+ * TAO_IDL/be/be_visitor_argument/invoke_cs.cpp:
+ * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp:
+ * TAO_IDL/be/be_visitor_argument/paramlist.cpp:
+ * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp:
+ * TAO_IDL/be/be_visitor_array/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_array/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_array/array.cpp:
+ * TAO_IDL/be/be_visitor_array/array_cs.cpp:
+ * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_array/serializer_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_array/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_component/component_ch.cpp:
+ * TAO_IDL/be/be_visitor_component/component_ci.cpp:
+ * TAO_IDL/be/be_visitor_component/component_cs.cpp:
+ * TAO_IDL/be/be_visitor_component/component_sh.cpp:
+ * TAO_IDL/be/be_visitor_enum/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_enum/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_enum/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_enum/serializer_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_enum/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_exception/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_exception/ctor_assign.cpp:
+ * TAO_IDL/be/be_visitor_exception/exception_ch.cpp:
+ * TAO_IDL/be/be_visitor_exception/exception_cs.cpp:
+ * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp:
+ * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_field/field_ch.cpp:
+ * TAO_IDL/be/be_visitor_field/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ci.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp:
+ * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp:
+ * TAO_IDL/be/be_visitor_interface/tie_sh.cpp:
+ * TAO_IDL/be/be_visitor_interface/tie_si.cpp:
+ * TAO_IDL/be/be_visitor_interface_fwd/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_interface_fwd/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_sh.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp:
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_ch.c
+ * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.c
+ * TAO_IDL/be/be_visitor_operation/arglist.cpp:
+ * TAO_IDL/be/be_visitor_operation/exceptlist_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/rettype.cpp:
+ * TAO_IDL/be/be_visitor_root/root.cpp:
+ * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_sequence/buffer_type.cpp:
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_sequence/sequence_base.cpp:
+ * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:
+ * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp:
+ * TAO_IDL/be/be_visitor_sequence/serializer_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_structure/serializer_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_structure/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_typecode/alias_typecode.cpp:
+ * TAO_IDL/be/be_visitor_typecode/objref_typecode.cpp:
+ * TAO_IDL/be/be_visitor_typecode/struct_typecode.cpp:
+ * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
+ * TAO_IDL/be/be_visitor_typecode/union_typecode.cpp:
+ * TAO_IDL/be/be_visitor_typecode/value_typecode.cpp:
+ * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union/discriminant_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/discriminant_ci.cpp:
+ * TAO_IDL/be/be_visitor_union/serializer_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union/union_ch.cpp:
+ * TAO_IDL/be/be_visitor_union/union_cs.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/public_ch.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp:
+ * TAO_IDL/be/be_visitor_union_branch/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/field_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/field_ci.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/union_member_ci.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_ci.cpp:
+ * TAO_IDL/be/be_visitor_valuebox/valuebox_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/field_cdr_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/marshal_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_init_arglist_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_init_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_init_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp:
+ * TAO_IDL/be/be_visitor_valuetype_fwd/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ci.cpp:
+
+ Made sure the leading '::' appears before the 'CORBA'
+ scope of all generated basic type names. If application
+ IDL has a nested module named 'CORBA' there will be
+ confusion otherwise. Thanks to Nikolay Metchev
+ <n.metchev@teamphone.com> for sending in the example
+ IDL file that uncovered the bug.
+
+Fri Aug 12 14:17:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/Miop/McastHello/McastHello.h:
+ Removed not needed msvc pragma push/pop
+
+ * orbsvcs/tests/Miop/McastHello/server.cpp:
+ Added a line feed to the error message
+
+Fri Aug 12 07:55:08 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Bug_1551_Regression/Hello.cpp:
+
+ Added a line feed to the aborting message.
+
+ * tests/Collocation_Tests/Collocated_Test.cpp:
+ * tests/Collocation_Tests/Server_Task.cpp:
+
+ Destroy the server (and client) orb only after all threads have
+ finished.
+
+ * tests/Collocation_Tests/Hello.cpp:
+
+ Added a sleep of 1 second before the orb shutdown to avoid
+ BAD_INV_ORDER exceptions on fast dual processor machines.
+
+ * tests/OBV/Collocated/Forward/Client_Task.cpp:
+ * tests/OBV/Collocated/Forward/run_test.pl:
+
+ Changed this test to use if statements instead of ACE_ASSERT so
+ that the test runs the same on release builds as it does on debug
+ builds.
+
+ * tests/Portable_Interceptors/Collocated/Dynamic/run_test.pl:
+
+ Check the correct variable to accurately display the test result.
+
+ * tests/RTScheduling/Current/Thread_Task.cpp:
+
+ Added a sleep of 1 second before the orb shutdown to avoid
+ BAD_INV_ORDER exceptions on fast dual processor machines.
+
+ * tests/Server_Connection_Purging/client.cpp:
+
+ Remove event handlers after finishing with the reactor loop to
+ avoid the possibility of using the handlers after they go out of
+ scope. Also, added a parameter to an ACE_ERROR_RETURN that
+ expected one (by %p).
+
+
+ Committing the following changes from OCI.
+
+ Fri Sep 17 10:01:21 2004 Yan Dai <dai_y@ociweb.com>
+
+ * tests/Bug_1361_Regression/Echo.h:
+
+ Make the abort_counter_ to be atomic. This would resolve the
+ problem of client timeout causes test failure.
+
+ Wed Sep 8 16:43:37 MST 2004 Yan Dai <dai_y@ociweb.com>
+
+ * tests/Bug_1361_Regression/run_test.pl:
+
+ Made it wait longer for server shutdown since the server shutdown
+ needs more time on some platforms and corrected one syntex error
+ which uses undefined $client1.
+
+ Mon Apr 28 17:19:32 2003 Steve Totten <totten_s@ociweb.com>
+
+ * tests/Stack_Recursion/run_test.pl:
+
+ Fixed typo in variable name used to print client status.
+
+ Wed Apr 23 13:05:48 2003 Steve Totten <totten_s@ociweb.com>
+
+ * tests/Smart_Proxies/client.cpp:
+ * tests/Smart_Proxies/server.cpp:
+
+ Cleaned up some poor usage of ACE exception macros in client
+ and server. Added a short sleep in client after it invokes
+ shutdown on server to make sure the request is written (this was
+ causing a problem on Windows XP).
+
+ * tests/Smart_Proxies/Policy/run_test.pl:
+
+ Fixed return-code checking.
+
+ * tests/Strategies/run_test.pl:
+
+ Fixed return-code checking.
+
+Fri Aug 12 08:07:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Collocation_Oneway_Tests/Client_Task.{h,cpp}:
+ * tests/Collocation_Oneway_Tests/Collocated_Test.cpp:
+ Changed the Client_Task enum, NONE is a macro on VxWorks
+
+Thu Aug 11 16:16:00 2005 Justin Michel <michel_j@ociweb.com>
+
+ * orbsvcs/Notify_Service/Notify_Service.h:
+ * orbsvcs/Notify_Service/Notify_Service.cpp:
+
+ Reverted Mon Dec 6 23:08:12 2004 J.T. Conklin <jtc@acorntoolworks.com>
+
+ The code requires use of to_name() to support creation of CosNaming::Name with
+ length > 1. For example :
+ CosNaming::Name_var n = to_name("a/b");
+ is basically equivalent to :
+ CosNaming::Name n(2);
+ n.length(2);
+ n[0].id = "a";
+ n[1].id = "b";
+
+ Thanks to Mike Chartier <mikec at compgen dot com> for
+ spotting this problem.
+ Rather than reverting the code to support both styles, I just made
+ the new code always use to_name().
+
+Thu Aug 11 13:48:57 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * tao/orbconf.h:
+
+ Removed an unused and deprecated macro,
+ TAO_CONNECTION_CACHING_STRATEGY. The macro that is used is
+ TAO_CONNECTION_PURGING_STRATEGY.
+
+Thu Aug 11 08:02:32 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * tao/CORBANAME_Parser.cpp:
+ Change variable type because of warnings by some compilers.
+
+Wed Aug 10 08:46:55 2005 Gary Maxey <gary.maxey@hp.com>
+
+ * tao/CORBANAME_Parser.cpp:
+ Fixed problem where the following legal syntax was not allowed:
+ "corbaname:rir"
+ which should produce the object reference of the naming service.
+
+Wed Aug 10 11:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Collocation_Exception_Test/Client_Task.cpp:
+ * tests/Collocation_Exception_Test/Collocation_Excep_Test.mpc:
+ No need to use messaging
+
+Tue Aug 9 19:28:15 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ From J H Choi <jhchoi at sqisoft dot com>
+ * tao/TypeCode.cpp (equivalent):
+
+ Equivalence of two TypeCodes must be done between their
+ unaliased counterparts. The code was incorrectly leaving one of
+ the TypeCodes aliased in the comparison.
+
+Mon Aug 8 18:41:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tao/Strategies/advanced_resource.cpp:
+ Added include of tao/Protocol_Factory.h to not get compile errors
+ when all protocols are disabled. Thanks to Arvind S. Krishna
+ <arvindk at dre dot vanderbilt dot edu> for reporting this
+
+Mon Aug 8 10:40:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/Collocation_Oneway_Tests/Collocation_Oneway_Tests.mpc:
+ * tests/Collocation_Exception_Test/Collocation_Excep_Test.mpc:
+ Made projects unique
+
+Mon Aug 8 08:55:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * orbsvcs/tests/ImplRepo/nestea_i.cpp:
+ Fixed invalid delete
+
+ * tao/PortableServer/Servant_Base.cpp:
+ Fixed bug when invoking collocated oneways with SYNC_WITH_SERVER
+ is set
+
+ * tests/Collocation_Oneway_Tests/*:
+ New test for collocated oneways. Thanks to Vito Bico
+ <vbica at qualcomm dot com> for making this test to reproduce
+ the bug in Servant_Base.
+
+ * tests/Collocation_Exception_Test/*:
+ New test for testing exceptions in collocated case
+
+ * rules.tao.GNU:
+ Removed TAO libraries, MPC now handles this.
+
+ * tests/Hello/Hello.mpc:
+ Added -St and -Sa as idl flags. This test doesn't need Any
+ and TypeCode and this way we can get the footprint down more
+ when AnyTypeCode refactoring is ready.
+
+Fri Aug 05 07:49:26 2005 Simon Massey <sma@prismtech.com>
+
+ * TAO version 1.4.7 released.
+
+
diff --git a/TAO/examples/CSD_Strategy/Makefile.am b/TAO/examples/CSD_Strategy/Makefile.am
new file mode 100644
index 00000000000..26d99e9e042
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/Makefile.am
@@ -0,0 +1,18 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+SUBDIRS = \
+ ThreadPool \
+ ThreadPool2 \
+ ThreadPool3 \
+ ThreadPool4 \
+ ThreadPool5 \
+ ThreadPool6
+
diff --git a/TAO/examples/CSD_Strategy/ThreadPool/Makefile.am b/TAO/examples/CSD_Strategy/ThreadPool/Makefile.am
new file mode 100644
index 00000000000..833eb06aaa2
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/ThreadPool/Makefile.am
@@ -0,0 +1,143 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+## Makefile.CSD_Test_ThreadPool_Server.am
+
+BUILT_SOURCES = \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES = \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.cpp FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS = server_main
+
+server_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+server_main_SOURCES = \
+ FooC.cpp \
+ FooS.cpp \
+ Foo_i.cpp \
+ OrbShutdownTask.cpp \
+ ServerApp.cpp \
+ server_main.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl \
+ Foo_i.h \
+ OrbShutdownTask.h \
+ ServerApp.h
+
+server_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_ThreadPool.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_Framework.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Makefile.CSD_Test_ThreadPool_Client.am
+
+BUILT_SOURCES += \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES += \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS += client_main
+
+client_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+client_main_SOURCES = \
+ ClientApp.cpp \
+ FooC.cpp \
+ client_main.cpp \
+ ClientApp.h \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl
+
+client_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/examples/CSD_Strategy/ThreadPool2/Makefile.am b/TAO/examples/CSD_Strategy/ThreadPool2/Makefile.am
new file mode 100644
index 00000000000..9c7e6873815
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/ThreadPool2/Makefile.am
@@ -0,0 +1,145 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+## Makefile.CSD_Test_ThreadPool2_Server.am
+
+BUILT_SOURCES = \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES = \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.cpp FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS = server_main
+
+server_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+server_main_SOURCES = \
+ FooC.cpp \
+ FooS.cpp \
+ FooServantList.cpp \
+ Foo_i.cpp \
+ OrbShutdownTask.cpp \
+ ServerApp.cpp \
+ server_main.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl \
+ FooServantList.h \
+ Foo_i.h \
+ OrbShutdownTask.h \
+ ServerApp.h
+
+server_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_ThreadPool.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_Framework.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Makefile.CSD_Test_ThreadPool2_Client.am
+
+BUILT_SOURCES += \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES += \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS += client_main
+
+client_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+client_main_SOURCES = \
+ ClientApp.cpp \
+ FooC.cpp \
+ client_main.cpp \
+ ClientApp.h \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl
+
+client_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/examples/CSD_Strategy/ThreadPool3/Makefile.am b/TAO/examples/CSD_Strategy/ThreadPool3/Makefile.am
new file mode 100644
index 00000000000..092794c96d1
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/ThreadPool3/Makefile.am
@@ -0,0 +1,145 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+## Makefile.CSD_Test_ThreadPool3_Server.am
+
+BUILT_SOURCES = \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES = \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.cpp FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS = server_main
+
+server_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+server_main_SOURCES = \
+ FooC.cpp \
+ FooS.cpp \
+ Foo_i.cpp \
+ OrbShutdownTask.cpp \
+ OrbTask.cpp \
+ ServerApp.cpp \
+ server_main.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl \
+ Foo_i.h \
+ OrbShutdownTask.h \
+ OrbTask.h \
+ ServerApp.h
+
+server_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_ThreadPool.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_Framework.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Makefile.CSD_Test_ThreadPool3_Client.am
+
+BUILT_SOURCES += \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES += \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS += client_main
+
+client_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+client_main_SOURCES = \
+ ClientApp.cpp \
+ FooC.cpp \
+ client_main.cpp \
+ ClientApp.h \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl
+
+client_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/examples/CSD_Strategy/ThreadPool4/ClientTask.cpp b/TAO/examples/CSD_Strategy/ThreadPool4/ClientTask.cpp
new file mode 100644
index 00000000000..a2cd204a762
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/ThreadPool4/ClientTask.cpp
@@ -0,0 +1,211 @@
+// This may look like C, but it's really -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file ClientTask.cpp
+ *
+ * $Id$
+ *
+ * @author Tim Bradley <bradley_t@ociweb.com>
+ */
+//=============================================================================
+
+#include "ClientTask.h"
+#include "ace/SString.h"
+#include "ace/OS.h"
+
+
+ClientTask::ClientTask(Foo_ptr foo,
+ Callback_ptr callback)
+: foo_(Foo::_duplicate(foo)),
+ callback_(Callback::_duplicate(callback))
+{
+}
+
+
+ClientTask::~ClientTask()
+{
+}
+
+
+int
+ClientTask::open(void*)
+{
+ if (this->activate(THR_NEW_LWP | THR_JOINABLE, 1) != 0)
+ {
+ // Assumes that when activate returns non-zero return code that
+ // no threads were activated.
+ ACE_ERROR_RETURN((LM_ERROR,
+ "(%P|%t) ClientTask failed to activate "
+ "the client thread.\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+
+int
+ClientTask::svc()
+{
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::svc start\n"));
+
+ ACE_TRY_NEW_ENV
+ {
+ for (CORBA::Long i = 1; i <= 100; i++)
+ {
+ // Simple Two-way calls.
+ this->foo_->op1(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->foo_->op2(i ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ CORBA::Long value = this->foo_->op3(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ===> Value retrieved from op3() == %d\n",
+ value));
+
+ for (CORBA::Long j = 1; j <= 5; j++)
+ {
+ this->foo_->op4(495 + (i * 5) + j ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ ACE_TRY_EX (op5)
+ {
+ ACE_DEBUG((LM_DEBUG, "(%P|%t) ===> Invoke op5()\n"));
+ this->foo_->op5(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (op5);
+ ACE_DEBUG((LM_DEBUG, "(%P|%t) ===> No exception raised from op5(). :-(\n"));
+ }
+ ACE_CATCH (FooException, ex)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ===> Caught FooException - as expected.\n"));
+
+ }
+ ACE_ENDTRY;
+
+ // Two-Way calls with inout parameters.
+ CORBA::String_var message = CORBA::string_dup( "Hello! " );
+ CORBA::Boolean result
+ = this->foo_->op6( "TAO User", message.inout() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (result)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ===> Message from op6() == %s\n",
+ message.in ()));
+ }
+ else
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ===> op6() returned false.\n"));
+ }
+
+ // Callback test.
+ this->foo_->callback_object (this->callback_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->foo_->test_callback (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // One-Way calls with various arguments.
+ CORBA::String_var ub_string = CORBA::string_dup( "UNBOUNDED STRING" );
+ this->foo_->test_unbounded_string_arg (ub_string.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var bd_string = CORBA::string_dup( "BOUNDED STRING" );
+ this->foo_->test_bounded_string_arg (bd_string.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Fixed_Array fixed_array;
+
+ for (CORBA::ULong m = 0; m < 20; m ++)
+ {
+ fixed_array[m] = i + m;
+ }
+
+ this->foo_->test_fixed_array_arg (fixed_array ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Var_Array var_array;
+ var_array[0] = CORBA::string_dup( "STRING 1" );
+ var_array[1] = CORBA::string_dup( "STRING 2" );
+ var_array[2] = CORBA::string_dup( "STRING 3" );
+ this->foo_->test_var_array_arg (var_array ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Bounded_Var_Size_var bd_var_size_string = new Bounded_Var_Size();
+ CORBA::String_var buffer1 = CORBA::string_dup ("BOUNDED VAR SIZE CHAR");
+ bd_var_size_string->replace (ACE_OS::strlen (buffer1) + 1, buffer1);
+ this->foo_->test_bounded_var_size_arg (bd_var_size_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var buffer2 = CORBA::string_dup ("UNBOUNDED VAR SIZE CHAR");
+ Unbounded_Var_Size_var ub_var_size_string = new Unbounded_Var_Size(100);
+ ub_var_size_string->replace (ub_var_size_string->maximum (),
+ ACE_OS::strlen (buffer2) + 1,
+ buffer2);
+ this->foo_->test_unbounded_var_size_arg (ub_var_size_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ TimeOfDay t;
+ t.hour = 12;
+ t.minute = 30;
+ t.second = 10;
+ this->foo_->test_fixed_size_arg (t ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->foo_->test_fixed_size_arg_two_way (t ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Boolean special_value = 1;
+ this->foo_->test_special_basic_arg (special_value ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->foo_->test_objref_arg (this->callback_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::svc - Invoke foo->done()\n"));
+
+ this->foo_->done (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::svc - Back from foo->done()\n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Caught exception in ClientTask::svc():");
+ }
+ ACE_CATCHALL
+ {
+ ACE_ERROR((LM_ERROR,
+ "(%P|%t) Unknown (...) exception caught in ClientTask::svc()\n"));
+ }
+ ACE_ENDTRY;
+
+
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::svc end\n"));
+
+ return 0;
+}
+
+
+int
+ClientTask::close(u_long)
+{
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::close() - enter/exit\n"));
+ return 0;
+}
diff --git a/TAO/examples/CSD_Strategy/ThreadPool4/Makefile.am b/TAO/examples/CSD_Strategy/ThreadPool4/Makefile.am
new file mode 100644
index 00000000000..ebc473557e0
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/ThreadPool4/Makefile.am
@@ -0,0 +1,139 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+CLEANFILES =
+BUILT_SOURCES =
+
+## Makefile.CSD_Test_ThreadPool4_Server.am
+
+if BUILD_CORBA_MESSAGING
+
+BUILT_SOURCES += \
+ CallbackC.cpp \
+ CallbackC.h \
+ CallbackC.inl \
+ CallbackS.cpp \
+ CallbackS.h \
+ CallbackS.inl \
+ CallbackS_T.cpp \
+ CallbackS_T.h \
+ CallbackS_T.inl
+
+CLEANFILES += \
+ Callback-stamp \
+ CallbackC.cpp \
+ CallbackC.h \
+ CallbackC.inl \
+ CallbackS.cpp \
+ CallbackS.h \
+ CallbackS.inl \
+ CallbackS_T.cpp \
+ CallbackS_T.h \
+ CallbackS_T.inl
+
+CallbackC.cpp CallbackC.h CallbackC.inl CallbackS.cpp CallbackS.h CallbackS.inl CallbackS_T.cpp CallbackS_T.h CallbackS_T.inl: Callback-stamp
+
+Callback-stamp: $(srcdir)/Callback.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Callback.idl
+ @touch $@
+
+BUILT_SOURCES += \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES += \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.cpp FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS = server_main
+
+server_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+server_main_SOURCES = \
+ CallbackC.cpp \
+ CallbackS.cpp \
+ Callback_i.cpp \
+ ClientTask.cpp \
+ FooC.cpp \
+ FooS.cpp \
+ Foo_i.cpp \
+ OrbShutdownTask.cpp \
+ ServerApp.cpp \
+ server_main.cpp \
+ CallbackC.h \
+ CallbackC.inl \
+ CallbackS.h \
+ CallbackS_T.h \
+ CallbackS_T.inl \
+ Callback_i.h \
+ ClientTask.h \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl \
+ Foo_i.h \
+ OrbShutdownTask.h \
+ ServerApp.h
+
+server_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_ThreadPool.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_Framework.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif BUILD_CORBA_MESSAGING
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/examples/CSD_Strategy/ThreadPool5/ClientTask.cpp b/TAO/examples/CSD_Strategy/ThreadPool5/ClientTask.cpp
new file mode 100644
index 00000000000..49c5cc14841
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/ThreadPool5/ClientTask.cpp
@@ -0,0 +1,262 @@
+// This may look like C, but it's really -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file ClientTask.cpp
+ *
+ * $Id$
+ *
+ * @author Tim Bradley <bradley_t@ociweb.com>
+ */
+//=============================================================================
+
+#include "ClientTask.h"
+#include "ace/SString.h"
+#include "ace/OS.h"
+
+
+ClientTask::ClientTask(CORBA::ORB_ptr orb,
+ Foo_ptr foo,
+ Callback_ptr callback,
+ bool collocated)
+: orb_ (CORBA::ORB::_duplicate (orb)),
+ foo_(Foo::_duplicate(foo)),
+ callback_(Callback::_duplicate(callback)),
+ collocated_ (collocated)
+{
+}
+
+
+ClientTask::~ClientTask()
+{
+}
+
+
+int
+ClientTask::open(void*)
+{
+ if (this->activate(THR_NEW_LWP | THR_JOINABLE, 1) != 0)
+ {
+ // Assumes that when activate returns non-zero return code that
+ // no threads were activated.
+ ACE_ERROR_RETURN((LM_ERROR,
+ "(%P|%t) ClientTask failed to activate "
+ "the client thread.\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+
+int
+ClientTask::svc()
+{
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::svc start\n"));
+
+ ACE_TRY_NEW_ENV
+ {
+ // Make sure the connection is established before making
+ // remote invocations.
+ if (this->validate_connection () == false)
+ {
+ ACE_ERROR((LM_ERROR, "(%P|%t)ClientTask::svc " \
+ "client connect failed.\n"));
+ return -1;
+ }
+
+ for (CORBA::Long i = 1; i <= 100; i++)
+ {
+ // Simple Two-way calls.
+ this->foo_->op1(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->foo_->op2(i ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Long value = this->foo_->op3(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ===> Value retrieved from op3() == %d\n",
+ value));
+
+ for (CORBA::ULong j = 1; j <= 5; j++)
+ {
+ this->foo_->op4(495 + (i * 5) + j ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ ACE_TRY_EX (op5)
+ {
+ ACE_DEBUG((LM_DEBUG, "(%P|%t) ===> Invoke op5()\n"));
+ this->foo_->op5(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (op5);
+ ACE_DEBUG((LM_DEBUG, "(%P|%t) ===> No exception raised from op5(). :-(\n"));
+ }
+ ACE_CATCH (FooException, ex)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ===> Caught FooException - as expected.\n"));
+
+ }
+ ACE_ENDTRY;
+
+ // Two-Way calls with inout parameters.
+ CORBA::String_var message = CORBA::string_dup( "Hello! " );
+ CORBA::Boolean result
+ = this->foo_->op6( "TAO User", message.inout() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (result)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ===> Message from op6() == %s\n",
+ message.in ()));
+ }
+ else
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ===> op6() returned false.\n"));
+ }
+
+ // Callback test.
+ this->foo_->callback_object (this->callback_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->foo_->test_callback (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // One-Way calls with various arguments.
+ CORBA::String_var ub_string = CORBA::string_dup( "UNBOUNDED STRING" );
+ this->foo_->test_unbounded_string_arg (ub_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var bd_string = CORBA::string_dup( "BOUNDED STRING" );
+ this->foo_->test_bounded_string_arg (bd_string.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Fixed_Array fixed_array;
+
+ for (CORBA::ULong m = 0; m < 20; m ++)
+ {
+ fixed_array[m] = i + m;
+ }
+
+ this->foo_->test_fixed_array_arg (fixed_array ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Var_Array var_array;
+ var_array[0] = CORBA::string_dup( "STRING 1" );
+ var_array[1] = CORBA::string_dup( "STRING 2" );
+ var_array[2] = CORBA::string_dup( "STRING 3" );
+ this->foo_->test_var_array_arg (var_array ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Bounded_Var_Size_var bd_var_size_string = new Bounded_Var_Size();
+ CORBA::String_var buffer1 = CORBA::string_dup ("BOUNDED VAR SIZE CHAR");
+ bd_var_size_string->replace (ACE_OS::strlen (buffer1) + 1,
+ buffer1);
+ this->foo_->test_bounded_var_size_arg (bd_var_size_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var buffer2 = CORBA::string_dup ("UNBOUNDED VAR SIZE CHAR");
+ Unbounded_Var_Size_var ub_var_size_string = new Unbounded_Var_Size(100);
+ ub_var_size_string->replace (ub_var_size_string->maximum (),
+ ACE_OS::strlen (buffer2) + 1,
+ buffer2);
+ this->foo_->test_unbounded_var_size_arg (ub_var_size_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ TimeOfDay t;
+ t.hour = 12;
+ t.minute = 30;
+ t.second = 10;
+ this->foo_->test_fixed_size_arg (t ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->foo_->test_fixed_size_arg_two_way (t ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Boolean special_value = 1;
+ this->foo_->test_special_basic_arg (special_value ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->foo_->test_objref_arg (this->callback_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::svc - Invoke foo->done()\n"));
+
+ this->foo_->done (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::svc - Back from foo->done()\n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Caught exception in ClientTask::svc:");
+ }
+ ACE_CATCHALL
+ {
+ ACE_ERROR((LM_ERROR,
+ "(%P|%t) Unknown (...) exception caught in ClientTask::svc()\n"));
+ }
+ ACE_ENDTRY;
+
+ if (! collocated_)
+ {
+ ACE_OS::sleep (2);
+ this->orb_->shutdown(0);
+ }
+
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::svc end\n"));
+
+ return 0;
+}
+
+
+int
+ClientTask::close(u_long)
+{
+ ACE_DEBUG((LM_DEBUG,
+ "(%P|%t) ClientTask::close() - enter/exit\n"));
+ return 0;
+}
+
+
+bool
+ClientTask::validate_connection ()
+{
+ for (CORBA::ULong j = 0; j != 1000; ++j)
+ {
+ ACE_TRY_NEW_ENV
+ {
+#if (TAO_HAS_CORBA_MESSAGING == 1)
+ CORBA::PolicyList_var unused;
+ this->foo_->_validate_connection (unused
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+#else
+ this->foo_->_is_a ("Not_An_IDL_Type"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+#endif /* TAO_HAS_MESSAGING == 1 */
+ return true;
+ }
+ ACE_CATCHANY
+ {
+ }
+ ACE_ENDTRY;
+ }
+
+ return false;
+}
diff --git a/TAO/examples/CSD_Strategy/ThreadPool5/Makefile.am b/TAO/examples/CSD_Strategy/ThreadPool5/Makefile.am
new file mode 100644
index 00000000000..03287948639
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/ThreadPool5/Makefile.am
@@ -0,0 +1,232 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+## Makefile.CSD_Test_ThreadPool5_Server.am
+
+BUILT_SOURCES = \
+ CallbackC.cpp \
+ CallbackC.h \
+ CallbackC.inl \
+ CallbackS.cpp \
+ CallbackS.h \
+ CallbackS.inl \
+ CallbackS_T.cpp \
+ CallbackS_T.h \
+ CallbackS_T.inl
+
+CLEANFILES = \
+ Callback-stamp \
+ CallbackC.cpp \
+ CallbackC.h \
+ CallbackC.inl \
+ CallbackS.cpp \
+ CallbackS.h \
+ CallbackS.inl \
+ CallbackS_T.cpp \
+ CallbackS_T.h \
+ CallbackS_T.inl
+
+CallbackC.cpp CallbackC.h CallbackC.inl CallbackS.cpp CallbackS.h CallbackS.inl CallbackS_T.cpp CallbackS_T.h CallbackS_T.inl: Callback-stamp
+
+Callback-stamp: $(srcdir)/Callback.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Callback.idl
+ @touch $@
+
+BUILT_SOURCES += \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES += \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.cpp FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS = server_main
+
+server_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+server_main_SOURCES = \
+ CallbackC.cpp \
+ CallbackS.cpp \
+ Callback_i.cpp \
+ ClientTask.cpp \
+ FooC.cpp \
+ FooS.cpp \
+ FooServantList.cpp \
+ Foo_i.cpp \
+ OrbShutdownTask.cpp \
+ OrbTask.cpp \
+ ServerApp.cpp \
+ server_main.cpp \
+ CallbackC.h \
+ CallbackC.inl \
+ CallbackS.h \
+ CallbackS_T.h \
+ CallbackS_T.inl \
+ Callback_i.h \
+ ClientTask.h \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl \
+ FooServantList.h \
+ Foo_i.h \
+ OrbShutdownTask.h \
+ OrbTask.h \
+ ServerApp.h
+
+server_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_ThreadPool.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_Framework.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Makefile.CSD_Test_ThreadPool5_Client.am
+
+BUILT_SOURCES += \
+ CallbackC.cpp \
+ CallbackC.h \
+ CallbackC.inl \
+ CallbackS.cpp \
+ CallbackS.h \
+ CallbackS.inl \
+ CallbackS_T.cpp \
+ CallbackS_T.h \
+ CallbackS_T.inl
+
+CLEANFILES += \
+ Callback-stamp \
+ CallbackC.cpp \
+ CallbackC.h \
+ CallbackC.inl \
+ CallbackS.cpp \
+ CallbackS.h \
+ CallbackS.inl \
+ CallbackS_T.cpp \
+ CallbackS_T.h \
+ CallbackS_T.inl
+
+CallbackC.cpp CallbackC.h CallbackC.inl CallbackS.cpp CallbackS.h CallbackS.inl CallbackS_T.cpp CallbackS_T.h CallbackS_T.inl: Callback-stamp
+
+Callback-stamp: $(srcdir)/Callback.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Callback.idl
+ @touch $@
+
+BUILT_SOURCES += \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES += \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS += client_main
+
+client_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+client_main_SOURCES = \
+ CallbackC.cpp \
+ CallbackS.cpp \
+ Callback_i.cpp \
+ ClientApp.cpp \
+ ClientTask.cpp \
+ FooC.cpp \
+ client_main.cpp \
+ CallbackC.h \
+ CallbackC.inl \
+ CallbackS.h \
+ CallbackS_T.h \
+ CallbackS_T.inl \
+ Callback_i.h \
+ ClientApp.h \
+ ClientTask.h \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl
+
+client_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_ThreadPool.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_Framework.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/examples/CSD_Strategy/ThreadPool6/Makefile.am b/TAO/examples/CSD_Strategy/ThreadPool6/Makefile.am
new file mode 100644
index 00000000000..bc41cbef89e
--- /dev/null
+++ b/TAO/examples/CSD_Strategy/ThreadPool6/Makefile.am
@@ -0,0 +1,151 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+CLEANFILES =
+noinst_PROGRAMS =
+BUILT_SOURCES =
+
+## Makefile.CSD_Test_ThreadPool6_Server.am
+
+if !BUILD_MINIMUM_CORBA
+
+BUILT_SOURCES += \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES += \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.cpp FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS += server_main
+
+server_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+server_main_SOURCES = \
+ FooC.cpp \
+ FooS.cpp \
+ Foo_i.cpp \
+ OrbShutdownTask.cpp \
+ ServerApp.cpp \
+ server_main.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl \
+ Foo_i.h \
+ OrbShutdownTask.h \
+ ServerApp.h
+
+server_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_ThreadPool.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_Framework.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+
+## Makefile.CSD_Test_ThreadPool6_Client.am
+
+BUILT_SOURCES += \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES += \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_PROGRAMS += client_main
+
+client_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+client_main_SOURCES = \
+ ClientApp.cpp \
+ FooC.cpp \
+ client_main.cpp \
+ ClientApp.h \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.h \
+ FooS_T.inl
+
+client_main_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/orbsvcs/tests/Bug_2074_Regression/Makefile.am b/TAO/orbsvcs/tests/Bug_2074_Regression/Makefile.am
new file mode 100644
index 00000000000..02fa11fa326
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_2074_Regression/Makefile.am
@@ -0,0 +1,57 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_ROOT = $(top_srcdir)
+
+
+## Makefile.Bug_2074_Regression_Test.am
+
+if BUILD_CORBA_MESSAGING
+if !BUILD_MINIMUM_CORBA
+
+noinst_PROGRAMS = test
+
+test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+test_SOURCES = \
+ ORB_Task.cpp \
+ test.cpp \
+ ORB_Task.h
+
+test_LDADD = \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif BUILD_CORBA_MESSAGING
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/orbsvcs/tests/Bug_2285_Regression/Makefile.am b/TAO/orbsvcs/tests/Bug_2285_Regression/Makefile.am
new file mode 100644
index 00000000000..3038dbd195a
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_2285_Regression/Makefile.am
@@ -0,0 +1,258 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+noinst_PROGRAMS =
+
+## Makefile.Bug_2285_Regression_IDL.am
+
+BUILT_SOURCES = \
+ TestC.cpp \
+ TestC.h \
+ TestC.inl \
+ TestS.cpp \
+ TestS.h \
+ TestS.inl \
+ TestS_T.cpp \
+ TestS_T.h \
+ TestS_T.inl
+
+CLEANFILES = \
+ Test-stamp \
+ TestC.cpp \
+ TestC.h \
+ TestC.inl \
+ TestS.cpp \
+ TestS.h \
+ TestS.inl \
+ TestS_T.cpp \
+ TestS_T.h \
+ TestS_T.inl
+
+TestC.cpp TestC.h TestC.inl TestS.cpp TestS.h TestS.inl TestS_T.cpp TestS_T.h TestS_T.inl: Test-stamp
+
+Test-stamp: $(srcdir)/Test.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -Sa -St $(srcdir)/Test.idl
+ @touch $@
+
+
+noinst_HEADERS = \
+ Test.idl
+
+## Makefile.Bug_2285_Regression_Client.am
+
+if BUILD_ACE_UUID
+if BUILD_CORBA_MESSAGING
+if BUILD_INTERCEPTORS
+if !BUILD_ACE_FOR_TAO
+if !BUILD_MINIMUM_CORBA
+
+noinst_PROGRAMS += client
+
+client_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+client_SOURCES = \
+ Hello.cpp \
+ TestC.cpp \
+ TestS.cpp \
+ client.cpp \
+ Hello.h
+
+client_LDADD = \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FT_ClientORB.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FTORB_Utils.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_PortableGroup.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif !BUILD_ACE_FOR_TAO
+endif BUILD_INTERCEPTORS
+endif BUILD_CORBA_MESSAGING
+endif BUILD_ACE_UUID
+
+## Makefile.Bug_2285_Regression_Client2.am
+
+if BUILD_ACE_UUID
+if BUILD_CORBA_MESSAGING
+if BUILD_INTERCEPTORS
+if !BUILD_ACE_FOR_TAO
+if !BUILD_MINIMUM_CORBA
+
+noinst_PROGRAMS += client2
+
+client2_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+client2_SOURCES = \
+ TestC.cpp \
+ client2.cpp \
+ Hello.h \
+ ServerORBInitializer.h \
+ ServerORBInitializer2.h \
+ ServerRequest_Interceptor.h \
+ ServerRequest_Interceptor2.h
+
+client2_LDADD = \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FT_ClientORB.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FTORB_Utils.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_PortableGroup.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif !BUILD_ACE_FOR_TAO
+endif BUILD_INTERCEPTORS
+endif BUILD_CORBA_MESSAGING
+endif BUILD_ACE_UUID
+
+## Makefile.Bug_2285_Regression_Server.am
+
+if BUILD_ACE_UUID
+if BUILD_CORBA_MESSAGING
+if BUILD_INTERCEPTORS
+if !BUILD_ACE_FOR_TAO
+if !BUILD_MINIMUM_CORBA
+
+noinst_PROGRAMS += server
+
+server_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+server_SOURCES = \
+ Hello.cpp \
+ ServerORBInitializer.cpp \
+ ServerRequest_Interceptor.cpp \
+ TestC.cpp \
+ TestS.cpp \
+ server.cpp \
+ Hello.h \
+ ServerORBInitializer.h \
+ ServerRequest_Interceptor.h
+
+server_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_PI_Server.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FT_ClientORB.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FTORB_Utils.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_PortableGroup.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif !BUILD_ACE_FOR_TAO
+endif BUILD_INTERCEPTORS
+endif BUILD_CORBA_MESSAGING
+endif BUILD_ACE_UUID
+
+## Makefile.Bug_2285_Regression_Server2.am
+
+if BUILD_ACE_UUID
+if BUILD_CORBA_MESSAGING
+if BUILD_INTERCEPTORS
+if !BUILD_ACE_FOR_TAO
+if !BUILD_MINIMUM_CORBA
+
+noinst_PROGRAMS += server2
+
+server2_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+server2_SOURCES = \
+ Hello.cpp \
+ ServerORBInitializer2.cpp \
+ ServerRequest_Interceptor2.cpp \
+ TestC.cpp \
+ TestS.cpp \
+ server2.cpp \
+ Hello.h \
+ ServerORBInitializer2.h \
+ ServerRequest_Interceptor2.h
+
+server2_LDADD = \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FT_ClientORB.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FTORB_Utils.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_PortableGroup.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI_Server.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif !BUILD_ACE_FOR_TAO
+endif BUILD_INTERCEPTORS
+endif BUILD_CORBA_MESSAGING
+endif BUILD_ACE_UUID
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/orbsvcs/tests/Bug_2287_Regression/Makefile.am b/TAO/orbsvcs/tests/Bug_2287_Regression/Makefile.am
new file mode 100644
index 00000000000..8a739a1b621
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_2287_Regression/Makefile.am
@@ -0,0 +1,159 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+noinst_PROGRAMS =
+
+## Makefile.Bug_2287_Regression_IDL.am
+
+BUILT_SOURCES = \
+ TestC.cpp \
+ TestC.h \
+ TestC.inl \
+ TestS.cpp \
+ TestS.h \
+ TestS.inl \
+ TestS_T.cpp \
+ TestS_T.h \
+ TestS_T.inl
+
+CLEANFILES = \
+ Test-stamp \
+ TestC.cpp \
+ TestC.h \
+ TestC.inl \
+ TestS.cpp \
+ TestS.h \
+ TestS.inl \
+ TestS_T.cpp \
+ TestS_T.h \
+ TestS_T.inl
+
+TestC.cpp TestC.h TestC.inl TestS.cpp TestS.h TestS.inl TestS_T.cpp TestS_T.h TestS_T.inl: Test-stamp
+
+Test-stamp: $(srcdir)/Test.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -Sa -St $(srcdir)/Test.idl
+ @touch $@
+
+
+noinst_HEADERS = \
+ Test.idl
+
+## Makefile.Bug_2287_Regression_Client.am
+
+if BUILD_ACE_UUID
+if BUILD_CORBA_MESSAGING
+if BUILD_INTERCEPTORS
+if !BUILD_ACE_FOR_TAO
+if !BUILD_MINIMUM_CORBA
+
+noinst_PROGRAMS += client
+
+client_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+client_SOURCES = \
+ Hello.cpp \
+ TestC.cpp \
+ TestS.cpp \
+ client.cpp \
+ Hello.h
+
+client_LDADD = \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FT_ClientORB.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FTORB_Utils.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_PortableGroup.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif !BUILD_ACE_FOR_TAO
+endif BUILD_INTERCEPTORS
+endif BUILD_CORBA_MESSAGING
+endif BUILD_ACE_UUID
+
+## Makefile.Bug_2287_Regression_Server.am
+
+if BUILD_ACE_UUID
+if BUILD_CORBA_MESSAGING
+if BUILD_INTERCEPTORS
+if !BUILD_ACE_FOR_TAO
+if !BUILD_MINIMUM_CORBA
+
+noinst_PROGRAMS += server
+
+server_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+server_SOURCES = \
+ Hello.cpp \
+ ServerORBInitializer2.cpp \
+ ServerRequest_Interceptor2.cpp \
+ TestC.cpp \
+ TestS.cpp \
+ server.cpp \
+ Hello.h \
+ ServerORBInitializer2.h \
+ ServerRequest_Interceptor2.h
+
+server_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_PI_Server.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FT_ClientORB.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_FTORB_Utils.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_PortableGroup.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif !BUILD_ACE_FOR_TAO
+endif BUILD_INTERCEPTORS
+endif BUILD_CORBA_MESSAGING
+endif BUILD_ACE_UUID
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/orbsvcs/tests/Bug_2316_Regression/Makefile.am b/TAO/orbsvcs/tests/Bug_2316_Regression/Makefile.am
new file mode 100644
index 00000000000..cf310b42938
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_2316_Regression/Makefile.am
@@ -0,0 +1,136 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+noinst_PROGRAMS =
+
+## Makefile.Bug_2316_Regression_IDL.am
+
+BUILT_SOURCES = \
+ TestC.cpp \
+ TestC.h \
+ TestC.inl \
+ TestS.cpp \
+ TestS.h \
+ TestS.inl \
+ TestS_T.cpp \
+ TestS_T.h \
+ TestS_T.inl
+
+CLEANFILES = \
+ Test-stamp \
+ TestC.cpp \
+ TestC.h \
+ TestC.inl \
+ TestS.cpp \
+ TestS.h \
+ TestS.inl \
+ TestS_T.cpp \
+ TestS_T.h \
+ TestS_T.inl
+
+TestC.cpp TestC.h TestC.inl TestS.cpp TestS.h TestS.inl TestS_T.cpp TestS_T.h TestS_T.inl: Test-stamp
+
+Test-stamp: $(srcdir)/Test.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -Sa -St $(srcdir)/Test.idl
+ @touch $@
+
+
+noinst_HEADERS = \
+ Test.idl
+
+## Makefile.Bug_2316_Regression_Client.am
+
+if BUILD_CORBA_MESSAGING
+if !BUILD_MINIMUM_CORBA
+
+noinst_PROGRAMS += client
+
+client_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+client_SOURCES = \
+ TestC.cpp \
+ client.cpp \
+ Test_impl.h
+
+client_LDADD = \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_PortableGroup.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif BUILD_CORBA_MESSAGING
+
+## Makefile.Bug_2316_Regression_Server.am
+
+if BUILD_CORBA_MESSAGING
+if !BUILD_MINIMUM_CORBA
+
+noinst_PROGRAMS += server
+
+server_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+server_SOURCES = \
+ TestC.cpp \
+ TestS.cpp \
+ Test_impl.cpp \
+ server.cpp \
+ Test_impl.h
+
+server_LDADD = \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_PortableGroup.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif BUILD_CORBA_MESSAGING
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/orbsvcs/tests/Bug_2377_Regression/Makefile.am b/TAO/orbsvcs/tests/Bug_2377_Regression/Makefile.am
new file mode 100644
index 00000000000..94f9c0a5633
--- /dev/null
+++ b/TAO/orbsvcs/tests/Bug_2377_Regression/Makefile.am
@@ -0,0 +1,96 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+
+## Makefile.Bug_2377_Regression_Test.am
+
+if BUILD_CORBA_MESSAGING
+if !BUILD_MINIMUM_CORBA
+
+BUILT_SOURCES = \
+ HelloC.cpp \
+ HelloC.h \
+ HelloC.inl \
+ HelloS.cpp \
+ HelloS.h \
+ HelloS.inl \
+ HelloS_T.cpp \
+ HelloS_T.h \
+ HelloS_T.inl
+
+CLEANFILES = \
+ Hello-stamp \
+ HelloC.cpp \
+ HelloC.h \
+ HelloC.inl \
+ HelloS.cpp \
+ HelloS.h \
+ HelloS.inl \
+ HelloS_T.cpp \
+ HelloS_T.h \
+ HelloS_T.inl
+
+HelloC.cpp HelloC.h HelloC.inl HelloS.cpp HelloS.h HelloS.inl HelloS_T.cpp HelloS_T.h HelloS_T.inl: Hello-stamp
+
+Hello-stamp: $(srcdir)/Hello.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs $(srcdir)/Hello.idl
+ @touch $@
+
+noinst_PROGRAMS = uipmc_test
+
+uipmc_test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/orbsvcs \
+ -I$(TAO_BUILDDIR)/orbsvcs
+
+uipmc_test_SOURCES = \
+ Hello.cpp \
+ HelloC.cpp \
+ HelloS.cpp \
+ HelloC.h \
+ HelloC.inl \
+ HelloS.h \
+ HelloS_T.h \
+ HelloS_T.inl
+
+uipmc_test_LDADD = \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_PortableGroup.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IORManip.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Messaging.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_Valuetype.la \
+ $(TAO_BUILDDIR)/orbsvcs/orbsvcs/libTAO_CosNaming.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+endif !BUILD_MINIMUM_CORBA
+endif BUILD_CORBA_MESSAGING
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/Makefile.am b/TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/Makefile.am
new file mode 100644
index 00000000000..65568172685
--- /dev/null
+++ b/TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/Makefile.am
@@ -0,0 +1,42 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_ROOT = $(top_srcdir)
+
+## Makefile.IFR_Inheritance_Test.am
+
+noinst_PROGRAMS = IFR_Inheritance_Test
+
+IFR_Inheritance_Test_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR)
+
+IFR_Inheritance_Test_SOURCES = \
+ main.cpp
+
+IFR_Inheritance_Test_LDADD = \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_IFR_Client.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/main.cpp b/TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/main.cpp
new file mode 100644
index 00000000000..3c76d0785bb
--- /dev/null
+++ b/TAO/orbsvcs/tests/InterfaceRepo/IFR_Inheritance_Test/main.cpp
@@ -0,0 +1,120 @@
+// -*- C++ -*-
+// $Id$
+
+// The run_test.pl perl script will check for the expected output.
+
+#include "tao/IFR_Client/IFR_BasicC.h"
+
+ACE_RCSID (IFR_Inheritance_Test,
+ main,
+ "$Id$")
+
+void printContents( const CORBA::ContainedSeq& cont )
+{
+ ACE_TRY_NEW_ENV
+ {
+ for( unsigned int i=0; i<cont.length(); i++ )
+ {
+ if( cont[i]->describe()->kind == CORBA::dk_Interface )
+ {
+ CORBA::InterfaceDef_var intDef =
+ CORBA::InterfaceDef::_narrow (cont[i]
+ ACE_ENV_ARG_PARAMETER );
+ ACE_TRY_CHECK;
+
+ CORBA::InterfaceDef::FullInterfaceDescription* desc =
+ intDef->describe_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ //printf( "-- %s:\n", (const char*)(desc->name) );
+
+ for( unsigned int j1=0; j1 < desc->operations.length (); j1++ )
+ printf( "operation %s::%s\n",
+ (const char*)(desc->name),
+ (const char*)((desc->operations[j1]).name) );
+
+ for( unsigned int j2=0; j2 < desc->attributes.length (); j2++ )
+ printf( "attribute %s::%s\n",
+ (const char*)(desc->name),
+ (const char*)((desc->attributes[j2]).name) );
+ }
+ else if( cont[i]->describe ()->kind == CORBA::dk_Module )
+ {
+ CORBA::ModuleDef_var moduleDef =
+ CORBA::ModuleDef::_narrow (cont[i]
+ ACE_ENV_ARG_PARAMETER );
+ ACE_TRY_CHECK;
+
+ CORBA::ContainedSeq_var moduleContents =
+ moduleDef->contents (CORBA::dk_all,1
+ ACE_ENV_ARG_PARAMETER );
+ ACE_TRY_CHECK;
+ printContents (moduleContents.in ());
+ }
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "printContents");
+ ACE_OS::exit(-1); // the test has failed!
+ }
+ ACE_ENDTRY;
+}
+
+
+int main(int argc, char** argv)
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init (argc,
+ argv,
+ 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ CORBA::Object_var object =
+ orb->resolve_initial_references ("InterfaceRepository"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (object.in ()))
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ "Null objref from resolve_initial_references\n"
+ ),
+ -1
+ );
+ }
+
+ CORBA::Repository_var ifr =
+ CORBA::Repository::_narrow (object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (ifr.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "CORBA::Repository::_narrow failed\n"),
+ -1);
+ }
+
+ CORBA::ContainedSeq_var cont = ifr->contents (CORBA::dk_all, 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ printContents (cont.in ());
+
+ orb->shutdown ();
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "main");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/performance-tests/CSD_Strategy/Makefile.am b/TAO/performance-tests/CSD_Strategy/Makefile.am
new file mode 100644
index 00000000000..866ff552f62
--- /dev/null
+++ b/TAO/performance-tests/CSD_Strategy/Makefile.am
@@ -0,0 +1,15 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+SUBDIRS = \
+ TestInf \
+ TestServant \
+ TestApps
+
diff --git a/TAO/performance-tests/CSD_Strategy/TestApps/Makefile.am b/TAO/performance-tests/CSD_Strategy/TestApps/Makefile.am
new file mode 100644
index 00000000000..75662f143d6
--- /dev/null
+++ b/TAO/performance-tests/CSD_Strategy/TestApps/Makefile.am
@@ -0,0 +1,78 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_ROOT = $(top_srcdir)
+
+## Makefile.csd_test_client.am
+
+noinst_PROGRAMS = client_main
+
+client_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/performance-tests/CSD_Strategy
+
+client_main_SOURCES = \
+ ClientApp.cpp \
+ client_main.cpp \
+ ClientApp.h
+
+client_main_LDADD = \
+ $(top_builddir)/performance-tests/CSD_Strategy/TestServant/libCSD_PT_TestServant.la \
+ $(top_builddir)/performance-tests/CSD_Strategy/TestInf/libCSD_PT_TestInf.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_ThreadPool.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_Framework.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Makefile.csd_test_server.am
+
+noinst_PROGRAMS += server_main
+
+server_main_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/performance-tests/CSD_Strategy
+
+server_main_SOURCES = \
+ ServerApp.cpp \
+ server_main.cpp \
+ ServerApp.h
+
+server_main_LDADD = \
+ $(top_builddir)/performance-tests/CSD_Strategy/TestServant/libCSD_PT_TestServant.la \
+ $(top_builddir)/performance-tests/CSD_Strategy/TestInf/libCSD_PT_TestInf.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_ThreadPool.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CSD_Framework.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PI.la \
+ $(TAO_BUILDDIR)/tao/libTAO_CodecFactory.la \
+ $(TAO_BUILDDIR)/tao/libTAO_PortableServer.la \
+ $(TAO_BUILDDIR)/tao/libTAO_AnyTypeCode.la \
+ $(TAO_BUILDDIR)/tao/libTAO.la \
+ $(ACE_BUILDDIR)/ace/libACE.la
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/performance-tests/CSD_Strategy/TestInf/Makefile.am b/TAO/performance-tests/CSD_Strategy/TestInf/Makefile.am
new file mode 100644
index 00000000000..05de2c176fb
--- /dev/null
+++ b/TAO/performance-tests/CSD_Strategy/TestInf/Makefile.am
@@ -0,0 +1,211 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+## Makefile.csd_pt_testinf.am
+
+BUILT_SOURCES = \
+ FooExceptionC.cpp \
+ FooExceptionC.h \
+ FooExceptionC.inl \
+ FooExceptionS.cpp \
+ FooExceptionS.h \
+ FooExceptionS.inl \
+ FooExceptionS_T.cpp \
+ FooExceptionS_T.h \
+ FooExceptionS_T.inl
+
+CLEANFILES = \
+ FooException-stamp \
+ FooExceptionC.cpp \
+ FooExceptionC.h \
+ FooExceptionC.inl \
+ FooExceptionS.cpp \
+ FooExceptionS.h \
+ FooExceptionS.inl \
+ FooExceptionS_T.cpp \
+ FooExceptionS_T.h \
+ FooExceptionS_T.inl
+
+FooExceptionC.cpp FooExceptionC.h FooExceptionC.inl FooExceptionS.cpp FooExceptionS.h FooExceptionS.inl FooExceptionS_T.cpp FooExceptionS_T.h FooExceptionS_T.inl: FooException-stamp
+
+FooException-stamp: $(srcdir)/FooException.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -Wb,export_macro=CSD_PT_TestInf_Export -Wb,export_include=CSD_PT_TestInf_Export.h $(srcdir)/FooException.idl
+ @touch $@
+
+BUILT_SOURCES += \
+ TestAppExceptionC.cpp \
+ TestAppExceptionC.h \
+ TestAppExceptionC.inl \
+ TestAppExceptionS.cpp \
+ TestAppExceptionS.h \
+ TestAppExceptionS.inl \
+ TestAppExceptionS_T.cpp \
+ TestAppExceptionS_T.h \
+ TestAppExceptionS_T.inl
+
+CLEANFILES += \
+ TestAppException-stamp \
+ TestAppExceptionC.cpp \
+ TestAppExceptionC.h \
+ TestAppExceptionC.inl \
+ TestAppExceptionS.cpp \
+ TestAppExceptionS.h \
+ TestAppExceptionS.inl \
+ TestAppExceptionS_T.cpp \
+ TestAppExceptionS_T.h \
+ TestAppExceptionS_T.inl
+
+TestAppExceptionC.cpp TestAppExceptionC.h TestAppExceptionC.inl TestAppExceptionS.cpp TestAppExceptionS.h TestAppExceptionS.inl TestAppExceptionS_T.cpp TestAppExceptionS_T.h TestAppExceptionS_T.inl: TestAppException-stamp
+
+TestAppException-stamp: $(srcdir)/TestAppException.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -Wb,export_macro=CSD_PT_TestInf_Export -Wb,export_include=CSD_PT_TestInf_Export.h $(srcdir)/TestAppException.idl
+ @touch $@
+
+BUILT_SOURCES += \
+ CancelledExceptionC.cpp \
+ CancelledExceptionC.h \
+ CancelledExceptionC.inl \
+ CancelledExceptionS.cpp \
+ CancelledExceptionS.h \
+ CancelledExceptionS.inl \
+ CancelledExceptionS_T.cpp \
+ CancelledExceptionS_T.h \
+ CancelledExceptionS_T.inl
+
+CLEANFILES += \
+ CancelledException-stamp \
+ CancelledExceptionC.cpp \
+ CancelledExceptionC.h \
+ CancelledExceptionC.inl \
+ CancelledExceptionS.cpp \
+ CancelledExceptionS.h \
+ CancelledExceptionS.inl \
+ CancelledExceptionS_T.cpp \
+ CancelledExceptionS_T.h \
+ CancelledExceptionS_T.inl
+
+CancelledExceptionC.cpp CancelledExceptionC.h CancelledExceptionC.inl CancelledExceptionS.cpp CancelledExceptionS.h CancelledExceptionS.inl CancelledExceptionS_T.cpp CancelledExceptionS_T.h CancelledExceptionS_T.inl: CancelledException-stamp
+
+CancelledException-stamp: $(srcdir)/CancelledException.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -Wb,export_macro=CSD_PT_TestInf_Export -Wb,export_include=CSD_PT_TestInf_Export.h $(srcdir)/CancelledException.idl
+ @touch $@
+
+BUILT_SOURCES += \
+ CustomExceptionC.cpp \
+ CustomExceptionC.h \
+ CustomExceptionC.inl \
+ CustomExceptionS.cpp \
+ CustomExceptionS.h \
+ CustomExceptionS.inl \
+ CustomExceptionS_T.cpp \
+ CustomExceptionS_T.h \
+ CustomExceptionS_T.inl
+
+CLEANFILES += \
+ CustomException-stamp \
+ CustomExceptionC.cpp \
+ CustomExceptionC.h \
+ CustomExceptionC.inl \
+ CustomExceptionS.cpp \
+ CustomExceptionS.h \
+ CustomExceptionS.inl \
+ CustomExceptionS_T.cpp \
+ CustomExceptionS_T.h \
+ CustomExceptionS_T.inl
+
+CustomExceptionC.cpp CustomExceptionC.h CustomExceptionC.inl CustomExceptionS.cpp CustomExceptionS.h CustomExceptionS.inl CustomExceptionS_T.cpp CustomExceptionS_T.h CustomExceptionS_T.inl: CustomException-stamp
+
+CustomException-stamp: $(srcdir)/CustomException.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -Wb,export_macro=CSD_PT_TestInf_Export -Wb,export_include=CSD_PT_TestInf_Export.h $(srcdir)/CustomException.idl
+ @touch $@
+
+noinst_LTLIBRARIES = libCSD_PT_TestInf.la
+
+libCSD_PT_TestInf_la_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/tao \
+ -DCSD_PT_TESTINF_BUILD_DLL
+
+libCSD_PT_TestInf_la_SOURCES = \
+ AppHelper.cpp \
+ AppShutdown.cpp \
+ CancelledExceptionC.cpp \
+ CancelledExceptionS.cpp \
+ ClientEngine.cpp \
+ ClientTask.cpp \
+ CustomExceptionC.cpp \
+ CustomExceptionS.cpp \
+ FooExceptionC.cpp \
+ FooExceptionS.cpp \
+ OrbRunner.cpp \
+ OrbShutdownTask.cpp \
+ OrbTask.cpp \
+ TestAppBase.cpp \
+ TestAppExceptionC.cpp \
+ TestAppExceptionS.cpp
+
+noinst_HEADERS = \
+ AppHelper.h \
+ AppShutdown.h \
+ CancelledException.idl \
+ CancelledExceptionC.h \
+ CancelledExceptionC.inl \
+ CancelledExceptionS.h \
+ CancelledExceptionS_T.cpp \
+ CancelledExceptionS_T.h \
+ CancelledExceptionS_T.inl \
+ ClientEngine.h \
+ ClientTask.h \
+ CustomException.idl \
+ CustomExceptionC.h \
+ CustomExceptionC.inl \
+ CustomExceptionS.h \
+ CustomExceptionS_T.cpp \
+ CustomExceptionS_T.h \
+ CustomExceptionS_T.inl \
+ FooException.idl \
+ FooExceptionC.h \
+ FooExceptionC.inl \
+ FooExceptionS.h \
+ FooExceptionS_T.cpp \
+ FooExceptionS_T.h \
+ FooExceptionS_T.inl \
+ OrbRunner.h \
+ OrbShutdownTask.h \
+ OrbTask.h \
+ ServantList_T.cpp \
+ ServantList_T.h \
+ TestAppBase.h \
+ TestAppException.idl \
+ TestAppExceptionC.h \
+ TestAppExceptionC.inl \
+ TestAppExceptionS.h \
+ TestAppExceptionS_T.cpp \
+ TestAppExceptionS_T.h \
+ TestAppExceptionS_T.inl
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/performance-tests/CSD_Strategy/TestServant/Makefile.am b/TAO/performance-tests/CSD_Strategy/TestServant/Makefile.am
new file mode 100644
index 00000000000..759a30a6adf
--- /dev/null
+++ b/TAO/performance-tests/CSD_Strategy/TestServant/Makefile.am
@@ -0,0 +1,86 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id$
+##
+## This file was generated by MPC. Any changes made directly to
+## this file will be lost the next time it is generated.
+##
+## MPC Command:
+## ../bin/mwc.pl -type automake -noreldefs TAO.mwc
+
+ACE_BUILDDIR = $(top_builddir)/..
+ACE_ROOT = $(top_srcdir)/..
+TAO_BUILDDIR = $(top_builddir)
+TAO_IDL = ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDL_DEP = $(TAO_BUILDDIR)/TAO_IDL/tao_idl
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf
+TAO_ROOT = $(top_srcdir)
+
+## Makefile.csd_pt_testservant.am
+
+BUILT_SOURCES = \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+CLEANFILES = \
+ Foo-stamp \
+ FooC.cpp \
+ FooC.h \
+ FooC.inl \
+ FooS.cpp \
+ FooS.h \
+ FooS.inl \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl
+
+FooC.cpp FooC.h FooC.inl FooS.cpp FooS.h FooS.inl FooS_T.cpp FooS_T.h FooS_T.inl: Foo-stamp
+
+Foo-stamp: $(srcdir)/Foo.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/performance-tests/CSD_Strategy -Wb,export_macro=CSD_PT_TestServant_Export -Wb,export_include=CSD_PT_TestServant_Export.h $(srcdir)/Foo.idl
+ @touch $@
+
+noinst_LTLIBRARIES = libCSD_PT_TestServant.la
+
+libCSD_PT_TestServant_la_CPPFLAGS = \
+ -I$(ACE_ROOT) \
+ -I$(ACE_BUILDDIR) \
+ -I$(TAO_ROOT) \
+ -I$(TAO_BUILDDIR) \
+ -I$(TAO_ROOT)/performance-tests/CSD_Strategy \
+ -I$(TAO_ROOT)/tao \
+ -DCSD_PT_TESTSERVANT_BUILD_DLL
+
+libCSD_PT_TestServant_la_SOURCES = \
+ FooC.cpp \
+ FooS.cpp \
+ Foo_ClientEngine.cpp \
+ Foo_Statistics.cpp \
+ Foo_i.cpp
+
+noinst_HEADERS = \
+ Foo.idl \
+ FooC.h \
+ FooC.inl \
+ FooS.h \
+ FooS_T.cpp \
+ FooS_T.h \
+ FooS_T.inl \
+ Foo_ClientEngine.h \
+ Foo_Statistics.h \
+ Foo_i.h
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.*
+ -rm -f gcctemp.c gcctemp so_locations *.ics
+ -rm -rf cxx_repository ptrepository ti_files
+ -rm -rf templateregistry ir.out
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/TAO/tao/Array_Traits_T.h b/TAO/tao/Array_Traits_T.h
new file mode 100644
index 00000000000..56af536bc40
--- /dev/null
+++ b/TAO/tao/Array_Traits_T.h
@@ -0,0 +1,69 @@
+#ifndef guard_array_traits_hpp
+#define guard_array_traits_hpp
+/**
+ * @file
+ *
+ * @brief Implement the element manipulation traits for types with
+ * array-like semantics.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include <algorithm>
+#include "tao/Array_VarOut_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template <typename T_array, typename T_slice, typename T_tag>
+struct array_traits
+{
+ typedef T_array value_type;
+ typedef T_array const const_value_type;
+
+ typedef T_slice slice_type;
+ typedef T_tag TAG;
+
+ inline static void zero_range(
+ value_type * begin, value_type * end)
+ {
+ std::for_each(
+ begin, end, &TAO::Array_Traits<value_type,slice_type,TAG>::zero);
+ }
+
+ inline static void initialize_range(
+ value_type * begin, value_type * end)
+ {
+ std::for_each(
+ begin, end, &TAO::Array_Traits<value_type,slice_type,TAG>::zero);
+ }
+
+ inline static void copy_range(
+ value_type * begin, value_type * end, value_type *dst)
+ {
+ for(value_type * i = begin; i != end; ++i, ++dst)
+ {
+ TAO::Array_Traits<value_type,slice_type,TAG>::copy(*dst, *i);
+ }
+ }
+
+ inline static void release_range(
+ value_type * begin, value_type * end, value_type *dst)
+ {
+ std::for_each(
+ begin, end, &TAO::Array_Traits<value_type,slice_type,TAG>::zero);
+ }
+};
+
+} // namespace details
+} // namespace CORBA
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_array_traits_hpp
diff --git a/TAO/tao/Bounded_Array_Allocation_Traits_T.h b/TAO/tao/Bounded_Array_Allocation_Traits_T.h
new file mode 100644
index 00000000000..af6849f407c
--- /dev/null
+++ b/TAO/tao/Bounded_Array_Allocation_Traits_T.h
@@ -0,0 +1,55 @@
+#ifndef guard_bounded_array_allocation_traits_hpp
+#define guard_bounded_array_allocation_traits_hpp
+/**
+ * @file
+ *
+ * @brief Details can be found in the documentation for
+ * TAO::details::generic_sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T, CORBA::ULong MAX, bool dummy>
+struct bounded_array_allocation_traits
+{
+ typedef T value_type;
+
+ inline static CORBA::ULong default_maximum()
+ {
+ return MAX;
+ }
+
+ inline static value_type * default_buffer_allocation()
+ {
+ return allocbuf(MAX);
+ }
+
+ inline static value_type * allocbuf(CORBA::ULong /* maximum */)
+ {
+ return new value_type[MAX];
+ }
+
+ inline static void freebuf(value_type * buffer)
+ {
+ delete[] buffer;
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_array_allocation_traits_hpp
diff --git a/TAO/tao/Bounded_Array_Sequence_T.h b/TAO/tao/Bounded_Array_Sequence_T.h
new file mode 100644
index 00000000000..8850a9dfe8e
--- /dev/null
+++ b/TAO/tao/Bounded_Array_Sequence_T.h
@@ -0,0 +1,145 @@
+#ifndef guard_bounded_array_sequence_hpp
+#define guard_bounded_array_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement unbounded sequences for arrays.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "Bounded_Array_Allocation_Traits_T.h"
+#include "Generic_Sequence_T.h"
+#include "Array_Traits_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<typename T_array, typename T_slice, typename T_tag, CORBA::ULong MAX>
+class bounded_array_sequence
+{
+public:
+ typedef T_array * element_type;
+ typedef T_array value_type;
+ typedef T_slice * T_slice_ptr;
+ typedef T_slice_ptr * const_value_type;
+ typedef value_type & subscript_type;
+ typedef value_type const & const_subscript_type;
+
+ typedef details::bounded_array_allocation_traits<value_type,MAX,true> allocation_traits;
+ typedef details::array_traits <T_array, T_slice, T_tag> element_traits;
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ inline bounded_array_sequence()
+ : impl_()
+ {}
+ inline bounded_array_sequence(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false)
+ : impl_(MAX, length, data, release)
+ {}
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+ inline void length(CORBA::ULong length) {
+ impl_.length(length);
+ }
+ inline value_type const & operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ inline value_type & operator[](CORBA::ULong i) {
+ return impl_[i];
+ }
+ inline void replace(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(MAX, length, data, release);
+ }
+ inline value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(bounded_array_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+ static value_type * allocbuf(CORBA::ULong maximum) {
+ return implementation_type::allocbuf(maximum);
+ }
+ static void freebuf(value_type * buffer) {
+ implementation_type::freebuf(buffer);
+ }
+
+private:
+ implementation_type impl_;
+};
+}
+
+namespace TAO
+{
+ template <typename stream, typename T_array, typename T_slice, typename T_tag, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_array_sequence<T_array, T_slice, T_tag, MAX> & target) {
+ typedef TAO::bounded_array_sequence<T_array, T_slice, T_tag, MAX> sequence;
+ typedef TAO::Array_Traits<T_array, T_slice, T_tag> array_traits;
+ typedef TAO_Array_Forany_T <T_array, T_slice, T_tag> forany;
+
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ forany tmp (array_traits::alloc ());
+ bool const _tao_marshal_flag = (strm >> tmp);
+ if (_tao_marshal_flag) {
+ array_traits::copy (buffer[i], tmp.in ());
+ }
+ array_traits::free (tmp.inout ());
+ if (!_tao_marshal_flag) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, typename T_array, typename T_slice, typename T_tag, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_array_sequence<T_array, T_slice, T_tag, MAX> & source) {
+ typedef TAO_FixedArray_Var_T <T_array, T_slice, T_tag> fixed_array;
+ typedef TAO::Array_Traits<T_array, T_slice, T_tag> array_traits;
+ typedef TAO_Array_Forany_T <T_array, T_slice, T_tag> forany;
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ fixed_array tmp_array = array_traits::dup (source[i]);
+ forany tmp (tmp_array.inout ());
+ if (!(strm << tmp)) {
+ return false;
+ }
+ }
+ return true;
+ }
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_bounded_array_sequence_hpp
diff --git a/TAO/tao/Bounded_Basic_String_Sequence_T.h b/TAO/tao/Bounded_Basic_String_Sequence_T.h
new file mode 100644
index 00000000000..da573662bc7
--- /dev/null
+++ b/TAO/tao/Bounded_Basic_String_Sequence_T.h
@@ -0,0 +1,118 @@
+#ifndef guard_bounded_basic_string_sequence_hpp
+#define guard_bounded_basic_string_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement bounded sequences for strings and wide-strings.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "tao/Bounded_Reference_Allocation_Traits_T.h"
+#include "tao/String_Traits_T.h"
+#include "tao/Generic_Sequence_T.h"
+#include "tao/String_Sequence_Element_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename charT, CORBA::ULong MAX>
+class bounded_basic_string_sequence
+{
+public:
+ typedef charT character_type;
+ typedef charT * value_type;
+ typedef charT const * const_value_type;
+
+ typedef details::string_traits<charT,true> element_traits;
+ typedef details::bounded_reference_allocation_traits<value_type,element_traits,MAX,true> allocation_traits;
+
+ typedef details::string_sequence_element<element_traits> element_type;
+ typedef element_type subscript_type;
+ typedef const_value_type const_subscript_type;
+
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ /// @copydoc generic_sequence::generic_sequence
+ inline bounded_basic_string_sequence()
+ : impl_()
+ {}
+ /// @copydoc generic_sequence::generic_sequence
+ inline bounded_basic_string_sequence(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release)
+ : impl_(MAX, length, data, release)
+ {}
+ /// @copydoc generic_sequence::maximum
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ /// @copydoc generic_sequence::release
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ /// @copydoc generic_sequence::length
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+
+ /// @copydoc generic_sequence::length
+ inline void length(CORBA::ULong length) {
+ implementation_type::range::check_length(length, MAX);
+ impl_.length(length);
+ }
+ /// @copydoc generic_sequence::operator[]
+ inline const_value_type operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ /// @copydoc generic_sequence::operator[]
+ inline element_type operator[](CORBA::ULong i) {
+ return element_type(impl_[i], release());
+ }
+ /// @copydoc generic_sequence::get_buffer
+ inline const_value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ /// @copydoc generic_sequence::replace
+ inline void replace(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(MAX, length, data, release);
+ }
+ /// @copydoc generic_sequence::get_buffer(CORBA::Boolean)
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(bounded_basic_string_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+
+ static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ return implementation_type::allocbuf(maximum);
+ }
+ static value_type * allocbuf() {
+ return implementation_type::allocbuf(MAX);
+ }
+ static void freebuf(value_type * buffer)
+ {
+ implementation_type::freebuf(buffer);
+ }
+
+private:
+ implementation_type impl_;
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_bounded_basic_string_sequence_hpp
diff --git a/TAO/tao/Bounded_Object_Reference_Sequence_T.h b/TAO/tao/Bounded_Object_Reference_Sequence_T.h
new file mode 100644
index 00000000000..9754820576c
--- /dev/null
+++ b/TAO/tao/Bounded_Object_Reference_Sequence_T.h
@@ -0,0 +1,105 @@
+#ifndef guard_bounded_object_reference_sequence_hpp
+#define guard_bounded_object_reference_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement bounded sequences for object references.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "Bounded_Reference_Allocation_Traits_T.h"
+#include "Object_Reference_Traits_T.h"
+#include "Generic_Sequence_T.h"
+#include "Object_Reference_Sequence_Element_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<typename object_t, typename object_t_var, CORBA::ULong MAX>
+class bounded_object_reference_sequence
+{
+public:
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef value_type const const_value_type;
+ typedef object_t_var object_type_var;
+
+ typedef details::object_reference_traits<object_type,object_type_var,true> element_traits;
+ typedef details::bounded_reference_allocation_traits<value_type,element_traits,MAX,true> allocation_traits;
+
+ typedef details::object_reference_sequence_element<element_traits> element_type;
+ typedef element_type subscript_type;
+ typedef value_type const & const_subscript_type;
+
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ inline bounded_object_reference_sequence()
+ : impl_()
+ {}
+ inline bounded_object_reference_sequence(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release)
+ : impl_(MAX, length, data, release)
+ {}
+
+ /* Use default ctor, operator= and dtor */
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+
+ inline void length(CORBA::ULong length) {
+ implementation_type::range::check_length(length, MAX);
+ impl_.length(length);
+ }
+ inline value_type const & operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ inline element_type operator[](CORBA::ULong i) {
+ return element_type(impl_[i], release());
+ }
+ inline value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ inline void replace(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(MAX, length, data, release);
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(bounded_object_reference_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+
+ static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ return implementation_type::allocbuf(maximum);
+ }
+ static void freebuf(value_type * buffer)
+ {
+ implementation_type::freebuf(buffer);
+ }
+
+
+private:
+ implementation_type impl_;
+};
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_bounded_object_reference_sequence_hpp
diff --git a/TAO/tao/Bounded_Reference_Allocation_Traits_T.h b/TAO/tao/Bounded_Reference_Allocation_Traits_T.h
new file mode 100644
index 00000000000..b5ff17fca98
--- /dev/null
+++ b/TAO/tao/Bounded_Reference_Allocation_Traits_T.h
@@ -0,0 +1,65 @@
+#ifndef guard_bounded_reference_allocation_traits_hpp
+#define guard_bounded_reference_allocation_traits_hpp
+/**
+ * @file
+ *
+ * @brief Details can be found in the documentation for
+ * TAO::details::generic_sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T, class ref_traits, CORBA::ULong MAX, bool dummy>
+struct bounded_reference_allocation_traits
+{
+ typedef T value_type;
+ typedef ref_traits reference_traits;
+
+ inline static CORBA::ULong default_maximum()
+ {
+ return MAX;
+ }
+
+ inline static value_type * default_buffer_allocation()
+ {
+ return allocbuf(MAX);
+ }
+
+ inline static value_type * allocbuf(CORBA::ULong /* maximum */)
+ {
+ value_type * buffer = new value_type[MAX];
+ // no throw
+ reference_traits::zero_range(buffer, buffer + MAX);
+
+ return buffer;
+ }
+
+ inline static void freebuf(value_type * buffer)
+ {
+ reference_traits::release_range(buffer, buffer + MAX);
+ delete[] buffer;
+ }
+
+ inline static CORBA::ULong maximum()
+ {
+ return MAX;
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_bounded_reference_allocation_traits_hpp
diff --git a/TAO/tao/Bounded_Sequence_CDR_T.h b/TAO/tao/Bounded_Sequence_CDR_T.h
new file mode 100644
index 00000000000..c0cbbdb5a01
--- /dev/null
+++ b/TAO/tao/Bounded_Sequence_CDR_T.h
@@ -0,0 +1,516 @@
+#ifndef guard_bounded_sequence_cdr
+#define guard_bounded_sequence_cdr
+/**
+ * @file
+ *
+ * @brief Extract the sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ * @author Johnny Willemsen
+ */
+
+#include "tao/orbconf.h"
+#include "tao/SystemException.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO {
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::Short, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::Short, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_short_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::Long, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::Long, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_long_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::ULong, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::ULong, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_ulong_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::UShort, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::UShort, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_ushort_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::Octet, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::Octet, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_octet_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::Char, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::Char, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_char_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+# if defined (ACE_HAS_WCHAR) || defined (ACE_HAS_XPG4_MULTIBYTE_CHAR)
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::WChar, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::WChar, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_wchar_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+#endif
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::Float, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::Float, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_float_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::Double, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::Double, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_double_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::ULongLong, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::ULongLong, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_ulonglong_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::LongDouble, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::LongDouble, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_longdouble_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <CORBA::Boolean, MAX> & target) {
+ typedef TAO::bounded_value_sequence <CORBA::Boolean, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_boolean_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, typename value_t, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_value_sequence <value_t, MAX> & target) {
+ typedef TAO::bounded_value_sequence <value_t, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ if (!(strm >> buffer[i])) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, typename charT, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::details::bounded_basic_string_sequence <charT, MAX> & target) {
+ typedef typename TAO::details::bounded_basic_string_sequence <charT, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ if (!(strm >> buffer[i])) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, typename object_t, typename object_t_var, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_object_reference_sequence<object_t, object_t_var, MAX> & target) {
+ typedef typename TAO::bounded_object_reference_sequence<object_t, object_t_var, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ if (!(strm >> buffer[i])) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+}
+
+namespace TAO {
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::Short, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_short_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::Long, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_long_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::ULong, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_ulong_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::UShort, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_ushort_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::Octet, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_octet_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::Char, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_char_array (source.get_buffer (), length);
+ }
+
+# if defined (ACE_HAS_WCHAR) || defined (ACE_HAS_XPG4_MULTIBYTE_CHAR)
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::WChar, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_wchar_array (source.get_buffer (), length);
+ }
+#endif
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::Float, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_float_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::Double, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_double_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::ULongLong, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_ulonglong_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::LongDouble, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_longdouble_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <CORBA::Boolean, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_boolean_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, typename value_t, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_value_sequence <value_t, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ if (!(strm << source[i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ template <typename stream, typename charT, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::details::bounded_basic_string_sequence <charT, MAX> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ if (!(strm << source[i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ template <typename stream, typename object_t, typename object_t_var, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_object_reference_sequence<object_t, object_t_var, MAX> & source) {
+ typedef typename TAO::bounded_object_reference_sequence<object_t, object_t_var, MAX>::object_type object_type;
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ if (!TAO::Objref_Traits<object_type>::marshal (source[i], strm)) {
+ return false;
+ }
+ }
+ return true;
+ }
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* guard_bounded_sequence_cdr */
diff --git a/TAO/tao/Bounded_String_Sequence_T.h b/TAO/tao/Bounded_String_Sequence_T.h
new file mode 100644
index 00000000000..9f6373343b6
--- /dev/null
+++ b/TAO/tao/Bounded_String_Sequence_T.h
@@ -0,0 +1,42 @@
+#ifndef guard_bounded_string_sequence_hpp
+#define guard_bounded_string_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement bounded sequences for strings.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Bounded_Basic_String_Sequence_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<CORBA::ULong MAX>
+class bounded_string_sequence
+ : public details::bounded_basic_string_sequence<char,MAX>
+{
+public:
+ inline bounded_string_sequence()
+ : details::bounded_basic_string_sequence<char,MAX>()
+ {}
+ inline bounded_string_sequence(
+ CORBA::ULong length,
+ char * * data,
+ CORBA::Boolean release = false)
+ : details::bounded_basic_string_sequence<char,MAX>(
+ length, data, release)
+ {}
+};
+
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_bounded_string_sequence_hpp
diff --git a/TAO/tao/Bounded_Value_Allocation_Traits_T.h b/TAO/tao/Bounded_Value_Allocation_Traits_T.h
new file mode 100644
index 00000000000..aa94641e539
--- /dev/null
+++ b/TAO/tao/Bounded_Value_Allocation_Traits_T.h
@@ -0,0 +1,60 @@
+#ifndef guard_bounded_value_allocation_traits_hpp
+#define guard_bounded_value_allocation_traits_hpp
+/**
+ * @file
+ *
+ * @brief Details can be found in the documentation for
+ * TAO::details::generic_sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T, CORBA::ULong MAX, bool dummy>
+struct bounded_value_allocation_traits
+{
+ typedef T value_type;
+
+ inline static CORBA::ULong default_maximum()
+ {
+ return MAX;
+ }
+
+ inline static value_type * default_buffer_allocation()
+ {
+ return allocbuf(MAX);
+ }
+
+ inline static value_type * allocbuf(CORBA::ULong /* maximum */)
+ {
+ return new value_type[MAX];
+ }
+
+ inline static void freebuf(value_type * buffer)
+ {
+ delete[] buffer;
+ }
+
+ inline static CORBA::ULong maximum()
+ {
+ return MAX;
+ }
+ /* static CORBA::ULong const MAXIMUM = MAX; */
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_bounded_value_allocation_traits_hpp
diff --git a/TAO/tao/Bounded_Value_Sequence_T.h b/TAO/tao/Bounded_Value_Sequence_T.h
new file mode 100644
index 00000000000..dbb466fac3a
--- /dev/null
+++ b/TAO/tao/Bounded_Value_Sequence_T.h
@@ -0,0 +1,100 @@
+#ifndef guard_bounded_value_sequence_hpp
+#define guard_bounded_value_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement bounded sequences for types with value-like
+ * semantics.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Bounded_Value_Allocation_Traits_T.h"
+#include "tao/Value_Traits_T.h"
+#include "tao/Generic_Sequence_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<class T, CORBA::ULong MAX>
+class bounded_value_sequence
+{
+public:
+ typedef T value_type;
+ typedef T element_type;
+ typedef T const const_value_type;
+ typedef value_type & subscript_type;
+ typedef value_type const & const_subscript_type;
+
+ typedef details::bounded_value_allocation_traits<value_type,MAX,true> allocation_traits;
+ typedef details::value_traits<value_type,true> element_traits;
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ inline bounded_value_sequence()
+ : impl_()
+ {}
+ inline bounded_value_sequence(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false)
+ : impl_(MAX, length, data, release)
+ {}
+ /* Use default ctor, operator= and dtor */
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+ inline void length(CORBA::ULong length) {
+ implementation_type::range::check_length(length, MAX);
+ impl_.length(length);
+ }
+ inline value_type const & operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ inline value_type & operator[](CORBA::ULong i) {
+ return impl_[i];
+ }
+ inline void replace(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(MAX, length, data, release);
+ }
+ inline value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(bounded_value_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+ static value_type * allocbuf(CORBA::ULong maximum) {
+ return implementation_type::allocbuf(maximum);
+ }
+ static value_type * allocbuf() {
+ return implementation_type::allocbuf(MAX);
+ }
+ static void freebuf(value_type * buffer)
+ {
+ implementation_type::freebuf(buffer);
+ }
+
+private:
+ implementation_type impl_;
+};
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_bounded_string_sequence_hpp
diff --git a/TAO/tao/Bounded_Wstring_Sequence_T.h b/TAO/tao/Bounded_Wstring_Sequence_T.h
new file mode 100644
index 00000000000..c0ed84f289e
--- /dev/null
+++ b/TAO/tao/Bounded_Wstring_Sequence_T.h
@@ -0,0 +1,42 @@
+#ifndef guard_bounded_wstring_sequence_hpp
+#define guard_bounded_wstring_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement bounded sequences for wstrings.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Bounded_Basic_String_Sequence_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<CORBA::ULong MAX>
+class bounded_wstring_sequence
+ : public details::bounded_basic_string_sequence<CORBA::WChar,MAX>
+{
+public:
+ inline bounded_wstring_sequence()
+ : details::bounded_basic_string_sequence<CORBA::WChar,MAX>()
+ {}
+ inline bounded_wstring_sequence(
+ CORBA::ULong length,
+ CORBA::WChar * * data,
+ CORBA::Boolean release = false)
+ : details::bounded_basic_string_sequence<CORBA::WChar,MAX>(
+ length, data, release)
+ {}
+};
+
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_bounded_wstring_sequence_hpp
diff --git a/TAO/tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp b/TAO/tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp
new file mode 100644
index 00000000000..72b8028cd94
--- /dev/null
+++ b/TAO/tao/CSD_Framework/CSD_Default_Servant_Dispatcher.cpp
@@ -0,0 +1,60 @@
+// $Id$
+
+#include "tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h"
+#include "tao/CSD_Framework/CSD_POA.h"
+#include "tao/CSD_Framework/CSD_Strategy_Repository.h"
+#include "ace/Dynamic_Service.h"
+
+ACE_RCSID(CSD_Framework,
+ CSD_Default_Servant_Dispatcher,
+ "$Id$")
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_CSD_Default_Servant_Dispatcher::~TAO_CSD_Default_Servant_Dispatcher (void)
+{
+}
+
+
+TAO_Root_POA *
+TAO_CSD_Default_Servant_Dispatcher::create_Root_POA (const ACE_CString &name,
+ PortableServer::POAManager_ptr poa_manager,
+ const TAO_POA_Policy_Set &policies,
+ ACE_Lock &lock,
+ TAO_SYNCH_MUTEX &thread_lock,
+ TAO_ORB_Core &orb_core,
+ TAO_Object_Adapter *object_adapter
+ ACE_ENV_ARG_DECL)
+ {
+ TAO_CSD_POA *poa = 0;
+
+ ACE_NEW_THROW_EX (poa,
+ TAO_CSD_POA (name,
+ poa_manager,
+ policies,
+ 0,
+ lock,
+ thread_lock,
+ orb_core,
+ object_adapter
+ ACE_ENV_ARG_PARAMETER),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+
+ TAO_CSD_Strategy_Repository *repo =
+ ACE_Dynamic_Service<TAO_CSD_Strategy_Repository>::instance ("TAO_CSD_Strategy_Repository");
+
+ CSD_Framework::Strategy_var strategy = repo->find (name);
+
+ if (! ::CORBA::is_nil (strategy.in ()))
+ {
+ poa->set_csd_strategy (strategy.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return poa;
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h b/TAO/tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h
new file mode 100644
index 00000000000..1d041331e99
--- /dev/null
+++ b/TAO/tao/CSD_Framework/CSD_Default_Servant_Dispatcher.h
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file CSD_Default_Servant_Dispatcher.h
+ *
+ * $Id$
+ *
+ * @author Yan Dai (dai_y@ociweb.com)
+ */
+//=============================================================================
+
+#ifndef TAO_CSD_DEFAULT_SERVANT_DISPATCHER_H
+#define TAO_CSD_DEFAULT_SERVANT_DISPATCHER_H
+#include /**/ "ace/pre.h"
+
+#include "tao/CSD_Framework/CSD_FW_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/Default_Servant_Dispatcher.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class TAO_CSD_Default_Servant_Dispatcher
+ *
+ * @brief Interface for CSD_POA servant dispatching strategies.
+ */
+class TAO_CSD_FW_Export TAO_CSD_Default_Servant_Dispatcher
+ : public virtual TAO_Default_Servant_Dispatcher
+{
+public:
+ virtual ~TAO_CSD_Default_Servant_Dispatcher (void);
+
+
+ /// Factory method for creating new CSD Root POA.
+ virtual TAO_Root_POA *create_Root_POA (const ACE_CString &name,
+ PortableServer::POAManager_ptr poa_manager,
+ const TAO_POA_Policy_Set &policies,
+ ACE_Lock &lock,
+ TAO_SYNCH_MUTEX &thread_lock,
+ TAO_ORB_Core &orb_core,
+ TAO_Object_Adapter *object_adapter
+ ACE_ENV_ARG_DECL);
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+#endif /* TAO_CSD_DEFAULT_SERVANT_DISPATCHER_H */
diff --git a/TAO/tao/CSD_Framework/CSD_FrameworkC.cpp b/TAO/tao/CSD_Framework/CSD_FrameworkC.cpp
new file mode 100644
index 00000000000..b69086bef7b
--- /dev/null
+++ b/TAO/tao/CSD_Framework/CSD_FrameworkC.cpp
@@ -0,0 +1,294 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// .\be\be_codegen.cpp:277
+
+
+#include "tao/CSD_Framework/CSD_FrameworkC.h"
+#include "tao/CDR.h"
+#include "ace/OS_NS_string.h"
+
+
+// TAO_IDL - Generated from
+// .\be\be_visitor_arg_traits.cpp:70
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+// Arg traits specializations.
+namespace TAO
+{
+}
+
+
+// TAO_IDL - Generated from
+// c:\csd\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for CSD_Framework::Strategy.
+
+CSD_Framework::Strategy_ptr
+TAO::Objref_Traits<CSD_Framework::Strategy>::duplicate (
+ CSD_Framework::Strategy_ptr p
+ )
+{
+ return CSD_Framework::Strategy::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<CSD_Framework::Strategy>::release (
+ CSD_Framework::Strategy_ptr p
+ )
+{
+ ::CORBA::release (p);
+}
+
+CSD_Framework::Strategy_ptr
+TAO::Objref_Traits<CSD_Framework::Strategy>::nil (void)
+{
+ return CSD_Framework::Strategy::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<CSD_Framework::Strategy>::marshal (
+ CSD_Framework::Strategy_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+CSD_Framework::Strategy::Strategy (void)
+{}
+
+CSD_Framework::Strategy::~Strategy (void)
+{}
+
+CSD_Framework::Strategy_ptr
+CSD_Framework::Strategy::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return Strategy::_duplicate (
+ dynamic_cast<Strategy_ptr> (_tao_objref)
+ );
+}
+
+CSD_Framework::Strategy_ptr
+CSD_Framework::Strategy::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return Strategy::_duplicate (
+ dynamic_cast<Strategy_ptr> (_tao_objref)
+ );
+}
+
+CSD_Framework::Strategy_ptr
+CSD_Framework::Strategy::_duplicate (Strategy_ptr obj)
+{
+ if (! ::CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+CSD_Framework::Strategy::_tao_release (Strategy_ptr obj)
+{
+ ::CORBA::release (obj);
+}
+
+::CORBA::Boolean
+CSD_Framework::Strategy::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:CSD_Framework/Strategy:2.3"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/LocalObject:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return false;
+ }
+}
+
+const char* CSD_Framework::Strategy::_interface_repository_id (void) const
+{
+ return "IDL:CSD_Framework/Strategy:2.3";
+}
+
+::CORBA::Boolean
+CSD_Framework::Strategy::marshal (TAO_OutputCDR &)
+{
+ return false;
+}
+
+// TAO_IDL - Generated from
+// c:\csd\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for CSD_Framework::POA.
+
+CSD_Framework::POA_ptr
+TAO::Objref_Traits<CSD_Framework::POA>::duplicate (
+ CSD_Framework::POA_ptr p
+ )
+{
+ return CSD_Framework::POA::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<CSD_Framework::POA>::release (
+ CSD_Framework::POA_ptr p
+ )
+{
+ ::CORBA::release (p);
+}
+
+CSD_Framework::POA_ptr
+TAO::Objref_Traits<CSD_Framework::POA>::nil (void)
+{
+ return CSD_Framework::POA::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<CSD_Framework::POA>::marshal (
+ CSD_Framework::POA_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+CSD_Framework::POA::POA (void)
+{}
+
+CSD_Framework::POA::~POA (void)
+{}
+
+CSD_Framework::POA_ptr
+CSD_Framework::POA::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return POA::_duplicate (
+ dynamic_cast<POA_ptr> (_tao_objref)
+ );
+}
+
+CSD_Framework::POA_ptr
+CSD_Framework::POA::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return POA::_duplicate (
+ dynamic_cast<POA_ptr> (_tao_objref)
+ );
+}
+
+CSD_Framework::POA_ptr
+CSD_Framework::POA::_duplicate (POA_ptr obj)
+{
+ if (! ::CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+CSD_Framework::POA::_tao_release (POA_ptr obj)
+{
+ ::CORBA::release (obj);
+}
+
+::CORBA::Boolean
+CSD_Framework::POA::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/PortableServer/POA:2.3"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:CSD_Framework/POA:2.3"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/LocalObject:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return false;
+ }
+}
+
+const char* CSD_Framework::POA::_interface_repository_id (void) const
+{
+ return "IDL:CSD_Framework/POA:2.3";
+}
+
+::CORBA::Boolean
+CSD_Framework::POA::marshal (TAO_OutputCDR &)
+{
+ return false;
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/CSD_Framework/CSD_POA.cpp b/TAO/tao/CSD_Framework/CSD_POA.cpp
new file mode 100644
index 00000000000..f3cc8e605f5
--- /dev/null
+++ b/TAO/tao/CSD_Framework/CSD_POA.cpp
@@ -0,0 +1,134 @@
+// $Id$
+
+#include "tao/CSD_Framework/CSD_POA.h"
+#include "tao/CSD_Framework/CSD_Strategy_Repository.h"
+#include "tao/CSD_Framework/CSD_Strategy_Base.h"
+
+#include "ace/Dynamic_Service.h"
+
+ACE_RCSID (CSD_Framework,
+ CSD_POA,
+ "$Id$")
+
+#if !defined (__ACE_INLINE__)
+# include "tao/CSD_Framework/CSD_POA.inl"
+#endif /* ! __ACE_INLINE__ */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+// Implementation skeleton constructor
+TAO_CSD_POA::TAO_CSD_POA (const String &name,
+ PortableServer::POAManager_ptr poa_manager,
+ const TAO_POA_Policy_Set &policies,
+ TAO_Root_POA *parent,
+ ACE_Lock &lock,
+ TAO_SYNCH_MUTEX &thread_lock,
+ TAO_ORB_Core &orb_core,
+ TAO_Object_Adapter *object_adapter
+ ACE_ENV_ARG_DECL)
+: TAO_Regular_POA (name,
+ poa_manager,
+ policies,
+ parent,
+ lock,
+ thread_lock,
+ orb_core,
+ object_adapter
+ ACE_ENV_ARG_PARAMETER)
+{
+ ACE_NEW_THROW_EX (this->sds_proxy_,
+ TAO::CSD::Strategy_Proxy (),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK;
+}
+
+
+// Implementation skeleton destructor
+TAO_CSD_POA::~TAO_CSD_POA (void)
+{
+ delete this->sds_proxy_;
+}
+
+void TAO_CSD_POA::set_csd_strategy (
+ ::CSD_Framework::Strategy_ptr strategy
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ if (CORBA::is_nil (strategy))
+ {
+ ACE_THROW (CORBA::BAD_PARAM ());
+ }
+ this->sds_proxy_->custom_strategy (strategy);
+}
+
+TAO_Root_POA *
+TAO_CSD_POA::new_POA (const String &name,
+ PortableServer::POAManager_ptr poa_manager,
+ const TAO_POA_Policy_Set &policies,
+ TAO_Root_POA *parent,
+ ACE_Lock &lock,
+ TAO_SYNCH_MUTEX &thread_lock,
+ TAO_ORB_Core &orb_core,
+ TAO_Object_Adapter *object_adapter
+ ACE_ENV_ARG_DECL)
+{
+ TAO_CSD_POA *poa = 0;
+
+ ACE_NEW_THROW_EX (poa,
+ TAO_CSD_POA (name,
+ poa_manager,
+ policies,
+ parent,
+ lock,
+ thread_lock,
+ orb_core,
+ object_adapter
+ ACE_ENV_ARG_PARAMETER),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ TAO_CSD_Strategy_Repository *repo =
+ ACE_Dynamic_Service<TAO_CSD_Strategy_Repository>::instance ("TAO_CSD_Strategy_Repository");
+
+
+ CSD_Framework::Strategy_var strategy = repo->find (name);
+
+ if (! ::CORBA::is_nil (strategy.in ()))
+ {
+ poa->set_csd_strategy (strategy.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return poa;
+}
+
+void TAO_CSD_POA::poa_activated_hook ()
+{
+ this->sds_proxy_->poa_activated_event ();
+}
+
+void TAO_CSD_POA::poa_deactivated_hook ()
+{
+ this->sds_proxy_->poa_deactivated_event ();
+}
+
+void TAO_CSD_POA::servant_activated_hook (PortableServer::Servant servant,
+ const PortableServer::ObjectId& oid
+ ACE_ENV_ARG_DECL)
+{
+ this->sds_proxy_->servant_activated_event (servant, oid ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+void TAO_CSD_POA::servant_deactivated_hook (PortableServer::Servant servant,
+ const PortableServer::ObjectId& oid
+ ACE_ENV_ARG_DECL)
+{
+ this->sds_proxy_->servant_deactivated_event (servant, oid ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/CSD_Framework/CSD_POA.h b/TAO/tao/CSD_Framework/CSD_POA.h
new file mode 100644
index 00000000000..bcbf2e0495f
--- /dev/null
+++ b/TAO/tao/CSD_Framework/CSD_POA.h
@@ -0,0 +1,111 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file CSD_POA.h
+ *
+ * $Id$
+ *
+ * @author Yan Dai (dai_y@ociweb.com)
+ */
+//=============================================================================
+
+#ifndef TAO_CSD_POA_H
+#define TAO_CSD_POA_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/CSD_Framework/CSD_FW_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/Regular_POA.h"
+#include "tao/CSD_Framework/CSD_Strategy_Proxy.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class TAO_CSD_POA
+ *
+ * @brief Implementation of the CSD_Framework::POA interface.
+ *
+ * Implementation of the CSD_Framework::POA interface.
+ */
+class TAO_CSD_FW_Export TAO_CSD_POA
+ : public virtual CSD_Framework::POA,
+ public virtual TAO_Regular_POA
+{
+public:
+ //Constructor
+ TAO_CSD_POA (const String &name,
+ PortableServer::POAManager_ptr poa_manager,
+ const TAO_POA_Policy_Set &policies,
+ TAO_Root_POA *parent,
+ ACE_Lock &lock,
+ TAO_SYNCH_MUTEX &thread_lock,
+ TAO_ORB_Core &orb_core,
+ TAO_Object_Adapter *object_adapter
+ ACE_ENV_ARG_DECL);
+
+ //Destructor
+ virtual ~TAO_CSD_POA (void);
+
+ /// Pass the Strategy object reference to the CSD poa.
+ virtual
+ void set_csd_strategy (
+ ::CSD_Framework::Strategy_ptr s
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ /// Hook - The POA has been (or is being) activated.
+ virtual void poa_activated_hook ();
+
+ /// Hook - The POA has been deactivated.
+ virtual void poa_deactivated_hook ();
+
+ /// Hook - A servant has been activated.
+ virtual void servant_activated_hook (PortableServer::Servant servant,
+ const PortableServer::ObjectId& oid
+ ACE_ENV_ARG_DECL);
+
+ /// Hook - A servant has been deactivated.
+ virtual void servant_deactivated_hook (PortableServer::Servant servant,
+ const PortableServer::ObjectId& oid
+ ACE_ENV_ARG_DECL);
+
+ ///Method for creating new CSD POA.
+ TAO_Root_POA * new_POA (const String &name,
+ PortableServer::POAManager_ptr poa_manager,
+ const TAO_POA_Policy_Set &policies,
+ TAO_Root_POA *parent,
+ ACE_Lock &lock,
+ TAO_SYNCH_MUTEX &thread_lock,
+ TAO_ORB_Core &orb_core,
+ TAO_Object_Adapter *object_adapter
+ ACE_ENV_ARG_DECL);
+
+ /// Servant Dispatching Strategy proxy accessor.
+ TAO::CSD::Strategy_Proxy&
+ servant_dispatching_strategy_proxy (void) const;
+
+private:
+
+ TAO::CSD::Strategy_Proxy* sds_proxy_;
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+#if defined (__ACE_INLINE__)
+# include "tao/CSD_Framework/CSD_POA.inl"
+#endif /* __ACE_INLINE__ */
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_CSD_POA_H */
+
diff --git a/TAO/tao/EndpointPolicy.mpc b/TAO/tao/EndpointPolicy.mpc
new file mode 100644
index 00000000000..62d0c80c7e4
--- /dev/null
+++ b/TAO/tao/EndpointPolicy.mpc
@@ -0,0 +1,35 @@
+//$Id$
+project : taolib, core, portableserver, pi {
+ sharedname = TAO_EndpointPolicy
+ dynamicflags = TAO_ENDPOINTPOLICY_BUILD_DLL
+
+ Source_Files {
+ EndpointPolicy
+ }
+
+ Header_Files {
+ EndpointPolicy
+ }
+
+ Inline_Files {
+ EndpointPolicy
+ }
+
+ Template_Files {
+ EndpointPolicy
+ }
+
+ Resource_Files {
+ EndpointPolicy
+ }
+
+ PIDL_Files {
+ }
+
+ IDL_Files {
+ }
+
+ Pkgconfig_Files {
+ EndpointPolicy/TAO_EndpointPolicy.pc.in
+ }
+}
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy.cpp b/TAO/tao/EndpointPolicy/EndpointPolicy.cpp
new file mode 100644
index 00000000000..534ac8fbd77
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy.cpp
@@ -0,0 +1,61 @@
+// @(#) $Id$
+
+#include "tao/EndpointPolicy/EndpointPolicy.h"
+#include "tao/EndpointPolicy/EndpointPolicy_ORBInitializer.h"
+#include "tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.h"
+
+#include "tao/ORB_Core.h"
+#include "tao/ORBInitializer_Registry.h"
+
+
+ACE_RCSID (EndpointPolicy, EndpointPolicy, "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+int
+TAO_EndpointPolicy_Initializer::init (void)
+{
+ ACE_Service_Config::process_directive (ace_svc_desc_TAO_Endpoint_Acceptor_Filter_Factory);
+
+ PortableInterceptor::ORBInitializer_ptr temp_orb_initializer =
+ PortableInterceptor::ORBInitializer::_nil ();
+ PortableInterceptor::ORBInitializer_var orb_initializer;
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ /// Register the EndpointPolicy ORBInitializer.
+ ACE_NEW_THROW_EX (temp_orb_initializer,
+ TAO_EndpointPolicy_ORBInitializer,
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO::VMCID,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_TRY_CHECK;
+
+ orb_initializer = temp_orb_initializer;
+
+ PortableInterceptor::register_orb_initializer (orb_initializer.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ if (TAO_debug_level > 0)
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Caught exception:");
+ }
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ ACE_Service_Config::process_directive
+ (ace_svc_desc_TAO_Endpoint_Acceptor_Filter_Factory,1); // force replacement
+
+
+ return 0;
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy.h b/TAO/tao/EndpointPolicy/EndpointPolicy.h
new file mode 100644
index 00000000000..14c9bd7f1a0
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy.h
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file EndpointPolicy.h
+ *
+ * $Id$
+ *
+ * @author Yan Dai <dai_y@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef TAO_ENDPOINTPOLICY_H
+#define TAO_ENDPOINTPOLICY_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/Versioned_Namespace.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+class TAO_EndpointPolicy_Export TAO_EndpointPolicy_Initializer
+{
+public:
+ /// Used to force the initialization of the ORB code.
+ static int init (void);
+};
+
+static int
+TAO_Requires_EndpointPolicy_Initializer = TAO_EndpointPolicy_Initializer::init ();
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+
+#define TAO_ENDPOINTPOLICY_SAFE_INCLUDE
+#include "tao/EndpointPolicy/EndpointPolicyC.h"
+#include "tao/EndpointPolicy/EndpointPolicyA.h"
+#include "tao/IOP_IORC.h"
+#include "tao/AnyTypeCode/Any.h"
+#undef TAO_ENDPOINTPOLICY_SAFE_INCLUDE
+
+#endif /* TAO_ENDPOINTPOLICY_H */
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy.pidl b/TAO/tao/EndpointPolicy/EndpointPolicy.pidl
new file mode 100644
index 00000000000..4b0fcede25f
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy.pidl
@@ -0,0 +1,55 @@
+//
+// $Id$
+//
+// ================================================================
+//
+// = LIBRARY
+// EndpointPolicy
+//
+// = FILENAME
+// EndpointPolicy.pidl
+//
+// = DESCRIPTION
+// This file contains idl definition for Endpoint policy interface and
+// the policy value. This TAO-specific policy is used to filter endpoints
+// in the profiles for use in Object References.
+//
+//
+// This file was used to generate the code in
+// EndpointPolicyC.* The command used to generate code
+// is:
+/*
+ $ACE_ROOT/bin/tao_idl \
+ -Ge 1 -Sc \
+ -Wb,export_macro=TAO_EndpointPolicy_Export \
+ -Wb,export_include="tao/EndpointPolicy/EndpointPolicy_Export.h" \
+ -Wb,pre_include="ace/pre.h" \
+ -Wb,post_include="ace/post.h" \
+ EndpointPolicy.pidl
+*/
+// ================================================================
+
+#ifndef _TAO_ENDPOINT_POLICY_IDL_
+#define _TAO_ENDPOINT_POLICY_IDL_
+
+///FUZZ: disable check_for_include/
+#include "tao/Policy.pidl"
+#include "tao/EndpointPolicy/EndpointPolicyType.pidl"
+
+module EndpointPolicy
+{
+ local interface EndpointValueBase
+ {
+ readonly attribute unsigned long protocol_tag;
+ };
+
+ typedef sequence<EndpointValueBase> EndpointList;
+
+ local interface Policy : CORBA::Policy
+ {
+ readonly attribute EndpointList value;
+ };
+};
+
+
+#endif /* _TAO_ENDPOINT_POLICY_IDL_ */
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicyA.cpp b/TAO/tao/EndpointPolicy/EndpointPolicyA.cpp
new file mode 100644
index 00000000000..94a683d6b1f
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicyA.cpp
@@ -0,0 +1,212 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "EndpointPolicyA.h"
+#include "tao/AnyTypeCode/Null_RefCount_Policy.h"
+#include "tao/AnyTypeCode/TypeCode_Constants.h"
+#include "tao/AnyTypeCode/Alias_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Objref_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Sequence_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/CDR.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/AnyTypeCode/Any_Impl_T.h"
+#include "tao/AnyTypeCode/Any_Dual_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_EndpointPolicy_EndpointValueBase (
+ ::CORBA::tk_local_interface,
+ "IDL:EndpointPolicy/EndpointValueBase:1.0",
+ "EndpointValueBase");
+
+namespace EndpointPolicy
+{
+ ::CORBA::TypeCode_ptr const _tc_EndpointValueBase =
+ &_tao_tc_EndpointPolicy_EndpointValueBase;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/alias_typecode.cpp:50
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:942
+
+
+#ifndef _TAO_TYPECODE_EndpointPolicy_EndpointList_GUARD
+#define _TAO_TYPECODE_EndpointPolicy_EndpointList_GUARD
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+ namespace TypeCode
+ {
+ TAO::TypeCode::Sequence< ::CORBA::TypeCode_ptr const *,
+ TAO::Null_RefCount_Policy>
+ EndpointPolicy_EndpointList_0 (
+ ::CORBA::tk_sequence,
+ &EndpointPolicy::_tc_EndpointValueBase,
+ 0U);
+
+ ::CORBA::TypeCode_ptr const tc_EndpointPolicy_EndpointList_0 =
+ &EndpointPolicy_EndpointList_0;
+
+ }
+}
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+#endif /* _TAO_TYPECODE_EndpointPolicy_EndpointList_GUARD */
+
+static TAO::TypeCode::Alias<char const *,
+ ::CORBA::TypeCode_ptr const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_EndpointPolicy_EndpointList (
+ ::CORBA::tk_alias,
+ "IDL:EndpointPolicy/EndpointList:1.0",
+ "EndpointList",
+ &TAO::TypeCode::tc_EndpointPolicy_EndpointList_0);
+
+namespace EndpointPolicy
+{
+ ::CORBA::TypeCode_ptr const _tc_EndpointList =
+ &_tao_tc_EndpointPolicy_EndpointList;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_EndpointPolicy_Policy (
+ ::CORBA::tk_local_interface,
+ "IDL:EndpointPolicy/Policy:1.0",
+ "Policy");
+
+namespace EndpointPolicy
+{
+ ::CORBA::TypeCode_ptr const _tc_Policy =
+ &_tao_tc_EndpointPolicy_Policy;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_cs.cpp:54
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+ template<>
+ ::CORBA::Boolean
+ Any_Dual_Impl_T<EndpointPolicy::EndpointList>::marshal_value (TAO_OutputCDR &)
+ {
+ return false;
+ }
+
+ template<>
+ ::CORBA::Boolean
+ Any_Dual_Impl_T<EndpointPolicy::EndpointList>::demarshal_value (TAO_InputCDR &)
+ {
+ return false;
+ }
+}
+
+// Copying insertion.
+void operator<<= (
+ ::CORBA::Any &_tao_any,
+ const EndpointPolicy::EndpointList &_tao_elem
+ )
+{
+ if (0 == &_tao_elem) // Trying to de-reference NULL object
+ _tao_any <<= static_cast<EndpointPolicy::EndpointList *>( 0 ); // Use non-copying insertion of a NULL
+ else
+ TAO::Any_Dual_Impl_T<EndpointPolicy::EndpointList>::insert_copy (
+ _tao_any,
+ EndpointPolicy::EndpointList::_tao_any_destructor,
+ TAO::TypeCode::tc_EndpointPolicy_EndpointList_0,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ ::CORBA::Any &_tao_any,
+ EndpointPolicy::EndpointList *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<EndpointPolicy::EndpointList>::insert (
+ _tao_any,
+ EndpointPolicy::EndpointList::_tao_any_destructor,
+ TAO::TypeCode::tc_EndpointPolicy_EndpointList_0,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+::CORBA::Boolean operator>>= (
+ const ::CORBA::Any &_tao_any,
+ EndpointPolicy::EndpointList *&_tao_elem
+ )
+{
+ return _tao_any >>= const_cast<
+ const EndpointPolicy::EndpointList *&> (
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+::CORBA::Boolean operator>>= (
+ const ::CORBA::Any &_tao_any,
+ const EndpointPolicy::EndpointList *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<EndpointPolicy::EndpointList>::extract (
+ _tao_any,
+ EndpointPolicy::EndpointList::_tao_any_destructor,
+ TAO::TypeCode::tc_EndpointPolicy_EndpointList_0,
+ _tao_elem
+ );
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicyA.h b/TAO/tao/EndpointPolicy/EndpointPolicyA.h
new file mode 100644
index 00000000000..f8e99832e13
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicyA.h
@@ -0,0 +1,84 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:796
+
+#ifndef _TAO_IDL_ENDPOINTPOLICYA_H_
+#define _TAO_IDL_ENDPOINTPOLICYA_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+#include "tao/EndpointPolicy/EndpointPolicyC.h"
+#include "tao/AnyTypeCode/PolicyA.h"
+#include "tao/EndpointPolicy/EndpointPolicyTypeA.h"
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:59
+
+namespace EndpointPolicy
+{
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern TAO_EndpointPolicy_Export ::CORBA::TypeCode_ptr const _tc_EndpointValueBase;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern TAO_EndpointPolicy_Export ::CORBA::TypeCode_ptr const _tc_EndpointList;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern TAO_EndpointPolicy_Export ::CORBA::TypeCode_ptr const _tc_Policy;
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:86
+
+} // module EndpointPolicy
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/any_op_ch.cpp:53
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_EndpointPolicy_Export void operator<<= ( ::CORBA::Any &, const EndpointPolicy::EndpointList &); // copying version
+TAO_EndpointPolicy_Export void operator<<= ( ::CORBA::Any &, EndpointPolicy::EndpointList*); // noncopying version
+TAO_EndpointPolicy_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, EndpointPolicy::EndpointList *&); // deprecated
+TAO_EndpointPolicy_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const EndpointPolicy::EndpointList *&);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicyType.pidl b/TAO/tao/EndpointPolicy/EndpointPolicyType.pidl
new file mode 100644
index 00000000000..2a07f2c886a
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicyType.pidl
@@ -0,0 +1,41 @@
+//
+// $Id$
+//
+// ================================================================
+//
+// = LIBRARY
+// EndpointPolicy
+//
+// = FILENAME
+// EndpointPolicyType.pidl
+//
+// = DESCRIPTION
+// This file contains idl definition for EndpointPolicy type.
+//
+//
+// This file was used to generate the code in
+// EndpointPolicyTypeC.* The command used to generate code
+// is:
+//
+// tao_idl
+// -o orig -Ge 1 -GA -Sc \
+// -Wb,export_macro=TAO_EndpointPolicy_Export \
+// -Wb,export_include="tao/EndpointPolicy/TAO_EndpointPolicy_Export.h" \
+// -Wb,pre_include="ace/pre.h" \
+// -Wb,post_include="ace/post.h" \
+// EndpointPolicyType.pidl
+//
+// ================================================================
+
+#ifndef _TAO_ENDPOINT_POLICY_TYPE_IDL_
+#define _TAO_ENDPOINT_POLICY_TYPE_IDL_
+
+#include "tao/Policy.pidl"
+
+module EndpointPolicy
+{
+ const CORBA::PolicyType ENDPOINT_POLICY_TYPE = 0x4f43000c;
+};
+
+
+#endif /* _TAO_ENDPOINT_POLICY_TYPE_IDL_ */
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicyTypeA.cpp b/TAO/tao/EndpointPolicy/EndpointPolicyTypeA.cpp
new file mode 100644
index 00000000000..c4c90d969c0
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicyTypeA.cpp
@@ -0,0 +1,33 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "tao/EndpointPolicy/EndpointPolicyTypeA.h"
+#include "tao/AnyTypeCode/Null_RefCount_Policy.h"
+#include "tao/AnyTypeCode/TypeCode_Constants.h"
+#include "tao/AnyTypeCode/Alias_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/CDR.h"
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicyTypeA.h b/TAO/tao/EndpointPolicy/EndpointPolicyTypeA.h
new file mode 100644
index 00000000000..a7953240ff9
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicyTypeA.h
@@ -0,0 +1,54 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// .\be\be_codegen.cpp:797
+
+#ifndef _TAO_IDL_ENDPOINTPOLICYTYPEA_H_
+#define _TAO_IDL_ENDPOINTPOLICYTYPEA_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+#include "tao/EndpointPolicy/EndpointPolicyTypeC.h"
+#include "tao/AnyTypeCode/PolicyA.h"
+
+
+// TAO_IDL - Generated from
+// c:\ticket\tao-1_4_8_merge\ace_wrappers\tao\tao_idl\be\be_visitor_module/module_ch.cpp:59
+
+namespace EndpointPolicy
+{
+
+// TAO_IDL - Generated from
+// c:\ticket\tao-1_4_8_merge\ace_wrappers\tao\tao_idl\be\be_visitor_module/module_ch.cpp:86
+
+} // module EndpointPolicy
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicyTypeC.cpp b/TAO/tao/EndpointPolicy/EndpointPolicyTypeC.cpp
new file mode 100644
index 00000000000..a3f9a0e196d
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicyTypeC.cpp
@@ -0,0 +1,49 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// .\be\be_codegen.cpp:283
+
+
+#include "tao/EndpointPolicy/EndpointPolicyTypeC.h"
+#include "tao/CDR.h"
+
+// TAO_IDL - Generated from
+// .\be\be_visitor_arg_traits.cpp:70
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Arg traits specializations.
+namespace TAO
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicyTypeC.h b/TAO/tao/EndpointPolicy/EndpointPolicyTypeC.h
new file mode 100644
index 00000000000..59b8f094a5b
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicyTypeC.h
@@ -0,0 +1,90 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// .\be\be_codegen.cpp:155
+
+#ifndef _TAO_IDL_ENDPOINTPOLICYTYPEC_H_
+#define _TAO_IDL_ENDPOINTPOLICYTYPEC_H_
+
+#include /**/ "ace/pre.h"
+
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+#include "tao/ORB.h"
+#include "tao/SystemException.h"
+#include "tao/Environment.h"
+#include "tao/Versioned_Namespace.h"
+
+#include "tao/PolicyC.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_EndpointPolicy_Export
+
+// TAO_IDL - Generated from
+// c:\ticket\tao-1_4_8_merge\ace_wrappers\tao\tao_idl\be\be_visitor_module/module_ch.cpp:49
+
+namespace EndpointPolicy
+{
+
+ // TAO_IDL - Generated from
+ // c:\ticket\tao-1_4_8_merge\ace_wrappers\tao\tao_idl\be\be_visitor_constant/constant_ch.cpp:52
+
+ const CORBA::PolicyType ENDPOINT_POLICY_TYPE = 1329790988U;
+
+// TAO_IDL - Generated from
+// c:\ticket\tao-1_4_8_merge\ace_wrappers\tao\tao_idl\be\be_visitor_module/module_ch.cpp:78
+
+} // module EndpointPolicy
+
+// TAO_IDL - Generated from
+// .\be\be_visitor_traits.cpp:62
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Traits specializations.
+namespace TAO
+{
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
+
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy_Export.h b/TAO/tao/EndpointPolicy/EndpointPolicy_Export.h
new file mode 100644
index 00000000000..d9940484cfe
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy_Export.h
@@ -0,0 +1,58 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s TAO_EndpointPolicy
+// ------------------------------
+#ifndef TAO_ENDPOINTPOLICY_EXPORT_H
+#define TAO_ENDPOINTPOLICY_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (TAO_ENDPOINTPOLICY_HAS_DLL)
+# define TAO_ENDPOINTPOLICY_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && TAO_ENDPOINTPOLICY_HAS_DLL */
+
+#if !defined (TAO_ENDPOINTPOLICY_HAS_DLL)
+# define TAO_ENDPOINTPOLICY_HAS_DLL 1
+#endif /* ! TAO_ENDPOINTPOLICY_HAS_DLL */
+
+#if defined (TAO_ENDPOINTPOLICY_HAS_DLL) && (TAO_ENDPOINTPOLICY_HAS_DLL == 1)
+# if defined (TAO_ENDPOINTPOLICY_BUILD_DLL)
+# define TAO_EndpointPolicy_Export ACE_Proper_Export_Flag
+# define TAO_ENDPOINTPOLICY_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define TAO_ENDPOINTPOLICY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* TAO_ENDPOINTPOLICY_BUILD_DLL */
+# define TAO_EndpointPolicy_Export ACE_Proper_Import_Flag
+# define TAO_ENDPOINTPOLICY_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define TAO_ENDPOINTPOLICY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* TAO_ENDPOINTPOLICY_BUILD_DLL */
+#else /* TAO_ENDPOINTPOLICY_HAS_DLL == 1 */
+# define TAO_EndpointPolicy_Export
+# define TAO_ENDPOINTPOLICY_SINGLETON_DECLARATION(T)
+# define TAO_ENDPOINTPOLICY_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* TAO_ENDPOINTPOLICY_HAS_DLL == 1 */
+
+// Set TAO_ENDPOINTPOLICY_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (TAO_ENDPOINTPOLICY_NTRACE)
+# if (ACE_NTRACE == 1)
+# define TAO_ENDPOINTPOLICY_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define TAO_ENDPOINTPOLICY_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !TAO_ENDPOINTPOLICY_NTRACE */
+
+#if (TAO_ENDPOINTPOLICY_NTRACE == 1)
+# define TAO_ENDPOINTPOLICY_TRACE(X)
+#else /* (TAO_ENDPOINTPOLICY_NTRACE == 1) */
+# if !defined (ACE_HAS_TRACE)
+# define ACE_HAS_TRACE
+# endif /* ACE_HAS_TRACE */
+# define TAO_ENDPOINTPOLICY_TRACE(X) ACE_TRACE_IMPL(X)
+# include "ace/Trace.h"
+#endif /* (TAO_ENDPOINTPOLICY_NTRACE == 1) */
+
+#endif /* TAO_ENDPOINTPOLICY_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp b/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp
new file mode 100644
index 00000000000..11c4a887519
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp
@@ -0,0 +1,94 @@
+// @(#) $Id$
+#include "tao/EndpointPolicy/EndpointPolicy_Factory.h"
+
+ACE_RCSID (EndpointPolicy,
+ EndpointPolicy_Factory,
+ "$Id$")
+
+#include "tao/EndpointPolicy/EndpointPolicy_i.h"
+#include "tao/EndpointPolicy/EndpointPolicyA.h"
+#include "tao/EndpointPolicy/Endpoint_Value_Impl.h"
+
+#include "tao/PolicyC.h"
+#include "tao/ORB_Constants.h"
+#include "tao/ORB_Core.h"
+#include "tao/Acceptor_Registry.h"
+#include "tao/AnyTypeCode/TAOA.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/Thread_Lane_Resources.h"
+#include "tao/Transport_Acceptor.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+TAO_EndpointPolicy_Factory::TAO_EndpointPolicy_Factory (TAO_ORB_Core * orb_core)
+: orb_core_ (orb_core)
+{
+}
+
+
+CORBA::Policy_ptr
+TAO_EndpointPolicy_Factory::create_policy (
+ CORBA::PolicyType type,
+ const CORBA::Any &value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CORBA::PolicyError))
+{
+ if (type == EndpointPolicy::ENDPOINT_POLICY_TYPE)
+ {
+ const EndpointPolicy::EndpointList* endpoint_list;
+ if ((value >>= endpoint_list) == 0)
+ ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_VALUE),
+ CORBA::Policy::_nil ());
+
+ TAO_Acceptor_Registry & registry
+ = this->orb_core_->lane_resources ().acceptor_registry ();
+
+ TAO_Acceptor ** acceptors_begin = registry.begin ();
+ TAO_Acceptor ** acceptors_end = registry.end ();
+ CORBA::ULong num_eps = endpoint_list->length ();
+
+ // The endpoint list in the value is validated to ensure that
+ // at least one endpoint in the list matches an endpoint the
+ // ORB is listening on.
+
+ bool found_one = true;
+ for (CORBA::ULong idx = 0; !found_one && idx < num_eps; ++idx)
+ {
+ CORBA::ULong prot_tag = (*endpoint_list)[idx]->protocol_tag();
+
+ const TAO_Endpoint_Value_Impl *evi =
+ dynamic_cast <const TAO_Endpoint_Value_Impl*> ((*endpoint_list)[idx]);
+
+ for (TAO_Acceptor** acceptor = acceptors_begin;
+ !found_one && acceptor != acceptors_end;
+ ++acceptor)
+ {
+ if ((*acceptor)->tag() == prot_tag)
+ found_one = evi->validate_acceptor(*acceptor);
+ }
+ }
+ // There is no endpoint policy value matches an endpoint the ORB
+ // is listening on. A CORBA::PolicyError exception with a
+ // PolicyErrorCode of UNSUPPORTED_POLICY_VALUE is raised.
+ if (!found_one)
+ ACE_THROW_RETURN (CORBA::PolicyError (CORBA::UNSUPPORTED_POLICY_VALUE),
+ CORBA::Policy::_nil ());
+
+ TAO_EndpointPolicy_i *tmp;
+ ACE_NEW_THROW_EX (tmp,
+ TAO_EndpointPolicy_i (*endpoint_list),
+ CORBA::NO_MEMORY (TAO::VMCID,
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (CORBA::Policy::_nil ());
+
+ return tmp;
+ }
+ else
+ ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE),
+ CORBA::Policy::_nil ());
+}
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.h b/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.h
new file mode 100644
index 00000000000..667c7f2aa9a
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.h
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file EndpointPolicy_Factory.h
+ *
+ * $Id$
+ *
+ * @author Yan Dai <dai_y@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef TAO_ENDPOINTPOLICY_FACTORY_H
+#define TAO_ENDPOINTPOLICY_FACTORY_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PI/PI.h"
+#include "tao/LocalObject.h"
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+// MSVC is being a little too paranoid.
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+// Forward declarations.
+class TAO_ORB_Core;
+
+/// Policy factory for the endpoint policies.
+class TAO_EndpointPolicy_Export TAO_EndpointPolicy_Factory
+ : public virtual PortableInterceptor::PolicyFactory,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+
+ TAO_EndpointPolicy_Factory (TAO_ORB_Core * orb_core);
+
+ virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CORBA::PolicyError));
+private:
+
+ TAO_ORB_Core * orb_core_;
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_ENDPOINTPOLICY_FACTORY_H */
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy_ORBInitializer.cpp b/TAO/tao/EndpointPolicy/EndpointPolicy_ORBInitializer.cpp
new file mode 100644
index 00000000000..d457e78d389
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy_ORBInitializer.cpp
@@ -0,0 +1,86 @@
+// $Id$
+
+#include "tao/EndpointPolicy/EndpointPolicy_ORBInitializer.h"
+
+#include "tao/EndpointPolicy/EndpointPolicyC.h"
+#include "tao/EndpointPolicy/EndpointPolicy_Factory.h"
+#include "tao/ORB_Core.h"
+#include "tao/PI/ORBInitInfo.h"
+
+ACE_RCSID (EndpointPolicy,
+ EndpointPolicy_ORBInitializer,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+void
+TAO_EndpointPolicy_ORBInitializer::pre_init (
+ PortableInterceptor::ORBInitInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+TAO_EndpointPolicy_ORBInitializer::post_init (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->register_policy_factories (info
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+void
+TAO_EndpointPolicy_ORBInitializer::register_policy_factories (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+{
+ TAO_ORBInitInfo * local_info = dynamic_cast <TAO_ORBInitInfo *> (info);
+ TAO_ORB_Core * the_orb_core = local_info->orb_core ();
+
+ // Register the EndpointPolicy policy factories.
+ PortableInterceptor::PolicyFactory_ptr policy_factory_ptr;
+ ACE_NEW_THROW_EX (policy_factory_ptr,
+ TAO_EndpointPolicy_Factory(the_orb_core),
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO::VMCID,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_CHECK;
+
+
+ PortableInterceptor::PolicyFactory_var policy_factory =
+ policy_factory_ptr;
+
+ ACE_TRY
+ {
+ info->register_policy_factory (EndpointPolicy::ENDPOINT_POLICY_TYPE,
+ policy_factory.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCH (CORBA::BAD_INV_ORDER, ex)
+ {
+ if (ex.minor () == (CORBA::OMGVMCID | 16))
+ {
+ // The factory is already there, it happens because the
+ // magic initializer in Messaging.cpp registers with the
+ // ORB multiple times. This is an indication that we
+ // should do no more work in this ORBInitializer.
+ return;
+ }
+ ACE_RE_THROW;
+ }
+ ACE_CATCHANY
+ {
+ // Rethrow any other exceptions...
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy_ORBInitializer.h b/TAO/tao/EndpointPolicy/EndpointPolicy_ORBInitializer.h
new file mode 100644
index 00000000000..daeeff7f2c0
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy_ORBInitializer.h
@@ -0,0 +1,79 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file EndpointPolicy_ORBInitializer.h
+ *
+ * $Id$
+ *
+ * @author Yan Dai <dai_y@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef TAO_ENDPOINTPOLICY_ORB_INITIALIZER_H
+#define TAO_ENDPOINTPOLICY_ORB_INITIALIZER_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PI/PI.h"
+#include "tao/LocalObject.h"
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+// MSVC is being a little too paranoid.
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/// EndpointPolicy ORB initializer.
+class TAO_EndpointPolicy_ORBInitializer
+ : public virtual PortableInterceptor::ORBInitializer,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+
+ /**
+ * @name PortableInterceptor::ORBInitializer Methods
+ *
+ * The following methods are required by the
+ * PortableInterceptor::ORBInitializer interface.
+ */
+ //@{
+
+ virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ //@}
+
+private:
+
+ /// Register Endpoint policy factories.
+ void register_policy_factories (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL);
+
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_ENDPOINTPOLICY_ORB_INITIALIZER_H */
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy_i.cpp b/TAO/tao/EndpointPolicy/EndpointPolicy_i.cpp
new file mode 100644
index 00000000000..41df9fe5175
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy_i.cpp
@@ -0,0 +1,84 @@
+// $Id$
+
+#include "tao/EndpointPolicy/EndpointPolicy_i.h"
+
+#include "tao/SystemException.h"
+
+ACE_RCSID (EndpointPolicy,
+ EndpointPolicy_i,
+ "$Id$")
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_EndpointPolicy_i::TAO_EndpointPolicy_i (const EndpointPolicy::EndpointList &value)
+: value_ (value)
+{
+}
+
+TAO_EndpointPolicy_i::TAO_EndpointPolicy_i (const TAO_EndpointPolicy_i &rhs)
+ : ACE_NESTED_CLASS (CORBA, Object) ()
+ , ACE_NESTED_CLASS (CORBA, Policy) ()
+ , ACE_NESTED_CLASS (EndpointPolicy, Policy) ()
+ , ACE_NESTED_CLASS (CORBA, LocalObject) ()
+ , TAO_Local_RefCounted_Object ()
+ , value_ (rhs.value_)
+{
+}
+
+CORBA::PolicyType
+TAO_EndpointPolicy_i::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return EndpointPolicy::ENDPOINT_POLICY_TYPE;
+}
+
+TAO_EndpointPolicy_i *
+TAO_EndpointPolicy_i::clone (void) const
+{
+ TAO_EndpointPolicy_i *copy = 0;
+ ACE_NEW_RETURN (copy,
+ TAO_EndpointPolicy_i (*this),
+ 0);
+ return copy;
+}
+
+EndpointPolicy::EndpointList *
+TAO_EndpointPolicy_i::value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ EndpointPolicy::EndpointList* list = 0;
+ ACE_NEW_RETURN (list,
+ EndpointPolicy::EndpointList (this->value_),
+ 0);
+
+ return list;
+}
+
+CORBA::Policy_ptr
+TAO_EndpointPolicy_i::copy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_EndpointPolicy_i* servant = 0;
+ ACE_NEW_THROW_EX (servant,
+ TAO_EndpointPolicy_i (*this),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (CORBA::Policy::_nil ());
+
+ return servant;
+}
+
+void
+TAO_EndpointPolicy_i::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+TAO_Cached_Policy_Type
+TAO_EndpointPolicy_i::_tao_cached_type (void) const
+{
+ return TAO_CACHED_POLICY_ENDPOINT;
+}
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy_i.h b/TAO/tao/EndpointPolicy/EndpointPolicy_i.h
new file mode 100644
index 00000000000..c41626ba4d8
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/EndpointPolicy_i.h
@@ -0,0 +1,93 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file EndpointPolicy_i.h
+ *
+ * $Id$
+ *
+ * @author Yan Dai <dai_y@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef TAO_ENDPOINTPOLICY_I_H
+#define TAO_ENDPOINTPOLICY_I_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/TAOC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/EndpointPolicy/EndpointPolicyC.h"
+#include "tao/LocalObject.h"
+
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+/**
+ * @class TAO_EndpointPolicy_i
+ *
+ * @brief Implementation class for TAO-specific Endpoint Policy.
+ *
+ * This policy is used to filter the endpoints in profiles during
+ * the creation of object references.
+ */
+class TAO_EndpointPolicy_Export TAO_EndpointPolicy_i
+ : public virtual EndpointPolicy::Policy,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+ /// Constructor.
+ TAO_EndpointPolicy_i (const EndpointPolicy::EndpointList &value);
+
+ /// Copy constructor.
+ TAO_EndpointPolicy_i (const TAO_EndpointPolicy_i &rhs);
+
+ /// Returns a copy of <this>.
+ virtual TAO_EndpointPolicy_i *clone (void) const;
+
+ // = The EndpointPolicy::Policy methods
+
+ virtual CORBA::PolicyType policy_type (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Policy_ptr copy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Return the cached policy type for this policy.
+ virtual TAO_Cached_Policy_Type _tao_cached_type (void) const;
+
+ virtual EndpointPolicy::EndpointList * value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+private:
+ /// The attribute
+ EndpointPolicy::EndpointList value_;
+};
+
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+#endif /* TAO_ENDPOINTPOLICY_I_H */
diff --git a/TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter.h b/TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter.h
new file mode 100644
index 00000000000..818c3847455
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter.h
@@ -0,0 +1,70 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Endpoint_Acceptor_Filter.h
+ *
+ * $Id$
+ *
+ * Subclass of TAO_Default_Acceptor_Filter that populates mprofile and filters
+ * mprofile with the endpoint policy in TAO_POA_Manager.
+ *
+ * @author Yan Dai <dai_y@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef TAO_ENDPOINT_ACCEPTOR_FILTER_H
+#define TAO_ENDPOINT_ACCEPTOR_FILTER_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/Default_Acceptor_Filter.h"
+#include "tao/EndpointPolicy/EndpointPolicyC.h"
+
+class TAO_POA_Manager;
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+//=============================================================================
+/**
+ * @class TAO_Endpoint_Acceptor_Filter
+ *
+ * @brief Subclass of default Acceptor_Filter.
+ *
+ * Endpoint strategy for populating mprofile: only the endpoints match
+ * the POAManager endpoint policy are included.
+ */
+//=============================================================================
+class TAO_EndpointPolicy_Export TAO_Endpoint_Acceptor_Filter
+ : public TAO_Default_Acceptor_Filter
+{
+public:
+ TAO_Endpoint_Acceptor_Filter (EndpointPolicy::Policy_ptr p);
+
+ /// Populate @a mprofile with endpoints match the POAManager endpoint
+ /// policy.
+ int fill_profile (const TAO::ObjectKey &object_key,
+ TAO_MProfile &mprofile,
+ TAO_Acceptor **acceptors_begin,
+ TAO_Acceptor **acceptors_end,
+ CORBA::Short priority = TAO_INVALID_PRIORITY);
+
+private:
+ // this is the list of endpoints as obtained from the policy value supplied
+ // to the constructor.
+ EndpointPolicy::EndpointList_var endpoints_;
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_ENDPOINT_ACCEPTOR_FILTER_H */
diff --git a/TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.cpp b/TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.cpp
new file mode 100644
index 00000000000..13aeb5d62da
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.cpp
@@ -0,0 +1,56 @@
+// @(#) $Id$
+
+#include "tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.h"
+#include "tao/EndpointPolicy/Endpoint_Acceptor_Filter.h"
+#include "tao/PortableServer/Default_Acceptor_Filter.h"
+#include "tao/PortableServer/POAManager.h"
+#include "tao/EndpointPolicy/EndpointPolicyC.h"
+
+ACE_RCSID(EndpointPolicy,
+ Endpoint_Acceptor_Filter_Factory,
+ "$Id$")
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+TAO_Endpoint_Acceptor_Filter_Factory::~TAO_Endpoint_Acceptor_Filter_Factory(void)
+{
+}
+
+ TAO_Acceptor_Filter*
+ TAO_Endpoint_Acceptor_Filter_Factory::create_object (TAO_POA_Manager& poamanager)
+{
+ CORBA::PolicyList& policies = poamanager.get_policies ();
+ EndpointPolicy::Policy_var policy;
+ TAO_Acceptor_Filter* filter = 0;
+ for (CORBA::ULong i = 0; i < policies.length(); i++)
+ {
+ if (policies[i]->policy_type() == EndpointPolicy::ENDPOINT_POLICY_TYPE)
+ {
+ policy = EndpointPolicy::Policy::_narrow (policies[0]);
+ ACE_NEW_RETURN (filter,
+ TAO_Endpoint_Acceptor_Filter (policy.in()),
+ 0);
+ return filter;
+ }
+ }
+ // no policy was in force, just return a default filter
+ ACE_NEW_RETURN (filter,
+ TAO_Default_Acceptor_Filter (),
+ 0);
+
+ return filter;
+}
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+ACE_FACTORY_DEFINE (TAO_EndpointPolicy, TAO_Endpoint_Acceptor_Filter_Factory)
+ACE_STATIC_SVC_DEFINE (TAO_Endpoint_Acceptor_Filter_Factory,
+ ACE_TEXT ("TAO_Acceptor_Filter_Factory"),
+ ACE_SVC_OBJ_T,
+ &ACE_SVC_NAME (TAO_Endpoint_Acceptor_Filter_Factory),
+ ACE_Service_Type::DELETE_THIS
+ | ACE_Service_Type::DELETE_OBJ,
+ 0)
diff --git a/TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.h b/TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.h
new file mode 100644
index 00000000000..54a61c45c93
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.h
@@ -0,0 +1,56 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Endpoint_Acceptor_Filter_Factory.h
+ *
+ * $Id$
+ *
+ * The factory of the TAO_Endpoint_Acceptor_Filter objects.
+ *
+ * @author Yan Dai <dai_y@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef TAO_ENDPOINT_ACCEPTOR_FILTER_FACTORY_H
+#define TAO_ENDPOINT_ACCEPTOR_FILTER_FACTORY_H
+
+#include /**/ "ace/pre.h"
+#include "ace/Service_Config.h"
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/Acceptor_Filter_Factory.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class TAO_Endpoint_Acceptor_Filter_Factory
+ *
+ * @brief The factory of the TAO_Endpoint_Acceptor_Filter objects.
+ *
+ * Factory service object that creates the TAO_Endpoint_Acceptor_Filter objects.
+ */
+class TAO_EndpointPolicy_Export TAO_Endpoint_Acceptor_Filter_Factory
+ : public TAO_Acceptor_Filter_Factory
+{
+public:
+ virtual ~TAO_Endpoint_Acceptor_Filter_Factory(void);
+
+ /// Create a new TAO_Endpoint_Acceptor_Filter object.
+ TAO_Acceptor_Filter* create_object (TAO_POA_Manager& poamanager);
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+ACE_STATIC_SVC_DECLARE_EXPORT (TAO_EndpointPolicy, TAO_Endpoint_Acceptor_Filter_Factory)
+ACE_FACTORY_DECLARE (TAO_EndpointPolicy, TAO_Endpoint_Acceptor_Filter_Factory)
+
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_ENDPOINT_ACCEPTOR_FILTER_FACTORY_H */
diff --git a/TAO/tao/EndpointPolicy/IIOPEndpointValue.pidl b/TAO/tao/EndpointPolicy/IIOPEndpointValue.pidl
new file mode 100644
index 00000000000..a1b97a957ad
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/IIOPEndpointValue.pidl
@@ -0,0 +1,49 @@
+//
+// $Id$
+//
+// ================================================================
+//
+// = LIBRARY
+// EndpointPolicy
+//
+// = FILENAME
+// EndpointPolicy.pidl
+//
+// = DESCRIPTION
+// This file contains idl definition for Endpoint policy interface and
+// the policy value. This TAO-specific policy is used to filter endpoints
+// in the profiles for use in Object References.
+//
+//
+// This file was used to generate the code in
+// EndpointPolicyC.* The command used to generate code
+// is:
+//
+// tao_idl
+// -o orig -Ge 1 -GA -Sc \
+// -Wb,export_macro=TAO_EndpointPolicy_Export \
+// -Wb,export_include="tao/EndpointPolicy/EndpointPolicy_Export.h" \
+// -Wb,pre_include="ace/pre.h" \
+// -Wb,post_include="ace/post.h" \
+// IIOPEndpointValue.pidl
+//
+// ================================================================
+
+#ifndef _TAO_IIOPENDPOINT_VALUE_IDL_
+#define _TAO_IIOPENDPOINT_VALUE_IDL_
+
+///FUZZ: disable check_for_include/
+#include "tao/EndpointPolicy/EndpointPolicy.pidl"
+
+module EndpointPolicy
+{
+ local interface IIOPEndpointValue : EndpointValueBase
+ {
+ // protocol_tag set to TAG_Internet_IOP;
+
+ attribute string host;
+ attribute unsigned short port;
+ };
+};
+
+#endif /* _TAO_IIOPENDPOINT_VALUE_IDL_ */
diff --git a/TAO/tao/EndpointPolicy/IIOPEndpointValueA.cpp b/TAO/tao/EndpointPolicy/IIOPEndpointValueA.cpp
new file mode 100644
index 00000000000..0c27c6a5ce5
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/IIOPEndpointValueA.cpp
@@ -0,0 +1,53 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#include "tao/EndpointPolicy/IIOPEndpointValueA.h"
+#include "tao/AnyTypeCode/Null_RefCount_Policy.h"
+#include "tao/AnyTypeCode/TypeCode_Constants.h"
+#include "tao/AnyTypeCode/Alias_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Objref_TypeCode_Static.h"
+#include "tao/AnyTypeCode/String_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/CDR.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/AnyTypeCode/Any_Impl_T.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_EndpointPolicy_IIOPEndpointValue (
+ ::CORBA::tk_local_interface,
+ "IDL:EndpointPolicy/IIOPEndpointValue:1.0",
+ "IIOPEndpointValue");
+
+namespace EndpointPolicy
+{
+ ::CORBA::TypeCode_ptr const _tc_IIOPEndpointValue =
+ &_tao_tc_EndpointPolicy_IIOPEndpointValue;
+}
diff --git a/TAO/tao/EndpointPolicy/IIOPEndpointValueA.h b/TAO/tao/EndpointPolicy/IIOPEndpointValueA.h
new file mode 100644
index 00000000000..e0113397f95
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/IIOPEndpointValueA.h
@@ -0,0 +1,59 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:797
+
+#ifndef _TAO_IDL_IIOPENDPOINTVALUEA_H_
+#define _TAO_IDL_IIOPENDPOINTVALUEA_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+#include "tao/EndpointPolicy/IIOPEndpointValueC.h"
+#include "tao/EndpointPolicy/EndpointPolicyA.h"
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:59
+
+namespace EndpointPolicy
+{
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern TAO_EndpointPolicy_Export ::CORBA::TypeCode_ptr const _tc_IIOPEndpointValue;
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:86
+
+} // module EndpointPolicy
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/EndpointPolicy/IIOPEndpointValueC.cpp b/TAO/tao/EndpointPolicy/IIOPEndpointValueC.cpp
new file mode 100644
index 00000000000..9ebff2c4571
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/IIOPEndpointValueC.cpp
@@ -0,0 +1,176 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:283
+
+
+#include "tao/EndpointPolicy/IIOPEndpointValueC.h"
+#include "tao/CDR.h"
+#include "tao/Basic_Arguments.h"
+#include "tao/UB_String_Arguments.h"
+#include "ace/OS_NS_string.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_arg_traits.cpp:70
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Arg traits specializations.
+namespace TAO
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for EndpointPolicy::IIOPEndpointValue.
+
+EndpointPolicy::IIOPEndpointValue_ptr
+TAO::Objref_Traits<EndpointPolicy::IIOPEndpointValue>::duplicate (
+ EndpointPolicy::IIOPEndpointValue_ptr p
+ )
+{
+ return EndpointPolicy::IIOPEndpointValue::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<EndpointPolicy::IIOPEndpointValue>::release (
+ EndpointPolicy::IIOPEndpointValue_ptr p
+ )
+{
+ CORBA::release (p);
+}
+
+EndpointPolicy::IIOPEndpointValue_ptr
+TAO::Objref_Traits<EndpointPolicy::IIOPEndpointValue>::nil (void)
+{
+ return EndpointPolicy::IIOPEndpointValue::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<EndpointPolicy::IIOPEndpointValue>::marshal (
+ const EndpointPolicy::IIOPEndpointValue_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+EndpointPolicy::IIOPEndpointValue::IIOPEndpointValue (void)
+{}
+
+EndpointPolicy::IIOPEndpointValue::~IIOPEndpointValue (void)
+{}
+
+EndpointPolicy::IIOPEndpointValue_ptr
+EndpointPolicy::IIOPEndpointValue::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return IIOPEndpointValue::_duplicate (
+ dynamic_cast<IIOPEndpointValue_ptr> (_tao_objref)
+ );
+}
+
+EndpointPolicy::IIOPEndpointValue_ptr
+EndpointPolicy::IIOPEndpointValue::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return IIOPEndpointValue::_duplicate (
+ dynamic_cast<IIOPEndpointValue_ptr> (_tao_objref)
+ );
+}
+
+EndpointPolicy::IIOPEndpointValue_ptr
+EndpointPolicy::IIOPEndpointValue::_duplicate (IIOPEndpointValue_ptr obj)
+{
+ if (! CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+EndpointPolicy::IIOPEndpointValue::_tao_release (IIOPEndpointValue_ptr obj)
+{
+ CORBA::release (obj);
+}
+
+::CORBA::Boolean
+EndpointPolicy::IIOPEndpointValue::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:EndpointPolicy/EndpointValueBase:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:EndpointPolicy/IIOPEndpointValue:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/LocalObject:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return false;
+ }
+}
+
+const char* EndpointPolicy::IIOPEndpointValue::_interface_repository_id (void) const
+{
+ return "IDL:EndpointPolicy/IIOPEndpointValue:1.0";
+}
+
+::CORBA::Boolean
+EndpointPolicy::IIOPEndpointValue::marshal (TAO_OutputCDR &)
+{
+ return false;
+}
diff --git a/TAO/tao/EndpointPolicy/IIOPEndpointValueC.h b/TAO/tao/EndpointPolicy/IIOPEndpointValueC.h
new file mode 100644
index 00000000000..2ccc247bd8e
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/IIOPEndpointValueC.h
@@ -0,0 +1,230 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:155
+
+#ifndef _TAO_IDL_IIOPENDPOINTVALUEC_H_
+#define _TAO_IDL_IIOPENDPOINTVALUEC_H_
+
+#include /**/ "ace/pre.h"
+
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+#include "tao/ORB.h"
+#include "tao/SystemException.h"
+#include "tao/Environment.h"
+#include "tao/Object.h"
+#include "tao/Objref_VarOut_T.h"
+#include "tao/Versioned_Namespace.h"
+
+#include "tao/EndpointPolicy/EndpointPolicyC.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_EndpointPolicy_Export
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:49
+
+namespace EndpointPolicy
+{
+
+ // TAO_IDL - Generated from
+ // be/be_interface.cpp:646
+
+#if !defined (_ENDPOINTPOLICY_IIOPENDPOINTVALUE__VAR_OUT_CH_)
+#define _ENDPOINTPOLICY_IIOPENDPOINTVALUE__VAR_OUT_CH_
+
+ class IIOPEndpointValue;
+ typedef IIOPEndpointValue *IIOPEndpointValue_ptr;
+
+ typedef
+ TAO_Objref_Var_T<
+ IIOPEndpointValue
+ >
+ IIOPEndpointValue_var;
+
+ typedef
+ TAO_Objref_Out_T<
+ IIOPEndpointValue
+ >
+ IIOPEndpointValue_out;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:54
+
+#if !defined (_ENDPOINTPOLICY_IIOPENDPOINTVALUE_CH_)
+#define _ENDPOINTPOLICY_IIOPENDPOINTVALUE_CH_
+
+ class TAO_EndpointPolicy_Export IIOPEndpointValue
+ : public virtual ::EndpointPolicy::EndpointValueBase
+ {
+ public:
+ typedef IIOPEndpointValue_ptr _ptr_type;
+ typedef IIOPEndpointValue_var _var_type;
+
+ // The static operations.
+ static IIOPEndpointValue_ptr _duplicate (IIOPEndpointValue_ptr obj);
+
+ static void _tao_release (IIOPEndpointValue_ptr obj);
+
+ static IIOPEndpointValue_ptr _narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static IIOPEndpointValue_ptr _unchecked_narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static IIOPEndpointValue_ptr _nil (void)
+ {
+ return static_cast<IIOPEndpointValue_ptr> (0);
+ }
+
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual char * host (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ )) = 0;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void host (
+ const char * host
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ )) = 0;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual ::CORBA::UShort port (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ )) = 0;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void port (
+ ::CORBA::UShort port
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ )) = 0;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:210
+
+ virtual ::CORBA::Boolean _is_a (
+ const char *type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+ virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
+
+ protected:
+ // Abstract or local interface only.
+ IIOPEndpointValue (void);
+
+ virtual ~IIOPEndpointValue (void);
+
+ private:
+ // Private and unimplemented for concrete interfaces.
+ IIOPEndpointValue (const IIOPEndpointValue &);
+
+ void operator= (const IIOPEndpointValue &);
+ };
+
+#endif /* end #if !defined */
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:78
+
+} // module EndpointPolicy
+
+// TAO_IDL - Generated from
+// be/be_visitor_traits.cpp:62
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Traits specializations.
+namespace TAO
+{
+
+#if !defined (_ENDPOINTPOLICY_IIOPENDPOINTVALUE__TRAITS_)
+#define _ENDPOINTPOLICY_IIOPENDPOINTVALUE__TRAITS_
+
+ template<>
+ struct TAO_EndpointPolicy_Export Objref_Traits< ::EndpointPolicy::IIOPEndpointValue>
+ {
+ static ::EndpointPolicy::IIOPEndpointValue_ptr duplicate (
+ ::EndpointPolicy::IIOPEndpointValue_ptr
+ );
+ static void release (
+ ::EndpointPolicy::IIOPEndpointValue_ptr
+ );
+ static ::EndpointPolicy::IIOPEndpointValue_ptr nil (void);
+ static ::CORBA::Boolean marshal (
+ const ::EndpointPolicy::IIOPEndpointValue_ptr p,
+ TAO_OutputCDR & cdr
+ );
+ };
+
+#endif /* end #if !defined */
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
diff --git a/TAO/tao/EndpointPolicy/IIOPEndpointValue_i.cpp b/TAO/tao/EndpointPolicy/IIOPEndpointValue_i.cpp
new file mode 100644
index 00000000000..299f53bcb28
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/IIOPEndpointValue_i.cpp
@@ -0,0 +1,119 @@
+// -*- C++ -*-
+
+#include "tao/EndpointPolicy/IIOPEndpointValue_i.h"
+#include "tao/IIOP_Endpoint.h"
+#include "tao/IIOP_Acceptor.h"
+#include "ace/OS_NS_strings.h"
+
+ACE_RCSID (IIOPEndpointValue,
+ IIOPEndpointValue_i,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+IIOPEndpointValue_i::IIOPEndpointValue_i ()
+ :host_(CORBA::string_dup("")),
+ port_(0)
+{
+}
+
+IIOPEndpointValue_i::IIOPEndpointValue_i (const char *host,
+ CORBA::UShort port)
+ :host_(host),
+ port_(port)
+{
+}
+
+IIOPEndpointValue_i::~IIOPEndpointValue_i (void)
+{
+}
+
+CORBA::Boolean
+IIOPEndpointValue_i::is_equivalent (const TAO_Endpoint * endpoint) const
+{
+ const TAO_IIOP_Endpoint *iep =
+ dynamic_cast<const TAO_IIOP_Endpoint *>(endpoint);
+ if (iep == 0)
+ return 0;
+ return this->is_equivalent_i(iep->port(), iep->host());
+}
+
+CORBA::Boolean
+IIOPEndpointValue_i::is_equivalent_i (CORBA::UShort port,
+ const char *host) const
+{
+ return
+ this->port_ == port && ACE_OS::strcasecmp(host, this->host_.in()) == 0;
+}
+
+CORBA::Boolean
+IIOPEndpointValue_i::validate_acceptor(TAO_Acceptor * acceptor) const
+{
+ TAO_IIOP_Acceptor *iacc = dynamic_cast<TAO_IIOP_Acceptor *>(acceptor);
+ if (iacc == 0)
+ return 0;
+
+#if 0
+ // @@@ mesnier_p@ociweb.com @@@
+ // This test was originally intended to validate that there is an
+ // acceptor available which supports the target endpoint. However,
+ // variablility in the definition of a "hostname" makes this hard
+ // to determine, without adding more overhead, probably to the
+ // IIOP_Acceptor class.
+ // I'm not sure this level of validation is really required, so
+ // for now I'm just leaving it out.
+
+ const ACE_INET_Addr * eps = iacc->endpoints ();
+ CORBA::ULong eps_count = iacc->endpoint_count ();
+ for (CORBA::ULong eps_idx = 0; eps_idx < eps_count; ++ eps_idx)
+ {
+ char hostname[513];
+ eps[eps_idx].get_host_name(hostname,512);
+ if (this->is_equivalent_i(eps[eps_idx].get_port_number(),hostname))
+ return 1;
+ }
+ return 0;
+#else
+ return 1;
+#endif /* 0 */
+}
+
+char *
+IIOPEndpointValue_i::host ( void )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup (this->host_.in());
+}
+
+void
+IIOPEndpointValue_i::host (const char *h)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->host_ = h;
+}
+
+CORBA::UShort
+IIOPEndpointValue_i::port (void)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->port_;
+}
+
+void
+IIOPEndpointValue_i::port (CORBA::UShort p )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->port_ = p;
+}
+
+
+CORBA::ULong
+IIOPEndpointValue_i::protocol_tag (void)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IOP::TAG_INTERNET_IOP;
+}
+
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/EndpointPolicy/IIOPEndpointValue_i.h b/TAO/tao/EndpointPolicy/IIOPEndpointValue_i.h
new file mode 100644
index 00000000000..254841b7954
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/IIOPEndpointValue_i.h
@@ -0,0 +1,115 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file IIOPEndpointValue_i.h
+ *
+ * $Id$
+ *
+ * Implementation of the IIOP-Specific endpoint policy value
+ *
+ * @author Phil Mesnier <mesnier_p@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef _TAO_IIOP_ENDPOINT_VALUE_I_H_
+#define _TAO_IIOP_ENDPOINT_VALUE_I_H_
+
+#include /**/ "ace/pre.h"
+
+#include "tao/EndpointPolicy/EndpointPolicy_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/EndpointPolicy/IIOPEndpointValueC.h"
+#include "tao/EndpointPolicy/Endpoint_Value_Impl.h"
+#include "tao/LocalObject.h"
+
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+// MSVC is being a little too paranoid.
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class IIOPEndpointValue_i
+ *
+ * @brief Implementation of the IIOP-Specific endpoint policy value
+ *
+ * This class is used by applications to create an instance of an
+ * endpoint value for constructing an EndpointPolicy. While the
+ * endpoint policy argument is of type
+ * EndpointPolicy::EndpointValueBase, always use instances of this
+ * type so that the endpoint policy framework is able to call the
+ * equivalency test method.
+ */
+
+class TAO_EndpointPolicy_Export IIOPEndpointValue_i :
+ public virtual EndpointPolicy::IIOPEndpointValue,
+ public virtual TAO_Endpoint_Value_Impl,
+ public virtual CORBA::LocalObject
+{
+public:
+
+ /// Default Constructor. It is acceptable to create an empty value
+ /// and modify the state via the attributes.
+ IIOPEndpointValue_i ();
+
+ /// Value initializing constructor, this is typically for creation
+ /// of one-off values.
+ IIOPEndpointValue_i (const char *host,
+ CORBA::UShort port);
+
+ virtual ~IIOPEndpointValue_i (void);
+
+ /// The is_equivalent test is used by the endpoint policy framework
+ /// for testing if a target endpoint is the same as the endpoint
+ /// defined by this value.
+ CORBA::Boolean is_equivalent (const TAO_Endpoint * endpoint) const;
+
+ /// The validate_acceptor method is used during EndpointPolicy
+ /// creation to ensure there is an acceptor which provides this
+ /// endpoint. Currently the test is limited to only validating that
+ /// the acceptor's tag is consistent, as the interfaces do not yet
+ /// exist for examining the eventual TAO_Endpoint values the
+ /// acceptor would produce.
+ CORBA::Boolean validate_acceptor (TAO_Acceptor *) const;
+
+ /// Host attribute get/set operators.
+ char * host ( void )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void host (const char *)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Port attribute get/set operators.
+ CORBA::UShort port (void)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void port (CORBA::UShort )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Protocol tag get operator, inherited from EndpointValueBase
+ CORBA::ULong protocol_tag (void)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ CORBA::Boolean is_equivalent_i (CORBA::UShort port, const char *host) const;
+
+ CORBA::String_var host_;
+ CORBA::UShort port_;
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+
+#endif /* _TAO_IIOP_ENDPOINT_VALUE_I_H_ */
diff --git a/TAO/tao/EndpointPolicy/TAO_EndpointPolicy.pc.in b/TAO/tao/EndpointPolicy/TAO_EndpointPolicy.pc.in
new file mode 100644
index 00000000000..aae5ef22117
--- /dev/null
+++ b/TAO/tao/EndpointPolicy/TAO_EndpointPolicy.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: TAO_EndpointPolicy
+Description: TAO EndpointPolicy Library
+Requires: TAO_PI, TAO_PortableServer, TAO
+Version: @VERSION@
+Libs: -L${libdir} -lTAO_EndpointPolicy
+Cflags: -I${includedir}
diff --git a/TAO/tao/GIOP_Fragmentation_Strategy.cpp b/TAO/tao/GIOP_Fragmentation_Strategy.cpp
new file mode 100644
index 00000000000..d10348117a6
--- /dev/null
+++ b/TAO/tao/GIOP_Fragmentation_Strategy.cpp
@@ -0,0 +1,9 @@
+// $Id$
+
+
+#include "tao/GIOP_Fragmentation_Strategy.h"
+
+
+TAO_GIOP_Fragmentation_Strategy::~TAO_GIOP_Fragmentation_Strategy (void)
+{
+}
diff --git a/TAO/tao/GIOP_Fragmentation_Strategy.h b/TAO/tao/GIOP_Fragmentation_Strategy.h
new file mode 100644
index 00000000000..6ffc058cb6a
--- /dev/null
+++ b/TAO/tao/GIOP_Fragmentation_Strategy.h
@@ -0,0 +1,85 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file GIOP_Fragmentation_Strategy.h
+ *
+ * $Id$
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef TAO_GIOP_FRAGMENTATION_STRATEGY_H
+#define TAO_GIOP_FRAGMENTATION_STRATEGY_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/TAO_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/orbconf.h"
+#include "ace/CDR_Base.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+class TAO_OutputCDR;
+
+/**
+ * @class TAO_GIOP_Fragmenation_Strategy
+ *
+ * @brief Abstract base class that defines TAO fragmentation strategy
+ * interface.
+ *
+ * GIOP message fragmentation is deferred to a fragmentation strategy
+ */
+class TAO_Export TAO_GIOP_Fragmentation_Strategy
+{
+public:
+
+ /// Constructor
+ TAO_GIOP_Fragmentation_Strategy (void) {}
+
+ /// Destructor.
+ virtual ~TAO_GIOP_Fragmentation_Strategy (void);
+
+ /// Fragment the (potentially partially) encoded GIOP message.
+ /**
+ * Fragmentation the contents of the CDR output stream @a cdr into
+ * smaller chunks of data of size that fits within the configured
+ * ORB fragmentation threshold, and send each fragment "over the
+ * wire."
+ *
+ * @note Fragmentation will only occur if the CDR stream length will
+ * surpass the configured fragmentation threshold when
+ * marshaling the pending set of data.
+ *
+ * @param cdr Output CDR stream.
+ * @param pending_alignment Size of alignment boundary for next data
+ * to be marshaled (e.g. 4 for a
+ * CORBA::ULong).
+ * @param pending_length Size of next data to be marshaled (e.g. 2
+ * for a CORBA::UShort).
+ *
+ * @return Zero on success.
+ */
+ virtual int fragment (TAO_OutputCDR & cdr,
+ ACE_CDR::ULong pending_alignment,
+ ACE_CDR::ULong pending_length) = 0;
+
+private:
+
+ // Disallow copying and assignment.
+ TAO_GIOP_Fragmentation_Strategy (TAO_GIOP_Fragmentation_Strategy const &);
+ void operator= (TAO_GIOP_Fragmentation_Strategy const &);
+
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_GIOP_FRAGMENTATION_STRATEGY_H */
diff --git a/TAO/tao/Generic_Sequence_T.h b/TAO/tao/Generic_Sequence_T.h
new file mode 100644
index 00000000000..a9786082b5d
--- /dev/null
+++ b/TAO/tao/Generic_Sequence_T.h
@@ -0,0 +1,319 @@
+#ifndef guard_generic_sequence_hpp
+#define guard_generic_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement the generic version of CORBA sequences.
+ *
+ * All CORBA sequences are based on this class template. The behavior
+ * of this class is controlled by two sets of traits. First, the
+ * ALLOCATION_TRAITS control how buffers are allocated and
+ * initialized. Since this is where most of the variation between
+ * unbounded and bounded sequences is found, the ALLOCATION_TRAITS can
+ * be thought as the bounded aspect of the sequence.
+ *
+ * Second, the element traits control how are elements copied,
+ * initialized and released. Value-like types, such as integers and
+ * structures, have trivial initialization and release requirements
+ * (their constructor/destructors do the job!) But reference-like
+ * types, such as strings and object references, have more complicated
+ * requirements. This is yet another aspect of the sequences, we can
+ * call it the "element copy semantics" or something.
+ *
+ * Oh, and let us not forget the type that the sequences encapsulates.
+ *
+ * The intent is not for sequences to simply derive or instantiate this
+ * type. Instead, different each sequence type is written using
+ * composition. They instantiate a generic sequence with the correct
+ * traits, and implement the adapt the generic sequence interface to
+ * whatever requirements the spec may impose. For example, replace()
+ * has different number of arguments in bounded vs. unbounded
+ * sequences, and operator[] returns different types depending on the
+ * underlying type of the sequence.
+ *
+ * This class offers the strong exception-safety guarantee, as long as
+ * destructors and release operations do not throw.
+ *
+ * This class is not thread-safe. Thread-safe collections are mostly
+ * useless anyways.
+ *
+ * In general the performance characteristics of the class depends on
+ * the traits. Obviously, they can only be expressed on the number of
+ * element constructor and destructor calls. If the constructor takes
+ * O(K) time that is not the sequence fault!
+ *
+ * All accessors are O(1), single-element modifiers are O(1), multiple
+ * element modifiers are O(n + m) where n is the number of elements
+ * originally in the sequence, and m is the number of elements left in
+ * the sequence afterwards.
+ *
+ * Beware:
+ * - get_buffer(true) may modify multiple elements
+ * - length(CORBA::ULong) may modify multiple elements!
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Range_Checking_T.h"
+
+#include <algorithm>
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T,
+ class ALLOCATION_TRAITS,
+ class ELEMENT_TRAITS>
+class generic_sequence
+{
+public:
+ typedef T value_type;
+ typedef ALLOCATION_TRAITS allocation_traits;
+ typedef ELEMENT_TRAITS element_traits;
+ typedef range_checking<value_type,true> range;
+
+ /// Default constructor.
+ generic_sequence()
+ : maximum_(allocation_traits::default_maximum())
+ , length_(0)
+ , buffer_(allocation_traits::default_buffer_allocation())
+ , release_(true)
+ {
+ }
+
+ /// Constructor with control of ownership.
+ explicit generic_sequence(CORBA::ULong maximum)
+ : maximum_(maximum)
+ , length_(0)
+ , buffer_(allocbuf(maximum_))
+ , release_(true)
+ {
+ }
+
+ generic_sequence(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release)
+ : maximum_(maximum)
+ , length_(length)
+ , buffer_(data)
+ , release_(release)
+ {
+ }
+
+ /// Copy constructor
+ generic_sequence(generic_sequence const & rhs)
+ : maximum_(0)
+ , length_(0)
+ , buffer_(0)
+ , release_(false)
+ {
+ generic_sequence tmp(rhs.maximum_);
+ tmp.length_ = rhs.length_;
+ element_traits::copy_range(
+ rhs.buffer_, rhs.buffer_ + rhs.length_, tmp.buffer_);
+ swap(tmp);
+ }
+
+ /// Assignment operator
+ generic_sequence & operator=(generic_sequence const & rhs)
+ {
+ generic_sequence tmp(rhs);
+ swap(tmp);
+ return * this;
+ }
+
+ /// Destructor.
+ ~generic_sequence()
+ {
+ if (release_)
+ {
+ freebuf(buffer_);
+ }
+ }
+
+ /// Return the maximum length of the sequence
+ inline CORBA::ULong maximum() const
+ {
+ return maximum_;
+ }
+
+ /// Returns the state of the sequence release flag.
+ inline CORBA::Boolean release() const
+ {
+ return release_;
+ }
+
+ /// Returns the length of the sequence
+ inline CORBA::ULong length() const
+ {
+ return length_;
+ }
+
+ /// Set a new length for the sequence
+ void length(CORBA::ULong length)
+ {
+ if (length <= maximum_ || length <= length_)
+ {
+ if (length_ < length)
+ {
+ // TODO This code does not provide the strong-exception
+ // guarantee, but it does provide the weak-exception
+ // guarantee. The problem would appear when
+ // initialize_range() raises an exception after several
+ // elements have been modified. One could argue that
+ // this problem is irrelevant, as the elements already
+ // modified are unreachable to conforming applications.
+ element_traits::initialize_range(
+ buffer_ + length_, buffer_ + length);
+ }
+ length_ = length;
+ return;
+ }
+
+ generic_sequence tmp(length); tmp.length_ = length;
+ element_traits::copy_range(
+ buffer_, buffer_ + length_, tmp.buffer_);
+ element_traits::initialize_range(
+ tmp.buffer_ + length_, tmp.buffer_ + length);
+
+ swap(tmp);
+ }
+
+ /// Get a const element from the sequence
+ value_type const & operator[](CORBA::ULong i) const
+ {
+ range::check(i, length_, maximum_, "operator[]() const");
+ return buffer_[i];
+ }
+
+ /// Get an element from the sequence
+ value_type & operator[](CORBA::ULong i)
+ {
+ range::check(i, length_, maximum_, "operator[]() non-const");
+ return buffer_[i];
+ }
+
+ /**
+ * Allows the buffer underlying a sequence to be replaced. The
+ * parameters to replace() are identical in type, order, and purpose
+ * to those for the <T *data> constructor for the sequence.
+ */
+ void replace(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release)
+ {
+ generic_sequence tmp(maximum, length, data, release);
+ swap(tmp);
+ }
+
+ /**
+ * This function allows read-only access to the sequence buffer.
+ * The sequence returns its buffer, allocating one of one has not
+ * yet been allocated. No direct modification of the returned
+ * buffer by the caller is permitted.
+ */
+ value_type const * get_buffer() const
+ {
+ if (buffer_ == 0)
+ {
+ buffer_ = allocbuf(maximum_);
+ }
+ return buffer_;
+ }
+
+ /// Allows read-write access to the underlying buffer.
+ /**
+ * If @a orphan is FALSE the sequence returns a pointer to its buffer,
+ * allocating one if it has not yet done so. The number of elements in the
+ * buffer can be determined from the sequence length() accessor.
+ *
+ * If the @a orphan argument to get_buffer() is FALSE, the sequence
+ * maintains ownership of the underlying buffer. Elements in the
+ * returned buffer may be directly replaced by the caller. For
+ * sequences of strings, wide strings, and object references, the
+ * caller must use the sequence <release> accessor to determine
+ * whether elements should be freed (using <string_free>,
+ * <wstring_free>, or <CORBA::release> for strings, wide strings,
+ * and object references, respective) before being directly assigned
+ * to.
+ *
+ * If the @a orphan argument to @a get_buffer is TRUE, the sequence
+ * yields ownership of the buffer to the caller. If @a orphan is
+ * TRUE and the sequence does not own its buffer (i.e., its
+ * release_ flag is FALSE), the return value is a null pointer. If
+ * the buffer is taken from the sequence using this form of
+ * get_buffer(), the sequence reverts to the same state it would
+ * have if constructed using its default constructor. The caller
+ * becomes responsible for eventually freeing each element of the
+ * returned buffer (for strings, wide string, and object
+ * references), and then freeing the returned buffer itself using
+ * freebuf().
+ */
+ value_type * get_buffer(CORBA::Boolean orphan)
+ {
+ if (orphan && !release_)
+ {
+ return 0;
+ }
+ if (buffer_ == 0)
+ {
+ buffer_ = allocbuf(maximum_);
+ }
+ if (!orphan)
+ {
+ return buffer_;
+ }
+
+ generic_sequence tmp;
+ swap(tmp);
+ tmp.release_ = false;
+
+ return tmp.buffer_;
+ }
+
+ void swap(generic_sequence & rhs) throw()
+ {
+ std::swap(maximum_, rhs.maximum_);
+ std::swap(length_, rhs.length_);
+ std::swap(buffer_, rhs.buffer_);
+ std::swap(release_, rhs.release_);
+ }
+
+ static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ return allocation_traits::allocbuf(maximum);
+ }
+
+ static void freebuf(value_type * buffer)
+ {
+ allocation_traits::freebuf(buffer);
+ }
+
+private:
+ /// The maximum number of elements the buffer can contain.
+ CORBA::ULong maximum_;
+ /// The current number of elements in the buffer.
+ CORBA::ULong length_;
+ /// The buffer with all the elements
+ mutable value_type * buffer_;
+ /// If true then the sequence should release the buffer when it is
+ /// destroyed.
+ CORBA::Boolean release_;
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_generic_sequence_hpp
diff --git a/TAO/tao/Incoming_Message_Stack.cpp b/TAO/tao/Incoming_Message_Stack.cpp
new file mode 100644
index 00000000000..2d5627fd3d5
--- /dev/null
+++ b/TAO/tao/Incoming_Message_Stack.cpp
@@ -0,0 +1,11 @@
+
+# include "tao/Incoming_Message_Stack.h"
+
+#if !defined (__ACE_INLINE__)
+# include "tao/Incoming_Message_Stack.inl"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID (tao,
+ Incoming_Message_Stack,
+ "$Id$")
+
diff --git a/TAO/tao/Incoming_Message_Stack.inl b/TAO/tao/Incoming_Message_Stack.inl
new file mode 100755
index 00000000000..fd13e03a54e
--- /dev/null
+++ b/TAO/tao/Incoming_Message_Stack.inl
@@ -0,0 +1,63 @@
+// -*- C++ -*-
+//
+//$Id$
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/************************************************************************/
+// Methods for TAO_Incoming_Message_Stack
+/************************************************************************/
+namespace TAO
+{
+ACE_INLINE
+Incoming_Message_Stack::Incoming_Message_Stack()
+: top_(0)
+{
+}
+
+ACE_INLINE
+Incoming_Message_Stack::~Incoming_Message_Stack()
+{
+ // Delete all the nodes left behind
+ TAO_Queued_Data *del = 0;
+
+ while (this->pop (del) != -1)
+ {
+ TAO_Queued_Data::release (del);
+ }
+}
+
+ACE_INLINE void
+Incoming_Message_Stack::push(TAO_Queued_Data *data)
+{
+ data->next_ = this->top_;
+ this->top_ = data;
+}
+
+
+ /* @return 0 for Ok, -1 for error */
+ACE_INLINE int
+Incoming_Message_Stack::pop (TAO_Queued_Data* &data)
+{
+ if (this->top_ == 0)
+ return -1;
+
+ data = this->top_;
+ this->top_ = data->next_;
+
+ return 0;
+}
+
+ACE_INLINE int
+Incoming_Message_Stack::top (TAO_Queued_Data* &data)
+{
+ if (this->top_ == 0)
+ return -1;
+
+ data = this->top_;
+
+ return 0;
+}
+
+} /* namespace TAO */
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/LF_Multi_Event.cpp b/TAO/tao/LF_Multi_Event.cpp
new file mode 100644
index 00000000000..c0252cf1bab
--- /dev/null
+++ b/TAO/tao/LF_Multi_Event.cpp
@@ -0,0 +1,118 @@
+#include "tao/LF_Multi_Event.h"
+#include "tao/Connection_Handler.h"
+#include "ace/OS_Memory.h"
+
+ACE_RCSID(tao,
+ LF_Multi_Event,
+ "$Id$")
+
+TAO_LF_Multi_Event::TAO_LF_Multi_Event (void)
+ : TAO_LF_Event (),
+ events_ (0),
+ winner_ (0)
+{
+}
+
+TAO_LF_Multi_Event::~TAO_LF_Multi_Event (void)
+{
+ while (this->events_ != 0)
+ {
+ Event_Node *n = this->events_->next_;
+ delete this->events_;
+ this->events_ = n;
+ }
+}
+
+int
+TAO_LF_Multi_Event::bind (TAO_LF_Follower *follower)
+{
+ if (this->TAO_LF_Event::bind(follower) == -1)
+ {
+ return -1;
+ }
+
+ for (Event_Node *n = this->events_; n != 0; n = n->next_)
+ if (n->ptr_->bind(follower) == -1)
+ {
+ return -1;
+ }
+ return 0;
+}
+
+int
+TAO_LF_Multi_Event::unbind (void)
+{
+ if (this->TAO_LF_Event::unbind() == -1)
+ {
+ return -1;
+ }
+
+ for (Event_Node *n = this->events_; n != 0; n = n->next_)
+ if (n->ptr_->unbind() == -1)
+ {
+ return -1;
+ }
+ return 0;
+}
+
+
+void
+TAO_LF_Multi_Event::add_event (TAO_Connection_Handler *ev)
+{
+ Event_Node *node = 0;
+ ACE_NEW (node, Event_Node);
+ node->next_ = this->events_;
+ node->ptr_ = ev;
+
+ this->events_ = node;
+}
+
+TAO_Connection_Handler*
+TAO_LF_Multi_Event::winner (void)
+{
+ return this->winner_;
+}
+
+TAO_Transport *
+TAO_LF_Multi_Event::base_transport (void)
+{
+ return (this->events_ == 0) ? 0 : this->events_->ptr_->transport();
+}
+
+int
+TAO_LF_Multi_Event::successful (void) const
+{
+ for (Event_Node *n = this->events_; n != 0; n = n->next_)
+ if (n->ptr_->successful() == 1)
+ {
+ this->winner_ = n->ptr_;
+ return 1;
+ }
+ return 0;
+}
+
+int
+TAO_LF_Multi_Event::error_detected (void) const
+{
+ int result = 1;
+ for (Event_Node *n = this->events_; n != 0; n = n->next_)
+ if (n->ptr_->error_detected () == 0)
+ result = 0;
+ return result;
+}
+
+void
+TAO_LF_Multi_Event::state_changed_i (int )
+{
+ // no-op
+}
+
+int
+TAO_LF_Multi_Event::is_state_final (void)
+{
+ int result = 1;
+ for (Event_Node *n = this->events_; n != 0; n = n->next_)
+ if (!n->ptr_->is_state_final () == 0)
+ result = 0;
+ return result;
+}
diff --git a/TAO/tao/LF_Multi_Event.h b/TAO/tao/LF_Multi_Event.h
new file mode 100644
index 00000000000..11727f8ab16
--- /dev/null
+++ b/TAO/tao/LF_Multi_Event.h
@@ -0,0 +1,97 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file LF_Multi_Event.h
+ *
+ * $Id$
+ *
+ * @author Phil Mesnier <mesnier_p@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef TAO_LF_MULTI_EVENT_H
+#define TAO_LF_MULTI_EVENT_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/LF_Event.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Forward decls
+class TAO_Connection_Handler;
+class TAO_Transport;
+
+/**
+ * @class TAO_LF_Multi_Event
+ *
+ * @brief Use the Leader/Follower loop to wait for one specific event
+ * in the invocation path.
+ *
+ * Used by the parallel connection strategy for waiting on one of many
+ * connections.
+ */
+class TAO_Export TAO_LF_Multi_Event: public TAO_LF_Event
+{
+public:
+ /// Constructor
+ TAO_LF_Multi_Event (void);
+
+ /// Destructor
+ virtual ~TAO_LF_Multi_Event (void);
+
+ /// propogate the follower to all the events in the collection.
+ virtual int bind (TAO_LF_Follower *follower);
+
+ /// Unbind the follower from all the collected events.
+ virtual int unbind (void);
+
+ /// Adds a handler to the collection
+ void add_event (TAO_Connection_Handler *ch);
+
+ /// Returns the connection handler that caused the successful status
+ /// to be returned.
+ TAO_Connection_Handler *winner(void);
+
+ /// Returns the transport associated with the first entry in the collection.
+ TAO_Transport *base_transport(void);
+
+ //@{
+ /// Return 1 if the condition was satisfied successfully, 0 if it
+ /// has not - This iterates over the list of attached events and
+ /// returns 1 if any of them return 1 from successful.
+ int successful (void) const;
+
+ /// Return 1 if an error was detected while waiting for the
+ /// event - This iterates over the list of events and returns
+ /// 1 only if all of them return 1 from error_detected.
+ int error_detected (void) const;
+
+ //@}
+protected:
+
+ /// Validate the state change
+ virtual void state_changed_i (int new_state);
+
+ /// Check whether we have reached the final state..
+ virtual int is_state_final (void);
+
+private:
+
+ struct Event_Node {
+ TAO_Connection_Handler * ptr_;
+ Event_Node *next_;
+ };
+
+ struct Event_Node *events_;
+
+ mutable TAO_Connection_Handler * winner_;
+
+};
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_LF_Multi_EVENT_H */
diff --git a/TAO/tao/Messaging/ExceptionHolder_i.cpp b/TAO/tao/Messaging/ExceptionHolder_i.cpp
new file mode 100644
index 00000000000..47ef03212b3
--- /dev/null
+++ b/TAO/tao/Messaging/ExceptionHolder_i.cpp
@@ -0,0 +1,95 @@
+// -*- C++ -*-
+// $Id$
+
+#include "tao/Messaging/ExceptionHolder_i.h"
+
+ACE_RCSID (Messaging,
+ ExceptionHolder_i,
+ "$Id$")
+
+#include "tao/Messaging/Messaging.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+ ExceptionHolder::ExceptionHolder (void) :
+ data_ (0),
+ count_ (0)
+ {
+ }
+
+ ExceptionHolder::ExceptionHolder (
+ ::CORBA::Boolean is_system_exception,
+ ::CORBA::Boolean byte_order,
+ const ::CORBA::OctetSeq &marshaled_exception,
+ ::TAO::Exception_Data* data,
+ ::CORBA::ULong exceptions_count) :
+ ::OBV_Messaging::ExceptionHolder (is_system_exception, byte_order, marshaled_exception),
+ data_ (data),
+ count_ (exceptions_count)
+ {
+ }
+
+ ExceptionHolder::~ExceptionHolder ()
+ {
+ }
+
+ void ExceptionHolder::raise_exception (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ {
+ TAO_Messaging_Helper::exception_holder_raise (
+ this->data_,
+ this->count_,
+ this->marshaled_exception ().get_buffer (),
+ this->marshaled_exception ().length (),
+ this->byte_order (),
+ this->is_system_exception ()
+ ACE_ENV_ARG_PARAMETER);
+ }
+
+ void ExceptionHolder::raise_exception_with_list (
+ const ::Dynamic::ExceptionList & ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ {
+ // todo convert exceptionlist to something we can really use.
+ this->raise_exception (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+
+ CORBA::ValueBase*
+ ExceptionHolder::_copy_value (void)
+ {
+ TAO::ExceptionHolder* ret_val = 0;
+ ACE_NEW_THROW_EX (ret_val,
+ ExceptionHolder,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ // @todo According to the latest corba spec we should be able to
+ // pass this to the ExceptionHolder constructor but the TAO_IDL
+ // compiler doesn't seem to generate this.
+ ret_val->is_system_exception (this->is_system_exception ());
+ ret_val->byte_order (this->byte_order ());
+ ret_val->marshaled_exception (this->marshaled_exception ());
+
+ return ret_val;
+ }
+
+ CORBA::ValueBase *
+ ExceptionHolderFactory::create_for_unmarshal (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ {
+ TAO::ExceptionHolder* ret_val = 0;
+ ACE_NEW_THROW_EX (ret_val,
+ ExceptionHolder,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return ret_val;
+ }
+
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
diff --git a/TAO/tao/Messaging/ExceptionHolder_i.h b/TAO/tao/Messaging/ExceptionHolder_i.h
new file mode 100644
index 00000000000..c77d78e1e28
--- /dev/null
+++ b/TAO/tao/Messaging/ExceptionHolder_i.h
@@ -0,0 +1,100 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file ExceptionHolder_i.h
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ */
+//=============================================================================
+
+#ifndef TAO_MESSAGING_EXCEPTIONHOLDER_I_H
+#define TAO_MESSAGING_EXCEPTIONHOLDER_I_H
+#include /**/ "ace/pre.h"
+
+#include "tao/Messaging/messaging_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/orbconf.h"
+
+#include "tao/Messaging/ExceptionHolderA.h"
+#include "tao/Messaging/ExceptionHolderC.h"
+#include "tao/Valuetype/ValueFactory.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace Dynamic
+{
+ class ExceptionList;
+}
+
+namespace Messaging
+{
+ class ReplyHandler;
+}
+
+namespace TAO
+{
+ struct Exception_Data;
+
+ class TAO_Messaging_Export ExceptionHolder
+ : public virtual ::OBV_Messaging::ExceptionHolder,
+ public virtual ::CORBA::DefaultValueRefCountBase
+ {
+ public:
+ ExceptionHolder (void);
+
+ ExceptionHolder (
+ ::CORBA::Boolean is_system_exception,
+ ::CORBA::Boolean byte_order,
+ const ::CORBA::OctetSeq &marshaled_exception,
+ ::TAO::Exception_Data* data_,
+ ::CORBA::ULong exceptions_count
+ );
+
+ virtual void raise_exception (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ virtual void raise_exception_with_list (
+ const ::Dynamic::ExceptionList & exc_list ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual CORBA::ValueBase* _copy_value (void);
+
+ protected:
+
+ virtual ~ExceptionHolder (void);
+
+ private:
+
+ TAO::Exception_Data* const data_;
+ CORBA::ULong const count_;
+
+ };
+
+ /**
+ * @class ExceptionHolderFactory
+ *
+ * @brief OBV factory implementation.
+ *
+ * Factory for ExceptionHolder
+ */
+ class TAO_Messaging_Export ExceptionHolderFactory :
+ public virtual CORBA::ValueFactoryBase
+ {
+ public:
+ virtual CORBA::ValueBase * create_for_unmarshal (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ };
+
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+#endif /* TAO_MESSAGING_EXCEPTIONHOLDER_I_H */
+
diff --git a/TAO/tao/Null_Fragmentation_Strategy.cpp b/TAO/tao/Null_Fragmentation_Strategy.cpp
new file mode 100644
index 00000000000..79ddde5c290
--- /dev/null
+++ b/TAO/tao/Null_Fragmentation_Strategy.cpp
@@ -0,0 +1,17 @@
+// $Id$
+
+
+#include "tao/Null_Fragmentation_Strategy.h"
+
+
+TAO_Null_Fragmentation_Strategy::~TAO_Null_Fragmentation_Strategy (void)
+{
+}
+
+int
+TAO_Null_Fragmentation_Strategy::fragment (TAO_OutputCDR &,
+ ACE_CDR::ULong,
+ ACE_CDR::ULong)
+{
+ return 0;
+}
diff --git a/TAO/tao/Null_Fragmentation_Strategy.h b/TAO/tao/Null_Fragmentation_Strategy.h
new file mode 100644
index 00000000000..ace58815d2d
--- /dev/null
+++ b/TAO/tao/Null_Fragmentation_Strategy.h
@@ -0,0 +1,64 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Null_Fragmentation_Strategy.h
+ *
+ * $Id$
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef TAO_NULL_FRAGMENTATION_STRATEGY_H
+#define TAO_NULL_FRAGMENTATION_STRATEGY_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/GIOP_Fragmentation_Strategy.h"
+#include "ace/CDR_Base.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+class TAO_OutputCDR;
+
+
+/**
+ * @class TAO_Null_Fragmenation_Strategy
+ *
+ * @brief Null GIOP message fragmentation strategy.
+ *
+ * No-op GIOP message fragmentation strategy. This strategy performs
+ * no GIOP fragmentation.
+ *
+ * @see TAO_GIOP_Fragmentation_Strategy
+ */
+class TAO_Null_Fragmentation_Strategy
+ : public TAO_GIOP_Fragmentation_Strategy
+{
+public:
+
+ TAO_Null_Fragmentation_Strategy (void) {}
+ virtual ~TAO_Null_Fragmentation_Strategy (void);
+ virtual int fragment (TAO_OutputCDR &,
+ ACE_CDR::ULong,
+ ACE_CDR::ULong);
+
+private:
+
+ // Disallow copying and assignment.
+ TAO_Null_Fragmentation_Strategy (TAO_Null_Fragmentation_Strategy const &);
+ void operator= (TAO_Null_Fragmentation_Strategy const &);
+
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_NULL_FRAGMENTATION_STRATEGY_H */
diff --git a/TAO/tao/Object_Reference_Sequence_Element_T.h b/TAO/tao/Object_Reference_Sequence_Element_T.h
new file mode 100644
index 00000000000..7e9d04a4595
--- /dev/null
+++ b/TAO/tao/Object_Reference_Sequence_Element_T.h
@@ -0,0 +1,127 @@
+#ifndef guard_object_reference_sequence_element_hpp
+#define guard_object_reference_sequence_element_hpp
+/**
+ * @file
+ *
+ * @brief Implement the type returned by operator[] in object_reference
+ * sequences.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename obj_ref_traits>
+class object_reference_sequence_element
+{
+public:
+ typedef typename obj_ref_traits::object_type object_reference_type;
+ typedef object_reference_type * value_type;
+ typedef object_reference_type const * const_value_type;
+ typedef typename obj_ref_traits::object_type_var object_reference_var;
+
+private:
+ inline object_reference_sequence_element<obj_ref_traits> & pseudo_copy_swap(
+ object_reference_var & rhs)
+ {
+ if (release())
+ {
+ obj_ref_traits::release(*element_);
+ }
+ *element_ = rhs._retn();
+ return *this;
+ }
+
+public:
+ object_reference_sequence_element(
+ value_type & e, CORBA::Boolean release)
+ : element_(&e)
+ , release_(release)
+ {
+ }
+
+ object_reference_sequence_element(
+ object_reference_sequence_element const & rhs)
+ : element_(rhs.element_)
+ , release_(rhs.release_)
+ {
+ }
+
+ ~object_reference_sequence_element()
+ {
+ }
+
+ object_reference_sequence_element & operator=(
+ object_reference_var const & rhs)
+ {
+ object_reference_var tmp(rhs);
+ return pseudo_copy_swap(tmp);
+ }
+
+ object_reference_sequence_element & operator=(
+ object_reference_sequence_element const & rhs)
+ {
+ object_reference_var tmp(obj_ref_traits::duplicate(*rhs.element_));
+ return pseudo_copy_swap(tmp);
+ }
+
+ object_reference_sequence_element & operator=(value_type rhs)
+ {
+ object_reference_var tmp(rhs);
+ return pseudo_copy_swap(tmp);
+ }
+
+ inline operator value_type()
+ {
+ return *element_;
+ }
+
+ inline operator const_value_type() const
+ {
+ return *element_;
+ }
+
+ inline value_type operator->()
+ {
+ return *element_;
+ }
+
+ inline value_type operator->() const
+ {
+ return *element_;
+ }
+
+ void swap(object_reference_sequence_element & rhs)
+ {
+ std::swap(element_, rhs.element_);
+ std::swap(release_, rhs.release_);
+ }
+
+ inline CORBA::Boolean release() const
+ {
+ return release_;
+ }
+
+private:
+ // This function is not implemented
+ object_reference_sequence_element();
+
+private:
+ value_type * element_;
+ CORBA::Boolean release_;
+};
+
+} // namespace details
+} // namespace CORBA
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_object_reference_sequence_element_hpp
diff --git a/TAO/tao/Object_Reference_Traits_Base_T.h b/TAO/tao/Object_Reference_Traits_Base_T.h
new file mode 100644
index 00000000000..91eb1d44a18
--- /dev/null
+++ b/TAO/tao/Object_Reference_Traits_Base_T.h
@@ -0,0 +1,56 @@
+#ifndef object_reference_traits_base_hpp
+#define object_reference_traits_base_hpp
+/**
+ * @file
+ *
+ * @brief Base class for the object reference traits.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Objref_VarOut_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename object_t, typename object_t_var>
+struct object_reference_traits_base
+{
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef object_type const * const_value_type;
+ typedef object_t_var object_type_var;
+
+ inline static void release(object_type * object)
+ {
+ TAO::Objref_Traits<object_type>::release(object);
+ }
+
+ inline static object_type * duplicate(object_type * object)
+ {
+ return TAO::Objref_Traits<object_type>::duplicate(object);
+ }
+
+ inline static object_type * nil()
+ {
+ return TAO::Objref_Traits<object_type>::nil();
+ }
+
+ inline static object_type * default_initializer()
+ {
+ return nil();
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // object_reference_traits_base_hpp
diff --git a/TAO/tao/Object_Reference_Traits_T.h b/TAO/tao/Object_Reference_Traits_T.h
new file mode 100644
index 00000000000..004c191fe28
--- /dev/null
+++ b/TAO/tao/Object_Reference_Traits_T.h
@@ -0,0 +1,83 @@
+#ifndef guard_object_reference_traits_hpp
+#define guard_object_reference_traits_hpp
+/**
+ * @file
+ *
+ * @brief Implement the element manipulation traits for object
+ * reference types.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "Object_Reference_Traits_Base_T.h"
+
+#include <algorithm>
+#include <functional>
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<class object_t, class object_t_var, class derived>
+struct object_reference_traits_decorator
+{
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef object_type const * const_value_type;
+ typedef object_t_var object_type_var;
+
+ inline static void zero_range(
+ object_type ** begin, object_type ** end)
+ {
+ std::fill(begin, end, derived::nil());
+ }
+
+ inline static void initialize_range(
+ object_type ** begin, object_type ** end)
+ {
+ std::generate(begin, end, &derived::default_initializer);
+ }
+
+ inline static void copy_range(
+ object_type ** begin, object_type ** end, object_type ** dst)
+ {
+ std::transform(begin, end, dst, &derived::duplicate);
+ }
+
+ inline static void release_range(
+ object_type ** begin, object_type ** end)
+ {
+ std::for_each(begin, end, &derived::release);
+ }
+
+ inline static object_type const * initialize_if_zero(object_type * & element)
+ {
+ if (element == 0)
+ {
+ element = derived::nil();
+ }
+ return element;
+ }
+};
+
+template<typename object_t, typename object_t_var, bool dummy>
+struct object_reference_traits
+ : public object_reference_traits_base<object_t, object_t_var>
+ , public object_reference_traits_decorator<object_t, object_t_var, object_reference_traits<object_t,object_t_var,dummy> >
+{
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef object_type const * const_value_type;
+ typedef object_t_var object_type_var;
+};
+
+} // namespace details
+} // namespace CORBA
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_object_reference_traits_hpp
diff --git a/TAO/tao/On_Demand_Fragmentation_Strategy.cpp b/TAO/tao/On_Demand_Fragmentation_Strategy.cpp
new file mode 100644
index 00000000000..329b6940b80
--- /dev/null
+++ b/TAO/tao/On_Demand_Fragmentation_Strategy.cpp
@@ -0,0 +1,93 @@
+// $Id$
+
+
+#include "tao/On_Demand_Fragmentation_Strategy.h"
+
+#include "tao/Transport.h"
+#include "tao/CDR.h"
+#include "tao/Pluggable_Messaging.h"
+#include "tao/debug.h"
+
+TAO_On_Demand_Fragmentation_Strategy::TAO_On_Demand_Fragmentation_Strategy (
+ TAO_Transport * transport,
+ CORBA::ULong max_message_size)
+ : transport_ (transport)
+ , max_message_size_ (max_message_size)
+{
+}
+
+TAO_On_Demand_Fragmentation_Strategy::~TAO_On_Demand_Fragmentation_Strategy (
+ void)
+{
+}
+
+int
+TAO_On_Demand_Fragmentation_Strategy::fragment (
+ TAO_OutputCDR & cdr,
+ ACE_CDR::ULong pending_alignment,
+ ACE_CDR::ULong pending_length)
+{
+ if (this->transport_ == 0)
+ return 0; // No transport. Can't fragment.
+
+ CORBA::Octet major = 0;
+ CORBA::Octet minor = 0;
+
+ (void) cdr.get_version (major, minor);
+
+ // GIOP fragments are supported in GIOP 1.1 and better, but TAO only
+ // supports them in 1.2 or better since GIOP 1.1 fragments do not
+ // have a fragment message header.
+ if (major == 1 && minor < 2)
+ return -1;
+
+ // Determine increase in CDR stream length if pending data is
+ // marshaled, taking into account the alignment for the given data
+ // type.
+ ACE_CDR::ULong const total_pending_length =
+ ACE_align_binary (cdr.total_length (), pending_alignment)
+ + pending_length;
+
+ // Except for the last fragment, fragmented GIOP messages must
+ // always be aligned on an 8-byte boundary. Padding will be added
+ // if necessary.
+ ACE_CDR::ULong const aligned_length =
+ ACE_align_binary (total_pending_length, ACE_CDR::MAX_ALIGNMENT);
+
+ // this->max_message_size_ must be >= 24 bytes, i.e.:
+ // 12 for GIOP protocol header
+ // + 4 for GIOP fragment header
+ // + 8 for payload (including padding)
+ // since fragments must be aligned on an 8 byte boundary.
+ if (aligned_length > this->max_message_size_)
+ {
+ // Pad the outgoing fragment if necessary.
+ if (cdr.align_write_ptr (ACE_CDR::MAX_ALIGNMENT) != 0)
+ return -1;
+
+ // More fragments to come.
+ cdr.more_fragments (true);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "TAO (%P|%t) - On_Demand_Fragmentation_Strategy::fragment, "
+ "sending fragment of size %d\n",
+ cdr.total_length ()));
+
+ // Send the current CDR stream contents through the transport,
+ // making sure to switch on the the GIOP flags "more fragments"
+ // bit.
+ if (this->transport_->send_message (cdr,
+ cdr.stub (),
+ cdr.message_semantics (),
+ cdr.timeout ()) == -1
+
+ // Now generate a fragment header.
+ || this->transport_->messaging_object ()->generate_fragment_header (
+ cdr,
+ cdr.request_id ()) != 0)
+ return -1;
+ }
+
+ return 0;
+}
diff --git a/TAO/tao/On_Demand_Fragmentation_Strategy.h b/TAO/tao/On_Demand_Fragmentation_Strategy.h
new file mode 100644
index 00000000000..8ac103f5bc7
--- /dev/null
+++ b/TAO/tao/On_Demand_Fragmentation_Strategy.h
@@ -0,0 +1,77 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file On_Demand_Fragmentation_Strategy.h
+ *
+ * $Id$
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef TAO_ONDEMAND_FRAGMENTATION_STRATEGY_H
+#define TAO_ONDEMAND_FRAGMENTATION_STRATEGY_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/GIOP_Fragmentation_Strategy.h"
+#include "ace/CDR_Base.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+class TAO_OutputCDR;
+class TAO_Transport;
+
+
+/**
+ * @class TAO_On_Demand_Fragmenation_Strategy
+ *
+ * @brief On Demand GIOP message fragmentation strategy.
+ *
+ * GIOP message fragmentation strategy that performs fragmentation
+ * when the size of the CDR stream will exceed the user configured
+ * threshold when marshaling the next/pending set of data.
+ *
+ * @see TAO_GIOP_Fragmentation_Strategy
+ */
+class TAO_On_Demand_Fragmentation_Strategy
+ : public TAO_GIOP_Fragmentation_Strategy
+{
+public:
+
+ /// Constructor.
+ TAO_On_Demand_Fragmentation_Strategy (TAO_Transport * transport,
+ ACE_CDR::ULong max_message_size);
+
+ virtual ~TAO_On_Demand_Fragmentation_Strategy (void);
+ virtual int fragment (TAO_OutputCDR & cdr,
+ ACE_CDR::ULong pending_alignment,
+ ACE_CDR::ULong pending_length);
+
+private:
+
+ // Disallow copying and assignment.
+ TAO_On_Demand_Fragmentation_Strategy (TAO_On_Demand_Fragmentation_Strategy const &);
+ void operator= (TAO_On_Demand_Fragmentation_Strategy const &);
+
+private:
+
+ /// Pointer to the underlying transport object.
+ TAO_Transport * const transport_;
+
+ /// Size of GIOP message at which fragmentation will occur.
+ ACE_CDR::ULong const max_message_size_;
+
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_ONDEMAND_FRAGMENTATION_STRATEGY_H */
diff --git a/TAO/tao/PI/ClientRequestDetails.cpp b/TAO/tao/PI/ClientRequestDetails.cpp
new file mode 100644
index 00000000000..969f8adfde2
--- /dev/null
+++ b/TAO/tao/PI/ClientRequestDetails.cpp
@@ -0,0 +1,77 @@
+#include "tao/PI/ClientRequestDetails.h"
+
+#if TAO_HAS_INTERCEPTORS == 1
+
+#if !defined (__ACE_INLINE__)
+#include "tao/PI/ClientRequestDetails.inl"
+#endif /* defined INLINE */
+
+ACE_RCSID (PI,
+ ClientRequestDetails,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+ void
+ ClientRequestDetails::apply_policies (
+ const CORBA::PolicyList &policies
+ ACE_ENV_ARG_DECL)
+ {
+ // Flag to check for duplicate ProcessingModePolicy objects in the list.
+ bool processing_mode_applied = false;
+
+ const CORBA::ULong plen = policies.length ();
+
+ for (CORBA::ULong i = 0; i < plen; ++i)
+ {
+ CORBA::Policy_var policy = CORBA::Policy::_duplicate (policies[i]);
+
+ if (CORBA::is_nil (policy.in ()))
+ {
+ // Just ignore nil policies...
+ continue;
+ }
+
+ // Obtain the PolicyType from the current Policy object.
+ const CORBA::PolicyType policy_type =
+ policy->policy_type (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (policy_type == PortableInterceptor::PROCESSING_MODE_POLICY_TYPE)
+ {
+ if (processing_mode_applied)
+ {
+ // This is the second time we have run into this policy type,
+ // and that is not allowed.
+ ACE_THROW (CORBA::INV_POLICY ());
+ }
+
+ // Flip the flag to true in order to trap any dupes.
+ processing_mode_applied = true;
+
+ // Narrow the Policy to the ProcessingModePolicy interface.
+ PortableInterceptor::ProcessingModePolicy_var pm_policy =
+ PortableInterceptor::ProcessingModePolicy::_narrow (
+ policy.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Save the value of the ProcessingModePolicy in our data member.
+ this->processing_mode_ =
+ pm_policy->processing_mode (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ else
+ {
+ // We don't support the current policy type.
+ ACE_THROW (CORBA::INV_POLICY ());
+ }
+ }
+ }
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
diff --git a/TAO/tao/PI/ProcessingModePolicyC.cpp b/TAO/tao/PI/ProcessingModePolicyC.cpp
new file mode 100644
index 00000000000..6430acfb8a0
--- /dev/null
+++ b/TAO/tao/PI/ProcessingModePolicyC.cpp
@@ -0,0 +1,221 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:292
+
+
+#include "tao/PI/ProcessingModePolicyC.h"
+#include "tao/AnyTypeCode/Null_RefCount_Policy.h"
+#include "tao/AnyTypeCode/TypeCode_Constants.h"
+#include "tao/AnyTypeCode/Alias_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Objref_TypeCode_Static.h"
+#include "tao/CDR.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/AnyTypeCode/Any_Impl_T.h"
+#include "ace/OS_NS_string.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_arg_traits.cpp:70
+
+// Arg traits specializations.
+namespace TAO
+{
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/alias_typecode.cpp:50
+
+static TAO::TypeCode::Alias<char const *,
+ ::CORBA::TypeCode_ptr const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_PortableInterceptor_ProcessingMode (
+ ::CORBA::tk_alias,
+ "IDL:PortableInterceptor/ProcessingMode:1.0",
+ "ProcessingMode",
+ &CORBA::_tc_short);
+
+namespace PortableInterceptor
+{
+ ::CORBA::TypeCode_ptr const _tc_ProcessingMode =
+ &_tao_tc_PortableInterceptor_ProcessingMode;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for PortableInterceptor::ProcessingModePolicy.
+
+PortableInterceptor::ProcessingModePolicy_ptr
+TAO::Objref_Traits<PortableInterceptor::ProcessingModePolicy>::duplicate (
+ PortableInterceptor::ProcessingModePolicy_ptr p
+ )
+{
+ return PortableInterceptor::ProcessingModePolicy::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<PortableInterceptor::ProcessingModePolicy>::release (
+ PortableInterceptor::ProcessingModePolicy_ptr p
+ )
+{
+ ::CORBA::release (p);
+}
+
+PortableInterceptor::ProcessingModePolicy_ptr
+TAO::Objref_Traits<PortableInterceptor::ProcessingModePolicy>::nil (void)
+{
+ return PortableInterceptor::ProcessingModePolicy::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<PortableInterceptor::ProcessingModePolicy>::marshal (
+ const PortableInterceptor::ProcessingModePolicy_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+PortableInterceptor::ProcessingModePolicy::ProcessingModePolicy (void)
+{}
+
+PortableInterceptor::ProcessingModePolicy::~ProcessingModePolicy (void)
+{}
+
+PortableInterceptor::ProcessingModePolicy_ptr
+PortableInterceptor::ProcessingModePolicy::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return ProcessingModePolicy::_duplicate (
+ dynamic_cast<ProcessingModePolicy_ptr> (_tao_objref)
+ );
+}
+
+PortableInterceptor::ProcessingModePolicy_ptr
+PortableInterceptor::ProcessingModePolicy::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return ProcessingModePolicy::_duplicate (
+ dynamic_cast<ProcessingModePolicy_ptr> (_tao_objref)
+ );
+}
+
+PortableInterceptor::ProcessingModePolicy_ptr
+PortableInterceptor::ProcessingModePolicy::_duplicate (ProcessingModePolicy_ptr obj)
+{
+ if (! ::CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+PortableInterceptor::ProcessingModePolicy::_tao_release (ProcessingModePolicy_ptr obj)
+{
+ ::CORBA::release (obj);
+}
+
+::CORBA::Boolean
+PortableInterceptor::ProcessingModePolicy::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Policy:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:PortableInterceptor/ProcessingModePolicy:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/LocalObject:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return false;
+ }
+}
+
+const char* PortableInterceptor::ProcessingModePolicy::_interface_repository_id (void) const
+{
+ return "IDL:PortableInterceptor/ProcessingModePolicy:1.0";
+}
+
+::CORBA::Boolean
+PortableInterceptor::ProcessingModePolicy::marshal (TAO_OutputCDR &)
+{
+ return false;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_PortableInterceptor_ProcessingModePolicy (
+ ::CORBA::tk_local_interface,
+ "IDL:PortableInterceptor/ProcessingModePolicy:1.0",
+ "ProcessingModePolicy");
+
+namespace PortableInterceptor
+{
+ ::CORBA::TypeCode_ptr const _tc_ProcessingModePolicy =
+ &_tao_tc_PortableInterceptor_ProcessingModePolicy;
+}
+
+
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
diff --git a/TAO/tao/PI_Server/ServerRequestDetails.cpp b/TAO/tao/PI_Server/ServerRequestDetails.cpp
new file mode 100644
index 00000000000..c06a9429d1d
--- /dev/null
+++ b/TAO/tao/PI_Server/ServerRequestDetails.cpp
@@ -0,0 +1,77 @@
+#include "tao/PI_Server/ServerRequestDetails.h"
+
+#if TAO_HAS_INTERCEPTORS == 1
+
+#if !defined (__ACE_INLINE__)
+#include "tao/PI_Server/ServerRequestDetails.inl"
+#endif /* defined INLINE */
+
+ACE_RCSID (PI_Server,
+ ServerRequestDetails,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+ void
+ ServerRequestDetails::apply_policies (
+ const CORBA::PolicyList &policies
+ ACE_ENV_ARG_DECL)
+ {
+ // Flag to check for duplicate ProcessingModePolicy objects in the list.
+ bool processing_mode_applied = false;
+
+ const CORBA::ULong plen = policies.length ();
+
+ for (CORBA::ULong i = 0; i < plen; ++i)
+ {
+ CORBA::Policy_var policy = CORBA::Policy::_duplicate (policies[i]);
+
+ if (CORBA::is_nil (policy.in ()))
+ {
+ // Just ignore nil policies...
+ continue;
+ }
+
+ // Obtain the PolicyType from the current Policy object.
+ const CORBA::PolicyType policy_type =
+ policy->policy_type (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (policy_type == PortableInterceptor::PROCESSING_MODE_POLICY_TYPE)
+ {
+ if (processing_mode_applied)
+ {
+ // This is the second time we have run into this policy type,
+ // and that is not allowed.
+ ACE_THROW (CORBA::INV_POLICY ());
+ }
+
+ // Flip the flag to true in order to trap any dupes.
+ processing_mode_applied = true;
+
+ // Narrow the Policy to the ProcessingModePolicy interface.
+ PortableInterceptor::ProcessingModePolicy_var pm_policy =
+ PortableInterceptor::ProcessingModePolicy::_narrow (
+ policy.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Save the value of the ProcessingModePolicy in our data member.
+ this->processing_mode_ =
+ pm_policy->processing_mode (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ else
+ {
+ // We don't support the current policy type.
+ ACE_THROW (CORBA::INV_POLICY ());
+ }
+ }
+ }
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
diff --git a/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp b/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp
new file mode 100644
index 00000000000..033aace13b3
--- /dev/null
+++ b/TAO/tao/PortableServer/Acceptor_Filter_Factory.cpp
@@ -0,0 +1,50 @@
+// @(#) $Id$
+
+#include "tao/PortableServer/Acceptor_Filter_Factory.h"
+#include "tao/PortableServer/Default_Acceptor_Filter.h"
+
+ACE_RCSID(PortableServer,
+ Acceptor_Filter_Factory,
+ "$Id$")
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_Acceptor_Filter_Factory::~TAO_Acceptor_Filter_Factory(void)
+{
+}
+
+TAO_Acceptor_Filter*
+TAO_Acceptor_Filter_Factory::create_object (TAO_POA_Manager& )
+{
+ TAO_Acceptor_Filter *filter;
+
+ ACE_NEW_RETURN (filter,
+ TAO_Default_Acceptor_Filter (),
+ 0);
+
+ return filter;
+}
+
+
+int
+TAO_Acceptor_Filter_Factory::initialize (void)
+{
+ return ACE_Service_Config::process_directive
+ (ace_svc_desc_TAO_Acceptor_Filter_Factory);
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+static int
+TAO_Requires_Acceptor_Filter_Factory =
+TAO_Acceptor_Filter_Factory::initialize ();
+
+ACE_FACTORY_DEFINE (TAO_PortableServer, TAO_Acceptor_Filter_Factory)
+ACE_STATIC_SVC_DEFINE (TAO_Acceptor_Filter_Factory,
+ ACE_TEXT ("TAO_Acceptor_Filter_Factory"),
+ ACE_SVC_OBJ_T,
+ &ACE_SVC_NAME (TAO_Acceptor_Filter_Factory),
+ ACE_Service_Type::DELETE_THIS
+ | ACE_Service_Type::DELETE_OBJ,
+ 0)
diff --git a/TAO/tao/PortableServer/Acceptor_Filter_Factory.h b/TAO/tao/PortableServer/Acceptor_Filter_Factory.h
new file mode 100644
index 00000000000..3d4267ff944
--- /dev/null
+++ b/TAO/tao/PortableServer/Acceptor_Filter_Factory.h
@@ -0,0 +1,68 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Acceptor_Filter_Factory.h
+ *
+ * $Id$
+ *
+ * Provides default acceptor filters for use by the POA.
+ *
+ * @author Yan Dai <dai_y@ociweb.com>
+ * @author Phil Mesnier <mesnier_p@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef TAO_ACCEPTOR_FILTER_FACTORY_H
+#define TAO_ACCEPTOR_FILTER_FACTORY_H
+
+#include /**/ "ace/pre.h"
+
+#include "portableserver_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/Versioned_Namespace.h"
+
+#include "ace/Service_Object.h"
+#include "ace/Service_Config.h"
+
+class TAO_POA_Manager;
+class TAO_Acceptor_Filter;
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+/**
+ * @class TAO_Acceptor_Filter_Factory
+ *
+ * @brief Default class for factories providing the endpoint acceptor
+ * filter objects.
+ *
+ * The TAO_Acceptor_Filter_Factory is a loadable service object. It exists
+ * to allow external application of filters used to control the assembly of
+ * object references and how endpoints are assigned.
+ */
+class TAO_PortableServer_Export TAO_Acceptor_Filter_Factory
+ : public ACE_Service_Object
+{
+public:
+ virtual ~TAO_Acceptor_Filter_Factory(void);
+
+ virtual TAO_Acceptor_Filter* create_object (TAO_POA_Manager& poamanager);
+
+ /// Static initializer ensures the factory is loaded
+ static int initialize (void);
+
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+ACE_STATIC_SVC_DECLARE (TAO_Acceptor_Filter_Factory)
+ACE_FACTORY_DECLARE (TAO_PortableServer, TAO_Acceptor_Filter_Factory)
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_ACCEPTOR_FILTER_FACTORY_H */
diff --git a/TAO/tao/PortableServer/POAManagerFactory.h b/TAO/tao/PortableServer/POAManagerFactory.h
new file mode 100644
index 00000000000..ce8a82d0ac0
--- /dev/null
+++ b/TAO/tao/PortableServer/POAManagerFactory.h
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file POAManagerFactory.h
+ *
+ * $Id$
+ *
+ * POAManagerFactory
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ */
+//=============================================================================
+
+#ifndef TAO_POAMANAGERFACTORY_H
+#define TAO_POAMANAGERFACTORY_H
+#include /**/ "ace/pre.h"
+
+#include "tao/PortableServer/portableserver_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/POAManagerFactoryC.h"
+#include "tao/PortableServer/Object_Adapter.h"
+#include "tao/LocalObject.h"
+#include "ace/Unbounded_Set.h"
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+// MSVC is being a little too paranoid.
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_PortableServer_Export TAO_POAManager_Factory :
+ public ::PortableServer::POAManagerFactory,
+ public TAO_Local_RefCounted_Object
+{
+public:
+ TAO_POAManager_Factory (TAO_Object_Adapter &object_adapter);
+
+ virtual ~TAO_POAManager_Factory (void);
+
+ virtual ::PortableServer::POAManager_ptr create_POAManager (
+ const char * id,
+ const ::CORBA::PolicyList & policies
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ::PortableServer::POAManagerFactory::ManagerAlreadyExists,
+ ::CORBA::PolicyError));
+
+ virtual ::PortableServer::POAManagerFactory::POAManagerSeq * list (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::PortableServer::POAManager_ptr find (
+ const char * id ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ int remove_poamanager (::PortableServer::POAManager_ptr poamanager);
+
+ int register_poamanager (::PortableServer::POAManager_ptr poamanager);
+
+private:
+ TAO_Object_Adapter &object_adapter_;
+
+ typedef ACE_Unbounded_Set < ::PortableServer::POAManager_ptr> POAMANAGERSET;
+
+ POAMANAGERSET poamanager_set_;
+};
+
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+#endif /* TAO_POAMANAGERFACTORY_H */
diff --git a/TAO/tao/PortableServer/POAManagerFactory.pidl b/TAO/tao/PortableServer/POAManagerFactory.pidl
new file mode 100644
index 00000000000..562190c8685
--- /dev/null
+++ b/TAO/tao/PortableServer/POAManagerFactory.pidl
@@ -0,0 +1,47 @@
+/**
+ * @file POAManagerFactory.pidl
+ *
+ * $Id$
+ *
+ * @brief Pre-compiled IDL source for the PortableServer module.
+ *
+ $ACE_ROOT/bin/tao_idl \
+ -Gp -Gd -Ge 1 -Sc -Sci -I$TAO_ROOT \
+ -Wb,export_macro=TAO_PortableServer_Export \
+ -Wb,export_include="tao/PortableServer/portableserver_export.h" \
+ -Wb,pre_include="ace/pre.h" \
+ -Wb,post_include="ace/post.h" \
+ POAManagerFactory.pidl
+ */
+
+#ifndef _PORTABLESERVER_POAMANAGER_FACTORY_IDL
+#define _PORTABLESERVER_POAMANAGER_FACTORY_IDL
+
+#include "tao/Policy.pidl"
+
+#pragma prefix "omg.org"
+
+module PortableServer
+{
+# pragma version PortableServer 2.3
+
+ local interface POAManager;
+
+ local interface POAManagerFactory
+ {
+ typedef sequence<POAManager> POAManagerSeq;
+
+ exception ManagerAlreadyExists {};
+
+ POAManager create_POAManager(
+ in string id,
+ in CORBA::PolicyList policies
+ ) raises(ManagerAlreadyExists, CORBA::PolicyError);
+
+ POAManagerSeq list();
+
+ POAManager find(in string id);
+ };
+};
+
+#endif // _PORTABLESERVER_POAMANAGER_FACTORY_IDL
diff --git a/TAO/tao/PortableServer/POAManagerFactoryC.cpp b/TAO/tao/PortableServer/POAManagerFactoryC.cpp
new file mode 100644
index 00000000000..ae838de1e98
--- /dev/null
+++ b/TAO/tao/PortableServer/POAManagerFactoryC.cpp
@@ -0,0 +1,423 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:282
+
+
+#include "POAManagerFactoryC.h"
+#include "tao/AnyTypeCode/Null_RefCount_Policy.h"
+#include "tao/AnyTypeCode/TypeCode_Constants.h"
+#include "tao/AnyTypeCode/Alias_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Objref_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Sequence_TypeCode_Static.h"
+#include "tao/AnyTypeCode/String_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Struct_TypeCode_Static.h"
+#include "tao/AnyTypeCode/TypeCode_Struct_Field.h"
+#include "tao/CDR.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/AnyTypeCode/Any_Impl_T.h"
+#include "tao/AnyTypeCode/Any_Dual_Impl_T.h"
+#include "ace/OS_NS_string.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_arg_traits.cpp:71
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Arg traits specializations.
+namespace TAO
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for PortableServer::POAManagerFactory.
+
+PortableServer::POAManagerFactory_ptr
+TAO::Objref_Traits<PortableServer::POAManagerFactory>::duplicate (
+ PortableServer::POAManagerFactory_ptr p
+ )
+{
+ return PortableServer::POAManagerFactory::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<PortableServer::POAManagerFactory>::release (
+ PortableServer::POAManagerFactory_ptr p
+ )
+{
+ ::CORBA::release (p);
+}
+
+PortableServer::POAManagerFactory_ptr
+TAO::Objref_Traits<PortableServer::POAManagerFactory>::nil (void)
+{
+ return PortableServer::POAManagerFactory::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<PortableServer::POAManagerFactory>::marshal (
+ const PortableServer::POAManagerFactory_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_sequence/sequence_cs.cpp:65
+
+#if !defined (_PORTABLESERVER_POAMANAGERFACTORY_POAMANAGERSEQ_CS_)
+#define _PORTABLESERVER_POAMANAGERFACTORY_POAMANAGERSEQ_CS_
+
+PortableServer::POAManagerFactory::POAManagerSeq::POAManagerSeq (void)
+{}
+
+PortableServer::POAManagerFactory::POAManagerSeq::POAManagerSeq (
+ ::CORBA::ULong max
+ )
+ : TAO::unbounded_object_reference_sequence<
+ PortableServer::POAManager,
+ PortableServer::POAManager_var
+ >
+ (max)
+{}
+
+PortableServer::POAManagerFactory::POAManagerSeq::POAManagerSeq (
+ ::CORBA::ULong max,
+ ::CORBA::ULong length,
+ PortableServer::POAManager_ptr * buffer,
+ ::CORBA::Boolean release
+ )
+ : TAO::unbounded_object_reference_sequence<
+ PortableServer::POAManager,
+ PortableServer::POAManager_var
+ >
+ (max, length, buffer, release)
+{}
+
+PortableServer::POAManagerFactory::POAManagerSeq::POAManagerSeq (
+ const POAManagerSeq &seq
+ )
+ : TAO::unbounded_object_reference_sequence<
+ PortableServer::POAManager,
+ PortableServer::POAManager_var
+ >
+ (seq)
+{}
+
+PortableServer::POAManagerFactory::POAManagerSeq::~POAManagerSeq (void)
+{}
+
+void PortableServer::POAManagerFactory::POAManagerSeq::_tao_any_destructor (
+ void * _tao_void_pointer
+ )
+{
+ POAManagerSeq * _tao_tmp_pointer =
+ static_cast<POAManagerSeq *> (_tao_void_pointer);
+ delete _tao_tmp_pointer;
+}
+
+#endif /* end #if !defined */
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/alias_typecode.cpp:50
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/typecode_defn.cpp:942
+
+namespace PortableServer
+{
+ extern ::CORBA::TypeCode_ptr const _tc_POAManager;
+}
+
+
+#ifndef _TAO_TYPECODE_PortableServer_POAManagerFactory_POAManagerSeq_GUARD
+#define _TAO_TYPECODE_PortableServer_POAManagerFactory_POAManagerSeq_GUARD
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+ namespace TypeCode
+ {
+ TAO::TypeCode::Sequence< ::CORBA::TypeCode_ptr const *,
+ TAO::Null_RefCount_Policy>
+ PortableServer_POAManagerFactory_POAManagerSeq_0 (
+ ::CORBA::tk_sequence,
+ &PortableServer::_tc_POAManager,
+ 0U);
+
+ ::CORBA::TypeCode_ptr const tc_PortableServer_POAManagerFactory_POAManagerSeq_0 =
+ &PortableServer_POAManagerFactory_POAManagerSeq_0;
+
+ }
+}
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+#endif /* _TAO_TYPECODE_PortableServer_POAManagerFactory_POAManagerSeq_GUARD */
+
+static TAO::TypeCode::Alias<char const *,
+ ::CORBA::TypeCode_ptr const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_PortableServer_POAManagerFactory_POAManagerSeq (
+ ::CORBA::tk_alias,
+ "IDL:omg.org/PortableServer/POAManagerFactory/POAManagerSeq:2.3",
+ "POAManagerSeq",
+ &TAO::TypeCode::tc_PortableServer_POAManagerFactory_POAManagerSeq_0);
+
+::CORBA::TypeCode_ptr const PortableServer::POAManagerFactory::_tc_POAManagerSeq =
+ &_tao_tc_PortableServer_POAManagerFactory_POAManagerSeq;
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/exception_cs.cpp:63
+
+PortableServer::POAManagerFactory::ManagerAlreadyExists::ManagerAlreadyExists (void)
+ : ::CORBA::UserException (
+ "IDL:omg.org/PortableServer/POAManagerFactory/ManagerAlreadyExists:2.3",
+ "ManagerAlreadyExists"
+ )
+{
+}
+
+PortableServer::POAManagerFactory::ManagerAlreadyExists::~ManagerAlreadyExists (void)
+{
+}
+
+PortableServer::POAManagerFactory::ManagerAlreadyExists::ManagerAlreadyExists (const ::PortableServer::POAManagerFactory::ManagerAlreadyExists &_tao_excp)
+ : ::CORBA::UserException (
+ _tao_excp._rep_id (),
+ _tao_excp._name ()
+ )
+{
+}
+
+PortableServer::POAManagerFactory::ManagerAlreadyExists&
+PortableServer::POAManagerFactory::ManagerAlreadyExists::operator= (const ::PortableServer::POAManagerFactory::ManagerAlreadyExists &_tao_excp)
+{
+ this->::CORBA::UserException::operator= (_tao_excp);
+ return *this;
+}
+
+void PortableServer::POAManagerFactory::ManagerAlreadyExists::_tao_any_destructor (void *_tao_void_pointer)
+{
+ ManagerAlreadyExists *_tao_tmp_pointer =
+ static_cast<ManagerAlreadyExists *> (_tao_void_pointer);
+ delete _tao_tmp_pointer;
+}
+
+PortableServer::POAManagerFactory::ManagerAlreadyExists *
+PortableServer::POAManagerFactory::ManagerAlreadyExists::_downcast ( ::CORBA::Exception *_tao_excp)
+{
+ return dynamic_cast<ManagerAlreadyExists *> (_tao_excp);
+}
+
+const PortableServer::POAManagerFactory::ManagerAlreadyExists *
+PortableServer::POAManagerFactory::ManagerAlreadyExists::_downcast ( ::CORBA::Exception const *_tao_excp)
+{
+ return dynamic_cast<const ManagerAlreadyExists *> (_tao_excp);
+}
+
+::CORBA::Exception *PortableServer::POAManagerFactory::ManagerAlreadyExists::_alloc (void)
+{
+ ::CORBA::Exception *retval = 0;
+ ACE_NEW_RETURN (retval, ::PortableServer::POAManagerFactory::ManagerAlreadyExists, 0);
+ return retval;
+}
+
+::CORBA::Exception *
+PortableServer::POAManagerFactory::ManagerAlreadyExists::_tao_duplicate (void) const
+{
+ ::CORBA::Exception *result = 0;
+ ACE_NEW_RETURN (
+ result,
+ ::PortableServer::POAManagerFactory::ManagerAlreadyExists (*this),
+ 0
+ );
+ return result;
+}
+
+void PortableServer::POAManagerFactory::ManagerAlreadyExists::_raise (void) const
+{
+ TAO_RAISE (*this);
+}
+
+void PortableServer::POAManagerFactory::ManagerAlreadyExists::_tao_encode (
+ TAO_OutputCDR &
+ ACE_ENV_ARG_DECL
+ ) const
+{
+ ACE_THROW ( ::CORBA::MARSHAL ());
+}
+
+void PortableServer::POAManagerFactory::ManagerAlreadyExists::_tao_decode (
+ TAO_InputCDR &
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_THROW ( ::CORBA::MARSHAL ());
+}
+
+// TAO extension - the virtual _type method.
+::CORBA::TypeCode_ptr PortableServer::POAManagerFactory::ManagerAlreadyExists::_tao_type (void) const
+{
+ return ::PortableServer::POAManagerFactory::_tc_ManagerAlreadyExists;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/struct_typecode.cpp:89
+
+static TAO::TypeCode::Struct_Field<char const *, ::CORBA::TypeCode_ptr const *> const * const _tao_fields_PortableServer_POAManagerFactory_ManagerAlreadyExists = 0;
+static TAO::TypeCode::Struct<char const *,
+ ::CORBA::TypeCode_ptr const *,
+ TAO::TypeCode::Struct_Field<char const *, ::CORBA::TypeCode_ptr const *> const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_PortableServer_POAManagerFactory_ManagerAlreadyExists (
+ ::CORBA::tk_except,
+ "IDL:omg.org/PortableServer/POAManagerFactory/ManagerAlreadyExists:2.3",
+ "ManagerAlreadyExists",
+ _tao_fields_PortableServer_POAManagerFactory_ManagerAlreadyExists,
+ 0);
+
+::CORBA::TypeCode_ptr const PortableServer::POAManagerFactory::_tc_ManagerAlreadyExists =
+ &_tao_tc_PortableServer_POAManagerFactory_ManagerAlreadyExists;
+
+PortableServer::POAManagerFactory::POAManagerFactory (void)
+{}
+
+PortableServer::POAManagerFactory::~POAManagerFactory (void)
+{}
+
+PortableServer::POAManagerFactory_ptr
+PortableServer::POAManagerFactory::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return POAManagerFactory::_duplicate (
+ dynamic_cast<POAManagerFactory_ptr> (_tao_objref)
+ );
+}
+
+PortableServer::POAManagerFactory_ptr
+PortableServer::POAManagerFactory::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return POAManagerFactory::_duplicate (
+ dynamic_cast<POAManagerFactory_ptr> (_tao_objref)
+ );
+}
+
+PortableServer::POAManagerFactory_ptr
+PortableServer::POAManagerFactory::_duplicate (POAManagerFactory_ptr obj)
+{
+ if (! ::CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+PortableServer::POAManagerFactory::_tao_release (POAManagerFactory_ptr obj)
+{
+ ::CORBA::release (obj);
+}
+
+::CORBA::Boolean
+PortableServer::POAManagerFactory::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/PortableServer/POAManagerFactory:2.3"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/LocalObject:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return false;
+ }
+}
+
+const char* PortableServer::POAManagerFactory::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/PortableServer/POAManagerFactory:2.3";
+}
+
+::CORBA::Boolean
+PortableServer::POAManagerFactory::marshal (TAO_OutputCDR &)
+{
+ return false;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_PortableServer_POAManagerFactory (
+ ::CORBA::tk_local_interface,
+ "IDL:omg.org/PortableServer/POAManagerFactory:2.3",
+ "POAManagerFactory");
+
+namespace PortableServer
+{
+ ::CORBA::TypeCode_ptr const _tc_POAManagerFactory =
+ &_tao_tc_PortableServer_POAManagerFactory;
+}
+
+
+
diff --git a/TAO/tao/PortableServer/POAManagerFactoryC.h b/TAO/tao/PortableServer/POAManagerFactoryC.h
new file mode 100644
index 00000000000..77890521957
--- /dev/null
+++ b/TAO/tao/PortableServer/POAManagerFactoryC.h
@@ -0,0 +1,381 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:154
+
+#ifndef _TAO_IDL_POAMANAGERFACTORYC_H_
+#define _TAO_IDL_POAMANAGERFACTORYC_H_
+
+#include /**/ "ace/pre.h"
+
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/portableserver_export.h"
+#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
+#include "tao/ORB.h"
+#include "tao/SystemException.h"
+#include "tao/Environment.h"
+#include "tao/Object.h"
+#include "tao/AnyTypeCode/PolicyA.h"
+#include "tao/Sequence_T.h"
+#include "tao/Objref_VarOut_T.h"
+#include "tao/Seq_Var_T.h"
+#include "tao/Seq_Out_T.h"
+#include "tao/Versioned_Namespace.h"
+
+#include "tao/PolicyC.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO TAO_PortableServer_Export
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:49
+
+namespace PortableServer
+{
+
+ // TAO_IDL - Generated from
+ // be/be_interface.cpp:640
+
+#if !defined (_PORTABLESERVER_POAMANAGER__VAR_OUT_CH_)
+#define _PORTABLESERVER_POAMANAGER__VAR_OUT_CH_
+
+ class POAManager;
+ typedef POAManager *POAManager_ptr;
+
+ typedef
+ TAO_Objref_Var_T<
+ POAManager
+ >
+ POAManager_var;
+
+ typedef
+ TAO_Objref_Out_T<
+ POAManager
+ >
+ POAManager_out;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_interface.cpp:640
+
+#if !defined (_PORTABLESERVER_POAMANAGERFACTORY__VAR_OUT_CH_)
+#define _PORTABLESERVER_POAMANAGERFACTORY__VAR_OUT_CH_
+
+ class POAManagerFactory;
+ typedef POAManagerFactory *POAManagerFactory_ptr;
+
+ typedef
+ TAO_Objref_Var_T<
+ POAManagerFactory
+ >
+ POAManagerFactory_var;
+
+ typedef
+ TAO_Objref_Out_T<
+ POAManagerFactory
+ >
+ POAManagerFactory_out;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:54
+
+#if !defined (_PORTABLESERVER_POAMANAGERFACTORY_CH_)
+#define _PORTABLESERVER_POAMANAGERFACTORY_CH_
+
+ class TAO_PortableServer_Export POAManagerFactory
+ : public virtual ::CORBA::Object
+ {
+ public:
+ typedef POAManagerFactory_ptr _ptr_type;
+ typedef POAManagerFactory_var _var_type;
+
+ // The static operations.
+ static POAManagerFactory_ptr _duplicate (POAManagerFactory_ptr obj);
+
+ static void _tao_release (POAManagerFactory_ptr obj);
+
+ static POAManagerFactory_ptr _narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static POAManagerFactory_ptr _unchecked_narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static POAManagerFactory_ptr _nil (void)
+ {
+ return static_cast<POAManagerFactory_ptr> (0);
+ }
+
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_sequence/sequence_ch.cpp:101
+
+#if !defined (_PORTABLESERVER_POAMANAGERFACTORY_POAMANAGERSEQ_CH_)
+#define _PORTABLESERVER_POAMANAGERFACTORY_POAMANAGERSEQ_CH_
+
+ class POAManagerSeq;
+
+ typedef
+ TAO_VarSeq_Var_T<
+ POAManagerSeq
+ >
+ POAManagerSeq_var;
+
+ typedef
+ TAO_Seq_Out_T<
+ POAManagerSeq
+ >
+ POAManagerSeq_out;
+
+ class TAO_PortableServer_Export POAManagerSeq
+ : public
+ TAO::unbounded_object_reference_sequence<
+ PortableServer::POAManager,
+ PortableServer::POAManager_var
+ >
+ {
+ public:
+ POAManagerSeq (void);
+ POAManagerSeq ( ::CORBA::ULong max);
+ POAManagerSeq (
+ ::CORBA::ULong max,
+ ::CORBA::ULong length,
+ PortableServer::POAManager_ptr* buffer,
+ ::CORBA::Boolean release = false
+ );
+ POAManagerSeq (const POAManagerSeq &);
+ ~POAManagerSeq (void);
+
+ static void _tao_any_destructor (void *);
+
+ typedef POAManagerSeq_var _var_type;
+ };
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ static ::CORBA::TypeCode_ptr const _tc_POAManagerSeq;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_exception/exception_ch.cpp:53
+
+#if !defined (_PORTABLESERVER_POAMANAGERFACTORY_MANAGERALREADYEXISTS_CH_)
+#define _PORTABLESERVER_POAMANAGERFACTORY_MANAGERALREADYEXISTS_CH_
+
+ class TAO_PortableServer_Export ManagerAlreadyExists : public ::CORBA::UserException
+ {
+ public:
+
+ ManagerAlreadyExists (void);
+ ManagerAlreadyExists (const ManagerAlreadyExists &);
+ ~ManagerAlreadyExists (void);
+
+ ManagerAlreadyExists &operator= (const ManagerAlreadyExists &);
+
+ static void _tao_any_destructor (void *);
+
+ static ManagerAlreadyExists *_downcast ( ::CORBA::Exception *);
+ static const ManagerAlreadyExists *_downcast ( ::CORBA::Exception const *);
+
+ static ::CORBA::Exception *_alloc (void);
+
+ virtual ::CORBA::Exception *_tao_duplicate (void) const;
+
+ virtual void _raise (void) const;
+
+ virtual void _tao_encode (
+ TAO_OutputCDR &cdr
+ ACE_ENV_ARG_DECL
+ ) const;
+
+ virtual void _tao_decode (
+ TAO_InputCDR &cdr
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual ::CORBA::TypeCode_ptr _tao_type (void) const;
+ };
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ static ::CORBA::TypeCode_ptr const _tc_ManagerAlreadyExists;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual ::PortableServer::POAManager_ptr create_POAManager (
+ const char * id,
+ const ::CORBA::PolicyList & policies
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::PortableServer::POAManagerFactory::ManagerAlreadyExists,
+ ::CORBA::PolicyError
+ )) = 0;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual ::PortableServer::POAManagerFactory::POAManagerSeq * list (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ )) = 0;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual ::PortableServer::POAManager_ptr find (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ )) = 0;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:210
+
+ virtual ::CORBA::Boolean _is_a (
+ const char *type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+ virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
+
+ protected:
+ // Abstract or local interface only.
+ POAManagerFactory (void);
+
+ virtual ~POAManagerFactory (void);
+
+ private:
+ // Private and unimplemented for concrete interfaces.
+ POAManagerFactory (const POAManagerFactory &);
+
+ void operator= (const POAManagerFactory &);
+ };
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern TAO_PortableServer_Export ::CORBA::TypeCode_ptr const _tc_POAManagerFactory;
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:78
+
+} // module PortableServer
+
+// TAO_IDL - Generated from
+// be/be_visitor_traits.cpp:63
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Traits specializations.
+namespace TAO
+{
+
+#if !defined (_PORTABLESERVER_POAMANAGER__TRAITS_)
+#define _PORTABLESERVER_POAMANAGER__TRAITS_
+
+ template<>
+ struct TAO_PortableServer_Export Objref_Traits< ::PortableServer::POAManager>
+ {
+ static ::PortableServer::POAManager_ptr duplicate (
+ ::PortableServer::POAManager_ptr
+ );
+ static void release (
+ ::PortableServer::POAManager_ptr
+ );
+ static ::PortableServer::POAManager_ptr nil (void);
+ static ::CORBA::Boolean marshal (
+ const ::PortableServer::POAManager_ptr p,
+ TAO_OutputCDR & cdr
+ );
+ };
+
+#endif /* end #if !defined */
+
+#if !defined (_PORTABLESERVER_POAMANAGERFACTORY__TRAITS_)
+#define _PORTABLESERVER_POAMANAGERFACTORY__TRAITS_
+
+ template<>
+ struct TAO_PortableServer_Export Objref_Traits< ::PortableServer::POAManagerFactory>
+ {
+ static ::PortableServer::POAManagerFactory_ptr duplicate (
+ ::PortableServer::POAManagerFactory_ptr
+ );
+ static void release (
+ ::PortableServer::POAManagerFactory_ptr
+ );
+ static ::PortableServer::POAManagerFactory_ptr nil (void);
+ static ::CORBA::Boolean marshal (
+ const ::PortableServer::POAManagerFactory_ptr p,
+ TAO_OutputCDR & cdr
+ );
+ };
+
+#endif /* end #if !defined */
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1092
+#include /**/ "ace/post.h"
+
+#endif /* ifndef */
+
+
diff --git a/TAO/tao/Range_Checking_T.h b/TAO/tao/Range_Checking_T.h
new file mode 100644
index 00000000000..f5e461ef09f
--- /dev/null
+++ b/TAO/tao/Range_Checking_T.h
@@ -0,0 +1,150 @@
+#ifndef guard_range_checking_hpp
+#define guard_range_checking_hpp
+/**
+ * @file
+ *
+ * @brief Details can be found in the documentation for
+ * TAO::details::generic_sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+/**
+ * @struct range_checking
+ *
+ * @brief Configurable traits to tradeoff safety vs. performance in
+ * the implementation of TAO sequences.
+ *
+ * The CORBA specification grants certain latitude to implementors by
+ * not defining the behavior of sequences under certain conditions.
+ * Probably the most clear example is the operator[] access, where the
+ * application <b>must</b> set the length to a high enough value
+ * before using the operator[].
+ *
+ * Implementors that cater to high-performance applications tend to
+ * exploit this latitude to the extreme, basically reasoning that
+ * correct applications will behave normally, while incorrect
+ * applications will crash, but those crashes will be detected during
+ * development/testing.
+ *
+ * Realizing that this may be a bad tradeoff some implementors offer
+ * compile-time hooks to control the behavior of sequences when used
+ * improperly, some implementors may go as far as using run-time
+ * hooks.
+ *
+ * The implementation of sequences calls the following template class
+ * in points where the application may trigger undefined behavior.
+ * The application developer can use partial (or full) template
+ * specialization to introduce her own code at these critical points.
+ *
+ * Some examples may help, suppose you want to change your application
+ * so for all sequence types the operator[] raises an exception if the
+ * index is out of range. Then you would provide the following
+ * (partial) template specialization:
+ *
+ * <PRE>
+ * template<typename T>
+ * struct range_checking<T,true> {
+ * void check(CORBA::ULong index, CORBA::ULong length) {
+ * if (index < length)
+ * return;
+ * throw std::range_error("CORBA sequence range error");
+ * };
+ * ...
+ * ..
+ * };
+ * </PRE>
+ *
+ * This specialization must be introduced before any sequence code is
+ * seen, therefore, the application would also need to define the
+ * following macro in their $ACE_ROOT/ace/config.h file:
+ *
+ * - #define TAO_USER_DEFINED_SEQUENCE_SAFETY_TRAITS_INCLUDE "<filename here>"
+ *
+ * Likewise, if the application only wanted to check the range for a
+ * special type, say some structure MyStruct, then they would provide
+ * a full specialization. Just for giggles, we will also introduce
+ * run-time controls to this example:
+ *
+ * <PRE>
+ * template<>
+ * struct safety_traits<tao::details::value_traits<MyStruct>,true> {
+ * bool enable_range_checking;
+ * void check_range(CORBA::ULong index, CORBA::ULong length) {
+ * if (!enable_range_checking || index < length)
+ * return;
+ * throw std::range_error("CORBA sequence range error");
+ * };
+ * ...
+ * ..
+ * };
+ * </PRE>
+ *
+ *
+ *
+ * @todo There is no control on a per-sequence type basis, only on a
+ * per-underlying type basis, for example, the following two IDL
+ * sequences would get the same behavior:
+ * // IDL
+ * typedef sequence<MyStruct> MyStructSequence;
+ * typedef sequence<MyStruct> MyStructList;
+ *
+ * @todo There is no way to control behavior on a per-sequence basis,
+ * i.e. to have some sequences of longs checked while others are
+ * not. This is easy to fix, simply:
+ * - make all members of safety_traits non-static
+ * - have each sequence contain their own instance of
+ * safety_traits
+ * - grant users read/write access to the safety_traits of each
+ * sequence
+ * but there are footprint consequences to that approach. Until
+ * there is more demand to justify the cost, I will not
+ * implement such a change.
+ */
+template<typename T, bool dummy>
+struct range_checking
+{
+ typedef T value_type;
+
+ inline static void check(
+ CORBA::ULong /* index */,
+ CORBA::ULong /* length */,
+ CORBA::ULong /* maximum */,
+ char const * /* function_name */)
+ {
+ // Applications and tests can specialize this function to define
+ // their own behavior
+ }
+
+ inline static void check_length(
+ CORBA::ULong & /* new_length */,
+ CORBA::ULong /* maximum */)
+ {
+ /*
+ if (maximum < new_length)
+ new_length = maximum;
+ */
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#if defined(TAO_USER_DEFINED_SEQUENCE_RANGE_CHECKING_INCLUDE)
+# include TAO_USER_DEFINED_SEQUENCE_RANGE_CHECKING_INCLUDE
+#endif // TAO_USER_DEFINED_SEQUENCE_RANGE_CHECKING_INCLUDE
+
+#endif // guard_range_checking_hpp
diff --git a/TAO/tao/Strategies/OC_Endpoint_Selector_Loader.cpp b/TAO/tao/Strategies/OC_Endpoint_Selector_Loader.cpp
new file mode 100644
index 00000000000..314ec97354b
--- /dev/null
+++ b/TAO/tao/Strategies/OC_Endpoint_Selector_Loader.cpp
@@ -0,0 +1,28 @@
+// =================================================================
+/**
+ * @file OC_Endpoint_Selector_Loader.cpp
+ *
+ * $Id$
+ *
+ * @author Phil Mesnier <mesnier_p@ociweb.com>
+ *
+ */
+// =================================================================
+// $Id$
+
+#include "tao/Strategies/OC_Endpoint_Selector_Loader.h"
+#include "tao/Strategies/OC_Endpoint_Selector_Factory.h"
+
+ACE_RCSID (tao,
+ OC_Endpoint_Selector_Loader,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+int
+TAO_OC_Endpoint_Selector_Loader::init (void)
+{
+ return ACE_Service_Config::process_directive (ace_svc_desc_TAO_OC_Endpoint_Selector_Factory);
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/Strategies/OC_Endpoint_Selector_Loader.h b/TAO/tao/Strategies/OC_Endpoint_Selector_Loader.h
new file mode 100644
index 00000000000..a19f9cf5b1e
--- /dev/null
+++ b/TAO/tao/Strategies/OC_Endpoint_Selector_Loader.h
@@ -0,0 +1,63 @@
+// This may look like C, but it's really -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file OC_Endpoint_Selector_Loader.h
+ *
+ * $Id$
+ *
+ * Strategies for selecting profile/endpoint from an IOR for making an
+ * invocation.
+ *
+ * @author Phil Mesnier <mesnier_p@ociweb.com>
+ */
+//=============================================================================
+
+
+#ifndef TAO_OC_ENDPOINT_LOADER_H
+#define TAO_OC_ENDPOINT_LOADER_H
+#include /**/ "ace/pre.h"
+
+#include "tao/Strategies/strategies_export.h"
+#include "tao/Strategies/OC_Endpoint_Selector_Factory.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+// Forward references
+class TAO_Optimized_Connection_Endpoint_Selector;
+
+// ****************************************************************
+
+/**
+ * @class TAO_OC_Endpoint_Selector_Loader
+ *
+ * @brief Static initializer used to ensure the Optimized Connector
+ * Endpoint Selector is available for use in static applications
+ *
+ * This class is not needed when using dynamic linking and the service
+ * configuratior. Statically linked applications need to include this
+ * header to ensure that all the necessary dependencies are met. In
+ * addition, the svc config directive is required for setting any
+ * initialization parameters for the endpoint selector.
+ *
+ */
+class TAO_Strategies_Export TAO_OC_Endpoint_Selector_Loader
+{
+public:
+ static int init(void);
+};
+
+static int
+TAO_Requires_OC_Endpoint_Selector_Loader =
+ TAO_OC_Endpoint_Selector_Loader::init ();
+
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+#endif /* TAO_OC_ENDPOINT_LOADER_H */
diff --git a/TAO/tao/Strategies/Optimized_Connection_Endpoint_Selector.cpp b/TAO/tao/Strategies/Optimized_Connection_Endpoint_Selector.cpp
new file mode 100644
index 00000000000..ad864ad1b9f
--- /dev/null
+++ b/TAO/tao/Strategies/Optimized_Connection_Endpoint_Selector.cpp
@@ -0,0 +1,178 @@
+// -*- C++ -*-
+
+#include "tao/Strategies/Optimized_Connection_Endpoint_Selector.h"
+
+#include "tao/debug.h"
+#include "tao/Stub.h"
+#include "tao/Profile.h"
+#include "tao/Endpoint.h"
+#include "tao/Base_Transport_Property.h"
+#include "tao/ORB_Core.h"
+#include "tao/Transport.h"
+#include "tao/Profile_Transport_Resolver.h"
+
+ACE_RCSID (tao,
+ Invocation_Endpoint_Selectors,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+// ****************************************************************
+
+ACE_Time_Value TAO_Optimized_Connection_Endpoint_Selector::timeout_;
+
+TAO_Optimized_Connection_Endpoint_Selector::TAO_Optimized_Connection_Endpoint_Selector (const ACE_Time_Value &tv)
+{
+ TAO_Optimized_Connection_Endpoint_Selector::timeout_ = tv;
+ if (TAO_debug_level)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO(%P|%t) Optimized Connection Enpoint Selector: ")
+ ACE_TEXT ("Initializing timeout hook tv = %d sec, %d usec\n"),
+ tv.sec(), tv.usec()));
+ }
+ if (tv > ACE_Time_Value::zero)
+ {
+ TAO_ORB_Core::connection_timeout_hook
+ (TAO_Optimized_Connection_Endpoint_Selector::hook);
+ }
+}
+
+TAO_Optimized_Connection_Endpoint_Selector::~TAO_Optimized_Connection_Endpoint_Selector (void)
+{
+}
+
+
+void
+TAO_Optimized_Connection_Endpoint_Selector::hook (TAO_ORB_Core *,
+ TAO_Stub *,
+ bool &has_timeout,
+ ACE_Time_Value &tv)
+{
+ has_timeout =
+ TAO_Optimized_Connection_Endpoint_Selector::
+ timeout_ > ACE_Time_Value::zero;
+ if (has_timeout)
+ tv = TAO_Optimized_Connection_Endpoint_Selector::timeout_;
+}
+
+int
+TAO_Optimized_Connection_Endpoint_Selector::check_profile (TAO_Profile *p,
+ TAO::Profile_Transport_Resolver *r)
+{
+ TAO_Endpoint *effective_endpoint = 0;
+
+ r->profile(p);
+ effective_endpoint = p->endpoint ();
+ size_t endpoint_count = p->endpoint_count();
+ for (size_t i = 0; i < endpoint_count; ++i)
+ {
+ TAO_Base_Transport_Property desc (effective_endpoint);
+ if (r->find_transport(&desc))
+ return 1;
+ // Go to the next endpoint in this profile
+ effective_endpoint = effective_endpoint->next();
+ }
+ return 0;
+}
+
+void
+TAO_Optimized_Connection_Endpoint_Selector::select_endpoint
+ ( TAO::Profile_Transport_Resolver *r,
+ ACE_Time_Value *max_wait_time
+ ACE_ENV_ARG_DECL)
+{
+ TAO_Stub *stub = r->stub();
+ TAO_Profile *p = stub->profile_in_use();
+
+ // first, look for the endpoints for the current profile in use.
+ // if that is available then go for it.
+
+ if (this->check_profile (p, r) != 0)
+ return;
+
+ // next, look for any other profiles. If the stub has any forward profiles,
+ // use those, otherwise look at the base profiles. This separation is
+ // necessary to avoid re-using a corbaloc or other previously forwarded
+ // profile.
+
+ const TAO_MProfile *profiles = stub->forward_profiles();
+ if (profiles != 0)
+ {
+ for (CORBA::ULong count = 0; count < profiles->profile_count(); count++)
+ {
+ p = const_cast<TAO_Profile *>(profiles->get_profile(count));
+ if (this->check_profile (p, r) != 0)
+ {
+ if (stub->profile_in_use() != p)
+ {
+ // thread-safe way to coerse stub to this profile.
+ stub->reset_profiles();
+ while (stub->profile_in_use() != p)
+ if (stub->next_profile_retry() == 0)
+ break;
+ }
+ return;
+ }
+ }
+ }
+ else
+ {
+ do
+ {
+ p = stub->profile_in_use();
+ if (this->check_profile(p, r) != 0)
+ return;
+ }
+ while (stub->next_profile_retry () != 0);
+ }
+
+
+
+ // at this point, we do not have an existing transport, so we must
+ // reset the profile list and try establishing connections via the
+ // connector(s).
+
+ do
+ {
+ r->profile (r->stub ()->profile_in_use ());
+
+ // Check whether we need to do a blocked wait or we have a
+ // non-blocked wait and we support that. If this is not the
+ // case we can't use this profile so try the next.
+ if (r->blocked_connect () ||
+ (!r->blocked_connect () && r->profile ()->supports_non_blocking_oneways ()))
+ {
+ const size_t endpoint_count =
+ r->profile ()->endpoint_count ();
+
+ TAO_Endpoint *ep =
+ r->profile ()->endpoint ();
+
+ for (size_t i = 0; i < endpoint_count; ++i)
+ {
+ TAO_Base_Transport_Property desc (ep);
+ const bool retval =
+ r->try_connect (&desc,
+ max_wait_time
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Check if the connect has completed.
+ if (retval)
+ return;
+
+ // Go to the next endpoint in this profile.
+ ep = ep->next ();
+ }
+ }
+ }
+ while (r->stub ()->next_profile_retry () != 0);
+
+ // If we get here, we completely failed to find an endpoint selector
+ // that we know how to use, so throw an exception.
+ ACE_THROW (CORBA::TRANSIENT (CORBA::OMGVMCID | 2,
+ CORBA::COMPLETED_NO));
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/String_Alloc.cpp b/TAO/tao/String_Alloc.cpp
new file mode 100644
index 00000000000..5844fb9503f
--- /dev/null
+++ b/TAO/tao/String_Alloc.cpp
@@ -0,0 +1,104 @@
+#include "String_Alloc.h"
+
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_wchar.h"
+#include "ace/OS_Memory.h"
+
+// FUZZ: disable check_for_streams_include
+#include "ace/streams.h"
+
+ACE_RCSID (tao,
+ String_Alloc,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+char *
+CORBA::string_dup (const char *str)
+{
+ if (!str)
+ {
+ errno = EINVAL;
+ return 0;
+ }
+
+ const size_t len = ACE_OS::strlen (str);
+
+ // This allocates an extra byte for the '\0';
+ char * copy = CORBA::string_alloc (static_cast<CORBA::ULong> (len));
+
+ // The memcpy() below assumes that the destination is a valid buffer.
+ if (copy == 0)
+ {
+ return 0;
+ }
+
+ ACE_OS::memcpy (copy,
+ str,
+ len + 1);
+ return copy;
+}
+
+char *
+CORBA::string_alloc (CORBA::ULong len)
+{
+ // Allocate 1 + strlen to accomodate the null terminating character.
+
+ char *s = 0;
+ ACE_NEW_RETURN (s,
+ char[size_t (len + 1)],
+ 0);
+
+ s[0]= '\0';
+
+ return s;
+}
+
+void
+CORBA::string_free (char *str)
+{
+ delete [] str;
+}
+
+// ****************************************************************
+
+CORBA::WChar*
+CORBA::wstring_dup (const WChar *const str)
+{
+ if (!str)
+ {
+ errno = EINVAL;
+ return 0;
+ }
+
+ CORBA::WChar* retval =
+ CORBA::wstring_alloc (static_cast <CORBA::ULong> (ACE_OS::strlen (str)));
+
+ // The wscpy() below assumes that the destination is a valid buffer.
+ if (retval == 0)
+ {
+ return 0;
+ }
+
+ return ACE_OS::wscpy (retval,
+ str);
+}
+
+CORBA::WChar*
+CORBA::wstring_alloc (CORBA::ULong len)
+{
+ CORBA::WChar *s = 0;
+ ACE_NEW_RETURN (s,
+ CORBA::WChar [(size_t) (len + 1)],
+ 0);
+
+ return s;
+}
+
+void
+CORBA::wstring_free (CORBA::WChar *const str)
+{
+ delete [] str;
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/String_Alloc.h b/TAO/tao/String_Alloc.h
new file mode 100644
index 00000000000..6537f97b44b
--- /dev/null
+++ b/TAO/tao/String_Alloc.h
@@ -0,0 +1,57 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file String_Alloc.h
+ *
+ * $Id$
+ *
+ * Header file for the CORBA string types.
+ *
+ * @author DOC Group at Wash U, UCI, and Vanderbilt U.
+ */
+//=============================================================================
+
+#ifndef TAO_STRING_ALLOC_H
+#define TAO_STRING_ALLOC_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/TAO_Export.h"
+#include "tao/Basic_Types.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace CORBA
+{
+ /**
+ * @name CORBA String Memory Management
+ *
+ * CORBA string memory management functions.
+ */
+ //@{
+ TAO_Export char * string_alloc (ULong len);
+ TAO_Export char * string_dup (const char *);
+ TAO_Export void string_free (char *);
+ //@}
+
+ /**
+ * @name CORBA Wide String Memory Management
+ *
+ * CORBA wide string memory management functions.
+ */
+ //@{
+ TAO_Export WChar * wstring_alloc (ULong len);
+ TAO_Export WChar * wstring_dup (const WChar * const);
+ TAO_Export void wstring_free (WChar * const);
+ //@}
+} // End CORBA namespace.
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_STRING_ALLOC_H */
diff --git a/TAO/tao/String_Manager_T.h b/TAO/tao/String_Manager_T.h
new file mode 100644
index 00000000000..66561317f5b
--- /dev/null
+++ b/TAO/tao/String_Manager_T.h
@@ -0,0 +1,138 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file String_Manager_T.h
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ */
+//=============================================================================
+
+#ifndef TAO_STRING_MANAGER_T
+#define TAO_STRING_MANAGER_T
+
+#include /**/ "ace/pre.h"
+
+#include "tao/TAO_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/Basic_Types.h"
+#include "tao/String_Traits_Base_T.h"
+
+#include <algorithm>
+
+/****************************************************************/
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+template <typename charT>
+class String_Manager_T
+{
+public:
+ typedef charT character_type;
+ typedef TAO::details::string_traits_base <charT> s_traits;
+
+ /// Default CTOR will initialize the underlying ptr_ to empty string.
+ inline String_Manager_T (void) : ptr_ (s_traits::default_initializer())
+ {
+ }
+
+ /// Copy constructor
+ inline String_Manager_T (const String_Manager_T<charT> &rhs) : ptr_ (s_traits::duplicate (rhs.ptr_))
+ {
+ }
+
+ /// Constructor from const char* makes a copy.
+ inline String_Manager_T (const character_type *s) : ptr_ (s_traits::duplicate (s))
+ {
+ }
+
+ /// Destructor
+ inline ~String_Manager_T (void) {
+ s_traits::release (this->ptr_);
+ }
+
+ /// Assignment from another managed type
+ inline String_Manager_T &operator= (const String_Manager_T<charT> &rhs) {
+ // Strongly exception safe by means of copy and non-throwing swap
+ // technique.
+ String_Manager_T <character_type> tmp (rhs);
+ std::swap (this->ptr_, tmp.ptr_);
+ return *this;
+ }
+
+ /// Assignment from var type will make a copy
+ inline String_Manager_T &operator= (const typename s_traits::string_var& value) {
+ // Strongly exception safe by means of copy and non-throwing swap
+ // technique.
+ String_Manager_T <character_type> tmp (value.in ());
+ std::swap (this->ptr_, tmp.ptr_);
+ return *this;
+ }
+
+ /// Assignment from a constant * will make a copy
+ inline String_Manager_T &operator= (const character_type *p) {
+ // Strongly exception safe by means of copy and non-throwing swap
+ // technique.
+ String_Manager_T <character_type> tmp (p);
+ std::swap (this->ptr_, tmp.ptr_);
+ return *this;
+ }
+
+ /// Assignment from char* will not make a copy. The String_Manager_T will now
+ /// own the string.
+ inline String_Manager_T &operator= (character_type *p) {
+ s_traits::release (this->ptr_);
+ this->ptr_ = p;
+ return *this;
+ }
+
+ /// Cast (read-only)
+ inline operator const character_type*() const {
+ return this->ptr_;
+ }
+
+ /// For in parameter.
+ inline const character_type *in (void) const {
+ return this->ptr_;
+ }
+
+ /// For inout parameter.
+ inline character_type *&inout (void) {
+ return this->ptr_;
+ }
+
+ /// for out parameter.
+ inline character_type *&out (void) {
+ s_traits::release (this->ptr_);
+ this->ptr_ = s_traits::default_initializer();
+ return this->ptr_;
+ }
+
+ /// For string of return type.
+ inline character_type *_retn (void) {
+ character_type *temp = this->ptr_;
+ this->ptr_ = s_traits::default_initializer();
+ return temp;
+ }
+
+private:
+ /// The underlying string
+ character_type *ptr_;
+};
+
+ typedef TAO::String_Manager_T<CORBA::Char> String_Manager;
+ typedef TAO::String_Manager_T<CORBA::WChar> WString_Manager;
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+#endif /* TAO_STRING_MANAGER_T */
diff --git a/TAO/tao/String_Sequence_Element_T.h b/TAO/tao/String_Sequence_Element_T.h
new file mode 100644
index 00000000000..245b652b92f
--- /dev/null
+++ b/TAO/tao/String_Sequence_Element_T.h
@@ -0,0 +1,124 @@
+#ifndef guard_string_sequence_element_hpp
+#define guard_string_sequence_element_hpp
+/**
+ * @file
+ *
+ * @brief Implement the type returned by operator[] in string
+ * sequences.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename traits>
+class string_sequence_element
+{
+public:
+ typedef typename traits::char_type character_type;
+ typedef character_type * value_type;
+ typedef character_type const * const_value_type;
+ typedef typename traits::string_var string_var;
+ typedef typename traits::string_mgr string_mgr;
+
+private:
+ inline string_sequence_element<traits> & pseudo_copy_swap(
+ string_var & rhs)
+ {
+ if (release())
+ {
+ traits::release(*element_);
+ }
+ *element_ = rhs._retn();
+ return *this;
+ }
+
+public:
+ string_sequence_element(
+ value_type & e, CORBA::Boolean release)
+ : element_(&e)
+ , release_(release)
+ {
+ }
+
+ string_sequence_element(
+ string_sequence_element const & rhs)
+ : element_(rhs.element_)
+ , release_(rhs.release_)
+ {
+ }
+
+ ~string_sequence_element()
+ {
+ }
+
+ string_sequence_element & operator=(const_value_type rhs)
+ {
+ string_var tmp(rhs);
+ return pseudo_copy_swap(tmp);
+ }
+
+ string_sequence_element & operator=(value_type rhs)
+ {
+ string_var tmp(rhs);
+ return pseudo_copy_swap(tmp);
+ }
+
+ string_sequence_element & operator=(string_sequence_element const & rhs)
+ {
+ string_var tmp(static_cast<const_value_type>(rhs));
+ return pseudo_copy_swap(tmp);
+ }
+
+ string_sequence_element & operator=(string_var const & rhs)
+ {
+ string_var tmp(rhs);
+ return pseudo_copy_swap(tmp);
+ }
+
+ string_sequence_element & operator=(string_mgr const & rhs)
+ {
+ string_var tmp(rhs.in());
+ return pseudo_copy_swap(tmp);
+ }
+
+ inline operator const_value_type() const
+ {
+ return *element_;
+ }
+
+ void swap(string_sequence_element & rhs)
+ {
+ std::swap(element_, rhs.element_);
+ std::swap(release_, rhs.release_);
+ }
+
+ CORBA::Boolean release() const
+ {
+ return release_;
+ }
+
+private:
+ // This function is not implemented
+ string_sequence_element();
+
+private:
+ value_type * element_;
+ CORBA::Boolean release_;
+};
+
+} // namespace details
+} // namespace CORBA
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_string_sequence_element_hpp
diff --git a/TAO/tao/String_Traits_Base_T.h b/TAO/tao/String_Traits_Base_T.h
new file mode 100644
index 00000000000..fc5197b01ea
--- /dev/null
+++ b/TAO/tao/String_Traits_Base_T.h
@@ -0,0 +1,107 @@
+#ifndef guard_string_traits_base_hpp
+#define guard_string_traits_base_hpp
+/**
+ * @file
+ *
+ * @brief Isolate the string_traits from the accidental differences
+ * between wstring and string.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/String_Alloc.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+template<typename charT>
+class String_Manager_T;
+
+template<typename charT>
+class String_var;
+
+template<typename charT>
+class String_out;
+
+namespace details
+{
+
+template<typename charT>
+struct string_traits_base
+{
+};
+
+template<>
+struct string_traits_base<char>
+{
+ typedef char char_type;
+ typedef TAO::String_var <char_type> string_var;
+ typedef TAO::String_out <char_type> string_out;
+ typedef TAO::String_Manager_T <char_type> string_mgr;
+
+ inline static char_type * default_initializer()
+ {
+ return CORBA::string_dup("");
+ }
+
+ inline static char_type * duplicate(char_type const * s)
+ {
+ return CORBA::string_dup(s);
+ }
+
+ inline static void release(char_type * s)
+ {
+ CORBA::string_free(s);
+ }
+
+ inline static char_type * allocate (CORBA::ULong len)
+ {
+ return CORBA::string_alloc (len);
+ }
+};
+
+template<>
+struct string_traits_base<CORBA::WChar>
+{
+ typedef CORBA::WChar char_type;
+ typedef TAO::String_var <char_type> string_var;
+ typedef TAO::String_out <char_type> string_out;
+ typedef TAO::String_Manager_T <char_type> string_mgr;
+
+ inline static char_type * default_initializer()
+ {
+#if defined(ACE_HAS_WCHAR) || defined(ACE_HAS_XPG4_MULTIBYTE_CHAR)
+ return CORBA::wstring_dup(L"");
+#else
+//#warning "platform not configured with native wchar_t support"
+// static CORBA::WChar empty[] = { 0 };
+ CORBA::WChar empty[] = { 0 };
+ return CORBA::wstring_dup(empty);
+#endif /* 0 */
+ }
+
+ inline static char_type * duplicate(char_type const * s)
+ {
+ return CORBA::wstring_dup(s);
+ }
+
+ inline static void release(char_type * s)
+ {
+ CORBA::wstring_free(s);
+ }
+
+ inline static char_type * allocate (CORBA::ULong len)
+ {
+ return CORBA::wstring_alloc (len);
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_string_traits_base_hpp
diff --git a/TAO/tao/String_Traits_T.h b/TAO/tao/String_Traits_T.h
new file mode 100644
index 00000000000..3b55b49a011
--- /dev/null
+++ b/TAO/tao/String_Traits_T.h
@@ -0,0 +1,77 @@
+#ifndef guard_string_traits_hpp
+#define guard_string_traits_hpp
+/**
+ * @file
+ *
+ * @brief Implement the element manipulation traits for string types.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "String_Traits_Base_T.h"
+
+#include <algorithm>
+#include <functional>
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename char_type, class derived>
+struct string_traits_decorator
+{
+ typedef char_type * value_type;
+ typedef char_type const * const_value_type;
+
+ inline static void zero_range(
+ char_type ** begin, char_type ** end)
+ {
+ std::fill(begin, end, static_cast<char_type*>(0));
+ }
+
+ inline static void initialize_range(
+ char_type ** begin, char_type ** end)
+ {
+ std::generate(begin, end, &derived::default_initializer);
+ }
+
+ inline static void copy_range(
+ char_type ** begin, char_type ** end, char_type ** dst)
+ {
+ std::transform(begin, end, dst, &derived::duplicate);
+ }
+
+ inline static void release_range(
+ char_type ** begin, char_type ** end)
+ {
+ std::for_each(begin, end, &derived::release);
+ }
+
+ inline static char_type const * initialize_if_zero(char_type * & element)
+ {
+ if (element == 0)
+ {
+ element = derived::default_initializer();
+ }
+ return element;
+ }
+};
+
+template<class charT, bool dummy>
+struct string_traits
+ : public string_traits_base<charT>
+ , public string_traits_decorator<charT,string_traits<charT,dummy> >
+{
+};
+
+} // namespace details
+} // namespace CORBA
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_string_traits_hpp
diff --git a/TAO/tao/Unbounded_Array_Allocation_Traits_T.h b/TAO/tao/Unbounded_Array_Allocation_Traits_T.h
new file mode 100644
index 00000000000..283094749ba
--- /dev/null
+++ b/TAO/tao/Unbounded_Array_Allocation_Traits_T.h
@@ -0,0 +1,54 @@
+#ifndef guard_unbounded_array_allocation_traits_hpp
+#define guard_unbounded_array_allocation_traits_hpp
+/**
+ * @file
+ *
+ * @brief Details can be found in the documentation for
+ * TAO::details::generic_sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T, bool dummy>
+struct unbounded_array_allocation_traits
+{
+ typedef T value_type;
+
+ inline static CORBA::ULong default_maximum()
+ {
+ return 0;
+ }
+
+ inline static value_type * default_buffer_allocation()
+ {
+ return 0;
+ }
+
+ inline static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ return new value_type[maximum];
+ }
+
+ inline static void freebuf(value_type * buffer)
+ {
+ delete[] buffer;
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_array_allocation_traits_hpp
diff --git a/TAO/tao/Unbounded_Array_Sequence_T.h b/TAO/tao/Unbounded_Array_Sequence_T.h
new file mode 100644
index 00000000000..d91a6baf8be
--- /dev/null
+++ b/TAO/tao/Unbounded_Array_Sequence_T.h
@@ -0,0 +1,150 @@
+#ifndef guard_unbounded_array_sequence_hpp
+#define guard_unbounded_array_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement unbounded sequences for arrays.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "Unbounded_Array_Allocation_Traits_T.h"
+#include "Generic_Sequence_T.h"
+#include "Array_Traits_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<typename T_array, typename T_slice, typename T_tag>
+class unbounded_array_sequence
+{
+public:
+ typedef T_array * element_type;
+ typedef T_array value_type;
+ typedef T_slice * T_slice_ptr;
+ typedef T_slice_ptr * const_value_type;
+ typedef value_type & subscript_type;
+ typedef value_type const & const_subscript_type;
+
+ typedef details::unbounded_array_allocation_traits<value_type,true> allocation_traits;
+ typedef details::array_traits <T_array, T_slice, T_tag> element_traits;
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ inline unbounded_array_sequence()
+ : impl_()
+ {}
+ inline explicit unbounded_array_sequence(CORBA::ULong maximum)
+ : impl_(maximum)
+ {}
+ inline unbounded_array_sequence(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false)
+ : impl_(maximum, length, data, release)
+ {}
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+ inline void length(CORBA::ULong length) {
+ impl_.length(length);
+ }
+ inline value_type const & operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ inline value_type & operator[](CORBA::ULong i) {
+ return impl_[i];
+ }
+ inline void replace(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(maximum, length, data, release);
+ }
+ inline value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(unbounded_array_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+ static value_type * allocbuf(CORBA::ULong maximum) {
+ return implementation_type::allocbuf(maximum);
+ }
+ static void freebuf(value_type * buffer) {
+ implementation_type::freebuf(buffer);
+ }
+
+private:
+ implementation_type impl_;
+};
+}
+
+namespace TAO
+{
+ template <typename stream, typename T_array, typename T_slice, typename T_tag>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_array_sequence<T_array, T_slice, T_tag> & target) {
+ typedef TAO::unbounded_array_sequence<T_array, T_slice, T_tag> sequence;
+ typedef TAO::Array_Traits<T_array, T_slice, T_tag> array_traits;
+ typedef TAO_Array_Forany_T <T_array, T_slice, T_tag> forany;
+
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ forany tmp (array_traits::alloc ());
+ bool _tao_marshal_flag = (strm >> tmp);
+ if (_tao_marshal_flag) {
+ array_traits::copy (buffer[i], tmp.in ());
+ }
+ array_traits::free (tmp.inout ());
+ if (!_tao_marshal_flag) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, typename T_array, typename T_slice, typename T_tag>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_array_sequence<T_array, T_slice, T_tag> & source) {
+ typedef TAO_FixedArray_Var_T <T_array, T_slice, T_tag> fixed_array;
+ typedef TAO::Array_Traits<T_array, T_slice, T_tag> array_traits;
+ typedef TAO_Array_Forany_T <T_array, T_slice, T_tag> forany;
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ fixed_array tmp_array = array_traits::dup (source[i]);
+ forany tmp (tmp_array.inout ());
+ if (!(strm << tmp)) {
+ return false;
+ }
+ }
+ return true;
+ }
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_array_sequence_hpp
diff --git a/TAO/tao/Unbounded_Basic_String_Sequence_T.h b/TAO/tao/Unbounded_Basic_String_Sequence_T.h
new file mode 100644
index 00000000000..79aed91cb64
--- /dev/null
+++ b/TAO/tao/Unbounded_Basic_String_Sequence_T.h
@@ -0,0 +1,112 @@
+#ifndef guard_unbounded_basic_string_sequence_hpp
+#define guard_unbounded_basic_string_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement unbounded sequences for strings and wide-strings.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "tao/Unbounded_Reference_Allocation_Traits_T.h"
+#include "tao/String_Traits_T.h"
+#include "tao/Generic_Sequence_T.h"
+#include "tao/String_Sequence_Element_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename charT>
+class unbounded_basic_string_sequence
+{
+public:
+ typedef charT character_type;
+ typedef character_type * value_type;
+ typedef character_type const * const_value_type;
+
+ typedef details::string_traits<character_type,true> element_traits;
+ typedef details::unbounded_reference_allocation_traits<value_type,element_traits,true> allocation_traits;
+
+ typedef details::string_sequence_element<element_traits> element_type;
+
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ typedef element_type subscript_type;
+ typedef const_value_type const_subscript_type;
+
+ inline unbounded_basic_string_sequence()
+ : impl_()
+ {}
+ inline explicit unbounded_basic_string_sequence(CORBA::ULong maximum)
+ : impl_(maximum)
+ {}
+ inline unbounded_basic_string_sequence(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release)
+ : impl_(maximum, length, data, release)
+ {}
+
+ /* Use default ctor, operator= and dtor */
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+
+ inline void length(CORBA::ULong length) {
+ impl_.length(length);
+ }
+ inline const_value_type operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ inline element_type operator[](CORBA::ULong i) {
+ return element_type(impl_[i], release());
+ }
+ inline const_value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ inline void replace(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(maximum, length, data, release);
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(unbounded_basic_string_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+
+ static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ return implementation_type::allocbuf(maximum);
+ }
+ static void freebuf(value_type * buffer)
+ {
+ implementation_type::freebuf(buffer);
+ }
+
+
+private:
+ implementation_type impl_;
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_basic_string_sequence_hpp
diff --git a/TAO/tao/Unbounded_Object_Reference_Sequence_T.h b/TAO/tao/Unbounded_Object_Reference_Sequence_T.h
new file mode 100644
index 00000000000..37c1b73a251
--- /dev/null
+++ b/TAO/tao/Unbounded_Object_Reference_Sequence_T.h
@@ -0,0 +1,108 @@
+#ifndef guard_unbounded_object_reference_sequence_hpp
+#define guard_unbounded_object_reference_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement unbounded sequences for object references.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "Unbounded_Reference_Allocation_Traits_T.h"
+#include "Object_Reference_Traits_T.h"
+#include "Generic_Sequence_T.h"
+#include "Object_Reference_Sequence_Element_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<typename object_t, typename object_t_var>
+class unbounded_object_reference_sequence
+{
+public:
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef value_type const const_value_type;
+
+ typedef details::object_reference_traits<object_type,object_t_var,true> element_traits;
+ typedef details::unbounded_reference_allocation_traits<value_type,element_traits,true> allocation_traits;
+
+ typedef details::object_reference_sequence_element<element_traits> element_type;
+ typedef element_type subscript_type;
+ typedef value_type const & const_subscript_type;
+
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ inline unbounded_object_reference_sequence()
+ : impl_()
+ {}
+ inline explicit unbounded_object_reference_sequence(CORBA::ULong maximum)
+ : impl_(maximum)
+ {}
+ inline unbounded_object_reference_sequence(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release)
+ : impl_(maximum, length, data, release)
+ {}
+
+ /* Use default ctor, operator= and dtor */
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+
+ inline void length(CORBA::ULong length) {
+ impl_.length(length);
+ }
+ inline value_type const & operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ inline element_type operator[](CORBA::ULong i) {
+ return element_type(impl_[i], release());
+ }
+ inline value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ inline void replace(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(maximum, length, data, release);
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(unbounded_object_reference_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+
+ static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ return implementation_type::allocbuf(maximum);
+ }
+ static void freebuf(value_type * buffer)
+ {
+ implementation_type::freebuf(buffer);
+ }
+
+
+private:
+ implementation_type impl_;
+};
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_object_reference_sequence_hpp
diff --git a/TAO/tao/Unbounded_Octet_Sequence_T.h b/TAO/tao/Unbounded_Octet_Sequence_T.h
new file mode 100644
index 00000000000..a2c0122218f
--- /dev/null
+++ b/TAO/tao/Unbounded_Octet_Sequence_T.h
@@ -0,0 +1,318 @@
+#ifndef guard_unbounded_octet_sequence_hpp
+#define guard_unbounded_octet_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement octet sequences
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen
+ */
+#include "tao/orbconf.h"
+
+#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
+
+#include "tao/Unbounded_Value_Allocation_Traits_T.h"
+#include "tao/Value_Traits_T.h"
+#include "tao/Unbounded_Value_Sequence_T.h"
+#include "tao/Range_Checking_T.h"
+
+#include "tao/Basic_Types.h"
+#include "ace/Message_Block.h"
+#include "ace/OS_Memory.h"
+#include "ace/OS_NS_string.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+template<>
+class unbounded_value_sequence<CORBA::Octet>
+{
+public:
+ typedef CORBA::Octet value_type;
+ typedef CORBA::Octet element_type;
+ typedef CORBA::Octet const const_value_type;
+ typedef value_type & subscript_type;
+ typedef value_type const & const_subscript_type;
+
+ typedef details::unbounded_value_allocation_traits<value_type,true> allocation_traits;
+ typedef details::value_traits<value_type,true> element_traits;
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+ typedef details::range_checking<value_type,true> range;
+
+ inline unbounded_value_sequence<CORBA::Octet>()
+ : maximum_ (allocation_traits::default_maximum())
+ , length_ (0)
+ , buffer_ (allocation_traits::default_buffer_allocation())
+ , release_ (true)
+ , mb_ (0)
+ {}
+ inline explicit unbounded_value_sequence<CORBA::Octet>(CORBA::ULong maximum)
+ : maximum_(maximum)
+ , length_(0)
+ , buffer_(allocbuf(maximum_))
+ , release_(true)
+ , mb_ (0)
+ {}
+ inline unbounded_value_sequence<CORBA::Octet>(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false)
+ : maximum_ (maximum),
+ length_ (length),
+ buffer_ (data),
+ release_ (release),
+ mb_ (0)
+ {}
+ inline ~unbounded_value_sequence<CORBA::Octet>() {
+ if (mb_)
+ ACE_Message_Block::release (mb_);
+ if (release_)
+ freebuf(buffer_);
+ }
+ /// Create a sequence of octets from a single message block (i.e. it
+ /// ignores any chaining in the meesage block).
+ inline unbounded_value_sequence<CORBA::Octet> (CORBA::ULong length,
+ const ACE_Message_Block* mb)
+ : maximum_ (length)
+ , length_ (length)
+ , buffer_ (reinterpret_cast <CORBA::Octet *>(mb->rd_ptr ()))
+ , release_ (false)
+ , mb_(0) {
+ // Get the message block flags.
+ ACE_Message_Block::Message_Flags flg = mb->self_flags ();
+
+ // If the DONT_DELETE flag is disabled just a duplicate would
+ // help. If the DONT_DELETE flag is enabled a deep copy is needed as
+ // the contents would be on stack. Just incrementing the ref count
+ // on the stack based data block would only crash the program when
+ // the stack unwinds
+ if (ACE_BIT_DISABLED (flg,
+ ACE_Message_Block::DONT_DELETE))
+ {
+ this->mb_ = ACE_Message_Block::duplicate (mb);
+ }
+ else
+ {
+ // As we are in CORBA mode, all the data blocks would be aligned
+ // on an 8 byte boundary
+ ACE_Message_Block msgb (*mb,
+ ACE_CDR::MAX_ALIGNMENT);
+
+ // Get the base pointer of the incoming message block
+ char *start = ACE_ptr_align_binary (mb->base (),
+ ACE_CDR::MAX_ALIGNMENT);
+
+ // Get the read and write displacements in the incoming stream
+ size_t rd_pos = mb->rd_ptr () - start;
+ size_t wr_pos = mb->wr_ptr () - start;
+
+ this->mb_ = ACE_Message_Block::duplicate (&msgb);
+
+ this->mb_->rd_ptr (rd_pos);
+ this->mb_->wr_ptr (wr_pos);
+ }
+ }
+ inline CORBA::ULong maximum() const {
+ return maximum_;
+ }
+ inline CORBA::Boolean release() const {
+ return release_;
+ }
+ inline CORBA::ULong length() const {
+ return length_;
+ }
+ inline void length(CORBA::ULong length) {
+ if (length <= maximum_ || length <= length_)
+ {
+ if (length_ < length)
+ {
+ // TODO This code does not provide the strong-exception
+ // guarantee, but it does provide the weak-exception
+ // guarantee. The problem would appear when
+ // initialize_range() raises an exception after several
+ // elements have been modified. One could argue that
+ // this problem is irrelevant, as the elements already
+ // modified are unreachable to conforming applications.
+ element_traits::initialize_range(
+ buffer_ + length_, buffer_ + length);
+ }
+ length_ = length;
+ return;
+ }
+
+ unbounded_value_sequence<CORBA::Octet> tmp(length);
+ tmp.length_ = length;
+ element_traits::copy_range(
+ buffer_, buffer_ + length_, tmp.buffer_);
+ element_traits::initialize_range(
+ tmp.buffer_ + length_, tmp.buffer_ + length);
+ swap(tmp);
+ }
+ inline value_type const & operator[](CORBA::ULong i) const {
+ range::check(i, length_, maximum_, "operator[]() const");
+ return buffer_[i];
+ }
+ inline value_type & operator[](CORBA::ULong i) {
+ range::check(i, length_, maximum_, "operator[]() non-const");
+ return buffer_[i];
+ }
+ inline void replace(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ unbounded_value_sequence<CORBA::Octet> tmp(maximum, length, data, release);
+ swap(tmp);
+ }
+ inline value_type const * get_buffer() const {
+ if (buffer_ == 0)
+ {
+ buffer_ = allocbuf(maximum_);
+ }
+ return buffer_;
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ if (orphan && !release_)
+ {
+ return 0;
+ }
+ if (buffer_ == 0)
+ {
+ buffer_ = allocbuf(maximum_);
+ }
+ if (!orphan)
+ {
+ return buffer_;
+ }
+
+ unbounded_value_sequence<CORBA::Octet> tmp;
+ swap(tmp);
+ tmp.release_ = false;
+
+ return tmp.buffer_;
+ }
+ inline void swap(unbounded_value_sequence & rhs) throw() {
+ std::swap (mb_, rhs.mb_);
+ std::swap (maximum_, rhs.maximum_);
+ std::swap (length_, rhs.length_);
+ std::swap (buffer_, rhs.buffer_);
+ std::swap (release_, rhs.release_);
+ }
+ static value_type * allocbuf(CORBA::ULong maximum) {
+ return allocation_traits::allocbuf(maximum);
+ }
+ static void freebuf(value_type * buffer) {
+ allocation_traits::freebuf(buffer);
+ }
+
+ /// Returns the underlying message block, the caller must *not*
+ /// release the copy.
+ inline ACE_Message_Block* mb (void) const {
+ return mb_;
+ }
+
+ /// Replaces the current buffer with <mb>, using only <length> bytes.
+ /// It takes a duplicate of <mb> so the user still owns it.
+ inline void replace (CORBA::ULong length, const ACE_Message_Block* mb) {
+ unbounded_value_sequence<CORBA::Octet> s (length, mb);
+ swap (s);
+ }
+
+ unbounded_value_sequence<CORBA::Octet> (
+ const unbounded_value_sequence<CORBA::Octet> &rhs)
+ : maximum_ (0)
+ , length_ (0)
+ , buffer_(0)
+ , release_(false)
+ , mb_ (0)
+ {
+ unbounded_value_sequence<CORBA::Octet> tmp(rhs.maximum_);
+ tmp.length_ = rhs.length_;
+ if (rhs.mb_ == 0)
+ {
+ ACE_OS::memcpy (tmp.buffer_,
+ rhs.buffer_,
+ rhs.length_);
+ }
+ else
+ {
+ size_t offset = 0;
+ for (const ACE_Message_Block *i = rhs.mb_; i != 0; i = i->cont ())
+ {
+ ACE_OS::memcpy (tmp.buffer_ + offset,
+ i->rd_ptr (),
+ i->length ());
+
+ offset += i->length ();
+ }
+ }
+ swap(tmp);
+ }
+
+ unbounded_value_sequence<CORBA::Octet> &
+ operator= (const unbounded_value_sequence<CORBA::Octet> & rhs)
+ {
+ unbounded_value_sequence<CORBA::Octet> tmp(rhs);
+ swap(tmp);
+ return * this;
+ }
+
+private:
+ /// The maximum number of elements the buffer can contain.
+ CORBA::ULong maximum_;
+
+ /// The current number of elements in the buffer.
+ CORBA::ULong length_;
+
+ /// The buffer with all the elements, casting must be done in derived
+ /// classes.
+ mutable value_type * buffer_;
+
+ /// If true then the sequence should release the buffer when it is
+ /// destroyed.
+ CORBA::Boolean release_;
+ ACE_Message_Block* mb_;
+};
+
+} // namespace TAO
+
+#endif
+
+inline
+bool
+operator== (const TAO::unbounded_value_sequence<CORBA::Octet> & lhs,
+ const TAO::unbounded_value_sequence<CORBA::Octet> & rhs)
+{
+ const CORBA::ULong rlen = rhs.length ();
+
+ if (rlen != lhs.length ())
+ {
+ return false;
+ }
+
+ for (CORBA::ULong i = 0; i < rlen; ++i)
+ {
+ if (rhs[i] != lhs[i])
+ {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+inline
+bool
+operator!= (const TAO::unbounded_value_sequence<CORBA::Octet> & lhs,
+ const TAO::unbounded_value_sequence<CORBA::Octet> & rhs)
+{
+ return !(lhs == rhs);
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_octet_sequence_hpp
diff --git a/TAO/tao/Unbounded_Reference_Allocation_Traits_T.h b/TAO/tao/Unbounded_Reference_Allocation_Traits_T.h
new file mode 100644
index 00000000000..193bcf7c2bc
--- /dev/null
+++ b/TAO/tao/Unbounded_Reference_Allocation_Traits_T.h
@@ -0,0 +1,69 @@
+#ifndef guard_unbounded_reference_allocation_traits_hpp
+#define guard_unbounded_reference_allocation_traits_hpp
+/**
+ * @file
+ *
+ * @brief Details can be found in the documentation for
+ * TAO::details::generic_sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T, class ref_traits, bool dummy>
+struct unbounded_reference_allocation_traits
+{
+ typedef T value_type;
+ typedef ref_traits reference_traits;
+
+ inline static CORBA::ULong default_maximum()
+ {
+ return 0;
+ }
+
+ inline static value_type * default_buffer_allocation()
+ {
+ return 0;
+ }
+
+ inline static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ value_type * buffer = new value_type[maximum + 1];
+ reinterpret_cast<value_type**>(buffer)[0] = buffer + maximum + 1;
+
+ // no throw
+ reference_traits::zero_range(buffer + 1, buffer + maximum + 1);
+
+ return buffer + 1;
+ }
+
+ inline static void freebuf(value_type * buffer)
+ {
+ if(buffer != 0)
+ {
+ value_type * begin = buffer - 1;
+ value_type * end = reinterpret_cast<value_type*>(*begin);
+ reference_traits::release_range(buffer, end);
+
+ buffer = begin;
+ }
+ delete[] buffer;
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_reference_allocation_traits_hpp
diff --git a/TAO/tao/Unbounded_Sequence_CDR_T.h b/TAO/tao/Unbounded_Sequence_CDR_T.h
new file mode 100644
index 00000000000..d942e07e9f3
--- /dev/null
+++ b/TAO/tao/Unbounded_Sequence_CDR_T.h
@@ -0,0 +1,567 @@
+#ifndef guard_unbounded_sequence_cdr
+#define guard_unbounded_sequence_cdr
+/**
+ * @file
+ *
+ * @brief Extract the sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ * @author Johnny Willemsen
+ */
+
+#include "tao/orbconf.h"
+#include "tao/SystemException.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO {
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::Short> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::Short> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_short_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::Long> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::Long> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_long_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::ULong> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::ULong> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_ulong_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::UShort> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::UShort> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_ushort_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::Octet> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::Octet> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ if (ACE_BIT_DISABLED (strm.start ()->flags (), ACE_Message_Block::DONT_DELETE))
+ {
+ TAO_ORB_Core* orb_core = strm.orb_core ();
+ if (orb_core != 0 && strm.orb_core ()->resource_factory ()->
+ input_cdr_allocator_type_locked () == 1)
+ {
+ tmp.replace (new_length, strm.start ());
+ tmp.mb ()->wr_ptr (tmp.mb()->rd_ptr () + new_length);
+ strm.skip_bytes (new_length);
+ tmp.swap(target);
+ return true;
+ }
+ }
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_octet_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+#else
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::Octet> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::Octet> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_octet_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+#endif
+
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::Char> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::Char> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_char_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+# if defined (ACE_HAS_WCHAR) || defined (ACE_HAS_XPG4_MULTIBYTE_CHAR)
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::WChar> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::WChar> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_wchar_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+#endif
+
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::Float> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::Float> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_float_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::Double> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::Double> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_double_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::ULongLong> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::ULongLong> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_ulonglong_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::LongDouble> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::LongDouble> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_longdouble_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <CORBA::Boolean> & target) {
+ typedef TAO::unbounded_value_sequence <CORBA::Boolean> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ if (!strm.read_boolean_array (buffer, new_length)) {
+ return false;
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, typename value_t>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_value_sequence <value_t> & target) {
+ typedef TAO::unbounded_value_sequence <value_t> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ if (!(strm >> buffer[i])) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, typename charT>
+ bool demarshal_sequence(stream & strm, TAO::details::unbounded_basic_string_sequence <charT> & target) {
+ typedef TAO::details::unbounded_basic_string_sequence <charT> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ if (!(strm >> buffer[i])) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+ template <typename stream, typename object_t, typename object_t_var>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_object_reference_sequence<object_t, object_t_var> & target) {
+ typedef TAO::unbounded_object_reference_sequence<object_t, object_t_var> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ if (!(strm >> buffer[i])) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+}
+
+namespace TAO {
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::Short> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_short_array (source.get_buffer (), length);
+ }
+
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::Long> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_long_array (source.get_buffer (), length);
+ }
+
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::ULong> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_ulong_array (source.get_buffer (), length);
+ }
+
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::UShort> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_ushort_array (source.get_buffer (), length);
+ }
+
+#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::Octet> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ if (source.mb ()) {
+ return strm.write_octet_array_mb (source.mb ());
+ }
+ return strm.write_octet_array (source.get_buffer (), length);
+ }
+#else
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::Octet> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_octet_array (source.get_buffer (), length);
+ }
+#endif
+
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::Char> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_char_array (source.get_buffer (), length);
+ }
+
+# if defined (ACE_HAS_WCHAR) || defined (ACE_HAS_XPG4_MULTIBYTE_CHAR)
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::WChar> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_wchar_array (source.get_buffer (), length);
+ }
+#endif
+
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::Float> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_float_array (source.get_buffer (), length);
+ }
+
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::Double> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_double_array (source.get_buffer (), length);
+ }
+
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::ULongLong> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_ulonglong_array (source.get_buffer (), length);
+ }
+
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::LongDouble> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_longdouble_array (source.get_buffer (), length);
+ }
+
+ template <typename stream>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <CORBA::Boolean> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ return strm.write_boolean_array (source.get_buffer (), length);
+ }
+
+ template <typename stream, typename value_t>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_value_sequence <value_t> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ if (!(strm << source[i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ template <typename stream, typename charT>
+ bool marshal_sequence(stream & strm, const TAO::details::unbounded_basic_string_sequence <charT> & source) {
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ if (!(strm << source[i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ template <typename stream, typename object_t, typename object_t_var>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_object_reference_sequence<object_t, object_t_var> & source) {
+ typedef typename TAO::unbounded_object_reference_sequence<object_t, object_t_var>::object_type objec_t;
+ if (0 == &source)
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM(0, CORBA::COMPLETED_MAYBE), false);
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ if (!TAO::Objref_Traits<objec_t>::marshal (source[i], strm)) {
+ return false;
+ }
+ }
+ return true;
+ }
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* guard_unbounded_sequence_cdr */
diff --git a/TAO/tao/Unbounded_String_Sequence_T.h b/TAO/tao/Unbounded_String_Sequence_T.h
new file mode 100644
index 00000000000..9b126308dcd
--- /dev/null
+++ b/TAO/tao/Unbounded_String_Sequence_T.h
@@ -0,0 +1,43 @@
+#ifndef guard_unbounded_string_sequence_hpp
+#define guard_unbounded_string_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement unbounded sequences for strings.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "tao/Unbounded_Basic_String_Sequence_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+class unbounded_string_sequence
+ : public details::unbounded_basic_string_sequence<char>
+{
+public:
+ inline unbounded_string_sequence()
+ : details::unbounded_basic_string_sequence<char>()
+ {}
+ inline explicit unbounded_string_sequence(CORBA::ULong maximum)
+ : details::unbounded_basic_string_sequence<char>(maximum)
+ {}
+ inline unbounded_string_sequence(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false)
+ : details::unbounded_basic_string_sequence<char>(
+ maximum, length, data, release)
+ {}
+};
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_string_sequence_hpp
diff --git a/TAO/tao/Unbounded_Value_Allocation_Traits_T.h b/TAO/tao/Unbounded_Value_Allocation_Traits_T.h
new file mode 100644
index 00000000000..e435d0f1fbc
--- /dev/null
+++ b/TAO/tao/Unbounded_Value_Allocation_Traits_T.h
@@ -0,0 +1,54 @@
+#ifndef guard_unbounded_value_allocation_traits_hpp
+#define guard_unbounded_value_allocation_traits_hpp
+/**
+ * @file
+ *
+ * @brief Details can be found in the documentation for
+ * TAO::details::generic_sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T, bool dummy>
+struct unbounded_value_allocation_traits
+{
+ typedef T value_type;
+
+ inline static CORBA::ULong default_maximum()
+ {
+ return 0;
+ }
+
+ inline static value_type * default_buffer_allocation()
+ {
+ return 0;
+ }
+
+ inline static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ return new value_type[maximum];
+ }
+
+ inline static void freebuf(value_type * buffer)
+ {
+ delete[] buffer;
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_value_allocation_traits_hpp
diff --git a/TAO/tao/Unbounded_Value_Sequence_T.h b/TAO/tao/Unbounded_Value_Sequence_T.h
new file mode 100644
index 00000000000..e39893e1f5c
--- /dev/null
+++ b/TAO/tao/Unbounded_Value_Sequence_T.h
@@ -0,0 +1,101 @@
+#ifndef guard_unbounded_value_sequence_hpp
+#define guard_unbounded_value_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement unbounded sequences for types with value-like
+ * semantics.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Unbounded_Value_Allocation_Traits_T.h"
+#include "tao/Value_Traits_T.h"
+#include "tao/Generic_Sequence_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<class T>
+class unbounded_value_sequence
+{
+public:
+ typedef T value_type;
+ typedef T element_type;
+ typedef T const const_value_type;
+ typedef value_type & subscript_type;
+ typedef value_type const & const_subscript_type;
+
+ typedef details::unbounded_value_allocation_traits<value_type,true> allocation_traits;
+ typedef details::value_traits<value_type,true> element_traits;
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ inline unbounded_value_sequence()
+ : impl_()
+ {}
+ inline explicit unbounded_value_sequence(CORBA::ULong maximum)
+ : impl_(maximum)
+ {}
+ inline unbounded_value_sequence(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false)
+ : impl_(maximum, length, data, release)
+ {}
+ /* Use default ctor, operator= and dtor */
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+ inline void length(CORBA::ULong length) {
+ impl_.length(length);
+ }
+ inline value_type const & operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ inline value_type & operator[](CORBA::ULong i) {
+ return impl_[i];
+ }
+ inline void replace(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(maximum, length, data, release);
+ }
+ inline value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(unbounded_value_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+ static value_type * allocbuf(CORBA::ULong maximum) {
+ return implementation_type::allocbuf(maximum);
+ }
+ static void freebuf(value_type * buffer) {
+ implementation_type::freebuf(buffer);
+ }
+
+private:
+ implementation_type impl_;
+};
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_string_sequence_hpp
+
diff --git a/TAO/tao/Unbounded_Wstring_Sequence_T.h b/TAO/tao/Unbounded_Wstring_Sequence_T.h
new file mode 100644
index 00000000000..fe8bd1d14b2
--- /dev/null
+++ b/TAO/tao/Unbounded_Wstring_Sequence_T.h
@@ -0,0 +1,43 @@
+#ifndef guard_unbounded_wstring_sequence_hpp
+#define guard_unbounded_wstring_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement unbounded sequences for wide strings.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "tao/Unbounded_Basic_String_Sequence_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+class unbounded_wstring_sequence
+ : public details::unbounded_basic_string_sequence<CORBA::WChar>
+{
+public:
+ inline unbounded_wstring_sequence()
+ : details::unbounded_basic_string_sequence<CORBA::WChar>()
+ {}
+ inline /* explicit */ unbounded_wstring_sequence(CORBA::ULong maximum)
+ : details::unbounded_basic_string_sequence<CORBA::WChar>(maximum)
+ {}
+ inline unbounded_wstring_sequence(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false)
+ : details::unbounded_basic_string_sequence<CORBA::WChar>(
+ maximum, length, data, release)
+ {}
+};
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_wstring_sequence_hpp
diff --git a/TAO/tao/Value_Traits_T.h b/TAO/tao/Value_Traits_T.h
new file mode 100644
index 00000000000..a16c7a02d89
--- /dev/null
+++ b/TAO/tao/Value_Traits_T.h
@@ -0,0 +1,53 @@
+#ifndef guard_value_traits_hpp
+#define guard_value_traits_hpp
+/**
+ * @file
+ *
+ * @brief Implement the element manipulation traits for types with
+ * value-like semantics.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include <algorithm>
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T, bool dummy>
+struct value_traits
+{
+ typedef T value_type;
+ typedef T const const_value_type;
+
+ inline static void zero_range(
+ value_type * begin , value_type * end)
+ {
+ std::fill(begin, end, value_type ());
+ }
+
+ inline static void initialize_range(
+ value_type * begin, value_type * end)
+ {
+ std::fill(begin, end, value_type ());
+ }
+
+ inline static void copy_range(
+ value_type * begin, value_type * end, value_type *dst)
+ {
+ std::copy(begin, end, dst);
+ }
+};
+
+} // namespace details
+} // namespace CORBA
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_value_traits_hpp
diff --git a/TAO/tao/Valuetype/Bounded_Valuetype_Allocation_Traits_T.h b/TAO/tao/Valuetype/Bounded_Valuetype_Allocation_Traits_T.h
new file mode 100644
index 00000000000..321fa834aba
--- /dev/null
+++ b/TAO/tao/Valuetype/Bounded_Valuetype_Allocation_Traits_T.h
@@ -0,0 +1,65 @@
+#ifndef guard_bounded_valuetype_allocation_traits_hpp
+#define guard_bounded_valuetype_allocation_traits_hpp
+/**
+ * @file
+ *
+ * @brief Details can be found in the documentation for
+ * TAO::details::generic_sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T, class ref_traits, CORBA::ULong MAX, bool dummy>
+struct bounded_valuetype_allocation_traits
+{
+ typedef T value_type;
+ typedef ref_traits valuetype_traits;
+
+ inline static CORBA::ULong default_maximum()
+ {
+ return MAX;
+ }
+
+ inline static value_type * default_buffer_allocation()
+ {
+ return allocbuf(MAX);
+ }
+
+ inline static value_type * allocbuf(CORBA::ULong /* maximum */)
+ {
+ value_type * buffer = new value_type[MAX];
+ // no throw
+ valuetype_traits::zero_range(buffer, buffer + MAX);
+
+ return buffer;
+ }
+
+ inline static void freebuf(value_type * buffer)
+ {
+ valuetype_traits::release_range(buffer, buffer + MAX);
+ delete[] buffer;
+ }
+
+ inline static CORBA::ULong maximum()
+ {
+ return MAX;
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_bounded_valuetype_allocation_traits_hpp
diff --git a/TAO/tao/Valuetype/Bounded_Valuetype_Sequence_T.h b/TAO/tao/Valuetype/Bounded_Valuetype_Sequence_T.h
new file mode 100644
index 00000000000..ef96347f10e
--- /dev/null
+++ b/TAO/tao/Valuetype/Bounded_Valuetype_Sequence_T.h
@@ -0,0 +1,144 @@
+#ifndef guard_bounded_valuetype_sequence_hpp
+#define guard_bounded_valuetype_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement bounded sequences for object references.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "Bounded_Valuetype_Allocation_Traits_T.h"
+#include "Valuetype_Traits_T.h"
+#include "tao/Generic_Sequence_T.h"
+#include "Valuetype_Sequence_Element_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<typename object_t, typename object_t_var, CORBA::ULong MAX>
+class bounded_valuetype_sequence
+{
+public:
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef value_type const const_value_type;
+ typedef object_t_var object_type_var;
+
+ typedef details::valuetype_traits<object_type,object_type_var,true> element_traits;
+ typedef details::bounded_reference_allocation_traits<value_type,element_traits,MAX,true> allocation_traits;
+
+ typedef details::valuetype_sequence_element<element_traits> element_type;
+ typedef element_type subscript_type;
+ typedef value_type const & const_subscript_type;
+
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ inline bounded_valuetype_sequence()
+ : impl_()
+ {}
+ inline bounded_valuetype_sequence(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release)
+ : impl_(MAX, length, data, release)
+ {}
+
+ /* Use default ctor, operator= and dtor */
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+
+ inline void length(CORBA::ULong length) {
+ implementation_type::range::check_length(length, MAX);
+ impl_.length(length);
+ }
+ inline value_type const & operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ inline element_type operator[](CORBA::ULong i) {
+ return element_type(impl_[i], release());
+ }
+ inline value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ inline void replace(
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(MAX, length, data, release);
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(bounded_valuetype_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+
+ static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ return implementation_type::allocbuf(maximum);
+ }
+ static void freebuf(value_type * buffer)
+ {
+ implementation_type::freebuf(buffer);
+ }
+
+
+private:
+ implementation_type impl_;
+};
+
+
+ template <typename stream, typename object_t, typename object_t_var, CORBA::ULong MAX>
+ bool marshal_sequence(stream & strm, const TAO::bounded_valuetype_sequence<object_t, object_t_var, MAX> & source) {
+ typedef typename TAO::bounded_valuetype_sequence<object_t, object_t_var, MAX>::object_type seq_object_t;
+ const ::CORBA::ULong length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ if (!TAO::Objref_Traits<seq_object_t>::marshal (source[i], strm)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ template <typename stream, typename object_t, typename object_t_var, CORBA::ULong MAX>
+ bool demarshal_sequence(stream & strm, TAO::bounded_valuetype_sequence<object_t, object_t_var, MAX> & target) {
+ typedef TAO::bounded_valuetype_sequence<object_t, object_t_var, MAX> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if ((new_length > strm.length()) || (new_length > target.maximum ())) {
+ return false;
+ }
+ sequence tmp;
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ if (!(strm >> buffer[i])) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+#endif // guard_bounded_valuetype_sequence_hpp
diff --git a/TAO/tao/Valuetype/Unbounded_Valuetype_Allocation_Traits_T.h b/TAO/tao/Valuetype/Unbounded_Valuetype_Allocation_Traits_T.h
new file mode 100644
index 00000000000..d407e683109
--- /dev/null
+++ b/TAO/tao/Valuetype/Unbounded_Valuetype_Allocation_Traits_T.h
@@ -0,0 +1,69 @@
+#ifndef guard_unbounded_valuetype_allocation_traits_hpp
+#define guard_unbounded_valuetype_allocation_traits_hpp
+/**
+ * @file
+ *
+ * @brief Details can be found in the documentation for
+ * TAO::details::generic_sequence
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename T, class ref_traits, bool dummy>
+struct unbounded_valuetype_allocation_traits
+{
+ typedef T value_type;
+ typedef ref_traits valuetype_traits;
+
+ inline static CORBA::ULong default_maximum()
+ {
+ return 0;
+ }
+
+ inline static value_type * default_buffer_allocation()
+ {
+ return 0;
+ }
+
+ inline static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ value_type * buffer = new value_type[maximum + 1];
+ reinterpret_cast<value_type**>(buffer)[0] = buffer + maximum + 1;
+
+ // no throw
+ valuetype_traits::zero_range(buffer + 1, buffer + maximum + 1);
+
+ return buffer + 1;
+ }
+
+ inline static void freebuf(value_type * buffer)
+ {
+ if(buffer != 0)
+ {
+ value_type * begin = buffer - 1;
+ value_type * end = reinterpret_cast<value_type*>(*begin);
+ valuetype_traits::release_range(buffer, end);
+
+ buffer = begin;
+ }
+ delete[] buffer;
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_unbounded_valuetype_allocation_traits_hpp
diff --git a/TAO/tao/Valuetype/Unbounded_Valuetype_Sequence_T.h b/TAO/tao/Valuetype/Unbounded_Valuetype_Sequence_T.h
new file mode 100644
index 00000000000..9695f8c940e
--- /dev/null
+++ b/TAO/tao/Valuetype/Unbounded_Valuetype_Sequence_T.h
@@ -0,0 +1,145 @@
+#ifndef guard_unbounded_valuetype_sequence_hpp
+#define guard_unbounded_valuetype_sequence_hpp
+/**
+ * @file
+ *
+ * @brief Implement unbounded sequences for value types.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "Unbounded_Valuetype_Allocation_Traits_T.h"
+#include "Valuetype_Traits_T.h"
+#include "tao/Generic_Sequence_T.h"
+#include "Valuetype_Sequence_Element_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+
+template<typename object_t, typename object_t_var>
+class unbounded_valuetype_sequence
+{
+public:
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef value_type const const_value_type;
+
+ typedef details::valuetype_traits<object_type,object_t_var,true> element_traits;
+ typedef details::unbounded_reference_allocation_traits<value_type,element_traits,true> allocation_traits;
+
+ typedef details::valuetype_sequence_element<element_traits> element_type;
+ typedef element_type subscript_type;
+ typedef value_type const & const_subscript_type;
+
+ typedef details::generic_sequence<value_type, allocation_traits, element_traits> implementation_type;
+
+ inline unbounded_valuetype_sequence()
+ : impl_()
+ {}
+ inline explicit unbounded_valuetype_sequence(CORBA::ULong maximum)
+ : impl_(maximum)
+ {}
+ inline unbounded_valuetype_sequence(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release)
+ : impl_(maximum, length, data, release)
+ {}
+
+ /* Use default ctor, operator= and dtor */
+ inline CORBA::ULong maximum() const {
+ return impl_.maximum();
+ }
+ inline CORBA::Boolean release() const {
+ return impl_.release();
+ }
+ inline CORBA::ULong length() const {
+ return impl_.length();
+ }
+
+ inline void length(CORBA::ULong length) {
+ impl_.length(length);
+ }
+ inline value_type const & operator[](CORBA::ULong i) const {
+ return impl_[i];
+ }
+ inline element_type operator[](CORBA::ULong i) {
+ return element_type(impl_[i], release());
+ }
+ inline value_type const * get_buffer() const {
+ return impl_.get_buffer();
+ }
+ inline void replace(
+ CORBA::ULong maximum,
+ CORBA::ULong length,
+ value_type * data,
+ CORBA::Boolean release = false) {
+ impl_.replace(maximum, length, data, release);
+ }
+ inline value_type * get_buffer(CORBA::Boolean orphan = false) {
+ return impl_.get_buffer(orphan);
+ }
+ inline void swap(unbounded_valuetype_sequence & rhs) throw() {
+ impl_.swap(rhs.impl_);
+ }
+
+ static value_type * allocbuf(CORBA::ULong maximum)
+ {
+ return implementation_type::allocbuf(maximum);
+ }
+ static void freebuf(value_type * buffer)
+ {
+ implementation_type::freebuf(buffer);
+ }
+
+
+private:
+ implementation_type impl_;
+};
+
+ template <typename stream, typename object_t, typename object_t_var>
+ bool marshal_sequence(stream & strm, const TAO::unbounded_valuetype_sequence<object_t, object_t_var> & source) {
+ ::CORBA::ULong const length = source.length ();
+ if (!(strm << length)) {
+ return false;
+ }
+ for(CORBA::ULong i = 0; i < length; ++i) {
+ if (!(strm << source[i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ template <typename stream, typename object_t, typename object_t_var>
+ bool demarshal_sequence(stream & strm, TAO::unbounded_valuetype_sequence <object_t, object_t_var> & target) {
+ typedef typename TAO::unbounded_valuetype_sequence <object_t, object_t_var> sequence;
+ ::CORBA::ULong new_length = 0;
+ if (!(strm >> new_length)) {
+ return false;
+ }
+ if (new_length > strm.length()) {
+ return false;
+ }
+ sequence tmp(new_length);
+ tmp.length(new_length);
+ typename sequence::value_type * buffer = tmp.get_buffer();
+ for(CORBA::ULong i = 0; i < new_length; ++i) {
+ if (!(strm >> buffer[i])) {
+ return false;
+ }
+ }
+ tmp.swap(target);
+ return true;
+ }
+
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+#endif // guard_unbounded_valuetype_sequence_hpp
diff --git a/TAO/tao/Valuetype/Valuetype_Adapter_Factory_Impl.cpp b/TAO/tao/Valuetype/Valuetype_Adapter_Factory_Impl.cpp
new file mode 100644
index 00000000000..0c58622685d
--- /dev/null
+++ b/TAO/tao/Valuetype/Valuetype_Adapter_Factory_Impl.cpp
@@ -0,0 +1,59 @@
+// $Id$
+
+#include "tao/Valuetype/Valuetype_Adapter_Impl.h"
+#include "tao/Valuetype/Valuetype_Adapter_Factory_Impl.h"
+
+#include "tao/ORB_Core.h"
+
+ACE_RCSID (ValueType,
+ Valuetype_Adapter_Factory_Impl,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_Valuetype_Adapter_Factory_Impl::~TAO_Valuetype_Adapter_Factory_Impl (void)
+{
+}
+
+TAO_Valuetype_Adapter *
+TAO_Valuetype_Adapter_Factory_Impl::create (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_Valuetype_Adapter_Impl *nva = 0;
+ ACE_NEW_THROW_EX (nva,
+ TAO_Valuetype_Adapter_Impl (),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (nva);
+
+ return nva;
+}
+
+// *********************************************************************
+
+// Initialization and registration of dynamic service object.
+
+int
+TAO_Valuetype_Adapter_Factory_Impl::Initializer (void)
+{
+ TAO_ORB_Core::valuetype_adapter_factory_name (
+ "Concrete_Valuetype_Adapter_Factory"
+ );
+
+ return
+ ACE_Service_Config::process_directive (
+ ace_svc_desc_TAO_Valuetype_Adapter_Factory_Impl
+ );
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+ACE_STATIC_SVC_DEFINE (
+ TAO_Valuetype_Adapter_Factory_Impl,
+ ACE_TEXT ("Concrete_Valuetype_Adapter_Factory"),
+ ACE_SVC_OBJ_T,
+ &ACE_SVC_NAME (TAO_Valuetype_Adapter_Factory_Impl),
+ ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
+ 0
+ )
+
+ACE_FACTORY_DEFINE (TAO_Valuetype, TAO_Valuetype_Adapter_Factory_Impl)
diff --git a/TAO/tao/Valuetype/Valuetype_Adapter_Factory_Impl.h b/TAO/tao/Valuetype/Valuetype_Adapter_Factory_Impl.h
new file mode 100644
index 00000000000..91b8cbe6e8c
--- /dev/null
+++ b/TAO/tao/Valuetype/Valuetype_Adapter_Factory_Impl.h
@@ -0,0 +1,70 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Valuetype_Adapter_Factory_Impl.h
+ *
+ * $Id$
+ *
+ * @author Kees van Marle <kvmarle@remedy.nl>
+ */
+//=============================================================================
+
+
+#ifndef TAO_VALUETYPE_ADAPTER_FACTORY_IMPL_H
+#define TAO_VALUETYPE_ADAPTER_FACTORY_IMPL_H
+
+#include /**/ "ace/pre.h"
+
+#include "tao/Valuetype/valuetype_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/Valuetype_Adapter_Factory.h"
+#include "ace/Service_Config.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+class TAO_Valuetype_Adapter;
+
+/**
+ * @class TAO_Valuetype_Adapter_Factory_Impl
+ *
+ * @brief TAO_Valuetype_Adapter_Factory_Impl.
+ *
+ * Class that creates instances of TAO_Valuetype_Adapter (one per ORB).
+ * This is the derived class that contains the actual implementations.
+ */
+class TAO_Valuetype_Export TAO_Valuetype_Adapter_Factory_Impl
+ : public TAO_Valuetype_Adapter_Factory
+{
+public:
+ virtual ~TAO_Valuetype_Adapter_Factory_Impl (void);
+
+ virtual TAO_Valuetype_Adapter * create (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Used to force the initialization of the ORB code.
+ static int Initializer (void);
+};
+
+static int
+TAO_Requires_ValueType_Initializer =
+ TAO_Valuetype_Adapter_Factory_Impl::Initializer ();
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+ACE_STATIC_SVC_DECLARE (TAO_Valuetype_Adapter_Factory_Impl)
+ACE_FACTORY_DECLARE (TAO_Valuetype, TAO_Valuetype_Adapter_Factory_Impl)
+
+#define TAO_VALUETYPE_SAFE_INCLUDE
+// #include "tao/ValueType/ValueTypeC.h"
+#undef TAO_VALUETYPE_SAFE_INCLUDE
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_VALUETYPE_ADAPTER_FACTORY_IMPL_H */
diff --git a/TAO/tao/Valuetype/Valuetype_Sequence_Element_T.h b/TAO/tao/Valuetype/Valuetype_Sequence_Element_T.h
new file mode 100644
index 00000000000..e9631236169
--- /dev/null
+++ b/TAO/tao/Valuetype/Valuetype_Sequence_Element_T.h
@@ -0,0 +1,127 @@
+#ifndef guard_valuetype_sequence_element_hpp
+#define guard_valuetype_sequence_element_hpp
+/**
+ * @file
+ *
+ * @brief Implement the type returned by operator[] in valuetype
+ * sequences.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "tao/Basic_Types.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename obj_ref_traits>
+class valuetype_sequence_element
+{
+public:
+ typedef typename obj_ref_traits::object_type valuetype_type;
+ typedef valuetype_type * value_type;
+ typedef valuetype_type const * const_value_type;
+ typedef typename obj_ref_traits::object_type_var valuetype_var;
+
+private:
+ inline valuetype_sequence_element<obj_ref_traits> & pseudo_copy_swap(
+ valuetype_var & rhs)
+ {
+ if (release())
+ {
+ obj_ref_traits::release(*element_);
+ }
+ *element_ = rhs._retn();
+ return *this;
+ }
+
+public:
+ valuetype_sequence_element(
+ value_type & e, CORBA::Boolean release)
+ : element_(&e)
+ , release_(release)
+ {
+ }
+
+ valuetype_sequence_element(
+ valuetype_sequence_element const & rhs)
+ : element_(rhs.element_)
+ , release_(rhs.release_)
+ {
+ }
+
+ ~valuetype_sequence_element()
+ {
+ }
+
+ valuetype_sequence_element & operator=(
+ valuetype_var const & rhs)
+ {
+ valuetype_var tmp(rhs);
+ return pseudo_copy_swap(tmp);
+ }
+
+ valuetype_sequence_element & operator=(
+ valuetype_sequence_element const & rhs)
+ {
+ valuetype_var tmp(obj_ref_traits::duplicate(*rhs.element_));
+ return pseudo_copy_swap(tmp);
+ }
+
+ valuetype_sequence_element & operator=(value_type rhs)
+ {
+ valuetype_var tmp(rhs);
+ return pseudo_copy_swap(tmp);
+ }
+
+ inline operator value_type()
+ {
+ return *element_;
+ }
+
+ inline operator const_value_type() const
+ {
+ return *element_;
+ }
+
+ inline value_type operator->()
+ {
+ return *element_;
+ }
+
+ inline value_type operator->() const
+ {
+ return *element_;
+ }
+
+ void swap(valuetype_sequence_element & rhs)
+ {
+ std::swap(element_, rhs.element_);
+ std::swap(release_, rhs.release_);
+ }
+
+ inline CORBA::Boolean release() const
+ {
+ return release_;
+ }
+
+private:
+ // This function is not implemented
+ valuetype_sequence_element();
+
+private:
+ value_type * element_;
+ CORBA::Boolean release_;
+};
+
+} // namespace details
+} // namespace CORBA
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_valuetype_sequence_element_hpp
diff --git a/TAO/tao/Valuetype/Valuetype_Traits_Base_T.h b/TAO/tao/Valuetype/Valuetype_Traits_Base_T.h
new file mode 100644
index 00000000000..13dfe7ad06d
--- /dev/null
+++ b/TAO/tao/Valuetype/Valuetype_Traits_Base_T.h
@@ -0,0 +1,57 @@
+#ifndef valuetype_traits_base_hpp
+#define valuetype_traits_base_hpp
+/**
+ * @file
+ *
+ * @brief Base class for the valuetype traits.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "tao/Objref_VarOut_T.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<typename object_t, typename object_t_var>
+struct valuetype_traits_base
+{
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef object_type const * const_value_type;
+ typedef object_t_var object_type_var;
+
+ inline static void release(object_type * object)
+ {
+ TAO::Value_Traits<object_type>::remove_ref(object);
+ }
+
+ inline static object_type * duplicate(object_type * object)
+ {
+ TAO::Value_Traits<object_type>::add_ref(object);
+ return object;
+ }
+
+ inline static object_type * nil()
+ {
+ return 0;
+ }
+
+ inline static object_type * default_initializer()
+ {
+ return nil();
+ }
+};
+
+} // namespace details
+} // namespace TAO
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // valuetype_traits_base_hpp
diff --git a/TAO/tao/Valuetype/Valuetype_Traits_T.h b/TAO/tao/Valuetype/Valuetype_Traits_T.h
new file mode 100644
index 00000000000..f8b5ee460be
--- /dev/null
+++ b/TAO/tao/Valuetype/Valuetype_Traits_T.h
@@ -0,0 +1,82 @@
+#ifndef guard_valuetype_traits_hpp
+#define guard_valuetype_traits_hpp
+/**
+ * @file
+ *
+ * @brief Implement the element manipulation traits for valuetype types.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "Valuetype_Traits_Base_T.h"
+
+#include <algorithm>
+#include <functional>
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+namespace details
+{
+
+template<class object_t, class object_t_var, class derived>
+struct valuetype_traits_decorator
+{
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef object_type const * const_value_type;
+ typedef object_t_var object_type_var;
+
+ inline static void zero_range(
+ object_type ** begin, object_type ** end)
+ {
+ std::fill(begin, end, derived::nil());
+ }
+
+ inline static void initialize_range(
+ object_type ** begin, object_type ** end)
+ {
+ std::generate(begin, end, &derived::default_initializer);
+ }
+
+ inline static void copy_range(
+ object_type ** begin, object_type ** end, object_type ** dst)
+ {
+ std::transform(begin, end, dst, &derived::duplicate);
+ }
+
+ inline static void release_range(
+ object_type ** begin, object_type ** end)
+ {
+ std::for_each(begin, end, &derived::release);
+ }
+
+ inline static object_type const * initialize_if_zero(object_type * & element)
+ {
+ if (element == 0)
+ {
+ element = derived::nil();
+ }
+ return element;
+ }
+};
+
+template<typename object_t, typename object_t_var, bool dummy>
+struct valuetype_traits
+ : public valuetype_traits_base<object_t, object_t_var>
+ , public valuetype_traits_decorator<object_t, object_t_var, valuetype_traits<object_t,object_t_var,dummy> >
+{
+ typedef object_t object_type;
+ typedef object_type * value_type;
+ typedef object_type const * const_value_type;
+ typedef object_t_var object_type_var;
+};
+
+} // namespace details
+} // namespace CORBA
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif // guard_valuetype_traits_hpp
diff --git a/TAO/tao/Valuetype_Adapter_Factory.cpp b/TAO/tao/Valuetype_Adapter_Factory.cpp
new file mode 100644
index 00000000000..5cee721f6af
--- /dev/null
+++ b/TAO/tao/Valuetype_Adapter_Factory.cpp
@@ -0,0 +1,14 @@
+// $Id$
+#include "tao/Valuetype_Adapter_Factory.h"
+
+ACE_RCSID (tao,
+ Valuetype_Adapter_Factory,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_Valuetype_Adapter_Factory::~TAO_Valuetype_Adapter_Factory (void)
+{
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/tao/Valuetype_Adapter_Factory.h b/TAO/tao/Valuetype_Adapter_Factory.h
new file mode 100644
index 00000000000..dabd7e7159a
--- /dev/null
+++ b/TAO/tao/Valuetype_Adapter_Factory.h
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Valuetype_Adapter_Factory.h
+ *
+ * $Id$
+ *
+ * @author Kees van Marle <kvmarle@remedy.nl>
+ */
+//=============================================================================
+
+
+#ifndef TAO_VALUETYPE_ADAPTER_FACTORY_H
+#define TAO_VALUETYPE_ADAPTER_FACTORY_H
+
+#include /**/ "ace/pre.h"
+#include "ace/Service_Object.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/SystemException.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+class TAO_Valuetype_Adapter;
+
+/**
+ * @class TAO_Valuetype_Adapter_Factory
+ *
+ * @brief TAO_Valuetype_Adapter_Factory.
+ *
+ * Class that creates one instance of TAO_Valuetype_Adapter per
+ * ORB on the ORB's first usage of its valuetype_adapter_. This is a base
+ * class for the actual implementation in the TAO_Valuetype library.
+ */
+class TAO_Export TAO_Valuetype_Adapter_Factory
+ : public ACE_Service_Object
+{
+public:
+ virtual ~TAO_Valuetype_Adapter_Factory (void);
+
+ virtual TAO_Valuetype_Adapter * create (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+};
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_VALUETYPE_ADAPTER_FACTORY_H */
diff --git a/TAO/tao/Versioned_Namespace.h b/TAO/tao/Versioned_Namespace.h
new file mode 100644
index 00000000000..4e23f8c4421
--- /dev/null
+++ b/TAO/tao/Versioned_Namespace.h
@@ -0,0 +1,58 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Versioned_Namespace.h
+ *
+ * $Id$
+ *
+ * Versioned namespace support.
+ *
+ * Useful for preventing conflicts when using a third party library.
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef TAO_VERSIONED_NAMESPACE_H
+#define TAO_VERSIONED_NAMESPACE_H
+
+#if !defined (TAO_ORBCONF_H) && !defined (ACE_CONFIG_MACROS_H)
+# error This header is only meant to be included after "tao/orbconf.h".
+#endif /* !TAO_ORBCONF_H */
+
+
+#if !defined (TAO_HAS_VERSIONED_NAMESPACE) \
+ && defined (ACE_HAS_VERSIONED_NAMESPACE) \
+ && ACE_HAS_VERSIONED_NAMESPACE == 1
+# define TAO_HAS_VERSIONED_NAMESPACE 1
+#endif /* !TAO_HAS_VERSIONED_NAMESPACE
+ && ACE_HAS_VERSIONED_NAMESPACE == 1*/
+
+#if defined (TAO_HAS_VERSIONED_NAMESPACE) && TAO_HAS_VERSIONED_NAMESPACE == 1
+
+# ifndef TAO_VERSIONED_NAMESPACE_NAME
+# include "tao/Version.h"
+
+// Preprocessor symbols will not be expanded if they are
+// concatenated. Force the preprocessor to expand them during the
+// argument prescan by calling a macro that itself calls another that
+// performs the actual concatenation.
+# define TAO_MAKE_VERSIONED_NAMESPACE_NAME_IMPL(MAJOR,MINOR,BETA) TAO_ ## MAJOR ## _ ## MINOR ## _ ## BETA
+# define TAO_MAKE_VERSIONED_NAMESPACE_NAME(MAJOR,MINOR,BETA) TAO_MAKE_VERSIONED_NAMESPACE_NAME_IMPL(MAJOR,MINOR,BETA)
+# define TAO_VERSIONED_NAMESPACE_NAME TAO_MAKE_VERSIONED_NAMESPACE_NAME(TAO_MAJOR_VERSION,TAO_MINOR_VERSION,TAO_BETA_VERSION)
+# endif /* !TAO_VERSIONED_NAMESPACE_NAME */
+
+# define TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO_VERSIONED_NAMESPACE_NAME {
+# define TAO_END_VERSIONED_NAMESPACE_DECL } \
+ using namespace TAO_VERSIONED_NAMESPACE_NAME;
+
+#else
+
+# define TAO_VERSIONED_NAMESPACE_NAME
+# define TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+# define TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* TAO_HAS_VERSIONED_NAMESPACE */
+
+#endif /* !TAO_VERSIONED_NAMESPACE_H */
diff --git a/TAO/tests/Bug_1676_Regression/Bug_1676_Regression.mpc b/TAO/tests/Bug_1676_Regression/Bug_1676_Regression.mpc
new file mode 100644
index 00000000000..9a1892855d9
--- /dev/null
+++ b/TAO/tests/Bug_1676_Regression/Bug_1676_Regression.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoserver {
+ idlflags += -Sa -St
+ Source_Files {
+ Hello.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoclient {
+ after += *Server
+ Source_Files {
+ TestC.cpp
+ client.cpp
+ }
+}
+
diff --git a/TAO/tests/Bug_1676_Regression/Hello.cpp b/TAO/tests/Bug_1676_Regression/Hello.cpp
new file mode 100644
index 00000000000..b0afc671195
--- /dev/null
+++ b/TAO/tests/Bug_1676_Regression/Hello.cpp
@@ -0,0 +1,98 @@
+//
+// $Id$
+//
+#include "Hello.h"
+
+ACE_RCSID(Hello, Hello, "$Id$")
+
+Hello::Hello (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+#if 0
+char *
+Hello::get_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup ("Hello there!");
+}
+#endif
+
+::Test::StringList *
+Hello::get_stringList (
+ // ACE_ENV_SINGLE_ARG_DECL_NOT_USED
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ Test::StringList * seq;
+ ACE_NEW_RETURN (seq,
+ Test::StringList(10),
+ 0);
+ seq->length(10);
+ for (CORBA::ULong i = 0; i<seq->length(); i++)
+ {
+ char tmp[255] = {0};
+ sprintf(tmp, "Hello World %d", i);
+ (*seq)[i] = CORBA::string_dup(tmp);
+ }
+
+ return seq;
+}
+
+void
+Hello::get_stringList2 (
+ ::CORBA::Boolean initialize,
+ ::Test::StringList_out osl
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ // CORBA::String_var the_string = osl->length();
+ // ACE_DEBUG ((LM_DEBUG, "(%P|%t) - Entering get_stringList2(%.4d)\n", osl));
+
+ if (initialize) {
+ ACE_NEW (osl,
+ Test::StringList(10));
+
+ osl->length(5);
+ for (CORBA::ULong i = 0; i<osl->length(); i++)
+ {
+ char tmp[255] = {0};
+ sprintf(tmp, "Hello Again %d", i);
+ (*osl)[i] = CORBA::string_dup(tmp);
+ }
+ }
+}
+
+void
+Hello::mod_stringList (
+ ::Test::StringList & iosl
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ // osl->length(10);
+ for (CORBA::ULong i = 0; i<iosl.length(); i++)
+ {
+ char tmp[255] = {0};
+ sprintf(tmp, "Hello Client %d", i);
+ if (i%2) {
+ iosl[i] = CORBA::string_dup(tmp);
+ }
+ }
+}
+
+void
+Hello::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/tests/Bug_1676_Regression/Hello.h b/TAO/tests/Bug_1676_Regression/Hello.h
new file mode 100644
index 00000000000..d7bd79aab93
--- /dev/null
+++ b/TAO/tests/Bug_1676_Regression/Hello.h
@@ -0,0 +1,54 @@
+//
+// $Id$
+//
+
+#ifndef HELLO_H
+#define HELLO_H
+#include /**/ "ace/pre.h"
+
+#include "TestS.h"
+
+/// Implement the Test::Hello interface
+class Hello
+ : public virtual POA_Test::Hello
+{
+public:
+ /// Constructor
+ Hello (CORBA::ORB_ptr orb);
+
+ // = The skeleton methods
+ virtual ::Test::StringList * get_stringList (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ virtual void get_stringList2 (
+ ::CORBA::Boolean initialize,
+ ::Test::StringList_out osl
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ virtual void mod_stringList (
+ ::Test::StringList & iosl
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// Use an ORB reference to convert strings to objects and shutdown
+ /// the application.
+ CORBA::ORB_var orb_;
+};
+
+#include /**/ "ace/post.h"
+#endif /* HELLO_H */
diff --git a/TAO/tests/Bug_1676_Regression/Test.idl b/TAO/tests/Bug_1676_Regression/Test.idl
new file mode 100644
index 00000000000..9884187dc0c
--- /dev/null
+++ b/TAO/tests/Bug_1676_Regression/Test.idl
@@ -0,0 +1,39 @@
+// -*- IDL -*-
+
+//=============================================================================
+/**
+ * @file Test.idl
+ *
+ * $Id$
+ *
+ * "test" IDL interface for the Uninitialized "out" param for sequence<string>
+ * can cause server to core test.
+ *
+ * @author Kees van Marle <kvmarle@ermedy.nl>
+ */
+//=============================================================================
+
+
+module Test
+{
+ typedef sequence<string> StringList;
+
+ /// A very simple interface
+ interface Hello
+ {
+ /// Return a string list
+ StringList get_stringList ();
+
+ /// Return a string list
+ void get_stringList2 (in boolean initialize, out StringList osl);
+
+ /// Modify a string list
+ void mod_stringList (inout StringList iosl);
+
+ /// A method to shutdown the ORB
+ /**
+ * This method is used to simplify the test shutdown process
+ */
+ oneway void shutdown ();
+ };
+};
diff --git a/TAO/tests/Bug_1676_Regression/client.cpp b/TAO/tests/Bug_1676_Regression/client.cpp
new file mode 100644
index 00000000000..9687e3ec488
--- /dev/null
+++ b/TAO/tests/Bug_1676_Regression/client.cpp
@@ -0,0 +1,151 @@
+// $Id$
+
+#include "TestC.h"
+#include "ace/Get_Opt.h"
+
+ACE_RCSID(Hello, client, "$Id$")
+
+const char *ior = "file://test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+void get_stringList2(Test::Hello_var hello);
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CORBA::Object_var tmp =
+ orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Test::Hello_var hello =
+ Test::Hello::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (hello.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil Test::Hello reference <%s>\n",
+ ior),
+ 1);
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "\n(%P|%t) - get_stringList\n"));
+
+ Test::StringList_var seq =
+ hello->get_stringList (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ for (CORBA::ULong i = 0; i<seq->length(); i++) {
+ CORBA::String_var the_string = CORBA::string_dup ((*seq)[i]);
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) - string returned <%s>\n",
+ the_string.in ()));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "\n(%P|%t) - get_stringList2 with initialization\n"));
+
+ Test::StringList_var seq2;
+ hello->get_stringList2(true, seq2.out());
+ ACE_TRY_CHECK;
+
+ for (CORBA::ULong i = 0; i<seq2->length(); i++) {
+ CORBA::String_var the_string = seq2.in()[i];
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) - string returned <%s>\n",
+ the_string.in ()));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "\n(%P|%t) - get_stringList2 without initialization\n"));
+
+ get_stringList2(hello);
+
+ ACE_DEBUG ((LM_DEBUG, "\n(%P|%t) - mod_stringList\n"));
+
+ hello->mod_stringList(seq.inout());
+ ACE_TRY_CHECK;
+
+ for (CORBA::ULong i = 0; i<seq->length(); i++) {
+ CORBA::String_var the_string = CORBA::string_dup ((*seq)[i]);
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) - string returned <%s>\n",
+ the_string.in ()));
+ }
+
+ hello->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
+
+void get_stringList2(Test::Hello_var hello)
+{
+ Test::StringList_var seq2;
+
+ ACE_TRY_NEW_ENV
+ {
+ // Shutdown the ORB and block until the shutdown is complete.
+ hello->get_stringList2(false, seq2.out());
+ ACE_TRY_CHECK;
+
+ for (CORBA::ULong i = 0; i<seq2->length(); i++) {
+ CORBA::String_var the_string = seq2.in()[i];
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) - string returned <%s>\n",
+ the_string.in ()));
+ }
+ }
+ ACE_CATCH(CORBA::BAD_PARAM, ex)
+ {
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) - catched expected exception BAD_PARAM\n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "get_stringList2");
+ }
+ ACE_ENDTRY;
+
+
+ return;
+}
diff --git a/TAO/tests/Bug_1676_Regression/run_test.pl b/TAO/tests/Bug_1676_Regression/run_test.pl
new file mode 100755
index 00000000000..5d02e3606f1
--- /dev/null
+++ b/TAO/tests/Bug_1676_Regression/run_test.pl
@@ -0,0 +1,49 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+$status = 0;
+
+$iorfile = PerlACE::LocalFile ("server.ior");
+unlink $iorfile;
+
+if (PerlACE::is_vxworks_test()) {
+ $SV = new PerlACE::ProcessVX ("server", "-o server.ior");
+}
+else {
+ $SV = new PerlACE::Process ("server", "-o $iorfile");
+}
+$CL = new PerlACE::Process ("client", " -k file://$iorfile");
+
+$SV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile,
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR "ERROR: cannot find file <$iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->WaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+
+exit $status;
diff --git a/TAO/tests/Bug_1676_Regression/server.cpp b/TAO/tests/Bug_1676_Regression/server.cpp
new file mode 100644
index 00000000000..177aad4d1d8
--- /dev/null
+++ b/TAO/tests/Bug_1676_Regression/server.cpp
@@ -0,0 +1,115 @@
+// $Id$
+
+#include "Hello.h"
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+
+ACE_RCSID (Hello,
+ server,
+ "$Id$")
+
+const char *ior_output_file = "test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-o <iorfile>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (root_poa.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Panic: nil RootPOA\n"),
+ 1);
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ Hello *hello_impl;
+ ACE_NEW_RETURN (hello_impl,
+ Hello (orb.in ()),
+ 1);
+ PortableServer::ServantBase_var owner_transfer(hello_impl);
+
+ Test::Hello_var hello =
+ hello_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ orb->object_to_string (hello.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Output the IOR to the <ior_output_file>
+ FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ ior_output_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_2319_Regression/server.cpp b/TAO/tests/Bug_2319_Regression/server.cpp
new file mode 100644
index 00000000000..8bf1e026102
--- /dev/null
+++ b/TAO/tests/Bug_2319_Regression/server.cpp
@@ -0,0 +1,365 @@
+
+// $Id$
+
+#include "ace/Thread_Manager.h"
+#include "ace/OS_NS_stdio.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/Get_Opt.h"
+
+#include "TestS.h"
+#include "TestC.h"
+
+int num_calls = 10; // total calls client is going to make
+const int sleep_time = 1; // sleep for 1 sec on each call
+
+// This should equal num_calls within 'sleep * num_calls' seconds
+int calls_received = 0;
+
+const char *ior = "file://test.ior";
+const char *ior_file = "test.ior";
+
+
+
+/***************************/
+/*** Servant Declaration ***/
+/***************************/
+
+class ST_AMH_Servant
+ : public virtual POA_Test::AMH_Roundtrip
+ {
+ public:
+
+ ST_AMH_Servant (CORBA::ORB_ptr orb);
+
+ void test_method (Test::AMH_RoundtripResponseHandler_ptr _tao_rh,
+ Test::Timestamp send_time
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ protected:
+ CORBA::ORB_ptr orb_;
+ };
+
+
+
+/****************************/
+/**** Server Declaration ****/
+/****************************/
+
+/**
+ Class that performs all 'dirty' initialisation work that is common to
+ all the AMH servers and 'hides' all the common ORB functions.
+ */
+class ST_AMH_Server
+ {
+ public:
+ ST_AMH_Server (int *argc, char **argv);
+ virtual ~ST_AMH_Server ();
+
+ /// ORB inititalisation stuff
+ int start_orb_and_poa (const CORBA::ORB_var &_orb);
+
+ /// register the servant with the poa
+ virtual void register_servant (ST_AMH_Servant *servant);
+
+ /// orb-perform_work () abstraction
+ virtual void run_event_loop ();
+
+ public:
+
+ protected:
+ int *argc_;
+ char **argv_;
+ char *ior_output_file_;
+ CORBA::ORB_ptr orb_;
+ PortableServer::POA_var root_poa_;
+
+ private:
+ /// Write servant IOR to file specified with the '-o' option
+ int write_ior_to_file (CORBA::String_var ior);
+ };
+
+
+
+// ------------------------------------------------------------------------
+// ------------------------------------------------------------------------
+// ------------------------------------------------------------------------
+
+
+
+// ------------------------------------------------------------------------
+//
+int parse_args (int argc, char *argv[])
+{
+ACE_Get_Opt get_opts (argc, argv, "n:");
+int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'n':
+ num_calls = ACE_OS::atoi (get_opts.opt_arg ());
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+
+
+
+/***************************/
+/*** Servant Definition ***/
+/***************************/
+
+// ------------------------------------------------------------------------
+//
+ST_AMH_Servant::ST_AMH_Servant (CORBA::ORB_ptr orb)
+ : orb_(CORBA::ORB::_duplicate(orb))
+{
+}
+
+// ------------------------------------------------------------------------
+//
+void
+ST_AMH_Servant::test_method (Test::AMH_RoundtripResponseHandler_ptr _tao_rh,
+ Test::Timestamp send_time
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ printf("Recieved Timestamp # %d \n", calls_received);
+ ACE_OS::sleep(1);
+ calls_received++;
+
+ ACE_UNUSED_ARG (send_time);
+ ACE_UNUSED_ARG (_tao_rh);
+
+ // When _tao_rh destructor is called, it shouldn't send anything to
+ // the client as well
+}
+
+
+
+
+
+/*** Server Declaration ***/
+
+// ------------------------------------------------------------------------
+//
+ST_AMH_Server::ST_AMH_Server (int* argc, char **argv)
+ : argc_ (argc), argv_ (argv)
+{
+ this->ior_output_file_ = const_cast<char*>(ior_file);
+}
+
+// ------------------------------------------------------------------------
+//
+ST_AMH_Server::~ST_AMH_Server ()
+{
+ ACE_TRY_NEW_ENV
+ {
+ this->root_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
+ }
+ ACE_ENDTRY;
+
+}
+
+// ------------------------------------------------------------------------
+//
+int ST_AMH_Server::start_orb_and_poa (const CORBA::ORB_var &_orb)
+{
+ ACE_TRY_NEW_ENV
+ {
+ this->orb_ = CORBA::ORB::_duplicate(_orb.in ());
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to initialize the POA.\n"),
+ 1);
+
+ this->root_poa_ = PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var poa_manager =
+ this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
+
+// ------------------------------------------------------------------------
+//
+void ST_AMH_Server::register_servant (ST_AMH_Servant *servant)
+{
+ ACE_TRY_NEW_ENV
+ {
+ Test::Roundtrip_var roundtrip = servant->_this(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var iorstr = this->orb_->object_to_string(roundtrip.in ());
+ ACE_TRY_CHECK;
+
+ (void) this->write_ior_to_file(iorstr);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
+ }
+ ACE_ENDTRY;
+}
+
+// ------------------------------------------------------------------------
+//
+void ST_AMH_Server::run_event_loop ()
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ ACE_Time_Value period (1, 0);
+ while (1)
+ {
+ this->orb_->perform_work (&period);
+ ACE_TRY_CHECK;
+
+ // when all calls from client have been recieved, exit
+ if (calls_received == num_calls )
+ return;
+ }
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {}
+ ACE_ENDTRY;
+}
+
+// ------------------------------------------------------------------------
+//
+int
+ST_AMH_Server::write_ior_to_file (CORBA::String_var iorstr)
+{
+ // If the ior_output_file exists, output the ior to it
+ FILE *output_file= ACE_OS::fopen (ST_AMH_Server::ior_output_file_, "w");
+ if (output_file == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ ST_AMH_Server::ior_output_file_));
+ return -1;
+ }
+
+ ACE_OS::fprintf (output_file, "%s", iorstr.in ());
+ ACE_OS::fclose (output_file);
+ return 0;
+}
+
+
+// ------------------------------------------------------------------------
+//
+static ACE_THR_FUNC_RETURN start_server(void* _arg)
+{
+ST_AMH_Server *amh_server = static_cast<ST_AMH_Server*>(_arg);
+ amh_server->run_event_loop();
+ return 0;
+}
+
+// ------------------------------------------------------------------------
+//
+static ACE_THR_FUNC_RETURN start_client(void* _arg)
+{
+Test::Roundtrip_var roundtrip(static_cast<Test::Roundtrip_ptr>(_arg));
+
+ // Do a couple of calls on the server. If the sever is trying to
+ // do something stupid like sending an exception to us, then it
+ // won't be able to handle more than 1 request from us.
+Test::Timestamp time = 10;
+
+ for (int i = 0; i < num_calls; i++)
+ {
+ roundtrip->test_method(time);
+ ACE_DEBUG ((LM_DEBUG, "Sent call # %d \n", i));
+ ACE_TRY_CHECK;
+ }
+
+ return 0;
+}
+
+
+// ------------------------------------------------------------------------
+//
+int main (int argc, char *argv[])
+{
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ST_AMH_Server amh_server (&argc, argv);
+CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "");
+
+ ACE_TRY_CHECK;
+
+ amh_server.start_orb_and_poa(orb);
+
+ST_AMH_Servant servant(orb.in());
+
+ amh_server.register_servant(&servant);
+
+ CORBA::Object_var object = orb->string_to_object(ior);
+ ACE_TRY_CHECK;
+
+ Test::Roundtrip_var roundtrip = Test::Roundtrip::_narrow(object.in ());
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil(roundtrip.in()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Nil Test::Roundtrip reference <%s>\n",
+ ior),
+ 1);
+ }
+
+ ACE_thread_t serverThr;
+ ACE_thread_t clientThr;
+
+ ACE_Thread_Manager::instance()->spawn(start_server,
+ (void*)&amh_server,
+ THR_NEW_LWP | THR_JOINABLE,
+ &serverThr
+ );
+
+ ACE_Thread_Manager::instance()->spawn(start_client,
+ (void*)roundtrip.in (),
+ THR_NEW_LWP | THR_JOINABLE,
+ &clientThr
+ );
+
+ ACE_Thread_Manager::instance()->join(clientThr);
+ printf("End client\n");
+ ACE_Thread_Manager::instance()->join(serverThr);
+ printf("End server\n");
+
+ orb->destroy();
+ ACE_TRY_CHECK;
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_2349_Regression/client.cpp b/TAO/tests/Bug_2349_Regression/client.cpp
new file mode 100644
index 00000000000..c4a618f29f2
--- /dev/null
+++ b/TAO/tests/Bug_2349_Regression/client.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "fooC.h"
+#include "ace/Log_Msg.h"
+
+const char* ior = "file://server.ior";
+
+int
+main (int argc, char** argv)
+{
+ try
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+
+ CORBA::Object_var tmp = orb->string_to_object(ior);
+
+ foo_var server = foo::_narrow(tmp.in ());
+
+ if (CORBA::is_nil (server.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil foo reference <%s>\n",
+ ior),
+ 1);
+ }
+
+ server->destroy ();
+
+ server->shutdown ();
+
+ orb->destroy ();
+ }
+ catch (const CORBA::Exception& ex)
+ {
+ ex._tao_print_exception ("CORBA::Exception");
+ }
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_2349_Regression/foo.idl b/TAO/tests/Bug_2349_Regression/foo.idl
new file mode 100644
index 00000000000..a31000cea9f
--- /dev/null
+++ b/TAO/tests/Bug_2349_Regression/foo.idl
@@ -0,0 +1,8 @@
+// $Id$
+
+interface foo
+{
+ oneway void destroy ();
+
+ oneway void shutdown ();
+};
diff --git a/TAO/tests/Bug_2349_Regression/server.cpp b/TAO/tests/Bug_2349_Regression/server.cpp
new file mode 100644
index 00000000000..9e3b0abce15
--- /dev/null
+++ b/TAO/tests/Bug_2349_Regression/server.cpp
@@ -0,0 +1,115 @@
+// $Id$
+
+#include "fooS.h"
+#include "ace/OS_NS_stdio.h"
+
+const char* ior_output_file = "server.ior";
+
+class foo_i: public POA_foo
+{
+public:
+ foo_i (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb)) {
+ }
+
+ void shutdown ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void destroy ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ CORBA::ORB_var orb_;
+};
+
+void
+foo_i::shutdown ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown ();
+}
+
+void
+foo_i::destroy ()
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ bool expected_exception_raised = false;
+
+ ACE_TRY
+ {
+ // This should case an BAD_INV_ORDER exception
+ this->orb_->destroy ();
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCH (CORBA::BAD_INV_ORDER, ex)
+ {
+ if ((ex.minor() & 0xFFFU) == 3)
+ {
+ expected_exception_raised = true;
+ }
+ }
+ ACE_ENDTRY;
+
+ if (!expected_exception_raised)
+ ACE_ERROR ((LM_ERROR, "ERROR: Caught incorrect exception\n"));
+ else
+ ACE_DEBUG ((LM_DEBUG, "Caught correct exception\n"));
+}
+
+
+int
+main (int argc, char** argv)
+{
+ try
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references("RootPOA");
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in ());
+
+ if (CORBA::is_nil (root_poa.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Panic: nil RootPOA\n"),
+ 1);
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager ();
+
+ foo_i* server_impl = 0;
+ ACE_NEW_RETURN (server_impl,
+ foo_i (orb.in ()),
+ 1);
+ PortableServer::ServantBase_var owner_transfer(server_impl);
+
+ foo_var server = server_impl->_this ();
+
+ CORBA::String_var ior =
+ orb->object_to_string (server.in ());
+
+ // Output the IOR to the <ior_output_file>
+ FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ ior_output_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ poa_manager->activate ();
+
+ orb->run ();
+
+ root_poa->destroy (1, 1);
+ orb->destroy ();
+ }
+ catch (const CORBA::Exception& ex)
+ {
+ ex._tao_print_exception ("CORBA::Exception");
+ }
+
+ return 0;
+}
diff --git a/TAO/tests/Bug_2503_Regression/Bug_2503_Regression.mpc b/TAO/tests/Bug_2503_Regression/Bug_2503_Regression.mpc
new file mode 100644
index 00000000000..8541c4b3c74
--- /dev/null
+++ b/TAO/tests/Bug_2503_Regression/Bug_2503_Regression.mpc
@@ -0,0 +1,20 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): messaging, taoserver, exceptions, ami {
+ Source_Files {
+ test_i.cpp
+ common.cpp
+ server.cpp
+ }
+}
+
+project(*Client): messaging, taoexe, portableserver, exceptions, ami {
+ after += *Server
+ Source_Files {
+ test_i.cpp
+ common.cpp
+ client.cpp
+ }
+}
+
diff --git a/TAO/tests/Bug_2503_Regression/Test.idl b/TAO/tests/Bug_2503_Regression/Test.idl
new file mode 100644
index 00000000000..8e4193d12b7
--- /dev/null
+++ b/TAO/tests/Bug_2503_Regression/Test.idl
@@ -0,0 +1,6 @@
+// $Id$
+
+interface Test
+{
+ void the_operation(out long x);
+};
diff --git a/TAO/tests/Bug_2503_Regression/client.cpp b/TAO/tests/Bug_2503_Regression/client.cpp
new file mode 100644
index 00000000000..d7f3a8b5c9b
--- /dev/null
+++ b/TAO/tests/Bug_2503_Regression/client.cpp
@@ -0,0 +1,92 @@
+// $Id$
+
+#include "test_i.h"
+#include "common.h"
+#include "ace/Get_Opt.h"
+
+void parse_args(int argc, char * argv[]);
+void test_remote_calls(CORBA::ORB_ptr orb);
+void test_colocated_calls(CORBA::ORB_ptr orb);
+
+int
+main(int argc, char * argv[])
+{
+ try
+ {
+ CORBA::ORB_var orb = initialize_orb_and_poa(argc, argv);
+
+ parse_args(argc, argv);
+
+ test_remote_calls(orb.in());
+ test_colocated_calls(orb.in());
+ }
+ catch(...)
+ {
+ report_exception();
+ return 1;
+ }
+
+ return 0;
+}
+
+const char *ior_argument = "file://test.ior";
+int niterations = 100;
+
+void
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:i:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'k':
+ ior_argument = get_opts.opt_arg ();
+ break;
+
+ case 'i':
+ niterations = ACE_OS::atoi (get_opts.opt_arg ());
+ break;
+
+ case '?':
+ default:
+ throw "Usage: [-k ior] [-i iteration_count]";
+ }
+ }
+}
+
+void test_impl(
+ CORBA::ORB_ptr orb,
+ char const * ior)
+{
+ CORBA::Object_var object = orb->string_to_object(ior);
+ Test_var test = Test::_narrow(object.in());
+
+ if(CORBA::is_nil(test.in()))
+ {
+ throw "Nil reference after narrow";
+ }
+
+ for(int i = 0; i != niterations; ++i)
+ {
+ test->sendc_the_operation(AMI_TestHandler::_nil());
+ }
+
+ ACE_Time_Value wait_for_responses_interval(1, 0);
+ orb->run(wait_for_responses_interval);
+}
+
+void test_remote_calls(CORBA::ORB_ptr orb)
+{
+ test_impl(orb, ior_argument);
+}
+
+void test_colocated_calls(CORBA::ORB_ptr orb)
+{
+ CORBA::String_var ior =
+ test_i::create_and_activate_server(orb);
+
+ test_impl(orb, ior.in());
+}
diff --git a/TAO/tests/Bug_2503_Regression/common.cpp b/TAO/tests/Bug_2503_Regression/common.cpp
new file mode 100644
index 00000000000..c295a6eb141
--- /dev/null
+++ b/TAO/tests/Bug_2503_Regression/common.cpp
@@ -0,0 +1,45 @@
+// $Id$
+
+#include "common.h"
+#include "tao/PortableServer/PortableServer.h"
+
+CORBA::ORB_ptr
+initialize_orb_and_poa(int & argc, char * argv[])
+{
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "");
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references("RootPOA");
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in ());
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager ();
+
+ poa_manager->activate ();
+
+ return orb._retn();
+}
+
+void report_exception()
+{
+ try
+ {
+ throw;
+ }
+ catch(CORBA::Exception & ex)
+ {
+ ACE_PRINT_EXCEPTION (ex, "CORBA Exception raised:");
+ }
+ catch(char const * msg)
+ {
+ ACE_ERROR ((LM_ERROR, "Exception (char const*) raised: %s\n",
+ msg));
+ }
+ catch(...)
+ {
+ ACE_ERROR ((LM_ERROR, "Unknown exception raised\n"));
+ }
+}
diff --git a/TAO/tests/Bug_2503_Regression/common.h b/TAO/tests/Bug_2503_Regression/common.h
new file mode 100644
index 00000000000..f4c08c7035f
--- /dev/null
+++ b/TAO/tests/Bug_2503_Regression/common.h
@@ -0,0 +1,12 @@
+// $Id$
+
+#ifndef common_h
+#define common_h
+
+#include "tao/ORB.h"
+
+CORBA::ORB_ptr initialize_orb_and_poa(int & argc, char * argv[]);
+void report_exception();
+
+#endif // common_h
+
diff --git a/TAO/tests/Bug_2503_Regression/run_test.pl b/TAO/tests/Bug_2503_Regression/run_test.pl
new file mode 100755
index 00000000000..8df523760ef
--- /dev/null
+++ b/TAO/tests/Bug_2503_Regression/run_test.pl
@@ -0,0 +1,54 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+$status = 0;
+
+$iorfile = PerlACE::LocalFile ("server.ior");
+unlink $iorfile;
+
+if (PerlACE::is_vxworks_test()) {
+ $SV = new PerlACE::ProcessVX ("server", "-o server.ior");
+}
+else {
+ $SV = new PerlACE::Process ("server", "-o $iorfile");
+}
+$CL = new PerlACE::Process ("client", " -k file://$iorfile -ORBDebugLevel 10");
+
+$server = $SV->Spawn ();
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ exit 1;
+}
+
+if (PerlACE::waitforfile_timed ($iorfile,
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR "ERROR: cannot find file <$iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->WaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+
+exit $status;
diff --git a/TAO/tests/Bug_2503_Regression/server.cpp b/TAO/tests/Bug_2503_Regression/server.cpp
new file mode 100644
index 00000000000..7ffeceb406e
--- /dev/null
+++ b/TAO/tests/Bug_2503_Regression/server.cpp
@@ -0,0 +1,77 @@
+// $Id$
+
+#include "test_i.h"
+#include "common.h"
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+
+void parse_args(int argc, char * argv[]);
+void write_ior_to_file(char const * ior);
+
+int
+main(int argc, char * argv[])
+{
+ try
+ {
+ CORBA::ORB_var orb = initialize_orb_and_poa(argc, argv);
+
+ parse_args(argc, argv);
+
+ CORBA::String_var ior =
+ test_i::create_and_activate_server(orb.in());
+
+ write_ior_to_file(ior.in());
+
+ ACE_Time_Value timeout (10, 0);
+ orb->run(timeout);
+ }
+ catch(...)
+ {
+ report_exception();
+ return 1;
+ }
+ return 0;
+}
+
+namespace
+{
+const char *ior_output_file = "test.ior";
+}
+
+void
+parse_args(int argc, char * argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ throw "Usage: server [-o iorfile]\n";
+ }
+ }
+}
+
+void write_ior_to_file(char const * ior)
+{
+ if (ior_output_file == 0)
+ {
+ return;
+ }
+
+ FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
+ if (output_file == 0)
+ {
+ throw "Cannot open output file to write the IOR";
+ }
+
+ ACE_OS::fprintf (output_file, "%s", ior);
+ ACE_OS::fclose (output_file);
+}
diff --git a/TAO/tests/Bug_2503_Regression/test_i.cpp b/TAO/tests/Bug_2503_Regression/test_i.cpp
new file mode 100644
index 00000000000..eabea6fb241
--- /dev/null
+++ b/TAO/tests/Bug_2503_Regression/test_i.cpp
@@ -0,0 +1,28 @@
+// $Id$
+
+#include "test_i.h"
+
+#include "tao/Utils/Servant_Var.h"
+
+test_i::
+test_i()
+{
+}
+
+void test_i::
+the_operation(CORBA::Long & x)
+ throw(CORBA::SystemException)
+{
+ x = 42;
+}
+
+char * test_i::
+create_and_activate_server(CORBA::ORB_ptr orb)
+{
+ TAO::Utils::Servant_Var<test_i> impl(
+ new test_i);
+
+ Test_var ref = impl->_this();
+
+ return orb->object_to_string(ref.in());
+}
diff --git a/TAO/tests/Bug_2503_Regression/test_i.h b/TAO/tests/Bug_2503_Regression/test_i.h
new file mode 100644
index 00000000000..e90082479f9
--- /dev/null
+++ b/TAO/tests/Bug_2503_Regression/test_i.h
@@ -0,0 +1,20 @@
+// $Id$
+
+#ifndef test_i_h
+#define test_i_h
+
+#include "TestS.h"
+
+class test_i
+ : public POA_Test
+{
+public:
+ test_i();
+
+ virtual void the_operation(CORBA::Long & x)
+ throw(CORBA::SystemException);
+
+ static char * create_and_activate_server(CORBA::ORB_ptr);
+};
+
+#endif // test_i_h
diff --git a/TAO/tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_ClientEngine.cpp b/TAO/tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_ClientEngine.cpp
new file mode 100644
index 00000000000..a928eb12169
--- /dev/null
+++ b/TAO/tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B_ClientEngine.cpp
@@ -0,0 +1,209 @@
+// $Id$
+#include "Foo_B_ClientEngine.h"
+#include "Callback_i.h"
+#include "Foo_B_Statistics.h"
+#include "TestAppExceptionC.h"
+#include "AppHelper.h"
+#include "ace/Log_Msg.h"
+#include "ace/OS.h"
+
+const char* ONEWAY_ARG_TEST_STR = "TEST";
+
+Foo_B_ClientEngine::Foo_B_ClientEngine(Foo_B_ptr obj,
+ Callback_ptr callback,
+ unsigned client_id,
+ bool collocated)
+ : obj_(Foo_B::_duplicate(obj)),
+ callback_(Callback::_duplicate(callback)),
+ client_id_(client_id),
+ collocated_(collocated)
+{
+}
+
+
+Foo_B_ClientEngine::~Foo_B_ClientEngine()
+{
+}
+
+
+bool
+Foo_B_ClientEngine::execute(ACE_ENV_SINGLE_ARG_DECL)
+{
+ // Make sure the connection is established before making
+ // remote invocations.
+ if (AppHelper::validate_connection (this->obj_.in ()) == false)
+ {
+ ACE_ERROR((LM_ERROR, "(%P|%t)Foo_A_ClientEngine::execute " \
+ "client %d connect failed.\n", this->client_id_));
+ return false;
+ }
+
+ // Verify the return values and return the results.
+ bool check_validity = true;
+
+ this->obj_->op1(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ this->obj_->op2(this->client_id_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ CORBA::Long value = this->obj_->op3(this->client_id_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ if (value != static_cast<CORBA::Long>(this->client_id_))
+ {
+ check_validity = false;
+ }
+
+ for (CORBA::ULong j = 1; j <= 5; j++)
+ {
+ this->obj_->op4(495 + (this->client_id_ * 5) + j ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+ }
+
+ bool caught_exception = false;
+
+ ACE_TRY
+ {
+ this->obj_->op5(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCH (FooException, ex)
+ {
+ // Expected
+ caught_exception = true;
+ }
+ ACE_ENDTRY;
+
+ if (! caught_exception)
+ {
+ check_validity = false;
+ }
+
+ TimeOfDay t;
+ t.hour = 12;
+ t.minute = 30;
+ t.second = 10;
+
+ char test_str [20];
+ ACE_OS::sprintf (test_str, "%d %s", this->client_id_, ONEWAY_ARG_TEST_STR);
+
+ char buffer [20];
+
+ // Two-Way calls with "inout" and fixed size "in" arguments.
+ CORBA::String_var message = CORBA::string_dup(test_str);
+
+ CORBA::Boolean result = this->obj_->op6( t, message.inout() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ ACE_UNUSED_ARG(result);
+
+ ACE_OS::sprintf (buffer, "%d %s %d:%d:%d", this->client_id_, ONEWAY_ARG_TEST_STR,
+ t.hour, t.minute, t.second);
+
+ if (ACE_OS::strncmp (message.in (), buffer, ACE_OS::strlen (buffer)) != 0)
+ {
+ check_validity = false;
+ }
+
+ // Callback test.
+ this->obj_->op7 (this->callback_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ // One-Way calls with various arguments.
+ CORBA::String_var ub_string = CORBA::string_dup( test_str );
+ this->obj_->test_unbounded_string_arg (ub_string.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ CORBA::String_var bd_string = CORBA::string_dup( test_str );
+ this->obj_->test_bounded_string_arg (bd_string.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ Fixed_Array fixed_array;
+
+ for (CORBA::ULong m = 0 ; m < 20; m ++)
+ {
+ fixed_array[m] = this->client_id_ + m;
+ }
+
+ this->obj_->test_fixed_array_arg (fixed_array ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ Var_Array var_array;
+
+ for (CORBA::ULong k = 0; k < 3; k++)
+ {
+ ACE_OS::sprintf (buffer, "%d %s %d",
+ this->client_id_, ONEWAY_ARG_TEST_STR, k);
+ var_array[k] = CORBA::string_dup(buffer);
+ }
+
+ this->obj_->test_var_array_arg (var_array ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ Bounded_Var_Size_var bd_var_size_string = new Bounded_Var_Size();
+
+ bd_var_size_string->replace (ACE_OS::strlen (test_str) + 1,
+ test_str);
+ this->obj_->test_bounded_var_size_arg (bd_var_size_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ Unbounded_Var_Size_var ub_var_size_string = new Unbounded_Var_Size(100);
+ ub_var_size_string->replace (ub_var_size_string->maximum (),
+ ACE_OS::strlen (test_str) + 1,
+ test_str);
+ this->obj_->test_unbounded_var_size_arg (ub_var_size_string.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ this->obj_->test_fixed_size_arg (t ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ this->obj_->test_special_basic_arg (this->client_id_ % 2,
+ this->client_id_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ this->obj_->test_objref_arg (this->callback_.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ // Sleep for 5 seconds before invoking done().
+ // This is a workaround with the problem that some oneway requests lost
+ // when the server has multiple orb threads.
+ ACE_OS::sleep (5);
+ this->obj_->done(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (false);
+
+ return check_validity;
+}
+
+
+void
+Foo_B_ClientEngine::expected_results(Foo_B_Statistics& stats)
+{
+ stats.expected(1, 1, Foo_B_Statistics::FOO_B_STAT_NONE);
+ stats.expected(2, 1, Foo_B_Statistics::FOO_B_STAT_LONG);
+ stats.expected(3, 1, Foo_B_Statistics::FOO_B_STAT_LONG);
+ stats.expected(4, 5, Foo_B_Statistics::FOO_B_STAT_LONG);
+ stats.expected(5, 1, Foo_B_Statistics::FOO_B_STAT_NONE);
+ stats.expected(6, 1, Foo_B_Statistics::FOO_B_STAT_NONE);
+ stats.expected(7, 1, Foo_B_Statistics::FOO_B_STAT_NONE);
+ stats.expected(8, 1, Foo_B_Statistics::FOO_B_STAT_STRING);
+ stats.expected(9, 1, Foo_B_Statistics::FOO_B_STAT_STRING);
+ stats.expected(10, 1, Foo_B_Statistics::FOO_B_STAT_LONG);
+ stats.expected(11, 1, Foo_B_Statistics::FOO_B_STAT_STRING);
+ stats.expected(12, 1, Foo_B_Statistics::FOO_B_STAT_STRING);
+ stats.expected(13, 1, Foo_B_Statistics::FOO_B_STAT_NONE);
+ stats.expected(14, 1, Foo_B_Statistics::FOO_B_STAT_STRING);
+ stats.expected(15, 1, Foo_B_Statistics::FOO_B_STAT_NONE);
+ stats.expected(16, 1, Foo_B_Statistics::FOO_B_STAT_NONE);
+ stats.expected_callbacks (1);
+}
+
+
+unsigned
+Foo_B_ClientEngine::expected_callbacks ()
+{
+ return 1;
+}
diff --git a/TAO/tests/OBV/Simple/Client_i.cpp b/TAO/tests/OBV/Simple/Client_i.cpp
new file mode 100644
index 00000000000..c3548daf462
--- /dev/null
+++ b/TAO/tests/OBV/Simple/Client_i.cpp
@@ -0,0 +1,69 @@
+//$Id$
+
+#include "Client_i.h"
+#include "OBV_impl.h"
+
+#include "tao/ORB_Core.h"
+
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_sys_time.h"
+
+int
+Checkpoint_Client_i::run (const char *name,
+ int argc,
+ char *argv[])
+{
+ // Initialize the client (read ior...).
+ if (checkpoint.init (name,argc, argv) == -1)
+ return -1;
+
+ // Set random seed
+ ACE_Time_Value now (ACE_OS::gettimeofday ());
+ ACE_OS::srand ((unsigned int) now.sec () );
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
+ {
+ ACE_DEBUG ((LM_DEBUG, "Send some random events:\n"));
+
+ CORBA::Long value = 64;
+ Event_var t_e (static_cast<Event*> (new Event_impl (value)));
+ t_e->do_print ();
+ checkpoint->put_event (t_e ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ value = 34;
+ t_e = new Event_impl (value);
+ t_e->do_print ();
+ checkpoint->put_event (t_e ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (checkpoint.shutdown () == 1)
+ checkpoint->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"\n Exception in RMI");
+ return -1;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+// Constructor.
+Checkpoint_Client_i::Checkpoint_Client_i (void)
+{
+ //no-op
+}
+
+//Destructor.
+Checkpoint_Client_i::~Checkpoint_Client_i (void)
+{
+ //no-op
+}
+
diff --git a/TAO/tests/OBV/Simple/Client_i.h b/TAO/tests/OBV/Simple/Client_i.h
new file mode 100644
index 00000000000..5c705839530
--- /dev/null
+++ b/TAO/tests/OBV/Simple/Client_i.h
@@ -0,0 +1,56 @@
+// -*- C++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/examples/OBV/Typed_Events
+//
+// = FILENAME
+// Client_i.h
+//
+// = DESCRIPTION
+// This class is a template for a CORBA client.
+// run () sends some valuetypes to a server and
+// gets back a list of valuetypes.
+//
+// = AUTHOR
+//
+// Torsten Kuepper
+// based on the echo example
+// from code from Balachandran Natarajan <bala@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef ECHO_CLIENT_I_H
+#define ECHO_CLIENT_I_H
+
+#include "OBVC.h"
+#include "Simple_util.h"
+
+class Checkpoint_Client_i
+{
+ // = TITLE
+ // Checkpoint_Client interface subclass.
+ //
+ // = DESCRIPTION
+ // This class implements the interface between the interface
+ // objects and the client .
+public:
+ // = Initialization and termination methods.
+ Checkpoint_Client_i (void);
+ // Constructor
+
+ virtual ~Checkpoint_Client_i (void);
+ // Destructor
+
+ virtual int run (const char *,int, char** );
+ // Execute the methods
+
+private:
+ Client<Checkpoint, Checkpoint_var> checkpoint;
+ // Instantiate the checkpoint object.
+};
+
+
+#endif /* TIME_CLIENT_I_H */
diff --git a/TAO/tests/OBV/Simple/OBV.idl b/TAO/tests/OBV/Simple/OBV.idl
new file mode 100644
index 00000000000..f909dc25975
--- /dev/null
+++ b/TAO/tests/OBV/Simple/OBV.idl
@@ -0,0 +1,16 @@
+// $Id$
+
+valuetype Event
+{
+ void do_print ();
+ public long value_;
+};
+
+interface Checkpoint
+{
+ void put_event (in Event e);
+ // This operation will shutdown the server.
+ oneway void shutdown ();
+};
+
+
diff --git a/TAO/tests/OBV/Simple/OBV_Simple.mpc b/TAO/tests/OBV/Simple/OBV_Simple.mpc
new file mode 100644
index 00000000000..0e4105cb9e1
--- /dev/null
+++ b/TAO/tests/OBV/Simple/OBV_Simple.mpc
@@ -0,0 +1,37 @@
+// -*- MPC -*-
+// $Id$
+
+project(*IDL): taoidldefaults {
+ IDL_Files {
+ OBV.idl
+ }
+ custom_only = 1
+}
+
+project(*server): taoserver, utils, valuetype, minimum_corba {
+ exename = server
+ after += *IDL
+ Source_Files {
+ Server_i.cpp
+ OBV_impl.cpp
+ server.cpp
+ OBVS.cpp
+ OBVC.cpp
+ }
+ IDL_Files {
+ }
+}
+
+project(*client): taoserver, utils, valuetype, minimum_corba {
+ exename = client
+ after += *IDL
+ Source_Files {
+ Client_i.cpp
+ OBV_impl.cpp
+ client.cpp
+ OBVS.cpp
+ OBVC.cpp
+ }
+ IDL_Files {
+ }
+}
diff --git a/TAO/tests/OBV/Simple/OBV_impl.cpp b/TAO/tests/OBV/Simple/OBV_impl.cpp
new file mode 100644
index 00000000000..f55cee0af44
--- /dev/null
+++ b/TAO/tests/OBV/Simple/OBV_impl.cpp
@@ -0,0 +1,44 @@
+// $Id$
+
+#include "OBV_impl.h"
+#include "ace/OS_NS_sys_time.h"
+
+// Implementation of the valuetype member functions.
+
+Event_impl::Event_impl ()
+{
+}
+
+Event_impl::Event_impl (CORBA::Long value)
+{
+ this->value_ (value);
+}
+
+Event_impl::~Event_impl ()
+{
+}
+
+CORBA::ValueBase*
+Event_impl::_copy_value (void)
+{
+ return new Event_impl (this->value_ ());
+}
+
+
+void
+Event_impl::do_print (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ ACE_DEBUG((LM_DEBUG, "(value %d) \n",
+ (CORBA::ULong) this->value_()));
+}
+
+Event_factory::~Event_factory ()
+{
+}
+
+TAO_OBV_CREATE_RETURN_TYPE (Event)
+Event_factory::create_for_unmarshal (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+ return new Event_impl;
+}
+
diff --git a/TAO/tests/OBV/Simple/OBV_impl.h b/TAO/tests/OBV/Simple/OBV_impl.h
new file mode 100644
index 00000000000..1b619553402
--- /dev/null
+++ b/TAO/tests/OBV/Simple/OBV_impl.h
@@ -0,0 +1,39 @@
+// -*- C++ -*-
+// $Id$
+
+#if !defined (OBV_IMPL_H)
+#define OBV_IMPL_H
+
+#include "OBVC.h"
+
+#include "tao/Valuetype/ValueFactory.h"
+
+class Event_impl : public virtual OBV_Event,
+ public virtual CORBA::DefaultValueRefCountBase
+{
+ public:
+ Event_impl ();
+ Event_impl (CORBA::Long value);
+ virtual ~Event_impl ();
+ virtual CORBA::ValueBase* _copy_value (void);
+
+
+ virtual void do_print (ACE_ENV_SINGLE_ARG_DECL);
+};
+
+class Event_factory : public CORBA::ValueFactoryBase
+{
+public:
+
+ // create (...) would go here
+
+protected:
+
+ virtual ~Event_factory ();
+
+private:
+
+ TAO_OBV_CREATE_RETURN_TYPE (Event) create_for_unmarshal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+};
+
+#endif /* OBV_IMPL_H */
diff --git a/TAO/tests/OBV/Simple/Server_i.cpp b/TAO/tests/OBV/Simple/Server_i.cpp
new file mode 100644
index 00000000000..a429ce1bc3a
--- /dev/null
+++ b/TAO/tests/OBV/Simple/Server_i.cpp
@@ -0,0 +1,80 @@
+// $Id$
+
+#include "Server_i.h"
+#include "OBV_impl.h"
+#include "tao/ORB_Core.h"
+
+// Set the ORB pointer, register OBV factories and init the
+// lists declared above.
+
+void
+Checkpoint_i::orb (CORBA::ORB_ptr o)
+{
+ this->orb_ = CORBA::ORB::_duplicate (o);
+
+ TAO_OBV_REGISTER_FACTORY (Event_factory, Event);
+}
+
+
+// Sidebar on assignment from pointer to _var type.
+//
+// Event_var e_var (event);
+// This is fatal because the reference counter in *event is not increased
+// when a pointer is assigned to a _var. (This happens only
+// in assignments from another Event_var;
+// But Assignment from new is fine, the referencecount is yet one.)
+//
+// ok is
+// CORBA::add_ref (event);
+// Event_var e_var (event);
+//
+// but possibly easier to read it a macro
+#define DUP_REF(vt_ptr) (CORBA::add_ref (vt_ptr), vt_ptr)
+// then it reads: Event_var e_var (DUP_REF (event));
+// (But it may cause desaster if vt_ptr is a function call.)
+//
+// Be careful with assignments from T1_var to T2_var, if T1 and T2 are
+// related through inheritance. Because there are many implicit casts
+// between pointer and _var types possible, the reference counter of
+// the duplicated reference is not increased.
+//
+// Is there any general solution with faulty reference counting ?
+
+
+void
+Checkpoint_i::put_event (Event *event
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Let us see what event has arrived
+ event->do_print ();
+
+ return;
+}
+
+// Shutdown the server application.
+
+void
+Checkpoint_i::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "\n%s\n",
+ "The Checkpoint server is shutting down"));
+
+ // Instruct the ORB to shutdown.
+ this->orb_->shutdown ();
+}
+
+
+// Constructor.
+
+Checkpoint_i::Checkpoint_i (void)
+{
+}
+
+// Destructor.
+
+Checkpoint_i::~Checkpoint_i (void)
+{
+}
diff --git a/TAO/tests/OBV/Simple/Server_i.h b/TAO/tests/OBV/Simple/Server_i.h
new file mode 100644
index 00000000000..c1a026c25e2
--- /dev/null
+++ b/TAO/tests/OBV/Simple/Server_i.h
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/tests/OBV/Typed_Events
+//
+// = FILENAME
+// Server_i.h
+//
+// = DESCRIPTION
+// This class implements the Event_Types IDL interface.
+//
+// = AUTHOR
+// Torsten Kuepper
+// derived from the Echo example TAO/example/Simple/echo
+// of Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef ECHO_I_H
+#define ECHO_I_H
+
+#include "OBVS.h"
+
+
+class Checkpoint_i : public POA_Checkpoint
+{
+public:
+ // = Initialization and termination methods.
+ Checkpoint_i (void);
+ // Constructor.
+
+ ~Checkpoint_i (void);
+ // Destructor.
+
+ virtual void put_event (
+ Event * e
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void shutdown (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ void orb (CORBA::ORB_ptr o);
+ // Set the ORB pointer.
+
+private:
+ CORBA::ORB_var orb_;
+ // ORB pointer.
+};
+
+#endif /* ECHO_I_H */
+
diff --git a/TAO/tests/OBV/Simple/Simple_util.cpp b/TAO/tests/OBV/Simple/Simple_util.cpp
new file mode 100644
index 00000000000..979bc54cc79
--- /dev/null
+++ b/TAO/tests/OBV/Simple/Simple_util.cpp
@@ -0,0 +1,317 @@
+// $Id$
+
+// This version of Simple_Util doesn't need to link against orbsvcs
+// On the other hand it has no naming service.
+
+#ifndef SIMPLE_UTIL_C
+#define SIMPLE_UTIL_C
+# include "Simple_util.h"
+# include "tao/debug.h"
+# include "ace/OS_NS_stdio.h"
+# include "ace/OS_NS_fcntl.h"
+# include "ace/OS_NS_unistd.h"
+# include "ace/OS_NS_string.h"
+
+// Constructor.
+
+template <class Servant>
+Server<Servant>::Server (void)
+ : ior_output_file_ (0)
+{
+ // no-op.
+}
+
+// Destructor.
+
+template <class Servant>
+Server<Servant>::~Server (void)
+{
+}
+
+// Parse the command-line arguments and set options.
+
+template <class Servant> int
+Server<Servant>::parse_args (void)
+{
+ ACE_Get_Opt get_opts (this->argc_, this->argv_, "do:ni:");
+ int c = 0;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'd': // debug flag.
+ TAO_debug_level++;
+ break;
+ case 'o': // output the IOR to a file.
+ this->ior_output_file_ = ACE_OS::fopen (get_opts.opt_arg (), "w");
+ if (this->ior_output_file_ == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to open %s for writing: %p\n",
+ get_opts.opt_arg ()), -1);
+ break;
+
+ case '?': // display help for use of the server.
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s"
+ " [-d]"
+ " [-o] <ior_output_file>"
+ "\n",
+ argv_ [0]),
+ -1);
+ }
+
+ // Indicates successful parsing of command line.
+ return 0;
+}
+
+// Initialize the server.
+template <class Servant> int
+Server<Servant>::init (const char *servant_name,
+ int argc,
+ char *argv[]
+ ACE_ENV_ARG_DECL)
+{
+ // Call the init of <TAO_ORB_Manager> to initialize the ORB and
+ // create a child POA under the root POA.
+ if (this->orb_manager_.init_child_poa (argc,
+ argv,
+ "child_poa"
+ ACE_ENV_ARG_PARAMETER) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p\n",
+ "init_child_poa"),
+ -1);
+
+ ACE_CHECK_RETURN (-1);
+
+ this->argc_ = argc;
+ this->argv_ = argv;
+
+ int retval = this->parse_args ();
+
+ if (retval != 0)
+ return retval;
+
+ CORBA::ORB_var orb = this->orb_manager_.orb ();
+
+ // Stash our ORB pointer for later reference.
+ this->servant_.orb (orb.in ());
+
+ // Activate the servant in its own child POA.
+
+ // Make sure that you check for failures here via the ACE_TRY
+ // macros?!
+ ACE_TRY
+ {
+ CORBA::String_var str =
+ this->orb_manager_.activate_under_child_poa (servant_name,
+ &this->servant_
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "The IOR is: <%s>\n",
+ str.in ()));
+
+ if (this->ior_output_file_)
+ {
+ ACE_OS::fprintf (this->ior_output_file_,
+ "%s",
+ str.in ());
+ ACE_OS::fclose (this->ior_output_file_);
+ }
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception in activation of POA");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
+
+template <class Servant>int
+Server<Servant>::run (ACE_ENV_SINGLE_ARG_DECL)
+{
+ // Run the main event loop for the ORB.
+ if (this->orb_manager_.run (ACE_ENV_SINGLE_ARG_PARAMETER) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Server_i::run"),
+ -1);
+
+ return 0;
+}
+
+template <class Servant> int
+Server<Servant>::register_name (void)
+{
+ return -1;
+}
+
+// Constructor.
+
+template <class InterfaceObj, class Var>
+Client<InterfaceObj, Var>::Client (void)
+ : ior_ (0)
+{
+ //no-op
+}
+
+// Reads the Server ior from a file
+
+template <class InterfaceObj, class Var> int
+Client<InterfaceObj, Var>::read_ior (char *filename)
+{
+ // Open the file for reading.
+ ACE_HANDLE f_handle = ACE_OS::open (filename, 0);
+
+ if (f_handle == ACE_INVALID_HANDLE)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to open %s for writing: %p\n",
+ filename),
+ -1);
+
+ ACE_Read_Buffer ior_buffer (f_handle);
+ char *data = ior_buffer.read ();
+
+ if (data == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to read ior: %p\n"),
+ -1);
+
+ this->ior_ = ACE_OS::strdup (data);
+ ior_buffer.alloc ()->free (data);
+
+ ACE_OS::close (f_handle);
+
+ return 0;
+}
+
+// Parses the command line arguments and returns an error status.
+
+template <class InterfaceObj, class Var> int
+Client<InterfaceObj, Var>::parse_args (void)
+{
+ ACE_Get_Opt get_opts (argc_, argv_, "df:nk:x");
+ int c = 0;
+ int result = 0;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'd': // debug flag
+ TAO_debug_level++;
+ break;
+ case 'k': // ior provide on command line
+ this->ior_ = ACE_OS::strdup (get_opts.opt_arg ());
+ break;
+ case 'f': // read the IOR from the file.
+ result = this->read_ior (get_opts.opt_arg ());
+ if (result < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to read ior from %s : %p\n",
+ get_opts.opt_arg ()),
+ -1);
+ break;
+ case 'x': // read the flag for shutting down
+ this->shutdown_ = 1;
+ break;
+ }
+
+ // Indicates successful parsing of command line.
+ return 0;
+}
+
+template <class InterfaceObj, class Var>
+Client<InterfaceObj, Var>::~Client (void)
+{
+ ACE_OS::free (this->ior_);
+}
+
+template <class InterfaceObj, class Var> int
+Client<InterfaceObj, Var>::init (const char *name,
+ int argc,
+ char **argv)
+{
+ this->argc_ = argc;
+ this->argv_ = argv;
+
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
+ {
+ // Retrieve the ORB.
+ this->orb_ = CORBA::ORB_init (this->argc_,
+ this->argv_,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Parse command line and verify parameters.
+ if (this->parse_args () == -1)
+ return -1;
+
+
+
+ if(this->ior_ != 0)
+ {
+ CORBA::Object_var server_object =
+ this->orb_->string_to_object (this->ior_ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+
+ if (CORBA::is_nil (server_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "invalid ior <%s>\n",
+ this->ior_),
+ -1);
+ this->server_ = InterfaceObj::_narrow (server_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "no ior or naming options specified\n"),
+ -1);
+
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Client_i::init");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+
+ return 0;
+}
+
+
+template <class InterfaceObj, class Var> int
+Client<InterfaceObj, Var>::obtain_initial_references (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+{
+
+ return 0;
+}
+
+template <class InterfaceObj, class Var> int
+Client<InterfaceObj, Var>::shutdown (void )
+{
+ // Returns the shutdwon flag
+ return shutdown_;
+}
+
+template <class InterfaceObj, class Var> void
+Client<InterfaceObj, Var>::shutdown (int flag)
+{
+ // Fills the flag
+ shutdown_ = flag;
+}
+
+#endif
diff --git a/TAO/tests/OBV/Simple/Simple_util.h b/TAO/tests/OBV/Simple/Simple_util.h
new file mode 100644
index 00000000000..380dc749dc6
--- /dev/null
+++ b/TAO/tests/OBV/Simple/Simple_util.h
@@ -0,0 +1,170 @@
+//$Id$
+
+// This version of Simple_Util doesn't need to link against orbsvcs
+// On the other hand it has no naming service.
+
+// ============================================================================
+//
+// = LIBRARY
+//
+// taken from TAO/tests/Simple
+//
+// = FILENAME
+// Simple_Util.h
+//
+// = DESCRIPTION
+// The classe define the templates for the client and server.
+//
+// = AUTHOR
+// Balachandran Natarajan <bala@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_UTIL_H
+#define TAO_UTIL_H
+
+#include "tao/Utils/ORB_Manager.h"
+
+#include "ace/Get_Opt.h"
+#include "ace/Read_Buffer.h"
+
+template <class Servant>
+class Server
+{
+ // = TITLE
+ // A set of useful class Templates for using the TAO CORBA
+ // implementation.
+ //
+ // = DESCRIPTION
+ // A template server definition. This template can be used by
+ // single server/client projects for defintion of their
+ // server/clients. See the directories time, bank, echo for
+ // further details of implemenatation.
+public:
+ // = Initialization and termination methods.
+
+ Server (void);
+ // Constructor.
+
+ ~Server (void);
+ // Destructor.
+
+ int init (const char *servant_name,
+ int argc,
+ char *argv[]
+ ACE_ENV_ARG_DECL);
+ // Initialize the Server state - parsing arguments and waiting.
+ // interface_name is the name used to register the Servant.
+
+ int register_name (void);
+ // After calling <init>, this method will register the server with
+ // the TAO Naming Service using the servant_name passed to <init>.
+
+ int run (ACE_ENV_SINGLE_ARG_DECL);
+ // Run the orb.
+
+protected:
+ Servant servant_;
+ // Servant class
+
+ const char *name;
+ // name of the servant to be used for TAO Naming Service
+
+ int parse_args (void);
+ // Parses the commandline arguments.
+
+ TAO_ORB_Manager orb_manager_;
+ // The ORB manager - a helper class for accessing the POA and
+ // registering objects.
+
+ // TAO_Naming_Server namingServer;
+ // helper class for getting access to Naming Service.
+
+ FILE *ior_output_file_;
+ // File where the IOR of the server object is stored.
+
+ int argc_;
+ // Number of command line arguments.
+
+ char **argv_;
+ // The command line arguments.
+};
+
+template <class InterfaceObj, class Var>
+class Client
+{
+ // = TITLE
+ // Template Client class
+ //
+ // = DESCRIPTION
+ // A template client implementation for a single server/client
+ // model. The example usage of these usage can be found in the
+ // sub-directories below
+public:
+
+ // = Initialization and termination methods.
+ Client (void);
+ // Constructor.
+
+ ~Client (void);
+ // Destructor.
+
+ int init (const char *name,int argc, char *argv[]);
+ // Initialize the client communication endpoint with server.
+
+ InterfaceObj *operator-> () { return server_.in ();};
+ // Return the interface object pointer.
+
+ int shutdown (void );
+ // Returns the shutdown flag.
+
+ void shutdown (int);
+ // Fills in the shutdwon flag.
+
+ int obtain_initial_references (ACE_ENV_SINGLE_ARG_DECL);
+ // Initialize naming service
+
+protected:
+ int read_ior (char *filename);
+ // Function to read the server IOR from a file.
+
+ int parse_args (void);
+ // Parses the arguments passed on the command line.
+
+// TAO_Naming_Client namingClient;
+ // helper class for getting access to Naming Service.
+
+ int argc_;
+ // # of arguments on the command line.
+
+ char **argv_;
+ // arguments from command line.
+
+ char *ior_;
+ // IOR of the obj ref of the server.
+
+ char *name_;
+ // Name to be usred for the naming service
+
+ CORBA::ORB_var orb_;
+ // Remember our orb.
+
+ Var server_;
+ // Server object
+
+ int naming_;
+ // Flag to use the naming service
+
+ int shutdown_;
+ // Flag for shutting down the server
+
+};
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "Simple_util.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("Simple_util.cpp")
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
+#endif /* TAO_UTIL_H */
diff --git a/TAO/tests/OBV/Simple/client.cpp b/TAO/tests/OBV/Simple/client.cpp
new file mode 100644
index 00000000000..d4e502a26bd
--- /dev/null
+++ b/TAO/tests/OBV/Simple/client.cpp
@@ -0,0 +1,23 @@
+//$Id$
+
+# include "Client_i.h"
+
+// The client program for the application.
+
+int
+main (int argc, char **argv)
+{
+ Checkpoint_Client_i client;
+
+
+ ACE_DEBUG ((LM_DEBUG,
+ "\nEvent_Types client\n\n"));
+
+ if (client.run ("Event_Types_Checkpoint",
+ argc,
+ argv) == -1)
+ return -1;
+ else
+ return 0;
+
+}
diff --git a/TAO/tests/OBV/Simple/run_test.pl b/TAO/tests/OBV/Simple/run_test.pl
new file mode 100755
index 00000000000..3a125c5703c
--- /dev/null
+++ b/TAO/tests/OBV/Simple/run_test.pl
@@ -0,0 +1,44 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "../../../../bin";
+use PerlACE::Run_Test;
+
+$status = 0;
+
+$iorfile = PerlACE::LocalFile ("obv.ior");
+
+unlink $iorfile;
+
+$SV = new PerlACE::Process ("server", "-o $iorfile");
+$CL = new PerlACE::Process ("client", "-f $iorfile");
+
+$SV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile, 15) == -1) {
+ print STDERR "ERROR: timed out waiting for file <$iorfile>\n";
+ $SV->Kill ();
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "ERROR: the client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->TerminateWaitKill (5);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+
+exit $status;
diff --git a/TAO/tests/OBV/Simple/server.cpp b/TAO/tests/OBV/Simple/server.cpp
new file mode 100644
index 00000000000..c5f5140f307
--- /dev/null
+++ b/TAO/tests/OBV/Simple/server.cpp
@@ -0,0 +1,44 @@
+// $Id$
+#include "Simple_util.h"
+#include "Server_i.h"
+
+// This is the main driver program for the time and date server.
+
+int
+main (int argc, char *argv[])
+{
+ Server<Checkpoint_i> server;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "\n\tCheckpoint Event_Types server\n\n"));
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
+ {
+ if (server.init ("Event_Types_Checkpoint",
+ argc,
+ argv
+ ACE_ENV_ARG_PARAMETER) == -1)
+ return 1;
+ else
+ {
+ server.run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ }
+ ACE_CATCH (CORBA::SystemException, sysex)
+ {
+ ACE_PRINT_EXCEPTION (sysex, "System Exception");
+ return -1;
+ }
+ ACE_CATCH (CORBA::UserException, userex)
+ {
+ ACE_PRINT_EXCEPTION (userex, "User Exception");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
+
diff --git a/TAO/tests/OBV/Truncatable/OBV_Truncatable.mpc b/TAO/tests/OBV/Truncatable/OBV_Truncatable.mpc
new file mode 100644
index 00000000000..629bd43296d
--- /dev/null
+++ b/TAO/tests/OBV/Truncatable/OBV_Truncatable.mpc
@@ -0,0 +1,18 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoexe, portableserver, valuetype {
+ Source_Files {
+ TruncatableS_impl.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoexe, valuetype {
+ after += *Server
+ Source_Files {
+ TruncatableC.cpp
+ client.cpp
+ }
+}
+
diff --git a/TAO/tests/OBV/Truncatable/README b/TAO/tests/OBV/Truncatable/README
new file mode 100644
index 00000000000..74473f9019e
--- /dev/null
+++ b/TAO/tests/OBV/Truncatable/README
@@ -0,0 +1,20 @@
+/**
+
+@page OBV/Any Test README File
+
+ This test shows and verifies truncatable inheritence functionality.
+
+ To run the test either use the run_test.pl script:
+
+$ ./run_test.pl
+
+ or start the client and the server manually:
+
+$ server -o ior&
+$ client -k file://ior
+
+To get a detailed test report, run the server manually and then run the client as:
+$ client -v -k file://ior
+
+
+*/
diff --git a/TAO/tests/OBV/Truncatable/Truncatable.idl b/TAO/tests/OBV/Truncatable/Truncatable.idl
new file mode 100644
index 00000000000..46c894f4619
--- /dev/null
+++ b/TAO/tests/OBV/Truncatable/Truncatable.idl
@@ -0,0 +1,100 @@
+// $Id$
+
+//
+// This file contains few valuetypes to show and test truncatable feature of
+// valuetype.
+//
+
+module OBV_TruncatableTest
+{
+ //
+ // Base valuetype.
+ //
+ valuetype BaseValue
+ {
+ public unsigned long basic_data;
+ };
+
+ //
+ // Valuetype with one-level truncatable inheritence.
+ //
+ valuetype TValue1 : truncatable BaseValue
+ {
+ public unsigned long data1;
+ };
+
+ //
+ // Valuetype with multi-level truncatable inheritence.
+ //
+ valuetype TValue2 : truncatable TValue1
+ {
+ public unsigned long data2;
+ };
+
+ //
+ // Valuetype with multi-level inheritence, but not all truncatable.
+ //
+ valuetype TValue3 : TValue1
+ {
+ public unsigned long data3;
+ };
+
+ //
+ // An valuetype nested in a valuetype.
+ //
+ valuetype NestedValue
+ {
+ public long data;
+ };
+
+ //
+ // Truncatable valuetype with nested valuetype.
+ //
+ valuetype TValue4 : truncatable BaseValue
+ {
+ public NestedValue nv4;
+ public unsigned long data4;
+ };
+
+ //
+ // More complex truncatable valuetype.
+ //
+ valuetype TValue5 : truncatable TValue4
+ {
+ public string str1;
+ public unsigned long data5;
+ public NestedValue nv5;
+ public string str2;
+ };
+
+ //
+ // No data valuetype with truncatable parent.
+ valuetype TValue6 : truncatable BaseValue
+ {
+ };
+
+ //
+ // Interface to pass valuetypes.
+ //
+ interface Test
+ {
+
+ //NOTE: the "desc" parameter helps verify that truncated values are skipped properly.
+ // the output is "<id>: <input desc>"
+ void op1 (in string id, in BaseValue iv, out BaseValue ov, inout string desc);
+ void op2 (in TValue1 iv, in string id, out TValue1 ov, inout string desc);
+ void op3 (in string id, in TValue4 iv, out TValue4 ov, inout string desc);
+ BaseValue op4 (in string id,
+ in TValue1 iv1,
+ in short x,
+ in TValue4 iv2,
+ in TValue4 iv3,
+ in TValue1 iv4,
+ inout string desc);
+
+ // Shutdown the romote ORB
+ oneway void shutdown ();
+
+ };
+
+};
diff --git a/TAO/tests/OBV/Truncatable/TruncatableS_impl.cpp b/TAO/tests/OBV/Truncatable/TruncatableS_impl.cpp
new file mode 100644
index 00000000000..2316be3f75f
--- /dev/null
+++ b/TAO/tests/OBV/Truncatable/TruncatableS_impl.cpp
@@ -0,0 +1,140 @@
+// $Id$
+
+#include "TruncatableS_impl.h"
+#include "ace/OS_NS_stdio.h"
+
+ACE_RCSID(Truncatable, TruncatableS_impl, "$Id$")
+
+Test_impl::Test_impl (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+void
+Test_impl::op1 (
+ const char * id,
+ ::OBV_TruncatableTest::BaseValue * iv,
+ ::OBV_TruncatableTest::BaseValue_out ov,
+ char *& desc
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ if (TAO_debug_level > 0)
+ ACE_DEBUG((LM_DEBUG, "(%P|%t)Test_impl::op1 id=%s basic_data=%u desc=%s \n",
+ id, iv->basic_data (), desc));
+
+ char *tmp = CORBA::string_alloc (ACE_OS::strlen (id) + ACE_OS::strlen (desc) + 2);
+ ACE_OS::sprintf (tmp, "%s: %s", id, desc);
+ CORBA::string_free (desc);
+ desc = tmp;
+
+ ov = new ::OBV_OBV_TruncatableTest::BaseValue();
+ ov->basic_data (iv->basic_data());
+ }
+
+
+void
+Test_impl::op2 (
+ ::OBV_TruncatableTest::TValue1 * iv,
+ const char * id,
+ ::OBV_TruncatableTest::TValue1_out ov,
+ char *& desc
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ if (TAO_debug_level > 0)
+ ACE_DEBUG((LM_DEBUG, "(%P|%t)Test_impl::op2 id=%s basic_data=%u data1=%u desc=%s \n",
+ id, iv->basic_data (), iv->data1 (), desc));
+ char *tmp = CORBA::string_alloc (ACE_OS::strlen (id) + ACE_OS::strlen (desc) + 2);
+ ACE_OS::sprintf (tmp, "%s: %s", id, desc);
+ CORBA::string_free (desc);
+ desc = tmp;
+
+ ov = new ::OBV_OBV_TruncatableTest::TValue1();
+ ov->basic_data (iv->basic_data());
+ ov->data1 (iv->data1());
+}
+
+
+void
+Test_impl::op3 (
+ const char * id,
+ ::OBV_TruncatableTest::TValue4 * iv,
+ ::OBV_TruncatableTest::TValue4_out ov,
+ char *& desc
+ ACE_ENV_ARG_DECL
+)
+ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+))
+{
+ if (TAO_debug_level > 0)
+ ACE_DEBUG((LM_DEBUG, "(%P|%t)Test_impl::op3 id=%s basic_data=%u data=%u data4=%u desc=%s \n",
+ id, iv->basic_data (), iv->nv4()->data (), iv->data4 (), desc));
+
+ char *tmp = CORBA::string_alloc (ACE_OS::strlen (id) + ACE_OS::strlen (desc) + 2);
+ ACE_OS::sprintf (tmp, "%s: %s", id, desc);
+ CORBA::string_free (desc);
+ desc = tmp;
+
+ ov = new ::OBV_OBV_TruncatableTest::TValue4();
+ ::OBV_OBV_TruncatableTest::NestedValue* nv = new ::OBV_OBV_TruncatableTest::NestedValue();
+ nv->data (iv->nv4()->data ());
+ ov->basic_data (iv->basic_data());
+ ov->nv4 (nv);
+ ov->data4 (iv->data4());
+}
+
+
+::OBV_TruncatableTest::BaseValue *
+Test_impl::op4 (
+ const char * id,
+ ::OBV_TruncatableTest::TValue1 * iv1,
+ ::CORBA::Short x,
+ ::OBV_TruncatableTest::TValue4 * iv2,
+ ::OBV_TruncatableTest::TValue4 * iv3,
+ ::OBV_TruncatableTest::TValue1 * iv4,
+ char *& desc
+ ACE_ENV_ARG_DECL
+ )
+ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ))
+{
+ if (TAO_debug_level > 0)
+ {
+ ACE_DEBUG((LM_DEBUG, "(%P|%t)Test_impl::op4 id=%s basic_data=%u data1=%u desc=%s \n",
+ id, iv1->basic_data (), iv1->data1 (), desc));
+ ACE_DEBUG((LM_DEBUG, "(%P|%t)Test_impl::op4 id=%s basic_data=%u data=%u data4=%u desc=%s \n",
+ id, iv2->basic_data (), iv2->nv4()->data (), iv2->data4 (), desc));
+ ACE_DEBUG((LM_DEBUG, "(%P|%t)Test_impl::op4 id=%s basic_data=%u data=%u data4=%u desc=%s \n",
+ id, iv3->basic_data (), iv3->nv4()->data (), iv3->data4 (), desc));
+ ACE_DEBUG((LM_DEBUG, "(%P|%t)Test_impl::op4 id=%s basic_data=%u data1=%u desc=%s \n",
+ id, iv4->basic_data (), iv4->data1 (), desc));
+ }
+
+ char *tmp = CORBA::string_alloc (ACE_OS::strlen (id) + ACE_OS::strlen (desc) + 2);
+ ACE_OS::sprintf (tmp, "%s: %s", id, desc);
+ CORBA::string_free (desc);
+ desc = tmp;
+
+ ::OBV_TruncatableTest::BaseValue * ov = new ::OBV_OBV_TruncatableTest::BaseValue();
+ CORBA::ULong total = x * (iv1->basic_data () + iv2->basic_data () + iv3->basic_data () + iv4->basic_data ());
+ ov->basic_data (total);
+
+ return ov;
+}
+
+
+void
+Test_impl::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/tests/OBV/Truncatable/TruncatableS_impl.h b/TAO/tests/OBV/Truncatable/TruncatableS_impl.h
new file mode 100644
index 00000000000..de45a9717e3
--- /dev/null
+++ b/TAO/tests/OBV/Truncatable/TruncatableS_impl.h
@@ -0,0 +1,89 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/tests/OBV/Truncatable
+//
+// = FILENAME
+// TruncatableS_impl.h
+//
+// = AUTHOR
+// Boris Kolpackov <bosk@ipmce.ru>
+//
+// ============================================================================
+
+#ifndef TAO_TRUNCATABLE_S_IMPL_H
+#define TAO_TRUNCATABLE_S_IMPL_H
+
+#include "TruncatableS.h"
+
+class Test_impl : public POA_OBV_TruncatableTest::Test
+{
+ // = TITLE
+ // Implementation of Test interface
+ //
+ // = DESCRIPTION
+ // This interface is provided to produce valuetypes and test
+ // marshaling
+ //
+public:
+ Test_impl (CORBA::ORB_ptr orb);
+ // ctor
+
+ virtual void op1 (
+ const char * id,
+ ::OBV_TruncatableTest::BaseValue * iv,
+ ::OBV_TruncatableTest::BaseValue_out ov,
+ char *& desc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ virtual void op2 (
+ ::OBV_TruncatableTest::TValue1 * iv,
+ const char * id,
+ ::OBV_TruncatableTest::TValue1_out ov,
+ char *& desc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ virtual void op3 (
+ const char * id,
+ ::OBV_TruncatableTest::TValue4 * iv,
+ ::OBV_TruncatableTest::TValue4_out ov,
+ char *& desc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ virtual ::OBV_TruncatableTest::BaseValue * op4 (
+ const char * id,
+ ::OBV_TruncatableTest::TValue1 * iv1,
+ ::CORBA::Short x,
+ ::OBV_TruncatableTest::TValue4 * iv2,
+ ::OBV_TruncatableTest::TValue4 * iv3,
+ ::OBV_TruncatableTest::TValue1 * iv4,
+ char *& desc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException
+ ));
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ CORBA::ORB_var orb_;
+ // The ORB
+};
+
+#endif /* TAO_TRUNCATABLE_S_IMPL_H */
diff --git a/TAO/tests/OBV/Truncatable/client.cpp b/TAO/tests/OBV/Truncatable/client.cpp
new file mode 100644
index 00000000000..4f037efa3ed
--- /dev/null
+++ b/TAO/tests/OBV/Truncatable/client.cpp
@@ -0,0 +1,453 @@
+// $Id$
+
+#include "TruncatableC.h"
+#include "ace/Get_Opt.h"
+
+ACE_RCSID(Truncatable, client, "$Id$")
+
+ const char *ior = "file://test.ior";
+
+int fail = 0;
+int pretest = 0;
+int verbose = 0;
+
+#define VERIFY(Condition) \
+{ \
+ if ((Condition)==0) \
+ { \
+ fail++; \
+ if (!verbose) \
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%P|%t) - Failure at line %l\n"))); \
+ } \
+}
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:v");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.optarg;
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ // Create factories.
+
+ OBV_TruncatableTest::BaseValue_init *base_factory = 0;
+ ACE_NEW_RETURN (base_factory,
+ OBV_TruncatableTest::BaseValue_init,
+ 1);
+
+ orb->register_value_factory (base_factory->tao_repository_id (),
+ base_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ base_factory->_remove_ref (); // release ownership
+
+
+
+ OBV_TruncatableTest::TValue1_init *value1_factory = 0;
+ ACE_NEW_RETURN (value1_factory,
+ OBV_TruncatableTest::TValue1_init,
+ 1);
+
+ orb->register_value_factory (value1_factory->tao_repository_id (),
+ value1_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ value1_factory->_remove_ref ();
+
+
+
+ OBV_TruncatableTest::TValue2_init *value2_factory = 0;
+ ACE_NEW_RETURN (value2_factory,
+ OBV_TruncatableTest::TValue2_init,
+ 1);
+
+ orb->register_value_factory (value2_factory->tao_repository_id (),
+ value2_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ value2_factory->_remove_ref ();
+
+
+ OBV_TruncatableTest::TValue3_init *value3_factory = 0;
+ ACE_NEW_RETURN (value3_factory,
+ OBV_TruncatableTest::TValue3_init,
+ 1);
+
+ orb->register_value_factory (value3_factory->tao_repository_id (),
+ value3_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ value3_factory->_remove_ref ();
+
+ OBV_TruncatableTest::TValue4_init *value4_factory = 0;
+ ACE_NEW_RETURN (value4_factory,
+ OBV_TruncatableTest::TValue4_init,
+ 1);
+
+ orb->register_value_factory (value4_factory->tao_repository_id (),
+ value4_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ value4_factory->_remove_ref ();
+
+ OBV_TruncatableTest::TValue5_init *value5_factory = 0;
+ ACE_NEW_RETURN (value5_factory,
+ OBV_TruncatableTest::TValue5_init,
+ 1);
+
+ orb->register_value_factory (value5_factory->tao_repository_id (),
+ value5_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ value5_factory->_remove_ref ();
+
+ OBV_TruncatableTest::NestedValue_init *nested_value_factory = 0;
+ ACE_NEW_RETURN (nested_value_factory,
+ OBV_TruncatableTest::NestedValue_init,
+ 1);
+
+ orb->register_value_factory (nested_value_factory->tao_repository_id (),
+ nested_value_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ nested_value_factory->_remove_ref ();
+
+ // Obtain reference to the object
+ CORBA::Object_var tmp =
+ orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ OBV_TruncatableTest::Test_var test =
+ OBV_TruncatableTest::Test::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (test.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil OBV_TruncatableTest::Test reference <%s>\n",
+ ior),
+ 1);
+ }
+
+ CORBA::String_var desc;;
+ { //issolate the scope of objects to avoid using wrong values
+ OBV_TruncatableTest::TValue1_var v1;
+ ACE_NEW_RETURN (v1,
+ OBV_OBV_TruncatableTest::TValue1,
+ 1);
+ v1->basic_data (9);
+ v1->data1 (99);
+
+ OBV_TruncatableTest::BaseValue_var ov1;
+
+ desc = CORBA::string_dup ("A<-tB, truncate B to A");
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 1: %s: "),
+ ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
+ pretest = fail;
+
+ test->op1 ("case1", v1.in (), ov1.out (), desc.inout () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (! ACE_OS::strcmp (desc.in (), "case1: A<-tB, truncate B to A"));
+ VERIFY (v1->basic_data () == ov1->basic_data ());
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+ }
+
+ { //issolate the scope of objects to avoid using wrong values
+ OBV_TruncatableTest::TValue2_var v2;
+ ACE_NEW_RETURN (v2,
+ OBV_OBV_TruncatableTest::TValue2,
+ 1);
+ v2->basic_data (9);
+ v2->data1 (99);
+ v2->data2 (99 * 2);
+
+ OBV_TruncatableTest::BaseValue_var ov2;
+ desc = CORBA::string_dup ("A<-tB<-tC, truncate C to A");
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 2: %s: "),
+ ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
+ pretest = fail;
+
+ test->op1 ("case2", v2.in (), ov2.out (), desc.inout () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (! ACE_OS::strcmp (desc.in (), "case2: A<-tB<-tC, truncate C to A"));
+ VERIFY (v2->basic_data () == ov2->basic_data ());
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+
+ OBV_TruncatableTest::TValue1_var otv1;
+ desc = CORBA::string_dup ("A<-tB<-tC, truncate C to B");
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 3: %s: "),
+ ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
+ pretest = fail;
+
+ test->op2 (v2.in (), "case3", otv1.out (), desc.inout () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (! ACE_OS::strcmp (desc.in (), "case3: A<-tB<-tC, truncate C to B"));
+ VERIFY (v2->basic_data () == otv1->basic_data ());
+ VERIFY (v2->data1 () == otv1->data1 ());
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+ }
+
+ { //issolate the scope of objects to avoid using wrong values
+ OBV_TruncatableTest::TValue1_var itv1b;
+ ACE_NEW_RETURN (itv1b,
+ OBV_OBV_TruncatableTest::TValue1,
+ 1);
+ itv1b->basic_data(7);
+ itv1b->data1(8);
+ OBV_TruncatableTest::TValue1_var otv1b;
+ desc = CORBA::string_dup ("A<-tB, truncatable but no truncation");
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 3b: %s: "),
+ ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
+ pretest = fail;
+
+ test->op2 (itv1b, "case3b", otv1b.out (), desc.inout () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (! ACE_OS::strcmp (desc.in (), "case3b: A<-tB, truncatable but no truncation"));
+ VERIFY (itv1b->basic_data () == otv1b->basic_data ());
+ VERIFY (itv1b->data1 () == otv1b->data1 ());
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+ }
+
+ { //issolate the scope of objects to avoid using wrong values
+ OBV_TruncatableTest::TValue3_var v3;
+ ACE_NEW_RETURN (v3,
+ OBV_OBV_TruncatableTest::TValue3,
+ 1);
+ v3->basic_data (9);
+ v3->data1 (99);
+ v3->data3 (99 * 3);
+
+ bool caught_expected_exception = false;
+ ACE_TRY_EX (value3)
+ {
+ OBV_TruncatableTest::BaseValue_var ov3;
+ desc = CORBA::string_dup ("A<-tB<-C, try truncate C to A, MARSHAL exception");
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 4: %s: "),
+ ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
+ test->op1 ("case4", v3.in (), ov3.out (), desc.inout () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (value3);
+ }
+ ACE_CATCH (CORBA::MARSHAL, ex)
+ {
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("passed\n")));
+ caught_expected_exception = true;
+ }
+ ACE_ENDTRY;
+
+ if ( ! caught_expected_exception)
+ {
+ fail++;
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("faileded\n")));
+ }
+ } //end marshaling exception test.
+
+ { //issolate the scope of objects to avoid using wrong values
+ OBV_TruncatableTest::NestedValue_var nv;
+ ACE_NEW_RETURN (nv,
+ OBV_OBV_TruncatableTest::NestedValue,
+ 1);
+ nv->data (2);
+
+ OBV_TruncatableTest::TValue5_var v5;
+ ACE_NEW_RETURN (v5,
+ OBV_OBV_TruncatableTest::TValue5,
+ 1);
+ v5->basic_data (9);
+ v5->nv4 (nv.in ());
+ v5->data4 (99 * 4);
+ v5->str1 ("str1");
+ v5->data5 (99 * 5);
+ v5->nv5 (nv.in ());
+ v5->str2 ("str2");
+
+ OBV_TruncatableTest::BaseValue_var ov5;
+ desc = CORBA::string_dup ("A<-tB<-tC, B & C have nested value type, truncate C to A");
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 5: %s: "),
+ ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
+ pretest = fail;
+ test->op1 ("case5", v5.in (), ov5.out (), desc.inout () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (! ACE_OS::strcmp (desc.in (), "case5: A<-tB<-tC, B & C have nested value type, truncate C to A"));
+ VERIFY (v5->basic_data () == ov5->basic_data ());
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+
+ OBV_TruncatableTest::TValue4_var otv4;
+ desc = CORBA::string_dup ("A<-tB<-tC, B & C have nested value type, truncate C to B");
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 6: %s: "),
+ ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
+ pretest = fail;
+ test->op3 ("case6", v5.in (), otv4.out (), desc.inout () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (! ACE_OS::strcmp (desc.in (), "case6: A<-tB<-tC, B & C have nested value type, truncate C to B"));
+ VERIFY (v5->basic_data () == otv4->basic_data ());
+ VERIFY (v5->nv4 ()->data () == otv4->nv4 ()->data ());
+ VERIFY (v5->data4 () == otv4->data4 ());
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+ }
+
+ { //issolate the scope of objects to avoid using wrong values
+ OBV_TruncatableTest::TValue6_var iv;
+ ACE_NEW_RETURN (iv,
+ OBV_OBV_TruncatableTest::TValue6,
+ 1);
+ iv->basic_data (9);
+
+ OBV_TruncatableTest::BaseValue_var ov;
+
+ desc = CORBA::string_dup ("A<-tB, B has no data, truncate B to A");
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 7: %s: "),
+ ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
+ pretest = fail;
+ test->op1 ("case7", iv.in (), ov.out (), desc.inout () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (! ACE_OS::strcmp (desc.in (), "case7: A<-tB, B has no data, truncate B to A"));
+ VERIFY (iv->basic_data () == ov->basic_data ());
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+ }
+
+ { //issolate the scope of objects to avoid using wrong values
+ OBV_TruncatableTest::TValue1_var v1;
+ ACE_NEW_RETURN (v1,
+ OBV_OBV_TruncatableTest::TValue1,
+ 1);
+ v1->basic_data (8);
+ v1->data1 (88);
+
+
+ OBV_TruncatableTest::TValue1_var v4;
+ ACE_NEW_RETURN (v4,
+ OBV_OBV_TruncatableTest::TValue1,
+ 1);
+ v4->basic_data (9);
+ v4->data1 (99);
+
+ OBV_TruncatableTest::NestedValue_var nv;
+ ACE_NEW_RETURN (nv,
+ OBV_OBV_TruncatableTest::NestedValue,
+ 1);
+ nv->data (2);
+
+ OBV_TruncatableTest::TValue4_var v2;
+ ACE_NEW_RETURN (v2,
+ OBV_OBV_TruncatableTest::TValue4,
+ 1);
+ v2->basic_data (7);
+ v2->nv4 (nv.in ());
+ v2->data4 (77);
+
+ OBV_TruncatableTest::TValue4_var v3;
+ ACE_NEW_RETURN (v3,
+ OBV_OBV_TruncatableTest::TValue4,
+ 1);
+ v3->basic_data (6);
+ v3->nv4 (nv.in ());
+ v3->data4 (66);
+
+ desc = CORBA::string_dup ("multiple IN truncatable valuetype parameters and return truncatable valuetype");
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 8: %s: "),
+ ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
+ pretest = fail;
+ OBV_TruncatableTest::BaseValue_var ov
+ = test->op4 ("case8", v1.in (), 5, v2.in (), v3.in (), v4.in (), desc.inout () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (! ACE_OS::strcmp (desc.in (), "case8: multiple IN truncatable valuetype parameters and return truncatable valuetype"));
+ CORBA::ULong total = 5 * (v1->basic_data () + v2->basic_data () + v3->basic_data () + v4->basic_data ());
+ VERIFY (ov->basic_data () == total);
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - shutdown orb \n"));
+
+
+ test->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (fail)
+ {
+ ACE_ERROR ((LM_ERROR, "(%P|%t) client: test failed \n"));
+ return 1;
+ }
+ else
+ ACE_DEBUG((LM_DEBUG, "(%P|%t) client: test passed \n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/OBV/Truncatable/run_test.pl b/TAO/tests/OBV/Truncatable/run_test.pl
new file mode 100755
index 00000000000..5a0f4d990f9
--- /dev/null
+++ b/TAO/tests/OBV/Truncatable/run_test.pl
@@ -0,0 +1,58 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../bin';
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+# This is a Perl script that runs all Naming Service tests. It starts
+# all the servers and clients as necessary.
+
+use lib '../../../../bin';
+use PerlACE::Run_Test;
+
+$iorfile = PerlACE::LocalFile ("server.ior");
+unlink $iorfile;
+
+if (PerlACE::is_vxworks_test()) {
+ $SV = new PerlACE::ProcessVX ("server", "-o server.ior");
+}
+else {
+ $SV = new PerlACE::Process ("server", "-o $iorfile");
+}
+$CL = new PerlACE::Process ("client", " -k file://$iorfile");
+
+$SV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile,
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR "ERROR: cannot find file <$iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->WaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+
+exit $status;
diff --git a/TAO/tests/OBV/Truncatable/server.cpp b/TAO/tests/OBV/Truncatable/server.cpp
new file mode 100644
index 00000000000..c097af17c86
--- /dev/null
+++ b/TAO/tests/OBV/Truncatable/server.cpp
@@ -0,0 +1,159 @@
+// $Id$
+
+#include "TruncatableS_impl.h"
+#include "TruncatableC.h"
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+
+ACE_RCSID(Truncatable, server, "$Id$")
+
+const char *ior_output_file = "test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.optarg;
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-o <iorfile>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (root_poa.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Panic: nil RootPOA\n"),
+ 1);
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ Test_impl *test_impl;
+ ACE_NEW_RETURN (test_impl,
+ Test_impl (orb.in ()),
+ 1);
+
+ PortableServer::ServantBase_var owner_transfer(test_impl);
+
+ OBV_TruncatableTest::Test_var test =
+ test_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ orb->object_to_string (test.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // If the ior_output_file exists, output the ior to it
+ FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ ior_output_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ OBV_TruncatableTest::BaseValue_init *base_factory = 0;
+ ACE_NEW_RETURN (base_factory,
+ OBV_TruncatableTest::BaseValue_init,
+ 1);
+
+ orb->register_value_factory (base_factory->tao_repository_id (),
+ base_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ base_factory->_remove_ref (); // release ownership
+
+ OBV_TruncatableTest::TValue1_init *value1_factory = 0;
+ ACE_NEW_RETURN (value1_factory,
+ OBV_TruncatableTest::TValue1_init,
+ 1);
+
+ orb->register_value_factory (value1_factory->tao_repository_id (),
+ value1_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ value1_factory->_remove_ref ();
+
+ OBV_TruncatableTest::TValue4_init *value4_factory = 0;
+ ACE_NEW_RETURN (value4_factory,
+ OBV_TruncatableTest::TValue4_init,
+ 1);
+
+ orb->register_value_factory (value4_factory->tao_repository_id (),
+ value4_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ value4_factory->_remove_ref ();
+
+ OBV_TruncatableTest::NestedValue_init *nested_value_factory = 0;
+ ACE_NEW_RETURN (nested_value_factory,
+ OBV_TruncatableTest::NestedValue_init,
+ 1);
+
+ orb->register_value_factory (nested_value_factory->tao_repository_id (),
+ nested_value_factory
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ nested_value_factory->_remove_ref ();
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Ondemand_Write/Hello.cpp b/TAO/tests/Ondemand_Write/Hello.cpp
new file mode 100644
index 00000000000..6e0195eff58
--- /dev/null
+++ b/TAO/tests/Ondemand_Write/Hello.cpp
@@ -0,0 +1,29 @@
+//
+// $Id$
+//
+#include "Hello.h"
+
+ACE_RCSID(Hello, Hello, "$Id$")
+
+Hello::Hello (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+char *
+Hello::get_string (
+ ::CORBA::Long ,
+ const char * inputa,
+ ::CORBA::Long ,
+ const char * )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup (inputa);
+}
+
+void
+Hello::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/tests/Ondemand_Write/Hello.h b/TAO/tests/Ondemand_Write/Hello.h
new file mode 100644
index 00000000000..17f387990e2
--- /dev/null
+++ b/TAO/tests/Ondemand_Write/Hello.h
@@ -0,0 +1,37 @@
+//
+// $Id$
+//
+
+#ifndef HELLO_H
+#define HELLO_H
+#include /**/ "ace/pre.h"
+
+#include "TestS.h"
+
+/// Implement the Test::Hello interface
+class Hello
+ : public virtual POA_Test::Hello
+{
+public:
+ /// Constructor
+ Hello (CORBA::ORB_ptr orb);
+
+ // = The skeleton methods
+ virtual char * get_string (
+ ::CORBA::Long valuea,
+ const char * inputa,
+ ::CORBA::Long valueb,
+ const char * inputb)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// Use an ORB reference to conver strings to objects and shutdown
+ /// the application.
+ CORBA::ORB_var orb_;
+};
+
+#include /**/ "ace/post.h"
+#endif /* HELLO_H */
diff --git a/TAO/tests/Ondemand_Write/Ondemand_Write.mpc b/TAO/tests/Ondemand_Write/Ondemand_Write.mpc
new file mode 100644
index 00000000000..9a1892855d9
--- /dev/null
+++ b/TAO/tests/Ondemand_Write/Ondemand_Write.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoserver {
+ idlflags += -Sa -St
+ Source_Files {
+ Hello.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoclient {
+ after += *Server
+ Source_Files {
+ TestC.cpp
+ client.cpp
+ }
+}
+
diff --git a/TAO/tests/Ondemand_Write/README b/TAO/tests/Ondemand_Write/README
new file mode 100644
index 00000000000..ee77329decb
--- /dev/null
+++ b/TAO/tests/Ondemand_Write/README
@@ -0,0 +1,37 @@
+/**
+
+@page Hello Test README File
+
+ The simplest possible test for TAO. This is a very simple
+test for TAO, it can be argued that it is in fact too simple to do
+anything useful, i.e. chances are that this test will always pass.
+
+ The goals of writing this test are:
+
+- Provide a very simple, very fast 'smoke test' for ORB developers.
+ If Hello does not pass then something is extremely broken and you
+ should go back to the drawing board.
+- Provide a code base to write more complex tests
+- Rule out basic infrastructure problems: if this test does not work
+ for a user then the infrastructure (network, DNS, host
+ configuration) are more likely to be at fault than the ORB.
+- External users are often asked to send us a 'simple test' for their
+ use case, we can now point them to this test to explain what do we
+ mean by "simple".
+- The -GA option has been added to the IDL compiler command line.
+ This option generates type code and Any insertion/extraction
+ operator implementations in a separate file with the extension *A.cpp.
+ This file is not included in the compilation however, to make sure
+ there is no dependency on it if the client and server do not use
+ type codes or Anys.
+
+ Please refrain from "improving", extending or expanding this
+test, if you need to change
+
+ To run the test use the run_test.pl script:
+
+$ ./run_test.pl
+
+ the script returns 0 if the test was successful.
+
+*/
diff --git a/TAO/tests/Ondemand_Write/Test.idl b/TAO/tests/Ondemand_Write/Test.idl
new file mode 100644
index 00000000000..59719f1eee7
--- /dev/null
+++ b/TAO/tests/Ondemand_Write/Test.idl
@@ -0,0 +1,20 @@
+//
+// $Id$
+//
+
+/// Put the interfaces in a module, to avoid global namespace pollution
+module Test
+{
+ /// A very simple interface
+ interface Hello
+ {
+ /// Return a simple string
+ string get_string (in long valuea, in string inputa, in long valueb, in string inputb);
+
+ /// A method to shutdown the ORB
+ /**
+ * This method is used to simplify the test shutdown process
+ */
+ oneway void shutdown ();
+ };
+};
diff --git a/TAO/tests/Ondemand_Write/client.cpp b/TAO/tests/Ondemand_Write/client.cpp
new file mode 100644
index 00000000000..e000950a65a
--- /dev/null
+++ b/TAO/tests/Ondemand_Write/client.cpp
@@ -0,0 +1,87 @@
+// $Id$
+
+#include "TestC.h"
+#include "ace/Get_Opt.h"
+
+ACE_RCSID(Hello, client, "$Id$")
+
+const char *ior = "file://test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CORBA::Object_var tmp =
+ orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Test::Hello_var hello =
+ Test::Hello::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (hello.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil Test::Hello reference <%s>\n",
+ ior),
+ 1);
+ }
+
+ CORBA::String_var test_string = CORBA::string_dup ("661234567890123456789012345678901234567890");
+ CORBA::String_var the_string =
+ hello->get_string (5, test_string.in (), 6, test_string.in ());
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) - string returned <%s>\n",
+ the_string.in ()));
+
+ hello->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Ondemand_Write/run_test.pl b/TAO/tests/Ondemand_Write/run_test.pl
new file mode 100644
index 00000000000..023e5521bca
--- /dev/null
+++ b/TAO/tests/Ondemand_Write/run_test.pl
@@ -0,0 +1,49 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+$status = 0;
+
+$iorfile = PerlACE::LocalFile ("server.ior");
+unlink $iorfile;
+
+if (PerlACE::is_vxworks_test()) {
+ $SV = new PerlACE::ProcessVX ("server", "-o server.ior");
+}
+else {
+ $SV = new PerlACE::Process ("server", "-o $iorfile -ORBMaxMessageSize 40 ");
+}
+$CL = new PerlACE::Process ("client", " -k file://$iorfile -ORBMaxMessageSize 40 -ORBDebugLevel 10 ");
+
+$SV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile,
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR "ERROR: cannot find file <$iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->WaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+
+exit $status;
diff --git a/TAO/tests/Ondemand_Write/server.cpp b/TAO/tests/Ondemand_Write/server.cpp
new file mode 100644
index 00000000000..177aad4d1d8
--- /dev/null
+++ b/TAO/tests/Ondemand_Write/server.cpp
@@ -0,0 +1,115 @@
+// $Id$
+
+#include "Hello.h"
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+
+ACE_RCSID (Hello,
+ server,
+ "$Id$")
+
+const char *ior_output_file = "test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-o <iorfile>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (root_poa.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Panic: nil RootPOA\n"),
+ 1);
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ Hello *hello_impl;
+ ACE_NEW_RETURN (hello_impl,
+ Hello (orb.in ()),
+ 1);
+ PortableServer::ServantBase_var owner_transfer(hello_impl);
+
+ Test::Hello_var hello =
+ hello_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ orb->object_to_string (hello.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Output the IOR to the <ior_output_file>
+ FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ ior_output_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/POA/Bug_2511_Regression/Bug_2511_Regression.mpc b/TAO/tests/POA/Bug_2511_Regression/Bug_2511_Regression.mpc
new file mode 100644
index 00000000000..8bd676130d6
--- /dev/null
+++ b/TAO/tests/POA/Bug_2511_Regression/Bug_2511_Regression.mpc
@@ -0,0 +1,5 @@
+// -*- MPC -*-
+// $Id$
+
+project(POA*): taoserver, minimum_corba {
+}
diff --git a/TAO/tests/POA/Bug_2511_Regression/run_test.pl b/TAO/tests/POA/Bug_2511_Regression/run_test.pl
new file mode 100755
index 00000000000..2fa2e079325
--- /dev/null
+++ b/TAO/tests/POA/Bug_2511_Regression/run_test.pl
@@ -0,0 +1,25 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../../bin';
+use PerlACE::Run_Test;
+
+if (PerlACE::is_vxworks_test()) {
+ $T = new PerlACE::ProcessVX ("server");
+}
+else {
+ $T = new PerlACE::Process ("server");
+}
+
+$test = $T->SpawnWaitKill (60);
+
+if ($test != 0) {
+ print STDERR "ERROR: test returned $test\n";
+ exit 1;
+}
+
+exit 0;
diff --git a/TAO/tests/POA/Bug_2511_Regression/server.cpp b/TAO/tests/POA/Bug_2511_Regression/server.cpp
new file mode 100644
index 00000000000..a12ae327ee7
--- /dev/null
+++ b/TAO/tests/POA/Bug_2511_Regression/server.cpp
@@ -0,0 +1,286 @@
+// $Id$
+
+//========================================================================
+//
+// = LIBRARY
+// TAO/tests/POA/MT_Servant_Locator
+//
+// = FILENAME
+// server.cpp
+//
+// = DESCRIPTION
+// This program tests that multiple calls to the Servant Locator
+// can take place simultaneously.
+//
+// = AUTHOR
+// Irfan Pyarali
+//
+//=========================================================================
+
+#include "testS.h"
+#include "ace/OS.h"
+#include "tao/PortableServer/ServantLocatorC.h"
+#include "tao/CDR.h"
+
+int postCount = 0;
+int errorCount = 0;
+
+class test_i :
+ public virtual POA_test
+{
+public:
+
+ test_i (PortableServer::POA_ptr poa);
+
+ void normal (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void exceptional (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void notexisting (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ PortableServer::POA_var poa_;
+};
+
+test_i::test_i (PortableServer::POA_ptr poa)
+ : poa_ (PortableServer::POA::_duplicate (poa))
+{
+}
+
+void
+test_i::normal (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG, "executing normal\n"));
+}
+
+void
+test_i::exceptional (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG, "executing exceptional\n"));
+}
+
+void
+test_i::notexisting (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG, "executing notexisting\n"));
+}
+
+class Servant_Locator :
+ public PortableServer::ServantLocator
+{
+public:
+
+ Servant_Locator (PortableServer::POA_ptr poa);
+
+ ::PortableServer::Servant preinvoke (const PortableServer::ObjectId &,
+ PortableServer::POA_ptr,
+ const char *,
+ PortableServer::ServantLocator::Cookie &
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableServer::ForwardRequest));
+
+ void postinvoke (const PortableServer::ObjectId &,
+ PortableServer::POA_ptr,
+ const char *,
+ PortableServer::ServantLocator::Cookie,
+ PortableServer::Servant
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ test_i servant_;
+};
+
+Servant_Locator::Servant_Locator (PortableServer::POA_ptr poa)
+ : servant_ (poa)
+{
+}
+
+::PortableServer::Servant
+Servant_Locator::preinvoke (const PortableServer::ObjectId &oid,
+ PortableServer::POA_ptr,
+ const char *op,
+ PortableServer::ServantLocator::Cookie &
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableServer::ForwardRequest))
+{
+ CORBA::String_var name =
+ PortableServer::ObjectId_to_string (oid);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Servant_Locator::preinvoke for %s.%s ",
+ name.in (), op ));
+
+ if (ACE_OS::strcmp (op, "normal") == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "returning servant\n"));
+ return &this->servant_;
+ }
+ else if (ACE_OS::strcmp (op, "exceptional") == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "throwing exception\n"));
+ throw CORBA::INTERNAL();
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, "returning NULL\n"));
+ return 0;
+ }
+}
+
+void
+Servant_Locator::postinvoke (const PortableServer::ObjectId &oid,
+ PortableServer::POA_ptr,
+ const char *op,
+ PortableServer::ServantLocator::Cookie,
+ PortableServer::Servant
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ++postCount;
+ CORBA::String_var name =
+ PortableServer::ObjectId_to_string (oid);
+
+ if (!op)
+ {
+ op = "NULL";
+ ++errorCount;
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Servant_Locator::postinvoke for %s.%s\n",
+ name.in (), op ));
+
+}
+
+int
+main (int argc, char **argv)
+{
+ int retval = 0;
+
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var obj =
+ orb->resolve_initial_references ("RootPOA"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::PolicyList policies;
+ CORBA::ULong current_length = 0;
+
+ policies.length (current_length + 1);
+ policies[current_length++] =
+ root_poa->create_request_processing_policy (PortableServer::USE_SERVANT_MANAGER
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ policies.length (current_length + 1);
+ policies[current_length++] =
+ root_poa->create_servant_retention_policy (PortableServer::NON_RETAIN
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ policies.length (current_length + 1);
+ policies[current_length++] =
+ root_poa->create_id_assignment_policy (PortableServer::USER_ID
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var child_poa =
+ root_poa->create_POA ("child",
+ poa_manager.in (),
+ policies
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Servant_Locator* servant_locator = new Servant_Locator(child_poa.in ()) ;
+ child_poa->set_servant_manager (servant_locator
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::ObjectId_var objectID =
+ PortableServer::string_to_ObjectId ("object");
+
+ CORBA::Object_var objectREF =
+ child_poa->create_reference_with_id (objectID.in (),
+ "IDL:test:1.0"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ test_var testObject =
+ test::_narrow (objectREF.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ testObject->normal();
+
+ bool caught = false;
+ ACE_TRY
+ {
+ testObject->exceptional();
+ }
+ ACE_CATCHANY
+ {
+ ACE_DEBUG ((LM_DEBUG, "exceptional() yielded exception\n"));
+ caught = true;
+ }
+ ACE_ENDTRY;
+ if (!caught) ++errorCount;
+
+ caught = false;
+ ACE_TRY
+ {
+ testObject->notexisting();
+ }
+ ACE_CATCHANY
+ {
+ ACE_DEBUG ((LM_DEBUG, "notexisting() yielded exception\n"));
+ caught = true;
+ }
+ ACE_ENDTRY;
+ if (!caught) ++errorCount;
+
+ if (!errorCount)
+ {
+ ACE_DEBUG ((LM_DEBUG,"test successful\n"));
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,"unsuccessfull: %d errors\n", errorCount ));
+ }
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught");
+ retval = -1;
+ }
+ ACE_ENDTRY;
+
+ return retval;
+}
diff --git a/TAO/tests/POA/Bug_2511_Regression/test.idl b/TAO/tests/POA/Bug_2511_Regression/test.idl
new file mode 100644
index 00000000000..373c4ef82f0
--- /dev/null
+++ b/TAO/tests/POA/Bug_2511_Regression/test.idl
@@ -0,0 +1,8 @@
+// $Id$
+
+interface test
+{
+ void normal ();
+ void exceptional ();
+ void notexisting ();
+};
diff --git a/TAO/tests/POA/EndpointPolicy/EndpointPolicy.mpc b/TAO/tests/POA/EndpointPolicy/EndpointPolicy.mpc
new file mode 100644
index 00000000000..24b3507198f
--- /dev/null
+++ b/TAO/tests/POA/EndpointPolicy/EndpointPolicy.mpc
@@ -0,0 +1,19 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoserver, endpointpolicy, pi_server {
+ idlflags += -Sa -St
+ Source_Files {
+ Hello.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoclient {
+ after += *Server
+ Source_Files {
+ TestC.cpp
+ client.cpp
+ }
+}
+
diff --git a/TAO/tests/POA/EndpointPolicy/Hello.cpp b/TAO/tests/POA/EndpointPolicy/Hello.cpp
new file mode 100644
index 00000000000..70af3ea8a11
--- /dev/null
+++ b/TAO/tests/POA/EndpointPolicy/Hello.cpp
@@ -0,0 +1,25 @@
+//
+// $Id$
+//
+#include "Hello.h"
+
+ACE_RCSID(Hello, Hello, "$Id$")
+
+Hello::Hello (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+char *
+Hello::get_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup ("Hello there!");
+}
+
+void
+Hello::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/tests/POA/EndpointPolicy/Hello.h b/TAO/tests/POA/EndpointPolicy/Hello.h
new file mode 100644
index 00000000000..1a404058944
--- /dev/null
+++ b/TAO/tests/POA/EndpointPolicy/Hello.h
@@ -0,0 +1,33 @@
+//
+// $Id$
+//
+
+#ifndef HELLO_H
+#define HELLO_H
+#include /**/ "ace/pre.h"
+
+#include "TestS.h"
+
+/// Implement the Test::Hello interface
+class Hello
+ : public virtual POA_Test::Hello
+{
+public:
+ /// Constructor
+ Hello (CORBA::ORB_ptr orb);
+
+ // = The skeleton methods
+ virtual char * get_string (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// Use an ORB reference to conver strings to objects and shutdown
+ /// the application.
+ CORBA::ORB_var orb_;
+};
+
+#include /**/ "ace/post.h"
+#endif /* HELLO_H */
diff --git a/TAO/tests/POA/EndpointPolicy/README b/TAO/tests/POA/EndpointPolicy/README
new file mode 100644
index 00000000000..611858f1666
--- /dev/null
+++ b/TAO/tests/POA/EndpointPolicy/README
@@ -0,0 +1,26 @@
+/**
+
+@page EndpointPolicy Test README File
+
+ This test bases on the simplest TAO test - Hello test and adds the
+ endpoint policy test in the server application. The server application
+ explicitly creates the POAManager with a valid endpoint policy, uses
+ the POAManager to create a poa and uses the poa to activate a servant.
+ This is to test the endpoint policy in the POAManager influences the
+ selection of endpoints to be used when collecting Profiles for use
+ in Object References.
+
+ In addition, the server application also tests some error conditions
+ such as an inappropriate policy is supplied to a new POAManager.
+
+
+ To run the test use the run_test.pl script:
+
+$ ./run_test.pl
+
+ or start the client and the server manually:
+
+$ server -o $iorfile -p $port -ORBEndpoint iiop://localhost:$port &
+$ client -k file://$iorfile
+
+*/
diff --git a/TAO/tests/POA/EndpointPolicy/Test.idl b/TAO/tests/POA/EndpointPolicy/Test.idl
new file mode 100644
index 00000000000..3c0976e106d
--- /dev/null
+++ b/TAO/tests/POA/EndpointPolicy/Test.idl
@@ -0,0 +1,20 @@
+//
+// $Id$
+//
+
+/// Put the interfaces in a module, to avoid global namespace pollution
+module Test
+{
+ /// A very simple interface
+ interface Hello
+ {
+ /// Return a simple string
+ string get_string ();
+
+ /// A method to shutdown the ORB
+ /**
+ * This method is used to simplify the test shutdown process
+ */
+ oneway void shutdown ();
+ };
+};
diff --git a/TAO/tests/POA/EndpointPolicy/client.cpp b/TAO/tests/POA/EndpointPolicy/client.cpp
new file mode 100644
index 00000000000..61d7e6af070
--- /dev/null
+++ b/TAO/tests/POA/EndpointPolicy/client.cpp
@@ -0,0 +1,112 @@
+// $Id$
+
+#include "TestC.h"
+#include "ace/Get_Opt.h"
+
+ACE_RCSID(Hello, client, "$Id$")
+
+const char *ior = "file://test.ior";
+int bad_ior = 0;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:b");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+
+ case 'b':
+ bad_ior = 1;
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ CORBA::ORB_var orb;
+ CORBA::Object_var tmp;
+
+ ACE_TRY_NEW_ENV
+ {
+ orb = CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ tmp = orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ ACE_TRY_NEW_ENV
+ {
+ ACE_DEBUG ((LM_DEBUG,"client: Invocation expecting to %s\n",
+ (bad_ior ? "fail" : "work")));
+ Test::Hello_var hello =
+ Test::Hello::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (hello.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil Test::Hello reference <%s>\n",
+ ior),
+ 1);
+ }
+
+ CORBA::String_var the_string =
+ hello->get_string (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (bad_ior)
+ {
+ ACE_DEBUG ((LM_DEBUG,"client: Error: was expecting an exception.\n"));
+ return 1;
+ }
+
+ ACE_DEBUG ((LM_DEBUG, "client: success!\n"));
+
+ hello->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ if (!bad_ior)
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "client: Exception caught:");
+ return 1;
+ }
+ ACE_DEBUG ((LM_DEBUG, "client: success!\n"));
+ }
+ ACE_ENDTRY;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+
+ return 0;
+}
diff --git a/TAO/tests/POA/EndpointPolicy/run_test.pl b/TAO/tests/POA/EndpointPolicy/run_test.pl
new file mode 100755
index 00000000000..67303c96926
--- /dev/null
+++ b/TAO/tests/POA/EndpointPolicy/run_test.pl
@@ -0,0 +1,107 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../../bin';
+use PerlACE::Run_Test;
+
+$status = 0;
+
+$goodiorfile = PerlACE::LocalFile ("good.ior");
+$badiorfile = PerlACE::LocalFile ("bad.ior");
+unlink $goodiorfile;
+unlink $badiorfile;
+
+$port = 12345;
+
+if (PerlACE::is_vxworks_test()) {
+ $sharedSV = new PerlACE::ProcessVX ("server", "-ORBUseSharedProfile 1 -g $goodiorfile -b $badiorfile -p $port");
+}
+else {
+ $sharedSV = new PerlACE::Process ("server", "-ORBUseSharedProfile 1 -g $goodiorfile -b $badiorfile -p $port");
+}
+
+if (PerlACE::is_vxworks_test()) {
+ $multiSV = new PerlACE::ProcessVX ("server", "-ORBUseSharedProfile 0 -g $goodiorfile -b $badiorfile -p $port");
+}
+else {
+ $multiSV = new PerlACE::Process ("server", "-ORBUseSharedProfile 0 -g $goodiorfile -b $badiorfile -p $port");
+}
+
+$goodCL = new PerlACE::Process ("client", " -k file://$goodiorfile");
+$badCL = new PerlACE::Process ("client", " -b -k file://$badiorfile");
+
+print "Starting server using shared profiles\n";
+
+$sharedSV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($goodiorfile,
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR "ERROR: cannot find file <$goodiorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client = $badCL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$client = $goodCL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $sharedSV->WaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server [single profile per IOR] returned $server\n";
+ $status = 1;
+}
+
+unlink $goodiorfile;
+unlink $badiorfile;
+
+print "Starting server using multiple profiles\n";
+
+$multiSV->Spawn();
+
+if (PerlACE::waitforfile_timed ($goodiorfile,
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR "ERROR: cannot find file <$goodiorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$client = $badCL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$client = $goodCL->SpawnWaitKill (300);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $multiSV->WaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server [multiple profiles per IOR] returned $server\n";
+ $status = 1;
+}
+
+unlink $goodiorfile;
+unlink $badiorfile;
+
+exit $status;
diff --git a/TAO/tests/POA/EndpointPolicy/server.cpp b/TAO/tests/POA/EndpointPolicy/server.cpp
new file mode 100644
index 00000000000..b9a84c24704
--- /dev/null
+++ b/TAO/tests/POA/EndpointPolicy/server.cpp
@@ -0,0 +1,345 @@
+// $Id$
+
+#include "Hello.h"
+#include "tao/EndpointPolicy/EndpointPolicy.h"
+#include "tao/EndpointPolicy/IIOPEndpointValue_i.h"
+#include "tao/PI_Server/PI_Server.h"
+#include "tao/ORB_Constants.h"
+#include "ace/OS_NS_strings.h"
+#include "ace/OS_NS_stdio.h"
+
+ACE_RCSID (Hello,
+ server,
+ "$Id$")
+
+const char *good_ior_file = "good.ior";
+const char *bad_ior_file = "bad.ior";
+const char *root_ior_file = "root.ior";
+
+CORBA::Short endpoint_port = 12345;
+int verbose = 0;
+
+int
+parse_args (int argc, char *argv[])
+{
+ for (int c = 1; c < argc; c++) {
+ if (ACE_OS::strcasecmp(argv[c],"-g") == 0)
+ {
+ good_ior_file = argv[++c];
+ }
+ else if (ACE_OS::strcasecmp(argv[c],"-b") == 0)
+ {
+ bad_ior_file = argv[++c];
+ }
+ else if (ACE_OS::strcasecmp(argv[c],"-p") == 0)
+ {
+ endpoint_port = ACE_OS::atoi (argv[++c]);
+ }
+ else if (ACE_OS::strcasecmp(argv[c],"-v") == 0)
+ {
+ verbose = 1;
+ }
+ else if (strstr(argv[c],"-ORB") == argv[c])
+ {
+ c++;
+ continue;
+ }
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-g <goodiorfile> "
+ "-b <badiorfile> "
+ "-p <port> "
+ "-v "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+void
+add_endpoint_args(int &argc, char**argv, char** &largv)
+{
+ largv = new char*[argc+4];
+ for (int i = 0; i < argc; i++)
+ largv[i] = argv[i];
+ largv[argc++] = "-ORBEndpoint";
+ largv[argc] = new char[100];
+ ACE_OS::sprintf (largv[argc++],"iiop://localhost:%d",endpoint_port);
+ largv[argc++] = "-ORBEndpoint";
+ largv[argc] = new char[100];
+ ACE_OS::sprintf (largv[argc++],"iiop://localhost:%d/hostname_in_ior=unreachable",endpoint_port+1);
+}
+
+int
+main (int argc, char *argv[])
+{
+
+ CORBA::ORB_var orb;
+ CORBA::Object_var obj;
+ PortableServer::POA_var root_poa;
+ PortableServer::POAManagerFactory_var poa_manager_factory;
+
+ try
+ {
+ if (parse_args (argc, argv) != 0)
+ return 1;
+ char **largv;
+ add_endpoint_args(argc,argv, largv);
+ orb =
+ CORBA::ORB_init (argc, largv, "EndpointPolicy");
+
+ obj =
+ orb->resolve_initial_references("RootPOA");
+
+ root_poa =
+ PortableServer::POA::_narrow (obj.in ());
+
+ if (CORBA::is_nil (root_poa.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Panic: nil RootPOA\n"),
+ 1);
+
+ poa_manager_factory
+ = root_poa->the_POAManagerFactory ();
+ }
+ catch (CORBA::Exception &ex)
+ {
+ ex._tao_print_exception("initialization error ");
+ return 1;
+ }
+
+ // Currently, only single ENDPOINT_POLICY_TYPE policy is supported in
+ // the POAManager. A PolicyError exception with BAD_POLICY reason is
+ // raised if the POAManager has multiple policies.
+ bool policy_error_test = false;
+ CORBA::PolicyList policies;
+
+ try
+ {
+ policies.length (2);
+ PortableServer::POAManager_var poa_manager
+ = poa_manager_factory->create_POAManager ("wrongPOAManager",
+ policies);
+ }
+ catch (CORBA::PolicyError &ex)
+ {
+ if (ex.reason == CORBA::BAD_POLICY)
+ policy_error_test = true;
+ }
+
+ if (! policy_error_test)
+ return 1;
+
+ policy_error_test = false;
+
+ // A PolicyError exception with BAD_POLICY reason is raised if
+ // the POAManager has other policies.
+ try
+ {
+ policies.length (1);
+
+ CORBA::Any policy_value;
+ policy_value <<= PortableServer::ORB_CTRL_MODEL;
+
+ policies[0] = orb->create_policy (PortableServer::THREAD_POLICY_ID,
+ policy_value);
+
+ PortableServer::POAManager_var poa_manager
+ = poa_manager_factory->create_POAManager ("wrongPOAManager",
+ policies);
+ }
+ catch (CORBA::PolicyError &ex)
+ {
+ if (ex.reason == CORBA::BAD_POLICY)
+ policy_error_test = true;
+ }
+
+ if (! policy_error_test)
+ return 1;
+
+ policy_error_test = false;
+
+#if 0
+ // @@@ mesnier_p@ociweb.com
+ // This test is currently blocked out due to the vagueries of hostname
+ // creation at intermediate stages of endpoint production. See my note
+ // in tao/EndpointPolicy/IIOPEndpointValue_i.cpp (validate_acceptor())
+ // for more information about this situation.
+
+ // A PolicyError exception with UNSUPPORTED_POLICY_VALUE reason
+ // is raised if the Endpoint policy does not contain an endpoint
+ // that match any endpoint the ORB is listening on.
+ try
+ {
+ policies.length (1);
+
+ CORBA::ULong port = 0xdead;
+ EndpointPolicy::EndpointValueBase_var iiop_endpoint
+ = new IIOPEndpointValue_i("localhost", port);
+
+ EndpointPolicy::EndpointList list;
+ list.length (1);
+
+ list[0] = iiop_endpoint;
+
+ CORBA::Any policy_value;
+ policy_value <<= list;
+
+ policies[0] = orb->create_policy (EndpointPolicy::ENDPOINT_POLICY_TYPE,
+ policy_value);
+
+ PortableServer::POAManager_var poa_manager
+ = poa_manager_factory->create_POAManager ("wrongPOAManager",
+ policies);
+ }
+ catch (CORBA::PolicyError &ex)
+ {
+ if (ex.reason == CORBA::UNSUPPORTED_POLICY_VALUE)
+ policy_error_test = true;
+ }
+
+ if (! policy_error_test)
+ return 1;
+#endif
+ //-----------------------------------------------------------------------
+
+
+ // Create two valid endpoint policies. One to match each of the generated
+ // endpoint arguments supplied to ORB_init().
+ PortableServer::POAManager_var good_pm;
+ PortableServer::POAManager_var bad_pm;
+
+ policies.length (1);
+
+ EndpointPolicy::EndpointValueBase_var iiop_endpoint =
+ new IIOPEndpointValue_i("localhost", endpoint_port);
+
+ EndpointPolicy::EndpointList list;
+ list.length (1);
+ list[0] = iiop_endpoint;
+
+ try
+ {
+ CORBA::Any policy_value;
+ policy_value <<= list;
+ policies[0] = orb->create_policy (EndpointPolicy::ENDPOINT_POLICY_TYPE,
+ policy_value);
+ good_pm = poa_manager_factory->create_POAManager ("goodPOAManager",
+ policies);
+ }
+ catch (CORBA::Exception &ex)
+ {
+ ex._tao_print_exception ("Failed to create reachable POA manager");
+ return 1;
+ }
+
+ list[0] = new IIOPEndpointValue_i("unreachable", endpoint_port+1);
+ try
+ {
+ CORBA::Any policy_value;
+ policy_value <<= list;
+ policies[0] = orb->create_policy (EndpointPolicy::ENDPOINT_POLICY_TYPE,
+ policy_value);
+ bad_pm = poa_manager_factory->create_POAManager ("badPOAManager",
+ policies);
+ }
+ catch (CORBA::Exception &ex)
+ {
+ ex._tao_print_exception ("Failed to create unreachable POA manager");
+ return 1;
+ }
+
+ try
+ {
+ PortableServer::ObjectId_var oid;
+ CORBA::Object_var o = CORBA::Object::_nil();
+ FILE *output_file= 0;
+ // Create poas assiciated with the each the good poa manager and the
+ // bad poa manager.
+ policies.length(0);
+ PortableServer::POA_var good_poa =
+ root_poa->create_POA ("goodPOA",
+ good_pm.in (),
+ policies);
+
+ PortableServer::POA_var bad_poa =
+ root_poa->create_POA ("badPOA",
+ bad_pm.in (),
+ policies);
+
+ Hello *hello_impl;
+ ACE_NEW_RETURN (hello_impl,
+ Hello (orb.in ()),
+ 1);
+ PortableServer::ServantBase_var owner_transfer(hello_impl);
+
+ ACE_DEBUG ((LM_DEBUG, "Creating IOR from root poa\n"));
+
+ oid = root_poa->activate_object (hello_impl);
+ o = root_poa->id_to_reference (oid.in ());
+
+ CORBA::String_var root_ior =
+ orb->object_to_string (o.in ());
+
+ output_file= ACE_OS::fopen (root_ior_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ root_ior_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", root_ior.in ());
+ ACE_OS::fclose (output_file);
+
+ ACE_DEBUG ((LM_DEBUG, "Creating IOR from bad poa\n"));
+
+ oid = bad_poa->activate_object (hello_impl);
+ o = bad_poa->id_to_reference (oid.in());
+
+ CORBA::String_var bad_ior =
+ orb->object_to_string (o.in ());
+
+ ACE_DEBUG ((LM_DEBUG, "Creating IOR from good poa\n"));
+
+ oid = good_poa->activate_object (hello_impl);
+ o = good_poa->id_to_reference (oid.in ());
+
+ CORBA::String_var good_ior =
+ orb->object_to_string (o.in ());
+
+ output_file= ACE_OS::fopen (good_ior_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ good_ior_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", good_ior.in ());
+ ACE_OS::fclose (output_file);
+
+ output_file= ACE_OS::fopen (bad_ior_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ bad_ior_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", bad_ior.in ());
+ ACE_OS::fclose (output_file);
+
+ good_pm->activate ();
+ bad_pm->activate ();
+
+ orb->run ();
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+ }
+ catch (CORBA::Exception &ex)
+ {
+ ex._tao_print_exception ("cannot run server");
+ }
+ root_poa->destroy (1, 1);
+
+ orb->destroy ();
+
+ return 0;
+}
diff --git a/TAO/tests/POA/POAManagerFactory/POAManagerFactory.cpp b/TAO/tests/POA/POAManagerFactory/POAManagerFactory.cpp
new file mode 100644
index 00000000000..184d3a7eaa5
--- /dev/null
+++ b/TAO/tests/POA/POAManagerFactory/POAManagerFactory.cpp
@@ -0,0 +1,306 @@
+// $Id$
+
+//========================================================================
+//
+// = LIBRARY
+// TAO/tests/POA/POAManagerFactory
+//
+// = FILENAME
+// POAManagerFactory.cpp
+//
+// = DESCRIPTION
+// This program tests Root_POA::the_POAManagerFactory and
+// the POAManagerFactory interfaces such as create_POAManager(),
+// list () and find ().
+//
+// = AUTHOR
+// Yan Dai
+//
+//=========================================================================
+
+#include "tao/ORB.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/PortableServer/PortableServer.h"
+#include "tao/PI_Server/PI_Server.h"
+
+#include "ace/Log_Msg.h"
+#include "ace/OS_NS_string.h"
+#include "ace/Get_Opt.h"
+
+int fail = 0;
+int pretest = 0;
+int verbose = 0;
+
+#define VERIFY(Condition) \
+{ \
+ if (!(Condition)) \
+ { \
+ fail++; \
+ if (!verbose) \
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%P|%t) - Failure at line %l\n"))); \
+ } \
+}
+
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "v");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'v':
+ verbose = 1;
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-v "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char **argv)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ ACE_TRY
+ {
+ // Initialize the ORB first.
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ "POAManagerFactoryTest"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ // Obtain the RootPOA.
+ CORBA::Object_var obj =
+ orb->resolve_initial_references ("RootPOA"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Narrow to POA.
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Obtain PoaManagerFactory reference: ")));
+ pretest = fail;
+
+ // Obtain the POAManagerFactory.
+ PortableServer::POAManagerFactory_var poa_manager_factory
+ = root_poa->the_POAManagerFactory ();
+
+ VERIFY (!CORBA::is_nil(poa_manager_factory.in()));
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+ if (CORBA::is_nil(poa_manager_factory.in()))
+ return 1;
+
+ CORBA::PolicyList policies (0);
+ policies.length (0);
+
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Create a POAManager: ")));
+ pretest = fail;
+
+ // Explicitly create a POAManager - "POAManager1" .
+ PortableServer::POAManager_var poa_manager_1
+ = poa_manager_factory->create_POAManager ("POAManager1",
+ policies
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (!CORBA::is_nil(poa_manager_1.in()));
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+ if (CORBA::is_nil(poa_manager_1.in()))
+ return 1;
+
+ // Creating a POAManager with an exiting POAManager name raises exception.
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Prevent duplicated POAManagers: ")));
+ pretest = fail;
+ CORBA::Boolean got_expected_exception = false;
+ ACE_TRY_EX (create)
+ {
+ PortableServer::POAManager_var poa_manager
+ = poa_manager_factory->create_POAManager ("POAManager1",
+ policies
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (create);
+ }
+ ACE_CATCH (PortableServer::POAManagerFactory::ManagerAlreadyExists, ex)
+ {
+ got_expected_exception = true;
+ }
+ ACE_ENDTRY;
+
+ VERIFY (got_expected_exception);
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+
+ if (! got_expected_exception)
+ return 1;
+
+ {
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Implicitly create a POAManagers: ")));
+ pretest = fail;
+ // Implicitly create a POAManager instance which has an automatically
+ // assigned name.
+ PortableServer::POA_var child_poa =
+ root_poa->create_POA ("childPOA2",
+ PortableServer::POAManager::_nil (),
+ policies
+ ACE_ENV_ARG_PARAMETER);
+
+ PortableServer::POAManager_var poa_manager_2
+ = child_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (!CORBA::is_nil(poa_manager_2.in()));
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+
+ if (CORBA::is_nil(poa_manager_2.in()))
+ return 1;
+
+ CORBA::String_var poa_manager_2_name
+ = poa_manager_2->get_id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Implicitly created POAManager's ID: [%s]\n"),
+ ACE_TEXT_CHAR_TO_TCHAR(poa_manager_2_name.in())));
+
+ if (ACE_OS::strlen(poa_manager_2_name.in()) == 0)
+ return 1;
+
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT("List POAManagers: ")));
+ pretest = fail;
+
+ PortableServer::POAManagerFactory::POAManagerSeq_var managers
+ = poa_manager_factory->list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY (managers->length () == 3);
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+
+ PortableServer::POAManager_var root_poa_manager
+ = root_poa->the_POAManager(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ for (CORBA::ULong i = 0; i < managers->length(); ++i)
+ {
+ CORBA::String_var name = managers[i]->get_id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Validate listed POAManager [%s]: "),
+ ACE_TEXT_CHAR_TO_TCHAR(name.in())));
+ pretest = fail;
+
+ if ((ACE_OS::strcmp (name.in (), "RootPOAManager") == 0
+ && managers[i] == root_poa_manager.in ())
+ || (ACE_OS::strcmp (name.in (), "POAManager1") == 0
+ && managers[i] == poa_manager_1.in ())
+ || (ACE_OS::strcmp (name.in (), poa_manager_2_name.in ()) == 0
+ && managers[i] == poa_manager_2.in ()))
+ {
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT("passed\n")));
+ continue;
+ }
+ else
+ {
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT("failed\n")));
+ fail++;
+ }
+ }
+ }
+
+ {
+ // Find a specific POAManager.
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Find a POAManager: ")));
+ pretest = fail;
+
+ PortableServer::POAManager_var manager
+ = poa_manager_factory->find ("POAManager1" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var name = manager->get_id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ VERIFY ((ACE_OS::strcmp (name.in (), "POAManager1") == 0
+ && manager.in () == poa_manager_1.in ()));
+
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
+ (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
+ }
+
+ // Create a child poa that associates with the explicitly
+ // created POAManager.
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("Create A POA with explicit POAManager: ")));
+ pretest = fail;
+ PortableServer::POA_var child_poa =
+ root_poa->create_POA ("childPOA",
+ poa_manager_1.in (),
+ policies
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa_manager_1->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ root_poa->destroy (1, 1);
+
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("passed\n")));
+ }
+ ACE_CATCHANY
+ {
+ fail++;
+ if (verbose)
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("failed\n")));
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught");
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT("POAManagerFactory %s\n"),
+ (pretest == fail) ? ACE_TEXT ("succeeded") : ACE_TEXT ("failed")));
+
+ return 0;
+}
diff --git a/TAO/tests/POA/POAManagerFactory/POAManagerFactory.mpc b/TAO/tests/POA/POAManagerFactory/POAManagerFactory.mpc
new file mode 100644
index 00000000000..49fcc0fc6a3
--- /dev/null
+++ b/TAO/tests/POA/POAManagerFactory/POAManagerFactory.mpc
@@ -0,0 +1,5 @@
+// -*- MPC -*-
+// $Id$
+
+project(POA*): taoexe, portableserver, pi_server {
+}
diff --git a/TAO/tests/POA/POAManagerFactory/run_test.pl b/TAO/tests/POA/POAManagerFactory/run_test.pl
new file mode 100755
index 00000000000..39be0d05e74
--- /dev/null
+++ b/TAO/tests/POA/POAManagerFactory/run_test.pl
@@ -0,0 +1,25 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../../bin';
+use PerlACE::Run_Test;
+
+if (PerlACE::is_vxworks_test()) {
+ $T = new PerlACE::ProcessVX ("POAManagerFactory");
+}
+else {
+ $T = new PerlACE::Process ("POAManagerFactory");
+}
+
+$test = $T->SpawnWaitKill (60);
+
+if ($test != 0) {
+ print STDERR "ERROR: test returned $test\n";
+ exit 1;
+}
+
+exit 0;
diff --git a/TAO/tests/Parallel_Connect_Strategy/Parallel_Connect_Strategy.mpc b/TAO/tests/Parallel_Connect_Strategy/Parallel_Connect_Strategy.mpc
new file mode 100644
index 00000000000..29d26448590
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/Parallel_Connect_Strategy.mpc
@@ -0,0 +1,18 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoserver, iortable {
+ idlflags += -Sa -St
+ Source_Files {
+ Test_i.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoclient {
+ after += *Server
+ Source_Files {
+ TestC.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/tests/Parallel_Connect_Strategy/README b/TAO/tests/Parallel_Connect_Strategy/README
new file mode 100644
index 00000000000..75dac13ce01
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/README
@@ -0,0 +1,33 @@
+/**
+
+@page Parallel Connect Strategy Test README File
+
+This test is intended to demonstrate that the Parallel Connect
+strategy improves performance of connection establishment regardless
+of the wait strategy involved.
+
+The measurements are timed invocations based on the ACE_High_Res_Timer.
+
+Sample run_test.pl output:
+LF wait strategy test
+Starting invocation 1 - call completed in 6347 usec
+Starting invocation 2 - call completed in 406 usec
+
+LF wait strategy, corbaloc test
+Narrowing IOR - call completed in 5172 usec
+Starting invocation 1 - call completed in 193 usec
+Starting invocation 2 - call completed in 170 usec
+
+Reactive wait strategy test
+Starting invocation 1 - call completed in 4469 usec
+Starting invocation 2 - call completed in 361 usec
+
+Blocked wait strategy test
+Starting invocation 1 - call completed in 189015027 usec
+Starting invocation 2 - call completed in 408 usec
+
+No parallel connect test
+Starting invocation 1 - call completed in 189014806 usec
+Starting invocation 2 - call completed in 189012352 usec
+
+*/
diff --git a/TAO/tests/Parallel_Connect_Strategy/Test.idl b/TAO/tests/Parallel_Connect_Strategy/Test.idl
new file mode 100644
index 00000000000..3c0976e106d
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/Test.idl
@@ -0,0 +1,20 @@
+//
+// $Id$
+//
+
+/// Put the interfaces in a module, to avoid global namespace pollution
+module Test
+{
+ /// A very simple interface
+ interface Hello
+ {
+ /// Return a simple string
+ string get_string ();
+
+ /// A method to shutdown the ORB
+ /**
+ * This method is used to simplify the test shutdown process
+ */
+ oneway void shutdown ();
+ };
+};
diff --git a/TAO/tests/Parallel_Connect_Strategy/Test_i.cpp b/TAO/tests/Parallel_Connect_Strategy/Test_i.cpp
new file mode 100644
index 00000000000..bdf487d4a54
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/Test_i.cpp
@@ -0,0 +1,23 @@
+//
+// $Id$
+//
+#include "Test_i.h"
+
+Hello::Hello (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+char *
+Hello::get_string (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup ("Hello there!");
+}
+
+void
+Hello::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/tests/Parallel_Connect_Strategy/Test_i.h b/TAO/tests/Parallel_Connect_Strategy/Test_i.h
new file mode 100644
index 00000000000..0fbcc7a4ab6
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/Test_i.h
@@ -0,0 +1,35 @@
+// -*- C++ -*-
+
+//
+// $Id$
+//
+
+#ifndef TEST_I_H
+#define TEST_I_H
+#include /**/ "ace/pre.h"
+
+#include "TestS.h"
+
+/// Implement the Test::Hello interface
+class Hello
+ : public virtual POA_Test::Hello
+{
+public:
+ /// Constructor
+ Hello (CORBA::ORB_ptr orb);
+
+ // = The skeleton methods
+ virtual char * get_string (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// Use an ORB reference to conver strings to objects and shutdown
+ /// the application.
+ CORBA::ORB_var orb_;
+};
+
+#include /**/ "ace/post.h"
+#endif /* TEST_I_H */
diff --git a/TAO/tests/Parallel_Connect_Strategy/blocked.conf b/TAO/tests/Parallel_Connect_Strategy/blocked.conf
new file mode 100644
index 00000000000..2feddbe2302
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/blocked.conf
@@ -0,0 +1,3 @@
+# test for using the blocked connect strategy
+
+static Client_Strategy_Factory "-ORBConnectStrategy Blocked"
diff --git a/TAO/tests/Parallel_Connect_Strategy/client.cpp b/TAO/tests/Parallel_Connect_Strategy/client.cpp
new file mode 100644
index 00000000000..ee7747bb1ca
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/client.cpp
@@ -0,0 +1,121 @@
+// $Id$
+
+#include "TestC.h"
+#include "ace/Get_Opt.h"
+#include "ace/High_Res_Timer.h"
+
+ACE_RCSID(Hello, client, "$Id$")
+
+const char *ior = "file://test.ior";
+int kill_server = 0;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:x");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+ case 'x':
+ kill_server = 1;
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "-x "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CORBA::Object_var tmp =
+ orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_High_Res_Timer hrt;
+ ACE_hrtime_t elapsed;
+
+ ACE_DEBUG ((LM_DEBUG,"Narrowing IOR - "));
+ hrt.start();
+
+ Test::Hello_var hello =
+ Test::Hello::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ hrt.stop();
+ hrt.elapsed_microseconds (elapsed);
+ hrt.reset();
+
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("call completed in %d usec\n"),
+ elapsed ));
+
+ if (CORBA::is_nil (hello.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil Test::Hello reference <%s>\n",
+ ior),
+ 1);
+ }
+ if (kill_server)
+ {
+ hello->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,"Starting invocation 1 - "));
+ hrt.start();
+ CORBA::String_var the_string =
+ hello->get_string (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ hrt.stop();
+ hrt.elapsed_microseconds (elapsed);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("call completed in %d usec\n"),
+ elapsed ));
+ ACE_DEBUG ((LM_DEBUG,"Starting invocation 2 - "));
+ hrt.reset();
+ hrt.start();
+ the_string = hello->get_string (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ hrt.stop();
+ hrt.elapsed_microseconds (elapsed);
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT("call completed in %d usec\n"),
+ elapsed ));
+ }
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Parallel_Connect_Strategy/reactive.conf b/TAO/tests/Parallel_Connect_Strategy/reactive.conf
new file mode 100644
index 00000000000..0317f1c624c
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/reactive.conf
@@ -0,0 +1,3 @@
+# test for using the blocked connect strategy
+
+static Client_Strategy_Factory "-ORBConnectStrategy Reactive"
diff --git a/TAO/tests/Parallel_Connect_Strategy/run_test.pl b/TAO/tests/Parallel_Connect_Strategy/run_test.pl
new file mode 100755
index 00000000000..e663d69e42d
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/run_test.pl
@@ -0,0 +1,97 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../bin';
+use PerlACE::Run_Test;
+
+$iorfile = PerlACE::LocalFile ("altiiop.ior");
+unlink $iorfile;
+$status = 0;
+@bogus_eps = ("-orbendpoint iiop://localhost:10200/hostname_in_ior=126.0.0.123",
+ "-orbendpoint iiop://localhost:10202/hostname_in_ior=126.0.0.124");
+$valid_ep = "-orbendpoint iiop://localhost:10201";
+
+$corbaloc = "corbaloc::126.0.0.123:10200,:localhost:10201,:126.0.0.124:10202/pcs_test";
+
+$SV_ALT_IIOP = new PerlACE::Process ("server", "-ORBUseSharedProfile 1 -o $iorfile $bogus_eps[0] $valid_ep $bogus_eps[1]");
+
+$CL_LF = new PerlACE::Process ("client", "-ORBuseParallelConnects 1 -k file://$iorfile");
+$CL_CORBALOC = new PerlACE::Process ("client", "-ORBuseParallelConnects 1 -k $corbaloc");
+$CL_Reactive = new PerlACE::Process ("client", "-ORBSvcConf reactive.conf -ORBuseParallelConnects 1 -k file://$iorfile");
+$CL_Blocked = new PerlACE::Process ("client", "-ORBSvcConf blocked.conf -ORBuseParallelConnects 1 -k file://$iorfile");
+$CL_None = new PerlACE::Process ("client", "-ORBuseParallelConnects 0 -k file://$iorfile");
+$CL_Shutdown = new PerlACE::Process ("client", "-ORBuseParallelConnects 1 -k file://$iorfile -x");
+
+$SV_ALT_IIOP->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile,
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR "ERROR: cannot find file <$iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+print "LF wait strategy test\n";
+
+$client = $CL_LF->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nLF wait strategy, corbaloc test\n";
+
+$client = $CL_CORBALOC->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nReactive wait strategy test\n";
+
+$client = $CL_Reactive->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nBlocked wait strategy test\n";
+
+$client = $CL_Blocked->SpawnWaitKill (600);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+print "\nNo parallel connect test\n";
+
+$client = $CL_None->SpawnWaitKill (900);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$client = $CL_Shutdown->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV_ALT_IIOP->WaitKill (60);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+exit $status;
diff --git a/TAO/tests/Parallel_Connect_Strategy/server.cpp b/TAO/tests/Parallel_Connect_Strategy/server.cpp
new file mode 100644
index 00000000000..153aba883ff
--- /dev/null
+++ b/TAO/tests/Parallel_Connect_Strategy/server.cpp
@@ -0,0 +1,136 @@
+// $Id$
+
+#include "Test_i.h"
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+#include "tao/IORTable/IORTable.h"
+
+ACE_RCSID (Hello,
+ server,
+ "$Id$")
+
+const char *ior_output_file = "test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.opt_arg ();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-o <iorfile>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (root_poa.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Panic: nil RootPOA\n"),
+ 1);
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ Hello *hello_impl;
+ ACE_NEW_RETURN (hello_impl,
+ Hello (orb.in ()),
+ 1);
+ PortableServer::ServantBase_var owner_transfer(hello_impl);
+
+ Test::Hello_var hello =
+ hello_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+
+ CORBA::String_var ior =
+ orb->object_to_string (hello.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // Output the IOR to the <ior_output_file>
+ FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ ior_output_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ CORBA::Object_var table_object =
+ orb->resolve_initial_references ("IORTable"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ IORTable::Table_var adapter =
+ IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (adapter.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "Nil IORTable\n"));
+ }
+ else
+ {
+ adapter->bind ("pcs_test", ior.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Bug_2510_Regression.mpc b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Bug_2510_Regression.mpc
new file mode 100644
index 00000000000..a49d6902aa6
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Bug_2510_Regression.mpc
@@ -0,0 +1,20 @@
+// -*- MPC -*-
+// $Id$
+
+project(*Server): taoserver, pi_server, interceptors {
+ Source_Files {
+ test_i.cpp
+ server.cpp
+ }
+}
+
+project(*Client): taoclient, pi, interceptors {
+ after += *Server
+ Source_Files {
+ testC.cpp
+ Client_ORBInitializer.cpp
+ client_interceptor.cpp
+ client.cpp
+ }
+}
+
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Client_ORBInitializer.cpp b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Client_ORBInitializer.cpp
new file mode 100644
index 00000000000..acceb91568b
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Client_ORBInitializer.cpp
@@ -0,0 +1,49 @@
+// -*- C++ -*-
+//
+// $Id$
+//
+
+#include "Client_ORBInitializer.h"
+#include "client_interceptor.h"
+
+ACE_RCSID (Bug_2510_Regression, Client_ORBInitializer, "$Id$")
+
+Client_ORBInitializer::Client_ORBInitializer (void)
+{
+}
+
+void
+Client_ORBInitializer::pre_init (
+ PortableInterceptor::ORBInitInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+Client_ORBInitializer::post_init (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableInterceptor::SlotId slot_id = info->allocate_slot_id ();
+
+ PortableInterceptor::ClientRequestInterceptor_ptr interceptor =
+ PortableInterceptor::ClientRequestInterceptor::_nil ();
+
+ // Install the Echo client request interceptor
+ ACE_NEW_THROW_EX (interceptor,
+ Echo_Client_Request_Interceptor (),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK;
+
+ PortableInterceptor::ClientRequestInterceptor_var
+ client_interceptor = interceptor;
+
+ info->add_client_request_interceptor (client_interceptor.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_UNUSED_ARG (slot_id);
+}
+
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Client_ORBInitializer.h b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Client_ORBInitializer.h
new file mode 100644
index 00000000000..569419fb346
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/Client_ORBInitializer.h
@@ -0,0 +1,48 @@
+// -*- C++ -*-
+//
+// $Id$
+//
+
+#ifndef TAO_CLIENT_ORB_INITIALIZER_H
+#define TAO_CLIENT_ORB_INITIALIZER_H
+#include /**/ "ace/pre.h"
+
+#include "tao/PI/PI.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+// MSVC is being a little too paranoid.
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+/// Client ORB initializer.
+class Client_ORBInitializer :
+ public virtual PortableInterceptor::ORBInitializer,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+ /// Constructor
+ Client_ORBInitializer (void);
+
+ virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+#endif /* TAO_CLIENT_ORB_INITIALIZER_H */
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/client.cpp b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/client.cpp
new file mode 100644
index 00000000000..7c0c3cc2431
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/client.cpp
@@ -0,0 +1,117 @@
+// $Id$
+
+#include "ace/Get_Opt.h"
+#include "ace/Synch.h"
+#include "testC.h"
+#include "Client_ORBInitializer.h"
+#include "tao/ORBInitializer_Registry.h"
+
+ACE_RCSID(Bug_2510_Regression, client, "$Id$")
+
+const char *ior = "file://test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "ef:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'e':
+ break;
+ case 'f':
+ ior = get_opts.opt_arg ();
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-v "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ return 0;
+}
+
+static ACE_THR_FUNC_RETURN run_test(void* pData)
+{
+ Test_Interceptors::Visual_ptr server = static_cast<Test_Interceptors::Visual_ptr>(pData);
+
+ server->normal (10 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ return (ACE_THR_FUNC_RETURN)0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ PortableInterceptor::ORBInitializer_ptr temp_initializer;
+
+ ACE_NEW_RETURN (temp_initializer,
+ Client_ORBInitializer,
+ -1); // No exceptions yet!
+ PortableInterceptor::ORBInitializer_var initializer =
+ temp_initializer;
+
+ PortableInterceptor::register_orb_initializer (initializer.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CORBA::Object_var object =
+ orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Test_Interceptors::Visual_var server =
+ Test_Interceptors::Visual::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (server.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Object reference <%s> is nil\n",
+ ior),
+ 1);
+ }
+
+ ACE_hthread_t threadHandle;
+ if ( ACE_Thread::spawn( run_test,
+ static_cast<void*>(server.in()),
+ THR_NEW_LWP | THR_JOINABLE ,
+ 0,
+ & threadHandle
+ ) == -1 )
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,"Cannot start thread"), 1);
+ }
+
+ ACE_Thread::join (threadHandle);
+ ACE_TRY_CHECK;
+
+ //server->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Caught exception in client:");
+ return 1;
+ }
+
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/client_interceptor.cpp b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/client_interceptor.cpp
new file mode 100644
index 00000000000..8b6c9a89a5c
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/client_interceptor.cpp
@@ -0,0 +1,116 @@
+// $Id$
+
+#include "client_interceptor.h"
+#include "tao/OctetSeqC.h"
+#include "ace/Log_Msg.h"
+#include "tao/ORB_Constants.h"
+#include "ace/OS_NS_string.h"
+
+ACE_RCSID (Bug_2510_Regression,
+ client_interceptor,
+ "$Id$")
+
+const IOP::ServiceId service_id = 0xdeadbeef;
+const char *request_msg = "REQUEST message";
+const char *reply_msg = "REPLY message";
+const char *forward_msg = "FORWARD message";
+
+Echo_Client_Request_Interceptor::
+Echo_Client_Request_Interceptor ()
+ : myname_ ("Echo_Client_Interceptor")
+{
+}
+
+Echo_Client_Request_Interceptor::~Echo_Client_Request_Interceptor (void)
+{
+}
+
+char *
+Echo_Client_Request_Interceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup (this->myname_);
+}
+
+void
+Echo_Client_Request_Interceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+Echo_Client_Request_Interceptor::send_poll (
+ PortableInterceptor::ClientRequestInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Do Nothing
+}
+
+void
+Echo_Client_Request_Interceptor::send_request (
+ PortableInterceptor::ClientRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+ CORBA::String_var operation =
+ ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::Object_var target =
+ ri->target (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,"%s.send_request from %s\n", this->myname_, operation.in ()));
+}
+
+void
+Echo_Client_Request_Interceptor::receive_reply (
+ PortableInterceptor::ClientRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::String_var operation =
+ ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::Object_var target =
+ ri->target (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,"%s.receive_reply from %s\n", this->myname_, operation.in ()));
+}
+
+void
+Echo_Client_Request_Interceptor::receive_other (
+ PortableInterceptor::ClientRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+ CORBA::String_var operation = ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::Object_var target = ri->target (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,"%s.receive_other from %s\n", this->myname_, operation.in ()));
+}
+
+void
+Echo_Client_Request_Interceptor::receive_exception (
+ PortableInterceptor::ClientRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+ CORBA::String_var operation = ri->operation (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::Object_var target = ri->target (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,"%s.receive_exception from %s\n", this->myname_, operation.in ()));
+}
+
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/client_interceptor.h b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/client_interceptor.h
new file mode 100644
index 00000000000..95c3e21346f
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/client_interceptor.h
@@ -0,0 +1,72 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#ifndef TAO_CLIENT_INTERCEPTOR_H
+#define TAO_CLIENT_INTERCEPTOR_H
+
+#include "tao/PI/PI.h"
+#include "tao/PortableInterceptorC.h"
+#include "tao/LocalObject.h"
+#include "tao/ORB.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class Echo_Client_Request_Interceptor
+ : public virtual PortableInterceptor::ClientRequestInterceptor,
+ public virtual TAO_Local_RefCounted_Object
+{
+ // = Client-side echo interceptor. For checking interceptor visually only.
+public:
+ Echo_Client_Request_Interceptor ();
+ // ctor.
+
+ virtual ~Echo_Client_Request_Interceptor ();
+ // dtor.
+
+ virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Canonical name of the interceptor.
+
+ virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void send_poll (PortableInterceptor::ClientRequestInfo_ptr
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void send_request (PortableInterceptor::ClientRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+ virtual void receive_reply (PortableInterceptor::ClientRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void receive_other (PortableInterceptor::ClientRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+ virtual void receive_exception (PortableInterceptor::ClientRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+private:
+ const char *myname_;
+};
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_CLIENT_INTERCEPTOR_H */
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/run_test.pl b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/run_test.pl
new file mode 100755
index 00000000000..fa204e17d8c
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/run_test.pl
@@ -0,0 +1,50 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib '../../../../bin';
+use PerlACE::Run_Test;
+
+$status = 0;
+$file = PerlACE::LocalFile ("test.ior");
+
+unlink $file;
+
+if (PerlACE::is_vxworks_test()) {
+ $SV = new PerlACE::ProcessVX ("server", "-o test.ior");
+}
+else {
+ $SV = new PerlACE::Process ("server", "-o $file");
+}
+$CL = new PerlACE::Process ("client", "-f file://$file");
+
+print STDERR "\n\n==== Running interceptor test\n";
+
+$SV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($file, 15) == -1) {
+ print STDERR "ERROR: cannot find file <$file>\n";
+ $SV->Kill ();
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (60);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->WaitKill (5);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+unlink $file;
+
+exit $status;
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/server.cpp b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/server.cpp
new file mode 100644
index 00000000000..4043ed02514
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/server.cpp
@@ -0,0 +1,127 @@
+// $Id$
+
+#include "ace/Get_Opt.h"
+#include "ace/OS_NS_stdio.h"
+#include "test_i.h"
+#include "tao/ORBInitializer_Registry.h"
+
+ACE_RCSID (Bug_2510_Regression,
+ server,
+ "$Id$")
+
+const char *ior_output_file = "test.ior";
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.opt_arg ();
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-o <iorfile>"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ // Now create an ORB
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to initialize the POA.\n"),
+ 1);
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ Visual_i server_impl (orb.in ());
+
+ PortableServer::ObjectId_var id =
+ root_poa->activate_object (&server_impl
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var test_obj =
+ root_poa->id_to_reference (id.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Test_Interceptors::Visual_var server =
+ Test_Interceptors::Visual::_narrow (test_obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior =
+ orb->object_to_string (server.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Test_Interceptors::Visual: <%s>\n",
+ ior.in ()));
+
+ // If the ior_output_file exists, output the ior to it
+ if (ior_output_file != 0)
+ {
+ FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open output file for writing IOR: %s",
+ ior_output_file),
+ 1);
+ ACE_OS::fprintf (output_file, "%s", ior.in ());
+ ACE_OS::fclose (output_file);
+ }
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "event loop finished\n"));
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Caught exception in server:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/test.idl b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/test.idl
new file mode 100644
index 00000000000..d895106d35a
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/test.idl
@@ -0,0 +1,32 @@
+// $Id$
+
+module Test_Interceptors
+{
+ exception Silly
+ {};
+
+ interface Visual
+ {
+ // = TITLE
+ // A test idl for checking interceptor visually.
+ //
+ // = DESCRIPTION
+ //
+
+ void normal (in long arg);
+ // Normal operation.
+
+ void nothing ();
+ // Normal operation without return.
+
+ void user ()
+ raises (Silly);
+ // throws a user exception.
+
+ void system ();
+ // thows a system exception.
+
+ oneway void shutdown ();
+ // shutdown the ORB
+ };
+};
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/test_i.cpp b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/test_i.cpp
new file mode 100644
index 00000000000..39039d4e834
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/test_i.cpp
@@ -0,0 +1,53 @@
+// $Id$
+
+#include "test_i.h"
+
+ACE_RCSID (Bug_2510_Regression,
+ test_i,
+ "$Id$")
+
+
+Visual_i::Visual_i (CORBA::ORB_ptr orb)
+ : orb_ (CORBA::ORB::_duplicate (orb))
+{
+}
+
+void
+Visual_i::normal (CORBA::Long arg
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Visual::normal called with %d\n", arg));
+}
+
+void
+Visual_i::nothing (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Visual::nothing\n"));
+}
+
+void
+Visual_i::user (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Test_Interceptors::Silly))
+{
+ ACE_DEBUG ((LM_DEBUG, "Visual::user, throwing Silly\n"));
+ ACE_THROW (Test_Interceptors::Silly ());
+}
+
+void
+Visual_i::system (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_DEBUG ((LM_DEBUG, "Visual::user, throwing INV_OBJREF\n"));
+ ACE_THROW (CORBA::INV_OBJREF ());
+}
+
+void
+Visual_i::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
diff --git a/TAO/tests/Portable_Interceptors/Bug_2510_Regression/test_i.h b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/test_i.h
new file mode 100644
index 00000000000..5a6df58c457
--- /dev/null
+++ b/TAO/tests/Portable_Interceptors/Bug_2510_Regression/test_i.h
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file test_i.h
+ *
+ * $Id$
+ *
+ * @author Nanbor Wang
+ */
+//=============================================================================
+
+
+#ifndef TAO_INTERCEPTOR_TEST_I_H
+#define TAO_INTERCEPTOR_TEST_I_H
+
+#include "testS.h"
+
+/**
+ * @class Visual_i
+ *
+ * Implements the Visual interface in test.idl
+ */
+class Visual_i : public POA_Test_Interceptors::Visual
+{
+
+public:
+
+ Visual_i (CORBA::ORB_ptr orb);
+
+ void normal (CORBA::Long arg
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void nothing (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void user (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ Test_Interceptors::Silly));
+
+ void system (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+
+ /// The ORB pseudo-reference (for shutdown).
+ CORBA::ORB_var orb_;
+
+};
+
+#endif /* TAO_INTERCEPTOR_TEST_I_H */
diff --git a/TAO/tests/Sequence_Unit_Tests/Unbounded_Octet.cpp b/TAO/tests/Sequence_Unit_Tests/Unbounded_Octet.cpp
new file mode 100644
index 00000000000..2ec62a8fe35
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/Unbounded_Octet.cpp
@@ -0,0 +1,52 @@
+/**
+ * @file
+ *
+ * @brief Smoke test (basically just compile) the unbounded sequences
+ * for octets.
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ */
+#include "tao/Basic_Types.h"
+#include "tao/Unbounded_Octet_Sequence_T.h"
+
+typedef TAO::unbounded_value_sequence <CORBA::Octet> s_sequence;
+
+int main(int,char*[])
+{
+ s_sequence a;
+ s_sequence b(23);
+
+ s_sequence c(32, 0, s_sequence::allocbuf(32), true);
+ a = b;
+
+ a.length(c.maximum());
+ if (a.release())
+ {
+ b.length(a.length());
+ }
+ a[0] = 'a';
+ b[0] = a[0];
+
+ s_sequence const & d = a;
+ c[0] = d[0];
+
+ b.replace(64, 0, s_sequence::allocbuf(64), true);
+
+ CORBA::Octet const * x = d.get_buffer();
+ if (x != 0)
+ {
+ s_sequence::freebuf(a.get_buffer(true));
+ }
+ x = b.get_buffer();
+
+ if (d.length())
+ {
+ s_sequence::freebuf(s_sequence::allocbuf(64));
+ }
+
+ s_sequence e(c);
+
+ return 0;
+}
diff --git a/TAO/tests/Sequence_Unit_Tests/bounded_sequence_cdr_ut.cpp b/TAO/tests/Sequence_Unit_Tests/bounded_sequence_cdr_ut.cpp
new file mode 100644
index 00000000000..dcae6b009f4
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/bounded_sequence_cdr_ut.cpp
@@ -0,0 +1,126 @@
+/**
+ * @file
+ *
+ * @brief Unit test for bounded sequences of object references.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "testing_object_reference_traits.hpp"
+#include "tao/Object_Reference_Traits_T.h"
+#include "testing_allocation_traits.hpp"
+#include "testing_range_checking.hpp"
+
+#include "mock_reference.hpp"
+
+#include "tao/Bounded_Object_Reference_Sequence_T.h"
+#include "tao/Bounded_Value_Sequence_T.h"
+#include "tao/Bounded_Sequence_CDR_T.h"
+#include "tao/CDR.h"
+
+#include <boost/test/unit_test.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+using namespace boost::unit_test_framework;
+using namespace TAO_VERSIONED_NAMESPACE_NAME::TAO;
+
+CORBA::ULong const TMAX = 64;
+
+typedef bounded_object_reference_sequence<mock_reference, mock_reference_var,TMAX> tested_sequence;
+
+CORBA::Boolean operator<< (TAO_OutputCDR &strm, const tested_sequence &sequence)
+{
+ return TAO::marshal_sequence(strm, sequence);
+}
+
+CORBA::Boolean operator>> (TAO_InputCDR &strm, tested_sequence &sequence)
+{
+ return TAO::demarshal_sequence(strm, sequence);
+}
+
+struct Tester
+{
+ typedef tested_sequence::value_type value_type;
+ typedef tested_sequence::const_value_type const_value_type;
+
+ typedef tested_sequence::element_traits tested_element_traits;
+ typedef tested_sequence::allocation_traits tested_allocation_traits;
+ typedef TAO::details::range_checking<value_type,true> range;
+
+ value_type * alloc_and_init_buffer()
+ {
+ value_type * buf = tested_sequence::allocbuf(8);
+ buf[0] = mock_reference::allocate(1);
+ buf[1] = mock_reference::allocate(4);
+ buf[2] = mock_reference::allocate(9);
+ buf[3] = mock_reference::allocate(16);
+
+ return buf;
+ }
+
+ void check_values(tested_sequence const & a)
+ {
+ BOOST_CHECK_EQUAL( 1, a[0]->id());
+ BOOST_CHECK_EQUAL( 4, a[1]->id());
+ BOOST_CHECK_EQUAL( 9, a[2]->id());
+ BOOST_CHECK_EQUAL(16, a[3]->id());
+ }
+
+ void test_stream()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+
+ expected_calls s(mock_reference::marshal_calls);
+ {
+ tested_sequence a;
+ a.replace(4, buffer, false);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(64), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(false, a.release());
+ check_values(a);
+
+ TAO_OutputCDR stream;
+ stream << a;
+ BOOST_CHECK_MESSAGE(s.expect(4), s);
+ }
+ tested_sequence::freebuf(buffer);
+ }
+
+ void add_all(test_suite * ts)
+ {
+ boost::shared_ptr<Tester> shared_this(self_);
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_stream,
+ shared_this));
+ }
+
+ static boost::shared_ptr<Tester> allocate()
+ {
+ boost::shared_ptr<Tester> ptr(new Tester);
+ ptr->self_ = ptr;
+
+ return ptr;
+ }
+
+private:
+ Tester() {}
+
+ boost::weak_ptr<Tester> self_;
+};
+
+ACE_Proper_Export_Flag test_suite *
+init_unit_test_suite(int, char*[])
+{
+ test_suite * ts =
+ BOOST_TEST_SUITE("unbounded object reference sequence unit test");
+
+ boost::shared_ptr<Tester> tester(Tester::allocate());
+ tester->add_all(ts);
+
+ return ts;
+}
+
diff --git a/TAO/tests/Sequence_Unit_Tests/mock_array.cpp b/TAO/tests/Sequence_Unit_Tests/mock_array.cpp
new file mode 100644
index 00000000000..ae4017ff3e9
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/mock_array.cpp
@@ -0,0 +1,51 @@
+/**
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "mock_array.hpp"
+
+my_array_slice *
+TAO::Array_Traits<my_array,my_array_slice,my_array_tag>::
+alloc()
+{
+ return new my_array;
+}
+
+void
+TAO::Array_Traits<my_array,my_array_slice,my_array_tag>::
+free(my_array_slice * _tao_slice)
+{
+ delete[] _tao_slice;
+}
+
+my_array_slice *
+TAO::Array_Traits<my_array,my_array_slice,my_array_tag>::
+dup(my_array_slice const * _tao_source)
+{
+ // TODO exception safety
+ my_array_slice * _tao_destination = alloc();
+ copy(_tao_destination, _tao_source);
+ return _tao_destination;
+}
+
+void
+TAO::Array_Traits<my_array,my_array_slice,my_array_tag>::
+copy(
+ my_array_slice * _tao_destination,
+ my_array_slice const * _tao_source)
+{
+ std::copy(
+ _tao_source, _tao_source + sizeof(my_array)/sizeof(my_array_slice),
+ _tao_destination);
+}
+
+void
+TAO::Array_Traits<my_array,my_array_slice,my_array_tag>::
+zero(
+ my_array_slice * _tao_slice)
+{
+ std::fill(
+ _tao_slice, _tao_slice + sizeof(my_array)/sizeof(my_array_slice),
+ 0);
+}
diff --git a/TAO/tests/Sequence_Unit_Tests/mock_array.hpp b/TAO/tests/Sequence_Unit_Tests/mock_array.hpp
new file mode 100644
index 00000000000..c864d59dbf2
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/mock_array.hpp
@@ -0,0 +1,46 @@
+#ifndef guard_mock_array_hpp
+#define guard_mock_array_hpp
+#include /**/ "ace/pre.h"
+/**
+ * @file
+ *
+ * @brief Mock an IDL-generated array
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "testing_counters.hpp"
+
+#include <algorithm>
+
+typedef unsigned long my_array[5];
+typedef unsigned long my_array_slice;
+struct my_array_tag {};
+
+namespace TAO
+{
+
+template<typename T, typename T_slice, typename TAG>
+struct Array_Traits;
+
+template<>
+struct Array_Traits<my_array,my_array_slice,my_array_tag>
+{
+ static my_array_slice * alloc();
+ static void free(my_array_slice * _tao_slice);
+ static my_array_slice * dup(my_array_slice const * _tao_source);
+ static void copy(
+ my_array_slice * _tao_destination,
+ my_array_slice const * _tao_source);
+
+ // TODO This is a new function
+ static void zero(
+ my_array_slice * _tao_slice);
+
+};
+
+}
+
+#include /**/ "ace/post.h"
+#endif // guard_mock_array_hpp
diff --git a/TAO/tests/Sequence_Unit_Tests/string_ut.cpp b/TAO/tests/Sequence_Unit_Tests/string_ut.cpp
new file mode 100644
index 00000000000..5ff67e39e0d
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/string_ut.cpp
@@ -0,0 +1,139 @@
+/**
+ * @file
+ *
+ * @brief Unit test for CORBA string
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen
+ */
+#include "testing_string_traits.hpp"
+#include "tao/CORBA_String.h"
+
+#include "ace/OS_NS_string.h"
+
+#include <sstream>
+#include <stdexcept>
+#include <iostream>
+
+#include <boost/test/unit_test.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+using namespace TAO::details;
+
+using namespace boost::unit_test_framework;
+
+template<typename charT>
+struct helper {};
+
+template<>
+struct helper<char>
+{
+ static char const * empty() {
+ return "";
+ }
+ static char const * sample0() {
+ return "Hello";
+ }
+ static char const * sample1() {
+ return "World";
+ }
+ static char * dup_sample0() {
+ return string_traits<char,true>::duplicate(sample0());
+ }
+ static char * dup_sample1() {
+ return string_traits<char,true>::duplicate(sample1());
+ }
+ static bool equal(char const * lhs, char const * rhs) {
+ return ACE_OS::strcmp(lhs, rhs) == 0;
+ }
+};
+
+template<>
+struct helper<CORBA::WChar>
+{
+ static CORBA::WChar const * empty() {
+ return L"";
+ }
+ static CORBA::WChar const * sample0() {
+ return L"Hello";
+ }
+ static CORBA::WChar const * sample1() {
+ return L"World";
+ }
+ static CORBA::WChar * dup_sample0() {
+ return string_traits<CORBA::WChar,true>::duplicate(sample0());
+ }
+ static CORBA::WChar * dup_sample1() {
+ return string_traits<CORBA::WChar,true>::duplicate(sample1());
+ }
+ static bool equal(CORBA::WChar const * lhs, CORBA::WChar const * rhs) {
+ return ACE_OS::strcmp(lhs, rhs) == 0;
+ }
+};
+
+template<class charT>
+struct Tester
+{
+ typedef string_traits<charT,true> tested_string_traits;
+ typedef charT * string_type;
+ typedef charT const * const_string_type;
+ typedef typename tested_string_traits::string_var string_var;
+ typedef typename tested_string_traits::string_mgr string_mgr;
+ typedef typename tested_string_traits::string_out string_out;
+
+ void test_copy_constructor()
+ {
+ expected_calls d(tested_string_traits::duplicate_calls);
+ expected_calls r(tested_string_traits::release_calls);
+
+ {
+ string_var xe = helper<charT>::dup_sample0();
+ string_var xb (xe);
+ }
+
+ BOOST_CHECK_MESSAGE(d.expect(1), d);
+ BOOST_CHECK_MESSAGE(r.expect(1), r);
+ }
+
+ void add_all(test_suite * ts)
+ {
+ boost::shared_ptr<Tester> shared_this(self_);
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_copy_constructor,
+ shared_this));
+ }
+
+ static boost::shared_ptr<Tester> allocate()
+ {
+ boost::shared_ptr<Tester> ptr(new Tester);
+ ptr->self_ = ptr;
+
+ return ptr;
+ }
+
+private:
+ Tester() {}
+
+ boost::weak_ptr<Tester> self_;
+};
+
+test_suite *
+init_unit_test_suite(int, char*[])
+{
+ test_suite * ts =
+ BOOST_TEST_SUITE("string unit test");
+
+ boost::shared_ptr<Tester<char> > char_tester(
+ Tester<char>::allocate());
+ char_tester->add_all(ts);
+
+ boost::shared_ptr<Tester<CORBA::WChar> > wchar_tester(
+ Tester<CORBA::WChar>::allocate());
+ wchar_tester->add_all(ts);
+
+ return ts;
+}
+
diff --git a/TAO/tests/Sequence_Unit_Tests/unbounded_array_sequence_ut.cpp b/TAO/tests/Sequence_Unit_Tests/unbounded_array_sequence_ut.cpp
new file mode 100644
index 00000000000..9648158918a
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/unbounded_array_sequence_ut.cpp
@@ -0,0 +1,77 @@
+/**
+ * @file
+ *
+ * @brief Unit test for unbounded sequences of arrays.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+
+#include "mock_array.hpp"
+#include "testing_allocation_traits.hpp"
+#include "testing_range_checking.hpp"
+
+#include "tao/Unbounded_Array_Sequence_T.h"
+
+#include <boost/test/unit_test.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+using namespace boost::unit_test_framework;
+using namespace TAO;
+
+struct Tester
+{
+ typedef unbounded_array_sequence<my_array, my_array_slice, my_array_tag> tested_sequence;
+ typedef tested_sequence::value_type value_type;
+ typedef tested_sequence::const_value_type const_value_type;
+
+ typedef tested_sequence::element_traits tested_element_traits;
+ typedef tested_sequence::allocation_traits tested_allocation_traits;
+ typedef TAO::details::range_checking<value_type,true> range;
+
+ void test_default_constructor()
+ {
+ {
+ tested_sequence x;
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(0), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(0), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+ }
+ }
+
+ void add_all(test_suite * ts)
+ {
+ boost::shared_ptr<Tester> shared_this(self_);
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_default_constructor,
+ shared_this));
+ }
+ static boost::shared_ptr<Tester> allocate()
+ {
+ boost::shared_ptr<Tester> ptr(new Tester);
+ ptr->self_ = ptr;
+
+ return ptr;
+ }
+
+private:
+ Tester() {}
+
+ boost::weak_ptr<Tester> self_;
+};
+
+test_suite *
+init_unit_test_suite(int, char*[])
+{
+ test_suite * ts =
+ BOOST_TEST_SUITE("unbounded array sequence unit test");
+
+ boost::shared_ptr<Tester> tester(Tester::allocate());
+ tester->add_all(ts);
+
+ return ts;
+}
+
diff --git a/TAO/tests/Sequence_Unit_Tests/unbounded_fwd_object_reference_sequence_ut.cpp b/TAO/tests/Sequence_Unit_Tests/unbounded_fwd_object_reference_sequence_ut.cpp
new file mode 100644
index 00000000000..e8f829b732d
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/unbounded_fwd_object_reference_sequence_ut.cpp
@@ -0,0 +1,86 @@
+/**
+ * @file
+ *
+ * @brief Unit test for unbounded sequences of forward declared object
+ * references.
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ */
+#include "testing_object_reference_traits.hpp"
+#include "testing_allocation_traits.hpp"
+#include "testing_range_checking.hpp"
+
+#include "fwd_mock_reference.hpp"
+
+#include "tao/Unbounded_Object_Reference_Sequence_T.h"
+
+#include <boost/test/unit_test.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+using namespace boost::unit_test_framework;
+using namespace TAO_VERSIONED_NAMESPACE_NAME::TAO;
+
+struct Tester
+{
+ typedef unbounded_object_reference_sequence<fwd_mock_reference, fwd_mock_reference_var> tested_sequence;
+ typedef tested_sequence::value_type value_type;
+ typedef tested_sequence::const_value_type const_value_type;
+
+ typedef tested_sequence::element_traits tested_element_traits;
+ typedef tested_sequence::allocation_traits tested_allocation_traits;
+ typedef TAO::details::range_checking<value_type,true> range;
+
+ void test_default_constructor()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ expected_calls i(tested_element_traits::default_initializer_calls);
+ {
+ tested_sequence x;
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(0), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(0), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(0), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ BOOST_CHECK_MESSAGE(i.expect(0), i);
+ }
+
+ void add_all(test_suite * ts)
+ {
+ boost::shared_ptr<Tester> shared_this(self_);
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_default_constructor,
+ shared_this));
+ }
+
+ static boost::shared_ptr<Tester> allocate()
+ {
+ boost::shared_ptr<Tester> ptr(new Tester);
+ ptr->self_ = ptr;
+
+ return ptr;
+ }
+
+private:
+ Tester() {}
+
+ boost::weak_ptr<Tester> self_;
+};
+
+ACE_Proper_Export_Flag test_suite *
+init_unit_test_suite(int, char*[])
+{
+ test_suite * ts =
+ BOOST_TEST_SUITE("unbounded object reference sequence unit test");
+
+ boost::shared_ptr<Tester> tester(Tester::allocate());
+ tester->add_all(ts);
+
+ return ts;
+}
+
diff --git a/TAO/tests/Sequence_Unit_Tests/unbounded_octet_sequence_nocopy_ut.cpp b/TAO/tests/Sequence_Unit_Tests/unbounded_octet_sequence_nocopy_ut.cpp
new file mode 100644
index 00000000000..051135f5335
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/unbounded_octet_sequence_nocopy_ut.cpp
@@ -0,0 +1,487 @@
+/**
+ * @file
+ *
+ * @brief Unit test for unbounded sequences of octet types using the TAO
+ * specific no copy specialization
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen
+ */
+#include "testing_allocation_traits.hpp"
+#include "testing_range_checking.hpp"
+
+#include "tao/Unbounded_Octet_Sequence_T.h"
+
+#include "value_sequence_tester.hpp"
+
+#include <boost/test/unit_test.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+#include "tao/Basic_Types.h"
+#include "tao/CDR.h"
+
+using namespace boost::unit_test_framework;
+using namespace TAO_VERSIONED_NAMESPACE_NAME::TAO;
+
+typedef unbounded_value_sequence<CORBA::Octet> tested_sequence;
+typedef tested_sequence::element_traits tested_element_traits;
+typedef tested_sequence::allocation_traits tested_allocation_traits;
+typedef details::range_checking<CORBA::Octet,true> range;
+
+struct Tester
+{
+ typedef tested_sequence::value_type value_type;
+
+ void test_copy_constructor_from_ulong()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ x.length(8);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+
+ tested_sequence y(x);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), y.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), y.length());
+ BOOST_CHECK_EQUAL(true, y.release());
+ }
+ BOOST_CHECK_MESSAGE(f.expect(2), f);
+ }
+
+ void test_assignment_from_ulong()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+ x.length(8);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+
+ tested_sequence y;
+ BOOST_CHECK_MESSAGE(a.expect(0), a);
+
+ y = x;
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), y.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), y.length());
+ BOOST_CHECK_EQUAL(true, y.release());
+ }
+ BOOST_CHECK_MESSAGE(f.expect(2), f);
+ }
+
+ void test_ulong_constructor()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(0), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_exception_in_ulong_constructor()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_allocation_traits::allocbuf_calls.failure_countdown(1);
+ BOOST_CHECK_THROW(tested_sequence x(16), testing_exception);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ }
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ }
+
+ void test_set_length_less_than_maximum()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+
+ x.length(8);
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_set_length_more_than_maximum()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+
+ x.length(32);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(32), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(32), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+ }
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_exception_in_set_length()
+ {
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x;
+
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ tested_allocation_traits::allocbuf_calls.failure_countdown(1);
+ BOOST_CHECK_THROW(x.length(8), testing_exception);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ }
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ value_type * alloc_and_init_buffer()
+ {
+ value_type * buf = tested_sequence::allocbuf(8);
+ buf[0] = 1; buf[1] = 4; buf[2] = 9; buf[3] = 16;
+
+ return buf;
+ }
+
+ ACE_Message_Block * alloc_and_init_mb()
+ {
+ char buf[8];
+ sprintf (buf, "%s", "testing ");
+ size_t n = (strlen (buf) + 1) * sizeof (char);
+ ACE_Message_Block * mb = new ACE_Message_Block (n);
+ mb->copy ((char *) buf, n);
+
+ return mb;
+ }
+
+ void test_buffer_constructor_default()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a(8, 4, buffer);
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(false, a.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(0), a);
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_buffer_constructor_false()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a(8, 4, buffer, false);
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(false, a.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(0), a);
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_buffer_constructor_true()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a(8, 4, buffer, true);
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(true, a.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(0), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_replace_default()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+
+ expected_calls c(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a;
+ a.replace(8, 4, buffer);
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(false, a.release());
+ }
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_replace_false()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls c(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+
+ {
+ tested_sequence a;
+ a.replace(8, 4, buffer, false);
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(false, a.release());
+ }
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_replace_true()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls c(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+
+ {
+ tested_sequence a;
+ a.replace(8, 4, buffer, true);
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(true, a.release());
+ }
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_get_buffer_default()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ tested_sequence a(8, 4, buffer, true);
+ BOOST_CHECK_EQUAL(a.get_buffer(), buffer);
+ }
+
+ void test_get_buffer_false()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ tested_sequence a(8, 4, buffer, true);
+ BOOST_CHECK_EQUAL(a.get_buffer(), buffer);
+ }
+
+ void test_get_buffer_true_with_release_false()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ tested_sequence a(8, 4, buffer, false);
+ BOOST_CHECK(0 == a.get_buffer(true));
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_get_buffer_true_with_release_true()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls c(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a(8, 4, buffer, true);
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer(true));
+
+ tested_sequence const & b = a;
+ BOOST_CHECK_EQUAL(0UL, b.maximum());
+ BOOST_CHECK_EQUAL(0UL, b.length());
+ BOOST_CHECK(0 != b.get_buffer());
+ BOOST_CHECK_EQUAL(true, b.release());
+
+ BOOST_CHECK_MESSAGE(c.expect(1), c);
+
+ BOOST_CHECK(buffer != b.get_buffer());
+ }
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_no_copy_octet()
+ {
+#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
+ ACE_Message_Block * mb = alloc_and_init_mb();
+ tested_sequence a (8, mb);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 't'), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 'g'), a[6]);
+
+ char upperbuf[256];
+ sprintf (upperbuf, "%s", "THIS IS A TEST");
+ size_t n = (strlen (upperbuf) + 1) * sizeof (char);
+ ACE_Message_Block * upper_mb = 0;
+ ACE_NEW (upper_mb,
+ ACE_Message_Block (n));
+ // Copy buf into the Message_Block and update the wr_ptr ().
+ upper_mb->copy ((char *) upperbuf, n);
+ a.replace (n, upper_mb);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 'T'), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 'S'), a[6]);
+#endif
+ }
+
+ void add_all(test_suite * ts)
+ {
+ boost::shared_ptr<Tester> shared_this(self_);
+
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_no_copy_octet,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_ulong_constructor,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_copy_constructor_from_ulong,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_assignment_from_ulong,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_exception_in_ulong_constructor,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_set_length_less_than_maximum,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_set_length_more_than_maximum,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_exception_in_set_length,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_buffer_constructor_default,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_buffer_constructor_false,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_buffer_constructor_true,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_replace_default,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_replace_false,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_replace_true,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_get_buffer_false,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_get_buffer_true_with_release_false,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_get_buffer_true_with_release_true,
+ shared_this));
+
+ }
+
+ static boost::shared_ptr<Tester> allocate()
+ {
+ boost::shared_ptr<Tester> ptr(new Tester);
+ ptr->self_ = ptr;
+
+ return ptr;
+ }
+
+private:
+ Tester() {}
+
+ boost::weak_ptr<Tester> self_;
+};
+
+ACE_Proper_Export_Flag test_suite *
+init_unit_test_suite(int, char*[])
+{
+ test_suite * ts =
+ BOOST_TEST_SUITE("unbounded no copy octet sequence unit test");
+
+ {
+ boost::shared_ptr<Tester> tester(Tester::allocate());
+ tester->add_all(ts);
+ }
+
+ {
+ typedef value_sequence_tester<tested_sequence,tested_allocation_traits> common;
+ boost::shared_ptr<common> tester(common::allocate());
+ tester->add_all(ts);
+ }
+
+ return ts;
+}
+
diff --git a/TAO/tests/Sequence_Unit_Tests/unbounded_octet_sequence_ut.cpp b/TAO/tests/Sequence_Unit_Tests/unbounded_octet_sequence_ut.cpp
new file mode 100644
index 00000000000..efb44423d9e
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/unbounded_octet_sequence_ut.cpp
@@ -0,0 +1,450 @@
+/**
+ * @file
+ *
+ * @brief Unit test for unbounded sequences of octet types
+ *
+ * $Id$
+ *
+ * @author Johnny Willemsen
+ */
+
+#include <boost/test/unit_test.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+#include "testing_allocation_traits.hpp"
+#include "testing_range_checking.hpp"
+
+#include "tao/Unbounded_Value_Sequence_T.h"
+
+#include "value_sequence_tester.hpp"
+
+#include "tao/Basic_Types.h"
+#include "tao/CDR.h"
+
+using namespace TAO_VERSIONED_NAMESPACE_NAME::TAO;
+using namespace boost::unit_test_framework;
+
+typedef unbounded_value_sequence<CORBA::Octet> tested_sequence;
+typedef tested_sequence::element_traits tested_element_traits;
+typedef tested_sequence::allocation_traits tested_allocation_traits;
+typedef details::range_checking<CORBA::Octet,true> range;
+
+struct Tester
+{
+ typedef tested_sequence::value_type value_type;
+
+ void test_copy_constructor_from_ulong()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ x.length(8);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+
+ tested_sequence y(x);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), y.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), y.length());
+ BOOST_CHECK_EQUAL(true, y.release());
+ }
+ BOOST_CHECK_MESSAGE(f.expect(2), f);
+ }
+
+ void test_assignment_from_ulong()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+ x.length(8);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+
+ tested_sequence y;
+ BOOST_CHECK_MESSAGE(a.expect(0), a);
+
+ y = x;
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), y.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), y.length());
+ BOOST_CHECK_EQUAL(true, y.release());
+ }
+ BOOST_CHECK_MESSAGE(f.expect(2), f);
+ }
+
+ void test_ulong_constructor()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(0), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_exception_in_ulong_constructor()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_allocation_traits::allocbuf_calls.failure_countdown(1);
+ BOOST_CHECK_THROW(tested_sequence x(16), testing_exception);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ }
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ }
+
+ void test_set_length_less_than_maximum()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+
+ x.length(8);
+ BOOST_CHECK_EQUAL(CORBA::ULong(16), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_set_length_more_than_maximum()
+ {
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x(16);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+
+ x.length(32);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(32), x.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(32), x.length());
+ BOOST_CHECK_EQUAL(true, x.release());
+ }
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_exception_in_set_length()
+ {
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence x;
+
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ tested_allocation_traits::allocbuf_calls.failure_countdown(1);
+ BOOST_CHECK_THROW(x.length(8), testing_exception);
+ BOOST_CHECK_MESSAGE(a.expect(1), a);
+ }
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ value_type * alloc_and_init_buffer()
+ {
+ value_type * buf = tested_sequence::allocbuf(8);
+ buf[0] = 1; buf[1] = 4; buf[2] = 9; buf[3] = 16;
+
+ return buf;
+ }
+
+ void test_buffer_constructor_default()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a(8, 4, buffer);
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(false, a.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(0), a);
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_buffer_constructor_false()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a(8, 4, buffer, false);
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(false, a.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(0), a);
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_buffer_constructor_true()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls a(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a(8, 4, buffer, true);
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(true, a.release());
+ }
+ BOOST_CHECK_MESSAGE(a.expect(0), a);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_replace_default()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+
+ expected_calls c(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a;
+ a.replace(8, 4, buffer);
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(false, a.release());
+ }
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_replace_false()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls c(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+
+ {
+ tested_sequence a;
+ a.replace(8, 4, buffer, false);
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(false, a.release());
+ }
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(0), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_replace_true()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls c(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+
+ {
+ tested_sequence a;
+ a.replace(8, 4, buffer, true);
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(CORBA::Octet( 1), a[0]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 4), a[1]);
+ BOOST_CHECK_EQUAL(CORBA::Octet( 9), a[2]);
+ BOOST_CHECK_EQUAL(CORBA::Octet(16), a[3]);
+ BOOST_CHECK_EQUAL(true, a.release());
+ }
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ }
+
+ void test_get_buffer_default()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ tested_sequence a(8, 4, buffer, true);
+ BOOST_CHECK_EQUAL(a.get_buffer(), buffer);
+ }
+
+ void test_get_buffer_false()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ tested_sequence a(8, 4, buffer, true);
+ BOOST_CHECK_EQUAL(a.get_buffer(), buffer);
+ }
+
+ void test_get_buffer_true_with_release_false()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ tested_sequence a(8, 4, buffer, false);
+ BOOST_CHECK(0 == a.get_buffer(true));
+ tested_sequence::freebuf(buffer);
+ }
+
+ void test_get_buffer_true_with_release_true()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+ expected_calls c(tested_allocation_traits::allocbuf_calls);
+ expected_calls f(tested_allocation_traits::freebuf_calls);
+ {
+ tested_sequence a(8, 4, buffer, true);
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer(true));
+
+ tested_sequence const & b = a;
+ BOOST_CHECK_EQUAL(0UL, b.maximum());
+ BOOST_CHECK_EQUAL(0UL, b.length());
+ BOOST_CHECK(0 != b.get_buffer());
+ BOOST_CHECK_EQUAL(true, b.release());
+
+ BOOST_CHECK_MESSAGE(c.expect(1), c);
+
+ BOOST_CHECK(buffer != b.get_buffer());
+ }
+ BOOST_CHECK_MESSAGE(c.expect(0), c);
+ BOOST_CHECK_MESSAGE(f.expect(1), f);
+ tested_sequence::freebuf(buffer);
+ }
+
+ void add_all(test_suite * ts)
+ {
+ boost::shared_ptr<Tester> shared_this(self_);
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_ulong_constructor,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_copy_constructor_from_ulong,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_assignment_from_ulong,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_exception_in_ulong_constructor,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_set_length_less_than_maximum,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_set_length_more_than_maximum,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_exception_in_set_length,
+ shared_this));
+
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_buffer_constructor_default,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_buffer_constructor_false,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_buffer_constructor_true,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_replace_default,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_replace_false,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_replace_true,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_get_buffer_false,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_get_buffer_true_with_release_false,
+ shared_this));
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_get_buffer_true_with_release_true,
+ shared_this));
+
+ }
+
+ static boost::shared_ptr<Tester> allocate()
+ {
+ boost::shared_ptr<Tester> ptr(new Tester);
+ ptr->self_ = ptr;
+
+ return ptr;
+ }
+
+private:
+ Tester() {}
+
+ boost::weak_ptr<Tester> self_;
+};
+
+using namespace boost::unit_test_framework;
+
+ACE_Proper_Export_Flag test_suite *
+init_unit_test_suite(int, char*[])
+{
+ test_suite * ts =
+ BOOST_TEST_SUITE("unbounded octet sequence unit test");
+
+ {
+ boost::shared_ptr<Tester> tester(Tester::allocate());
+ tester->add_all(ts);
+ }
+
+ {
+ typedef value_sequence_tester<tested_sequence,tested_allocation_traits> common;
+ boost::shared_ptr<common> tester(common::allocate());
+ tester->add_all(ts);
+ }
+
+ return ts;
+}
diff --git a/TAO/tests/Sequence_Unit_Tests/unbounded_sequence_cdr_ut.cpp b/TAO/tests/Sequence_Unit_Tests/unbounded_sequence_cdr_ut.cpp
new file mode 100644
index 00000000000..76069b39f04
--- /dev/null
+++ b/TAO/tests/Sequence_Unit_Tests/unbounded_sequence_cdr_ut.cpp
@@ -0,0 +1,124 @@
+/**
+ * @file
+ *
+ * @brief Unit test for unbounded sequences of object references.
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan
+ */
+#include "testing_object_reference_traits.hpp"
+#include "tao/Object_Reference_Traits_T.h"
+#include "testing_allocation_traits.hpp"
+#include "testing_range_checking.hpp"
+
+#include "mock_reference.hpp"
+
+#include "tao/Unbounded_Value_Sequence_T.h"
+#include "tao/Unbounded_Object_Reference_Sequence_T.h"
+#include "tao/Unbounded_Sequence_CDR_T.h"
+#include "tao/CDR.h"
+
+#include <boost/test/unit_test.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+using namespace boost::unit_test_framework;
+using namespace TAO_VERSIONED_NAMESPACE_NAME::TAO;
+
+typedef unbounded_object_reference_sequence<mock_reference, mock_reference_var> tested_sequence;
+
+CORBA::Boolean operator<< (TAO_OutputCDR &strm, const tested_sequence &sequence)
+{
+ return TAO::marshal_sequence(strm, sequence);
+}
+
+CORBA::Boolean operator>> (TAO_InputCDR &strm, tested_sequence &sequence)
+{
+ return TAO::demarshal_sequence(strm, sequence);
+}
+
+struct Tester
+{
+ typedef tested_sequence::value_type value_type;
+ typedef tested_sequence::const_value_type const_value_type;
+
+ typedef tested_sequence::element_traits tested_element_traits;
+ typedef tested_sequence::allocation_traits tested_allocation_traits;
+ typedef TAO::details::range_checking<value_type,true> range;
+
+ value_type * alloc_and_init_buffer()
+ {
+ value_type * buf = tested_sequence::allocbuf(8);
+ buf[0] = mock_reference::allocate(1);
+ buf[1] = mock_reference::allocate(4);
+ buf[2] = mock_reference::allocate(9);
+ buf[3] = mock_reference::allocate(16);
+
+ return buf;
+ }
+
+ void check_values(tested_sequence const & a)
+ {
+ BOOST_CHECK_EQUAL( 1, a[0]->id());
+ BOOST_CHECK_EQUAL( 4, a[1]->id());
+ BOOST_CHECK_EQUAL( 9, a[2]->id());
+ BOOST_CHECK_EQUAL(16, a[3]->id());
+ }
+
+ void test_stream()
+ {
+ value_type * buffer = alloc_and_init_buffer();
+
+ expected_calls s(mock_reference::marshal_calls);
+ {
+ tested_sequence a;
+ a.replace(8, 4, buffer, false);
+
+ BOOST_CHECK_EQUAL(CORBA::ULong(8), a.maximum());
+ BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
+ BOOST_CHECK_EQUAL(buffer, a.get_buffer());
+ BOOST_CHECK_EQUAL(false, a.release());
+ check_values(a);
+
+ TAO_OutputCDR stream;
+ stream << a;
+ BOOST_CHECK_MESSAGE(s.expect(4), s);
+ }
+ tested_sequence::freebuf(buffer);
+ }
+
+ void add_all(test_suite * ts)
+ {
+ boost::shared_ptr<Tester> shared_this(self_);
+ ts->add(BOOST_CLASS_TEST_CASE(
+ &Tester::test_stream,
+ shared_this));
+ }
+
+ static boost::shared_ptr<Tester> allocate()
+ {
+ boost::shared_ptr<Tester> ptr(new Tester);
+ ptr->self_ = ptr;
+
+ return ptr;
+ }
+
+private:
+ Tester() {}
+
+ boost::weak_ptr<Tester> self_;
+};
+
+ACE_Proper_Export_Flag test_suite *
+init_unit_test_suite(int, char*[])
+{
+ test_suite * ts =
+ BOOST_TEST_SUITE("unbounded object reference sequence unit test");
+
+ boost::shared_ptr<Tester> tester(Tester::allocate());
+ tester->add_all(ts);
+
+ return ts;
+}
+
diff --git a/ace/MMAP_Memory_Pool.inl b/ace/MMAP_Memory_Pool.inl
new file mode 100644
index 00000000000..db3f5a7ba0f
--- /dev/null
+++ b/ace/MMAP_Memory_Pool.inl
@@ -0,0 +1,21 @@
+// -*- C++ -*-
+//
+// $Id$
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_INLINE
+ACE_Mem_Map const &
+ACE_MMAP_Memory_Pool::mmap (void) const
+{
+ return mmap_;
+}
+
+ACE_INLINE
+ACE_Mem_Map &
+ACE_MMAP_Memory_Pool::mmap (void)
+{
+ return mmap_;
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_NS_sys_sendfile.cpp b/ace/OS_NS_sys_sendfile.cpp
new file mode 100644
index 00000000000..ba731a71acd
--- /dev/null
+++ b/ace/OS_NS_sys_sendfile.cpp
@@ -0,0 +1,37 @@
+// $Id$
+
+#include "ace/OS_NS_sys_sendfile.h"
+#include "ace/OS_NS_sys_mman.h"
+#include "ace/OS_NS_unistd.h"
+
+#ifndef ACE_HAS_INLINED_OSCALLS
+# include "ace/OS_NS_sys_sendfile.inl"
+#endif /* ACE_HAS_INLINED_OS_CALLS */
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+#ifndef ACE_HAS_SENDFILE
+ssize_t
+ACE_OS::sendfile_emulation (ACE_HANDLE out_fd,
+ ACE_HANDLE in_fd,
+ ACE_LOFF_T * offset,
+ size_t count)
+{
+ // @@ We may want set up a signal lease (or oplock) if supported by
+ // the platform so that we don't get a bus error if the mmap()ed
+ // file is truncated.
+ void * const buf =
+ ACE_OS::mmap (0, count, PROT_READ, MAP_PRIVATE, in_fd, *offset);
+
+ ssize_t const r = ACE_OS::write (out_fd, buf, count);
+
+ (void) ACE_OS::munmap (buf, count);
+
+ if (r > 0)
+ *offset += static_cast<ACE_LOFF_T> (r);
+
+ return r;
+}
+#endif /* !ACE_HAS_SENDFILE */
+
+ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/OS_NS_sys_sendfile.h b/ace/OS_NS_sys_sendfile.h
new file mode 100644
index 00000000000..c12cdf15c47
--- /dev/null
+++ b/ace/OS_NS_sys_sendfile.h
@@ -0,0 +1,64 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file OS_NS_sys_sendfile.h
+ *
+ * $Id$
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_OS_NS_SYS_SENDFILE_H
+#define ACE_OS_NS_SYS_SENDFILE_H
+
+#include /**/ "ace/pre.h"
+
+#include "ace/ACE_export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/os_include/sys/os_types.h"
+
+#if defined (ACE_EXPORT_MACRO)
+# undef ACE_EXPORT_MACRO
+#endif
+#define ACE_EXPORT_MACRO ACE_Export
+
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace ACE_OS
+{
+ /// Sendfile wrapper.
+ ACE_NAMESPACE_INLINE_FUNCTION
+ ssize_t sendfile (ACE_HANDLE out_fd,
+ ACE_HANDLE in_fd,
+ ACE_LOFF_T * offset,
+ size_t count);
+
+#ifndef ACE_HAS_SENDFILE
+ extern ssize_t sendfile_emulation (ACE_HANDLE out_fd,
+ ACE_HANDLE in_fd,
+ ACE_LOFF_T * offset,
+ size_t count);
+#endif /* !ACE_HAS_SENDFILE */
+
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+# if defined (ACE_HAS_INLINED_OSCALLS)
+# if defined (ACE_INLINE)
+# undef ACE_INLINE
+# endif /* ACE_INLINE */
+# define ACE_INLINE inline
+# include "ace/OS_NS_sys_sendfile.inl"
+# endif /* ACE_HAS_INLINED_OSCALLS */
+
+#include /**/ "ace/post.h"
+
+#endif /* ACE_OS_NS_SYS_SENDFILE_H */
diff --git a/ace/OS_NS_sys_sendfile.inl b/ace/OS_NS_sys_sendfile.inl
new file mode 100644
index 00000000000..3a1a03b32da
--- /dev/null
+++ b/ace/OS_NS_sys_sendfile.inl
@@ -0,0 +1,20 @@
+// -*- C++ -*-
+//
+// $Id$
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_INLINE ssize_t
+ACE_OS::sendfile (ACE_HANDLE out_fd,
+ ACE_HANDLE in_fd,
+ ACE_LOFF_T * offset,
+ size_t count)
+{
+#ifdef ACE_HAS_SENDFILE
+ return sendfile (out_fd, in_fd, offset, count);
+#else
+ return ACE_OS::sendfile_emulation (out_fd, in_fd, offset, count);
+#endif /* ACE_HAS_SENDFILE */
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ace/Versioned_Namespace.h b/ace/Versioned_Namespace.h
new file mode 100644
index 00000000000..542254876ff
--- /dev/null
+++ b/ace/Versioned_Namespace.h
@@ -0,0 +1,51 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Versioned_Namespace.h
+ *
+ * $Id$
+ *
+ * Versioned namespace support.
+ *
+ * Useful for preventing conflicts when using a third party library.
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+#ifndef ACE_VERSIONED_NAMESPACE_H
+#define ACE_VERSIONED_NAMESPACE_H
+
+#ifndef ACE_CONFIG_MACROS_H
+# error This header is only meant to be included by or after "ace/config-lite.h".
+#endif /* !ACE_CONFIG_LITE_H */
+
+
+#if defined (ACE_HAS_VERSIONED_NAMESPACE) && ACE_HAS_VERSIONED_NAMESPACE == 1
+
+# ifndef ACE_VERSIONED_NAMESPACE_NAME
+//# include "ace/Version.h"
+
+// Preprocessor symbols will not be expanded if they are
+// concatenated. Force the preprocessor to expand them during the
+// argument prescan by calling a macro that itself calls another that
+// performs the actual concatenation.
+# define ACE_MAKE_VERSIONED_NAMESPACE_NAME_IMPL(MAJOR,MINOR,BETA) ACE_ ## MAJOR ## _ ## MINOR ## _ ## BETA
+# define ACE_MAKE_VERSIONED_NAMESPACE_NAME(MAJOR,MINOR,BETA) ACE_MAKE_VERSIONED_NAMESPACE_NAME_IMPL(MAJOR,MINOR,BETA)
+# define ACE_VERSIONED_NAMESPACE_NAME ACE_MAKE_VERSIONED_NAMESPACE_NAME(ACE_MAJOR_VERSION,ACE_MINOR_VERSION,ACE_BETA_VERSION)
+# endif /* !ACE_VERSIONED_NAMESPACE_NAME */
+
+# define ACE_BEGIN_VERSIONED_NAMESPACE_DECL namespace ACE_VERSIONED_NAMESPACE_NAME {
+# define ACE_END_VERSIONED_NAMESPACE_DECL } \
+ using namespace ACE_VERSIONED_NAMESPACE_NAME;
+
+#else
+
+# define ACE_VERSIONED_NAMESPACE_NAME
+# define ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+# define ACE_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* ACE_HAS_VERSIONED_NAMESPACE */
+
+#endif /* !ACE_VERSIONED_NAMESPACE_H */
diff --git a/ace/config-macros.h b/ace/config-macros.h
new file mode 100644
index 00000000000..9a8c22aa90a
--- /dev/null
+++ b/ace/config-macros.h
@@ -0,0 +1,648 @@
+// -*- C++ -*-
+
+//==========================================================================
+/**
+ * @file config-macros.h
+ *
+ * $Id$
+ *
+ * @author (Originally in OS.h)Doug Schmidt <schmidt@cs.wustl.edu>
+ * @author Jesper S. M|ller<stophph@diku.dk>
+ * @author and a cast of thousands...
+ *
+ * This file contains the contents of the old config-lite.h header
+ * without C++ code (except for C++ code in macros). Specifically,
+ * only macros or C language constructs are found in this header.
+ * Allows configuration values and macros to be used by some C
+ * language sources.
+ */
+//==========================================================================
+
+#ifndef ACE_CONFIG_MACROS_H
+#define ACE_CONFIG_MACROS_H
+
+#include "ace/config.h"
+
+#include "ace/Version.h"
+#include "ace/Versioned_Namespace.h"
+
+// ACE_HAS_TLI is used to decide whether to try any XTI/TLI functionality
+// so if it isn't set, set it. Capabilities and differences between
+// XTI and TLI favor XTI, but when deciding to do anything, as opposed to
+// ACE_NOTSUP_RETURN for example, ACE_HAS_TLI is the deciding factor.
+#if !defined (ACE_HAS_TLI)
+# if defined (ACE_HAS_XTI)
+# define ACE_HAS_TLI
+# endif /* ACE_HAS_XTI */
+#endif /* ACE_HAS_TLI */
+
+#define ACE_BITS_PER_ULONG (8 * sizeof (u_long))
+
+#if !defined (ACE_OSTREAM_TYPE)
+# if defined (ACE_LACKS_IOSTREAM_TOTALLY)
+# define ACE_OSTREAM_TYPE FILE
+# else /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+# define ACE_OSTREAM_TYPE ostream
+# endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+#endif /* ! ACE_OSTREAM_TYPE */
+
+#if !defined (ACE_DEFAULT_LOG_STREAM)
+# if defined (ACE_LACKS_IOSTREAM_TOTALLY)
+# define ACE_DEFAULT_LOG_STREAM 0
+# else /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+# define ACE_DEFAULT_LOG_STREAM (&cerr)
+# endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+#endif /* ! ACE_DEFAULT_LOG_STREAM */
+
+// These two are only for backward compatibility. You should avoid
+// using them if not necessary.
+#if !defined (ACE_LACKS_DEPRECATED_MACROS)
+/**
+ * @deprecated The ACE_SYNCH_1 macro is deprecated
+ */
+# define ACE_SYNCH_1 ACE_SYNCH_DECL
+/**
+ * @deprecated The ACE_SYNCH_2 macro is deprecated
+ */
+# define ACE_SYNCH_2 ACE_SYNCH_USE
+#endif
+
+// For Win32 compatibility...
+# if !defined (ACE_WSOCK_VERSION)
+# define ACE_WSOCK_VERSION 0, 0
+# endif /* ACE_WSOCK_VERSION */
+
+# if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
+# define ACE_MT(X) X
+# if !defined (_REENTRANT)
+# define _REENTRANT
+# endif /* _REENTRANT */
+# else
+# define ACE_MT(X)
+# endif /* ACE_MT_SAFE */
+
+# if defined (ACE_HAS_PURIFY)
+# define ACE_INITIALIZE_MEMORY_BEFORE_USE
+# endif /* ACE_HAS_PURIFY */
+
+# if defined (ACE_HAS_VALGRIND)
+# define ACE_INITIALIZE_MEMORY_BEFORE_USE
+# endif /* ACE_HAS_VALGRIND */
+
+#if !defined (ACE_LACKS_DEPRECATED_MACROS)
+/**
+ * @deprecated The @c ACE_HAS_USING macros are deprecated
+ */
+# define ACE_USING using
+#endif /* !ACE_LACKS_DEPRECATED_MACROS */
+
+# if defined (ACE_HAS_TYPENAME_KEYWORD)
+# define ACE_TYPENAME typename
+# else
+# define ACE_TYPENAME
+# endif /* ACE_HAS_TYPENAME_KEYWORD */
+
+#if !defined (ACE_LACKS_DEPRECATED_MACROS)
+/**
+ * @deprecated The @c ACE_TEMPLATE_SPECIALIZATION and
+ * @c ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION macros are
+ * deprecated. Use standard C++ template specialization
+ * syntax instead.
+ */
+# define ACE_TEMPLATE_SPECIALIZATION template<>
+# define ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
+#endif /* !ACE_LACKS_DEPRECATED_MACROS */
+
+// =========================================================================
+// Perfect Multicast filting refers to RFC 3376, where a socket is only
+// delivered dgrams for groups joined even if it didn't bind the group
+// address. We turn this option off by default, although most OS's
+// except for Windows and Solaris probably lack perfect filtering.
+// =========================================================================
+
+# if !defined (ACE_LACKS_PERFECT_MULTICAST_FILTERING)
+# define ACE_LACKS_PERFECT_MULTICAST_FILTERING 0
+# endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */
+
+// =========================================================================
+// Enable/Disable Features By Default
+// =========================================================================
+
+# if !defined (ACE_HAS_POSITION_INDEPENDENT_POINTERS)
+# define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1
+# endif /* ACE_HAS_POSITION_INDEPENDENT_POINTERS */
+
+# if !defined (ACE_HAS_PROCESS_SPAWN)
+# if !defined (ACE_LACKS_FORK) || defined (ACE_WIN32) || defined (ACE_WINCE) || defined (ACE_OPENVMS) || defined (CHORUS)
+# define ACE_HAS_PROCESS_SPAWN 1
+# endif
+# endif /* ACE_HAS_PROCESS_SPAWN */
+
+# if !defined (ACE_HAS_DYNAMIC_LINKING)
+# if defined (ACE_HAS_SVR4_DYNAMIC_LINKING) || defined (ACE_WIN32) || defined (ACE_VXWORKS) || defined (__hpux)
+# define ACE_HAS_DYNAMIC_LINKING 1
+# endif
+# endif /* ACE_HAS_DYNAMIC_LINKING */
+
+# if defined (ACE_USES_FIFO_SEM)
+# if defined (ACE_HAS_POSIX_SEM) || defined (ACE_LACKS_MKFIFO) || defined (ACE_LACKS_FCNTL)
+# undef ACE_USES_FIFO_SEM
+# endif
+# endif /* ACE_USES_FIFO_SEM */
+
+// =========================================================================
+// RCSID Macros
+// =========================================================================
+
+// By default, DO NOT include RCS Id strings in object code.
+#if ! defined (ACE_USE_RCSID)
+# define ACE_USE_RCSID 0
+#endif /* #if ! defined (ACE_USE_RCSID) */
+
+#if (defined (ACE_USE_RCSID) && (ACE_USE_RCSID != 0))
+# if ! defined (ACE_RCSID)
+
+ // This hack has the following purposes:
+ // 1. To define the RCS id string variable as a static char*, so
+ // that there won't be any duplicate extern symbols at link
+ // time.
+ // 2. To have a RCS id string variable with a unique name for each
+ // file.
+ // 3. To avoid warnings of the type "variable declared and never
+ // used".
+
+# define ACE_RCSID(path, file, id) \
+ static inline const char* get_rcsid_ ## path ## _ ## file (const char*) \
+ { \
+ return id ; \
+ } \
+ static const char* rcsid_ ## path ## _ ## file = \
+ get_rcsid_ ## path ## _ ## file ( rcsid_ ## path ## _ ## file ) ;
+
+# endif /* #if ! defined (ACE_RCSID) */
+#else
+
+ // RCS id strings are not wanted.
+# if defined (ACE_RCSID)
+# undef ACE_RCSID
+# endif /* #if defined (ACE_RCSID) */
+# define ACE_RCSID(path, file, id) /* noop */
+#endif /* #if (defined (ACE_USE_RCSID) && (ACE_USE_RCSID != 0)) */
+
+// =========================================================================
+// INLINE macros
+//
+// These macros handle all the inlining of code via the .i or .inl files
+// =========================================================================
+
+#if defined (ACE_LACKS_INLINE_FUNCTIONS) && !defined (ACE_NO_INLINE)
+# define ACE_NO_INLINE
+#endif /* defined (ACE_LACKS_INLINE_FUNCTIONS) && !defined (ACE_NO_INLINE) */
+
+// ACE inlining has been explicitly disabled. Implement
+// internally within ACE by undefining __ACE_INLINE__.
+#if defined (ACE_NO_INLINE)
+# undef __ACE_INLINE__
+#endif /* ! ACE_NO_INLINE */
+
+#if defined (__ACE_INLINE__)
+# define ACE_INLINE inline
+# if !defined (ACE_HAS_INLINED_OSCALLS)
+# define ACE_HAS_INLINED_OSCALLS
+# endif /* !ACE_HAS_INLINED_OSCALLS */
+#else
+# define ACE_INLINE
+#endif /* __ACE_INLINE__ */
+
+#if !defined (ACE_LACKS_DEPRECATED_MACROS)
+ // =========================================================================
+ // EXPLICIT macro
+ // =========================================================================
+
+ /**
+ * @deprecated explicit is deprecated. ACE requires C++
+ * "explicit" keyword support.
+ */
+ # define ACE_EXPLICIT explicit
+#endif /* ACE_LACKS_DEPRECATED_MACROS */
+
+#if !defined (ACE_LACKS_DEPRECATED_MACROS)
+ // =========================================================================
+ // MUTABLE macro
+ // =========================================================================
+
+ /**
+ * @deprecated ACE_MUTABLE is deprecated. ACE requires C++ "mutable"
+ * keyword support.
+ */
+ # define ACE_MUTABLE mutable
+ # define ACE_CONST_WHEN_MUTABLE const
+#endif /* ACE_LACKS_DEPRECATED_MACROS */
+
+// ============================================================================
+// EXPORT macros
+//
+// Since Win32 DLL's do not export all symbols by default, they must be
+// explicitly exported (which is done by *_Export macros).
+// ============================================================================
+
+// Win32 should have already defined the macros in config-win32-common.h
+#if !defined (ACE_HAS_CUSTOM_EXPORT_MACROS)
+# define ACE_Proper_Export_Flag
+# define ACE_Proper_Import_Flag
+# define ACE_EXPORT_SINGLETON_DECLARATION(T)
+# define ACE_IMPORT_SINGLETON_DECLARATION(T)
+# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#else
+// An export macro should at the very least have been defined.
+
+# ifndef ACE_Proper_Import_Flag
+# define ACE_Proper_Import_Flag
+# endif /* !ACE_Proper_Import_Flag */
+
+# ifndef ACE_EXPORT_SINGLETON_DECLARATION
+# define ACE_EXPORT_SINGLETON_DECLARATION(T)
+# endif /* !ACE_EXPORT_SINGLETON_DECLARATION */
+
+# ifndef ACE_IMPORT_SINGLETON_DECLARATION
+# define ACE_IMPORT_SINGLETON_DECLARATION(T)
+# endif /* !ACE_IMPORT_SINGLETON_DECLARATION */
+
+# ifndef ACE_EXPORT_SINGLETON_DECLARE
+# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* !ACE_EXPORT_SINGLETON_DECLARE */
+
+# ifndef ACE_IMPORT_SINGLETON_DECLARE
+# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* !ACE_IMPORT_SINGLETON_DECLARE */
+
+#endif /* !ACE_HAS_CUSTOM_EXPORT_MACROS */
+
+// This is a whim of mine -- that instead of annotating a class with
+// ACE_Export in its declaration, we make the declaration near the TOP
+// of the file with ACE_DECLARE_EXPORT.
+// TS = type specifier (e.g., class, struct, int, etc.)
+// ID = identifier
+// So, how do you use it? Most of the time, just use ...
+// ACE_DECLARE_EXPORT(class, someobject);
+// If there are global functions to be exported, then use ...
+// ACE_DECLARE_EXPORT(void, globalfunction) (int, ...);
+// Someday, when template libraries are supported, we made need ...
+// ACE_DECLARE_EXPORT(template class, sometemplate) <class TYPE, class LOCK>;
+# define ACE_DECLARE_EXPORT(TS,ID) TS ACE_Export ID
+
+// ============================================================================
+// Cast macros
+//
+// These macros are used to choose between the old cast style and the new
+// *_cast<> operators
+// ============================================================================
+
+# define ACE_sap_any_cast(TYPE) reinterpret_cast<TYPE> (const_cast<ACE_Addr &> (ACE_Addr::sap_any))
+
+#if !defined (ACE_LACKS_DEPRECATED_MACROS)
+ /**
+ * @deprecated ACE_{static,reinterpret,dynamic,const}_cast@<@> is
+ * deprecated. Directly use standard C++ casts instead.
+ */
+ # define ACE_static_cast(TYPE, EXPR) static_cast<TYPE> (EXPR)
+ # define ACE_static_cast_1_ptr(TYPE, T1, EXPR) static_cast<TYPE<T1> *> (EXPR)
+ # define ACE_static_cast_2_ptr(TYPE, T1, T2, EXPR) static_cast<TYPE<T1, T2> *> (EXPR)
+ # define ACE_static_cast_3_ptr(TYPE, T1, T2, T3, EXPR) static_cast<TYPE<T1, T2, T3> *> (EXPR)
+ # define ACE_static_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) static_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+ # define ACE_static_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+ # define ACE_static_cast_1_ref(TYPE, T1, EXPR) static_cast<TYPE<T1> &> (EXPR)
+ # define ACE_static_cast_2_ref(TYPE, T1, T2, EXPR) static_cast<TYPE<T1, T2> &> (EXPR)
+ # define ACE_static_cast_3_ref(TYPE, T1, T2, T3, EXPR) static_cast<TYPE<T1, T2, T3> &> (EXPR)
+ # define ACE_static_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) static_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+ # define ACE_static_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+
+ # define ACE_const_cast(TYPE, EXPR) const_cast<TYPE> (EXPR)
+ # define ACE_const_cast_1_ptr(TYPE, T1, EXPR) const_cast<TYPE<T1> *> (EXPR)
+ # define ACE_const_cast_2_ptr(TYPE, T1, T2, EXPR) const_cast<TYPE<T1, T2> *> (EXPR)
+ # define ACE_const_cast_3_ptr(TYPE, T1, T2, T3, EXPR) const_cast<TYPE<T1, T2, T3> *> (EXPR)
+ # define ACE_const_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) const_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+ # define ACE_const_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) const_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+ # define ACE_const_cast_1_ref(TYPE, T1, EXPR) const_cast<TYPE<T1> &> (EXPR)
+ # define ACE_const_cast_2_ref(TYPE, T1, T2, EXPR) const_cast<TYPE<T1, T2> &> (EXPR)
+ # define ACE_const_cast_3_ref(TYPE, T1, T2, T3, EXPR) const_cast<TYPE<T1, T2, T3> &> (EXPR)
+ # define ACE_const_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) const_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+ # define ACE_const_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) const_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+
+ # define ACE_reinterpret_cast(TYPE, EXPR) reinterpret_cast<TYPE> (EXPR)
+ # define ACE_reinterpret_cast_1_ptr(TYPE, T1, EXPR) reinterpret_cast<TYPE<T1> *> (EXPR)
+ # define ACE_reinterpret_cast_2_ptr(TYPE, T1, T2, EXPR) reinterpret_cast<TYPE<T1, T2> *> (EXPR)
+ # define ACE_reinterpret_cast_3_ptr(TYPE, T1, T2, T3, EXPR) reinterpret_cast<TYPE<T1, T2, T3> *> (EXPR)
+ # define ACE_reinterpret_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) reinterpret_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+ # define ACE_reinterpret_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) reinterpret_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+ # define ACE_reinterpret_cast_1_ref(TYPE, T1, EXPR) reinterpret_cast<TYPE<T1> &> (EXPR)
+ # define ACE_reinterpret_cast_2_ref(TYPE, T1, T2, EXPR) reinterpret_cast<TYPE<T1, T2> &> (EXPR)
+ # define ACE_reinterpret_cast_3_ref(TYPE, T1, T2, T3, EXPR) reinterpret_cast<TYPE<T1, T2, T3> &> (EXPR)
+ # define ACE_reinterpret_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) reinterpret_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+ # define ACE_reinterpret_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) reinterpret_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+
+ # if defined (ACE_LACKS_RTTI)
+ # define ACE_dynamic_cast(TYPE, EXPR) static_cast<TYPE> (EXPR)
+ # define ACE_dynamic_cast_1_ptr(TYPE, T1, EXPR) static_cast<TYPE<T1> *> (EXPR)
+ # define ACE_dynamic_cast_2_ptr(TYPE, T1, T2, EXPR) static_cast<TYPE<T1, T2> *> (EXPR)
+ # define ACE_dynamic_cast_3_ptr(TYPE, T1, T2, T3, EXPR) static_cast<TYPE<T1, T2, T3> *> (EXPR)
+ # define ACE_dynamic_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) static_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+ # define ACE_dynamic_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+ # define ACE_dynamic_cast_1_ref(TYPE, T1, EXPR) static_cast<TYPE<T1> &> (EXPR)
+ # define ACE_dynamic_cast_2_ref(TYPE, T1, T2, EXPR) static_cast<TYPE<T1, T2> &> (EXPR)
+ # define ACE_dynamic_cast_3_ref(TYPE, T1, T2, T3, EXPR) static_cast<TYPE<T1, T2, T3> &> (EXPR)
+ # define ACE_dynamic_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) static_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+ # define ACE_dynamic_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) static_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+ # else /* ! ACE_LACKS_RTTI */
+ # define ACE_dynamic_cast(TYPE, EXPR) dynamic_cast<TYPE> (EXPR)
+ # define ACE_dynamic_cast_1_ptr(TYPE, T1, EXPR) dynamic_cast<TYPE<T1> *> (EXPR)
+ # define ACE_dynamic_cast_2_ptr(TYPE, T1, T2, EXPR) dynamic_cast<TYPE<T1, T2> *> (EXPR)
+ # define ACE_dynamic_cast_3_ptr(TYPE, T1, T2, T3, EXPR) dynamic_cast<TYPE<T1, T2, T3> *> (EXPR)
+ # define ACE_dynamic_cast_4_ptr(TYPE, T1, T2, T3, T4, EXPR) dynamic_cast<TYPE<T1, T2, T3, T4> *> (EXPR)
+ # define ACE_dynamic_cast_5_ptr(TYPE, T1, T2, T3, T4, T5, EXPR) dynamic_cast<TYPE<T1, T2, T3, T4, T5> *> (EXPR)
+ # define ACE_dynamic_cast_1_ref(TYPE, T1, EXPR) dynamic_cast<TYPE<T1> &> (EXPR)
+ # define ACE_dynamic_cast_2_ref(TYPE, T1, T2, EXPR) dynamic_cast<TYPE<T1, T2> &> (EXPR)
+ # define ACE_dynamic_cast_3_ref(TYPE, T1, T2, T3, EXPR) dynamic_cast<TYPE<T1, T2, T3> &> (EXPR)
+ # define ACE_dynamic_cast_4_ref(TYPE, T1, T2, T3, T4, EXPR) dynamic_cast<TYPE<T1, T2, T3, T4> &> (EXPR)
+ # define ACE_dynamic_cast_5_ref(TYPE, T1, T2, T3, T4, T5, EXPR) dynamic_cast<TYPE<T1, T2, T3, T4, T5> &> (EXPR)
+ # endif /* ! ACE_LACKS_RTTI */
+#endif /* ACE_LACKS_DEPRECATED_MACROS */
+
+# if !defined (ACE_CAST_CONST)
+ // Sun CC 4.2, for example, requires const in reinterpret casts of
+ // data members in const member functions. But, other compilers
+ // complain about the useless const. This keeps everyone happy.
+# if defined (__SUNPRO_CC)
+# define ACE_CAST_CONST const
+# else /* ! __SUNPRO_CC */
+# define ACE_CAST_CONST
+# endif /* ! __SUNPRO_CC */
+# endif /* ! ACE_CAST_CONST */
+
+// ============================================================================
+// Compiler Silencing macros
+//
+// Some compilers complain about parameters that are not used. This macro
+// should keep them quiet.
+// ============================================================================
+
+#if defined (ghs) || defined (__GNUC__) || defined (__hpux) || defined (__sgi) || defined (__DECCXX) || defined (__KCC) || defined (__rational__) || defined (__USLC__) || defined (ACE_RM544) || defined (__DCC__) || defined (__PGI) || defined (__TANDEM)
+// Some compilers complain about "statement with no effect" with (a).
+// This eliminates the warnings, and no code is generated for the null
+// conditional statement. @note that may only be true if -O is enabled,
+// such as with GreenHills (ghs) 1.8.8.
+# define ACE_UNUSED_ARG(a) do {/* null */} while (&a == 0)
+#elif defined (__DMC__)
+ #define ACE_UNUSED_ID(identifier)
+ template <class T>
+ inline void ACE_UNUSED_ARG(const T& ACE_UNUSED_ID(t)) { }
+#else /* ghs || __GNUC__ || ..... */
+# define ACE_UNUSED_ARG(a) (a)
+#endif /* ghs || __GNUC__ || ..... */
+
+#if defined (__sgi) || defined (ghs) || defined (__DECCXX) || defined(__BORLANDC__) || defined (__KCC) || defined (ACE_RM544) || defined (__USLC__) || defined (__DCC__) || defined (__PGI) || defined (__TANDEM) || (defined (__HP_aCC) && (__HP_aCC >= 33200))
+# define ACE_NOTREACHED(a)
+#else /* __sgi || ghs || ..... */
+# define ACE_NOTREACHED(a) a
+#endif /* __sgi || ghs || ..... */
+
+// ============================================================================
+// ACE_ALLOC_HOOK* macros
+//
+// Macros to declare and define class-specific allocation operators.
+// ============================================================================
+
+# if defined (ACE_HAS_ALLOC_HOOKS)
+# define ACE_ALLOC_HOOK_DECLARE \
+ void *operator new (size_t bytes); \
+ void operator delete (void *ptr);
+
+ // Note that these are just place holders for now. Some day they
+ // may be be replaced by <ACE_Malloc>.
+# define ACE_ALLOC_HOOK_DEFINE(CLASS) \
+ void *CLASS::operator new (size_t bytes) { return ::new char[bytes]; } \
+ void CLASS::operator delete (void *ptr) { delete [] ((char *) ptr); }
+# else
+# define ACE_ALLOC_HOOK_DECLARE struct __Ace {} /* Just need a dummy... */
+# define ACE_ALLOC_HOOK_DEFINE(CLASS)
+# endif /* ACE_HAS_ALLOC_HOOKS */
+
+// ============================================================================
+/**
+ * ACE_OSCALL* macros
+ *
+ * @deprecated ACE_OSCALL_RETURN and ACE_OSCALL should not be used.
+ * Please restart system calls in your application code.
+ * See the @c sigaction(2) man page for documentation
+ * regarding enabling restartable system calls across
+ * signals via the @c SA_RESTART flag.
+ *
+ * The following two macros used ensure that system calls are properly
+ * restarted (if necessary) when interrupts occur. However, that
+ * capability was never enabled by any of our supported platforms.
+ * In fact, some parts of ACE would not function properly when that
+ * ability was enabled. Furthermore, they assumed that ability to
+ * restart system calls was determined statically. That assumption
+ * does not hold for modern platforms, where that ability is
+ * determined dynamically at run-time.
+ */
+// ============================================================================
+
+#define ACE_OSCALL_RETURN(X,TYPE,FAILVALUE) \
+ do \
+ return (TYPE) (X); \
+ while (0)
+#define ACE_OSCALL(X,TYPE,FAILVALUE,RESULT) \
+ do \
+ RESULT = (TYPE) (X); \
+ while (0)
+
+#if defined (ACE_WIN32)
+# if defined (__BORLANDC__) && (__BORLANDC__ <= 0x550)
+# define ACE_WIN32CALL_RETURN(X,TYPE,FAILVALUE) \
+ do { \
+ TYPE ace_result_; \
+ TYPE ace_local_result_ = (TYPE) X; \
+ ace_result_ = ace_local_result_; \
+ if (ace_result_ == FAILVALUE) \
+ ACE_OS::set_errno_to_last_error (); \
+ return ace_result_; \
+ } while (0)
+# else
+# define ACE_WIN32CALL_RETURN(X,TYPE,FAILVALUE) \
+ do { \
+ TYPE ace_result_ = (TYPE) X; \
+ if (ace_result_ == FAILVALUE) \
+ ACE_OS::set_errno_to_last_error (); \
+ return ace_result_; \
+ } while (0)
+# endif /* defined (__BORLANDC__) && (__BORLANDC__ <= 0x550) */
+# define ACE_WIN32CALL(X,TYPE,FAILVALUE,RESULT) \
+ do { \
+ RESULT = (TYPE) X; \
+ if (RESULT == FAILVALUE) \
+ ACE_OS::set_errno_to_last_error (); \
+ } while (0)
+#endif /* ACE_WIN32 */
+
+// ============================================================================
+// Fundamental types
+// ============================================================================
+
+#if defined (ACE_WIN32)
+
+typedef HANDLE ACE_HANDLE;
+typedef SOCKET ACE_SOCKET;
+# define ACE_INVALID_HANDLE INVALID_HANDLE_VALUE
+
+#else /* ! ACE_WIN32 */
+
+typedef int ACE_HANDLE;
+typedef ACE_HANDLE ACE_SOCKET;
+# define ACE_INVALID_HANDLE -1
+
+#endif /* ACE_WIN32 */
+
+// Define the type that's returned from the platform's native thread
+// functions. ACE_THR_FUNC_RETURN is the type defined as the thread
+// function's return type, except when the thread function doesn't return
+// anything (pSoS). The ACE_THR_FUNC_NO_RETURN_VAL macro is used to
+// indicate that the actual thread function doesn't return anything. The
+// rest of ACE uses a real type so there's no a ton of conditional code
+// everywhere to deal with the possibility of no return type.
+# if defined (ACE_VXWORKS) && !defined (ACE_HAS_PTHREADS)
+# include /**/ <taskLib.h>
+typedef int ACE_THR_FUNC_RETURN;
+# elif defined (ACE_PSOS)
+typedef int ACE_THR_FUNC_RETURN;
+// pSOS task functions don't really return anything... this just makes it
+// easier to deal with declaring variables internally in ACE.
+# elif defined (ACE_WIN32)
+typedef DWORD ACE_THR_FUNC_RETURN;
+# else
+typedef void* ACE_THR_FUNC_RETURN;
+# endif /* ACE_VXWORKS */
+typedef ACE_THR_FUNC_RETURN (*ACE_THR_FUNC)(void *);
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+typedef void (*ACE_THR_C_DEST)(void *);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+typedef void (*ACE_THR_DEST)(void *);
+
+// Now some platforms have special requirements...
+# if defined (ACE_VXWORKS) && !defined (ACE_HAS_PTHREADS)
+typedef FUNCPTR ACE_THR_FUNC_INTERNAL; // where typedef int (*FUNCPTR) (...)
+# elif defined (ACE_PSOS)
+typedef void (*ACE_THR_FUNC_INTERNAL)(void *);
+# else
+typedef ACE_THR_FUNC ACE_THR_FUNC_INTERNAL;
+# endif /* ACE_VXWORKS */
+
+# ifdef __cplusplus
+extern "C"
+{
+# endif /* __cplusplus */
+# if defined (ACE_VXWORKS) && !defined (ACE_HAS_PTHREADS)
+typedef FUNCPTR ACE_THR_C_FUNC; // where typedef int (*FUNCPTR) (...)
+# elif defined (ACE_PSOS)
+// needed to handle task entry point type inconsistencies in pSOS+
+typedef void (*PSOS_TASK_ENTRY_POINT)();
+typedef void (*ACE_THR_C_FUNC)(void *);
+# else
+typedef ACE_THR_FUNC_RETURN (*ACE_THR_C_FUNC)(void *);
+# endif /* ACE_VXWORKS */
+# ifdef __cplusplus
+}
+# endif /* __cplusplus */
+
+// ============================================================================
+// Macros for controlling the lifetimes of dlls loaded by ACE_DLL--including
+// all dlls loaded via the ACE Service Config framework.
+//
+// Please don't change these values or add new ones wantonly, since we use
+// the ACE_BIT_ENABLED, etc..., macros to test them.
+// ============================================================================
+
+// Per-process policy that unloads dlls eagerly.
+#define ACE_DLL_UNLOAD_POLICY_PER_PROCESS 0
+// Apply policy on a per-dll basis. If the dll doesn't use one of the macros
+// below, the current per-process policy will be used.
+#define ACE_DLL_UNLOAD_POLICY_PER_DLL 1
+// Don't unload dll when refcount reaches zero, i.e., wait for either an
+// explicit unload request or program exit.
+#define ACE_DLL_UNLOAD_POLICY_LAZY 2
+// Default policy allows dlls to control their own destinies, but will
+// unload those that don't make a choice eagerly.
+#define ACE_DLL_UNLOAD_POLICY_DEFAULT ACE_DLL_UNLOAD_POLICY_PER_DLL
+
+// Add this macro you one of your cpp file in your dll. X should
+// be either ACE_DLL_UNLOAD_POLICY_DEFAULT or ACE_DLL_UNLOAD_POLICY_LAZY.
+#define ACE_DLL_UNLOAD_POLICY(CLS,X) \
+extern "C" u_long CLS##_Export _get_dll_unload_policy (void) \
+ { return X;}
+
+// ============================================================================
+// ACE_USES_CLASSIC_SVC_CONF macro
+// ============================================================================
+
+// For now, default is to use the classic svc.conf format.
+#if !defined (ACE_USES_CLASSIC_SVC_CONF)
+# if defined (ACE_HAS_CLASSIC_SVC_CONF) && defined (ACE_HAS_XML_SVC_CONF)
+# error You can only use either CLASSIC or XML svc.conf, not both.
+# endif
+// Change the ACE_HAS_XML_SVC_CONF to ACE_HAS_CLASSIC_SVC_CONF when
+// we switch ACE to use XML svc.conf as default format.
+# if defined (ACE_HAS_XML_SVC_CONF)
+# define ACE_USES_CLASSIC_SVC_CONF 0
+# else
+# define ACE_USES_CLASSIC_SVC_CONF 1
+# endif /* ACE_HAS_XML_SVC_CONF */
+#endif /* ACE_USES_CLASSIC_SVC_CONF */
+
+// ============================================================================
+// Default svc.conf file extension.
+// ============================================================================
+#if defined (ACE_USES_CLASSIC_SVC_CONF) && (ACE_USES_CLASSIC_SVC_CONF == 1)
+# define ACE_DEFAULT_SVC_CONF_EXT ".conf"
+#else
+# define ACE_DEFAULT_SVC_CONF_EXT ".conf.xml"
+#endif /* ACE_USES_CLASSIC_SVC_CONF && ACE_USES_CLASSIC_SVC_CONF == 1 */
+
+// ============================================================================
+// Miscellaneous macros
+// ============================================================================
+
+#if defined (ACE_USES_EXPLICIT_STD_NAMESPACE)
+# define ACE_STD_NAMESPACE std
+#else
+# define ACE_STD_NAMESPACE
+#endif
+
+#if !defined (ACE_OS_String)
+# define ACE_OS_String ACE_OS
+#endif /* ACE_OS_String */
+#if !defined (ACE_OS_Memory)
+# define ACE_OS_Memory ACE_OS
+#endif /* ACE_OS_Memory */
+#if !defined (ACE_OS_Dirent)
+# define ACE_OS_Dirent ACE_OS
+#endif /* ACE_OS_Dirent */
+#if !defined (ACE_OS_TLI)
+# define ACE_OS_TLI ACE_OS
+#endif /* ACE_OS_TLI */
+
+// -------------------------------------------------------------------
+// Preprocessor symbols will not be expanded if they are
+// concatenated. Force the preprocessor to expand them during the
+// argument prescan by calling a macro that itself calls another that
+// performs the actual concatenation.
+#define ACE_PREPROC_CONCATENATE_IMPL(A,B) A ## B
+#define ACE_PREPROC_CONCATENATE(A,B) ACE_PREPROC_CONCATENATE_IMPL(A,B)
+// -------------------------------------------------------------------
+
+#endif /* ACE_CONFIG_MACROS_H */
diff --git a/bin/MakeProjectCreator/config/endpointpolicy.mpb b/bin/MakeProjectCreator/config/endpointpolicy.mpb
new file mode 100644
index 00000000000..740b240e816
--- /dev/null
+++ b/bin/MakeProjectCreator/config/endpointpolicy.mpb
@@ -0,0 +1,7 @@
+// -*- MPC -*-
+// $Id$
+
+project : taolib, core, portableserver, pi {
+ after += EndpointPolicy
+ libs += TAO_EndpointPolicy
+}
diff --git a/tests/Bug_2368_Regression_Test.cpp b/tests/Bug_2368_Regression_Test.cpp
new file mode 100644
index 00000000000..8441abe346f
--- /dev/null
+++ b/tests/Bug_2368_Regression_Test.cpp
@@ -0,0 +1,123 @@
+/**
+ * @file Bug_2368_Regression_Test.cpp
+ *
+ * $Id$
+ *
+ * Reproduces the problems reported in bug 2368:
+ * http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=2368
+ *
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ */
+
+#include "test_config.h"
+#include "ace/Service_Config.h"
+#include "ace/Reactor.h"
+#include "ace/Log_Msg.h"
+#include "ace/Signal.h"
+
+ACE_RCSID (tests,
+ Bug_2368_Regression_Test,
+ "$Id$")
+
+static bool handleA_close_called = false;
+static bool handleB_close_called = false;
+
+class My_HandlerA : public ACE_Event_Handler
+{
+public:
+ virtual int handle_close (ACE_HANDLE,
+ ACE_Reactor_Mask)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Handle close called\n"));
+ handleA_close_called = true;
+
+ return 0;
+ }
+
+ virtual int handle_signal (int,
+ siginfo_t *,
+ ucontext_t *)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Handle signal called\n"));
+
+ return 0;
+ }
+};
+
+class My_HandlerB : public ACE_Event_Handler
+{
+public:
+ virtual int handle_close (ACE_HANDLE,
+ ACE_Reactor_Mask)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Handle close called\n"));
+ handleB_close_called = true;
+
+ return 0;
+ }
+
+ virtual int handle_signal (int,
+ siginfo_t *,
+ ucontext_t *)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Handle signal called\n"));
+
+ return 0;
+ }
+};
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_2368_Regression_Test"));
+
+ My_HandlerA my_handlerA;
+ My_HandlerB my_handlerB;
+
+ // Set up an ACE signal handler.
+ if (ACE_Reactor::instance ()->register_handler
+ (SIGINT,
+ &my_handlerA) == -1)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "%p\n",
+ "register_handlerA"),
+ -1);
+
+ if (ACE_Reactor::instance ()->register_handler
+ (SIGINT,
+ &my_handlerB) == -1)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "%p\n",
+ "register_handlerB"),
+ -1);
+
+ ACE_Sig_Action *new_disp = 0;
+ if (ACE_Reactor::instance ()->remove_handler
+ (SIGINT,
+ new_disp) == -1)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "%p\n",
+ "remove_handlerB"),
+ -1);
+
+ if (ACE_Reactor::instance ()->close () == -1)
+ ACE_ERROR ((LM_ERROR,
+ "%p\n",
+ "close"));
+
+ if (!handleA_close_called)
+ ACE_ERROR ((LM_ERROR,
+ "Handle close hasn't been called for A\n"));
+
+ if (!handleB_close_called)
+ ACE_ERROR ((LM_ERROR,
+ "Handle close hasn't been called for B\n"));
+
+ ACE_END_TEST;
+
+ return 0;
+}
diff --git a/tests/SSL/SSL_Asynch_Stream_Test.cpp b/tests/SSL/SSL_Asynch_Stream_Test.cpp
new file mode 100644
index 00000000000..58556a44f0b
--- /dev/null
+++ b/tests/SSL/SSL_Asynch_Stream_Test.cpp
@@ -0,0 +1,478 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests/SSL
+//
+// = FILENAME
+// SSL_Asynch_Stream_Test.cpp
+//
+// = DESCRIPTION
+// This program is a functionality test of ACE_SSL_Asynch_Stream.
+// It demonstrates one proper use case of ACE_SSL_Asynch_Stream in the
+// Proactor framework and validates its basic functionality.
+//
+// Usage: SSL_Asynch_Stream_Test [-r <hostname:port#>]
+// [-t <num threads>] [-d <delay>]
+// [-i <client conn attempt#>] [-n <client request# per conn>]
+//
+// Default value:
+// <hostname:port#>: ACE_DEFAULT_SERVER_HOST:ACE_DEFAULT_PORT
+// <num threads>: ACE_MAX_THREADS
+// <client conn attempt#>: ACE_MAX_ITERATIONS
+// <client req# per conn>: 20
+// <delay>: 0 usec
+//
+// = AUTHOR
+// Steve Huston <shuston@riverace.com>
+//
+// ============================================================================
+
+#include "tests/test_config.h"
+#include "ace/Default_Constants.h"
+#include "ace/OS_NS_string.h"
+#include "ace/Event_Handler.h"
+#include "ace/Get_Opt.h"
+#include "ace/Proactor.h"
+#include "ace/Reactor.h"
+#include "ace/Thread_Manager.h"
+#include "ace/INET_Addr.h"
+#include "ace/SSL/SSL_Asynch_Stream.h"
+#include "ace/SSL/SSL_SOCK_Connector.h"
+#include "ace/SSL/SSL_SOCK_Acceptor.h"
+#include "ace/SSL/SSL_SOCK_Stream.h"
+
+ACE_RCSID(tests, SSL_Asynch_Stream_Test, "$Id$")
+
+#if defined (ACE_HAS_THREADS) && ((defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) || (defined (ACE_HAS_AIO_CALLS)))
+ // This only works on Win32 platforms and on Unix platforms
+ // supporting POSIX aio calls.
+
+class Client_Handler : public ACE_Handler
+{
+public:
+ Client_Handler ()
+ : msgs_sent_ (0),
+ stream_ (ACE_SSL_Asynch_Stream::ST_CLIENT),
+ block_ (1024) {}
+ ~Client_Handler ();
+
+ int open (ACE_HANDLE);
+
+private:
+ virtual void handle_write_stream (const ACE_SSL_Asynch_Write_Stream_Result &result);
+
+private:
+ size_t msgs_sent_;
+ ACE_SSL_Asynch_Stream stream_;
+ ACE_Message_Block block_;
+};
+
+class Server_Handler : public ACE_Handler
+{
+public:
+ Server_Handler ()
+ : msgs_rcvd_ (0),
+ stream_ (ACE_SSL_Asynch_Stream::ST_SERVER),
+ block_ (1024) {}
+ ~Server_Handler ();
+
+ int open (ACE_HANDLE);
+
+private:
+ virtual void handle_read_stream (const ACE_SSL_Asynch_Read_Stream_Result &result);
+
+private:
+ size_t msgs_rcvd_;
+ ACE_SSL_Asynch_Stream stream_;
+ ACE_Message_Block block_;
+};
+
+class Server_Acceptor : public ACE_Event_Handler
+{
+public:
+ int open (const ACE_INET_Addr &listen_addr);
+
+ // Called when a new connection is ready to accept.
+ virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
+
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+
+private:
+ ACE_SSL_SOCK_Acceptor acceptor_;
+};
+
+// Accepting end point. This is actually "localhost:10010", but some
+// platform couldn't resolve the name so we use the IP address
+// directly here.
+static const ACE_TCHAR *rendezvous = \
+ ACE_DEFAULT_SERVER_HOST ACE_TEXT (":") ACE_DEFAULT_SERVER_PORT_STR;
+
+// Total number of proactor threads.
+static size_t num_threads = ACE_MAX_THREADS;
+
+#if defined (CHORUS) // Add platforms that can't handle too many
+ // connection simultaneously here.
+#define ACE_LOAD_FACTOR /2
+#else
+#define ACE_LOAD_FACTOR
+#endif
+
+// Number of client connections to attempt.
+static size_t cli_conn_no = ACE_MAX_ITERATIONS ACE_LOAD_FACTOR;
+
+// Number of requests each client connection sends.
+static size_t cli_req_no = ACE_MAX_THREADS ACE_LOAD_FACTOR;
+
+// Delay before a thread sending the next request (in msec.)
+static int req_delay = 0;
+
+// This is the string sent from client to server.
+static const char *test_string = "SSL_Asynch_Stream_Test!";
+
+static void
+parse_args (int argc, ACE_TCHAR *argv[])
+{
+ ACE_Get_Opt getopt (argc, argv, ACE_TEXT ("r:t:d:i:n:"));
+
+ int c;
+
+ while ((c = getopt ()) != -1)
+ {
+ switch (c)
+ {
+ case 'r': // hostname:port
+ rendezvous = getopt.opt_arg ();
+ break;
+ case 't':
+ num_threads = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ case 'd':
+ req_delay = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ case 'i':
+ cli_conn_no = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ case 'n':
+ cli_req_no = ACE_OS::atoi (getopt.opt_arg ());
+ break;
+ default:
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Usage: %s [-r <hostname:port#>]")
+ ACE_TEXT ("\t[-t <nr threads>] [-d <delay>]")
+ ACE_TEXT ("\t[-i <client conn attempt#>]")
+ ACE_TEXT ("\t[-n <client request# per conn>]\n"),
+ argv[0]));
+ break;
+ }
+ }
+}
+
+Client_Handler::~Client_Handler ()
+{
+ if (this->stream_.handle () != ACE_INVALID_HANDLE)
+ {
+ if (this->msgs_sent_ != cli_req_no)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) Client handle %d sent %d messages; ")
+ ACE_TEXT ("expected %d\n"),
+ this->stream_.handle (),
+ this->msgs_sent_,
+ cli_req_no));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Client handle %d sent %d messages; ")
+ ACE_TEXT ("closing connection\n"),
+ this->stream_.handle (),
+ cli_req_no));
+ }
+ this->stream_.close ();
+}
+
+int
+Client_Handler::open (ACE_HANDLE handle)
+{
+ if (this->stream_.open (*this, handle) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) Client_Handler: %p\n"),
+ ACE_TEXT ("open")),
+ -1);
+ this->block_.copy (test_string);
+ if (this->stream_.write (this->block_, this->block_.length ()) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) Client_Handler: %p\n"),
+ ACE_TEXT ("initiate write")),
+ -1);
+ return 0;
+}
+
+void
+Client_Handler::handle_write_stream
+ (const ACE_SSL_Asynch_Write_Stream_Result &result)
+{
+ if (!result.success ())
+ {
+ errno = result.error ();
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) Client handle %d: %p\n"),
+ this->stream_.handle (),
+ ACE_TEXT ("write")));
+ delete this;
+ return;
+ }
+ ACE_Message_Block &b = result.message_block ();
+ bool send_again = true;
+ if (b.length () == 0)
+ {
+ // All block's data sent; rewind the read pointer and send it again
+ // until we've sent the configured number of times.
+ ++this->msgs_sent_;
+ if (this->msgs_sent_ == cli_req_no)
+ send_again = false; // All done
+ else
+ b.rd_ptr (b.base ());
+ }
+
+ if (send_again)
+ {
+ if (this->stream_.write (this->block_, this->block_.length ()) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) Client_Handler: %p\n"),
+ ACE_TEXT ("initiate write")));
+ delete this;
+ }
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Client handle %d done sending\n"),
+ this->stream_.handle ()));
+ delete this;
+ }
+ return;
+}
+
+Server_Handler::~Server_Handler ()
+{
+ if (this->stream_.handle () != ACE_INVALID_HANDLE)
+ {
+ if (this->msgs_rcvd_ != cli_req_no)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) Server handle %d received %d messages; ")
+ ACE_TEXT ("expected %d\n"),
+ this->stream_.handle (),
+ this->msgs_rcvd_,
+ cli_req_no));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Server handle %d received %d messages; ")
+ ACE_TEXT ("closing connection\n"),
+ this->stream_.handle (),
+ cli_req_no));
+ }
+ this->stream_.close ();
+}
+
+int
+Server_Handler::open (ACE_HANDLE handle)
+{
+ if (this->stream_.open (*this, handle) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) Server_Handler: %p\n"),
+ ACE_TEXT ("open")),
+ -1);
+ if (this->stream_.read (this->block_, this->block_.space () - 1) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) Server_Handler: %p\n"),
+ ACE_TEXT ("read")),
+ -1);
+ return 0;
+}
+
+void
+Server_Handler::handle_read_stream
+ (const ACE_SSL_Asynch_Read_Stream_Result &result)
+{
+ if (!result.success ())
+ {
+ errno = result.error ();
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) Server handle %d: %p\n"),
+ this->stream_.handle (),
+ ACE_TEXT ("read")));
+ delete this;
+ return;
+ }
+ if (result.bytes_transferred () == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Server handle %d closed by peer\n"),
+ this->stream_.handle ()));
+ delete this;
+ return;
+ }
+
+ // Scan through the received data for the expected string. There may be
+ // multiples and/or partials. Count up how many arrive before the connection
+ // is closed.
+ // The read operation left one byte space at the end so we can insert a
+ // nul terminator to ease scanning.
+ ACE_Message_Block &b = result.message_block ();
+ *(b.wr_ptr ()) = '\0';
+ size_t test_string_len = ACE_OS::strlen (test_string);
+ while (b.length () >= test_string_len)
+ {
+ if (0 != ACE_OS::strncmp (b.rd_ptr (), test_string, test_string_len))
+ ACE_ERROR_BREAK ((LM_ERROR,
+ ACE_TEXT ("(%t) Read string: %C; expected: %C\n"),
+ b.rd_ptr (),
+ test_string));
+ b.rd_ptr (test_string_len);
+ }
+ b.crunch ();
+ if (this->stream_.read (b, b.space () - 1) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) Server_Handler: %p\n"),
+ ACE_TEXT ("read")));
+ delete this;
+ }
+ return;
+}
+
+
+int
+Server_Acceptor::open (const ACE_INET_Addr &listen_addr)
+{
+ if (this->acceptor_.open (listen_addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("listen")),
+ -1);
+ return 0;
+}
+
+int
+Server_Acceptor::handle_input (ACE_HANDLE)
+{
+ ACE_SSL_SOCK_Stream new_stream;
+ if (this->acceptor_.accept (new_stream) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("accept")),
+ -1);
+ Server_Handler *new_handler = 0;
+ ACE_NEW_RETURN (new_handler, Server_Handler, -1);
+ if (new_handler->open (new_stream.get_handle ()) != 0)
+ delete new_handler;
+
+ return 0;
+}
+
+int
+Server_Acceptor::handle_close (ACE_HANDLE, ACE_Reactor_Mask)
+{
+ this->acceptor_.close ();
+ return 0;
+}
+
+
+static ACE_THR_FUNC_RETURN
+proactor_loop (void *)
+{
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Start handling events.\n")));
+
+ int result =
+ ACE_Proactor::instance ()->proactor_run_event_loop ();
+ if (result == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("Error handling events")),
+ 0);
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Done handling events.\n")));
+
+ return 0;
+}
+
+static ACE_THR_FUNC_RETURN
+start_clients (void *)
+{
+ // Client thread function.
+ ACE_INET_Addr addr (rendezvous);
+ ACE_SSL_SOCK_Stream stream;
+ ACE_SSL_SOCK_Connector connect;
+
+ for (size_t i = 0 ; i < cli_conn_no; i++)
+ {
+ if (connect.connect (stream, addr) < 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%t) %p\n"),
+ ACE_TEXT ("connect")));
+ continue;
+ }
+
+ Client_Handler *new_handler = 0;
+ ACE_NEW_RETURN (new_handler, Client_Handler, (ACE_THR_FUNC_RETURN)-1);
+ if (new_handler->open (stream.get_handle ()) != 0)
+ delete new_handler;
+ stream.set_handle (ACE_INVALID_HANDLE);
+ }
+
+ return 0;
+}
+
+int
+run_main (int argc, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("SSL_Asynch_Stream_Test"));
+
+ ACE_SSL_Context *context = ACE_SSL_Context::instance ();
+ // Note - the next two strings are naked on purpose... the arguments to
+ // the ACE_SSL_Context methods are const char *, not ACE_TCHAR *.
+ context->certificate ("dummy.pem", SSL_FILETYPE_PEM);
+ context->private_key ("key.pem", SSL_FILETYPE_PEM);
+
+ parse_args (argc, argv);
+
+ Server_Acceptor acceptor;
+ ACE_INET_Addr accept_addr (rendezvous);
+
+ if (acceptor.open (accept_addr) == -1)
+ return 1;
+
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Listening at %s\n"), rendezvous));
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%t) Spawning %d proactor threads\n"),
+ num_threads));
+ ACE_Thread_Manager::instance ()->spawn_n (num_threads, proactor_loop);
+ ACE_Thread_Manager::instance ()->spawn (start_clients);
+
+ ACE_Time_Value loop_limit (20);
+ ACE_Reactor::instance ()->run_reactor_event_loop (loop_limit);
+ ACE_Thread_Manager::instance ()->wait ();
+
+ // Check for num connections up/down.
+
+ ACE_END_TEST;
+ return 0;
+}
+
+#else
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT ("SSL_Asynch_Stream_Test"));
+
+ ACE_ERROR ((LM_INFO,
+ ACE_TEXT ("This test requires threads and AIO which are not ")
+ ACE_TEXT ("supported on this platform\n")));
+
+ ACE_END_TEST;
+ return 0;
+}
+#endif /* ACE_HAS_THREADS && (WIN32 || AIO) */