You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@etch.apache.org by ve...@apache.org on 2013/03/25 10:43:46 UTC

svn commit: r1460566 [1/3] - in /etch/trunk: binding-cpp/compiler/src/main/resources/org/apache/etch/bindings/cpp/compiler/ binding-cpp/runtime/ binding-cpp/runtime/include/common/ binding-cpp/runtime/include/serialization/ binding-cpp/runtime/include/...

Author: veithm
Date: Mon Mar 25 09:43:41 2013
New Revision: 1460566

URL: http://svn.apache.org/r1460566
Log:
ETCH-263 Cleaning up external library dependency

Adapting Etch to use CAPU version 0.8.1
CAPU is now included as a external dependency

Change-Id: I1d81b508e129d15f78bfd0148e9367d31122d51f

Added:
    etch/trunk/binding-cpp/runtime/FindCapu.cmake
    etch/trunk/binding-cpp/runtime/toolchains/MacOSX_X86_64.toolchain
      - copied, changed from r1460564, etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/toolchain/Linux_X86_64.toolchain
Removed:
    etch/trunk/binding-cpp/runtime/lib/capu/.gitignore
    etch/trunk/binding-cpp/runtime/lib/capu/CMakeLists.txt
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/acme.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/internal/config.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/internal/macros.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/internal/plugins.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/plugins/GoogleMock.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/toolchain/Integrity1002_armv7l_Emerald-P-ES1.toolchain
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/toolchain/Linux_X86_32.toolchain
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/toolchain/Linux_X86_64.toolchain
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/toolchain/Linux_armv7l.toolchain
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/toolchain/QNX_X86_32.toolchain
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/toolchain/Windows_X86_32.toolchain
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/acme/toolchain/Windows_X86_64.toolchain
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/modules/FindIP4.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/modules/FindLibRt.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/modules/FindNet.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/modules/FindRes.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/modules/FindSocket.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/cmake/modules/FindThread.cmake
    etch/trunk/binding-cpp/runtime/lib/capu/modules/CMakeLists.txt
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/CMakeLists.txt
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/Config.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/Error.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/container/Array.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/container/Comparator.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/container/Hash.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/container/HashSet.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/container/HashTable.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/container/List.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/container/Pair.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/container/Queue.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/container/RingBuffer.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/AtomicOperation.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/CondVar.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/Debug.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/File.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/Math.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/Memory.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/Mutex.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/NumericLimits.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/ServerSocket.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/Socket.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/StringUtils.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/Thread.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/Time.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/UdpSocket.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/CondVar.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Debug.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/File.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Integrity_ARM_V7L/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/CondVar.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/Debug.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/File.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/Math.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/Memory.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/Mutex.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/NumericLimits.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/ServerSocket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/Socket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/StringUtils.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/Thread.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/Time.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux/UdpSocket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux_ARM_V7L/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux_X86_32/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Linux_X86_64/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Math.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Memory.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Mutex.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/NumericLimits.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/QNX/Socket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/QNX/StringUtils.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/QNX/UdpSocket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/ServerSocket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Socket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/StringUtils.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Thread.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Time.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/UdpSocket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/CondVar.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/Debug.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/File.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/Math.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/Memory.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/Mutex.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/NumericLimits.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/ServerSocket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/Socket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/StringUtils.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/Thread.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/Time.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows/UdpSocket.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows_X86_32/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/os/arch/Windows_X86_64/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/util/Appender.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/util/ConsoleAppender.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/util/Logger.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/util/Runnable.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/util/SmartPointer.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/util/ThreadPool.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/include/capu/util/Traits.h
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/src/os/Math.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/src/util/Logger.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/src/util/ThreadPool.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/container/ArrayTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/container/HashSetTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/container/HashTableTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/container/ListTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/container/QueueTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/container/RingBufferTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/main.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/AtomicOperationTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/CondVarTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/FileTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/MemoryTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/MutexTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/NumericLimitsTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/ServerSocketTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/SocketTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/StringUtilsTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/ThreadTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/TimeTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/UdpSocketTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/arch/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/arch/X86_32/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/os/arch/X86_64/AtomicOperation.inc
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/util/LoggerTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/util/SmartPointerTest.cpp
    etch/trunk/binding-cpp/runtime/lib/capu/modules/capu/test/util/ThreadPoolTest.cpp
Modified:
    etch/trunk/binding-cpp/compiler/src/main/resources/org/apache/etch/bindings/cpp/compiler/vf_cpp.vm
    etch/trunk/binding-cpp/runtime/CMakeLists.txt
    etch/trunk/binding-cpp/runtime/build.xml
    etch/trunk/binding-cpp/runtime/include/common/EtchComparatorNative.h
    etch/trunk/binding-cpp/runtime/include/common/EtchConfig.h
    etch/trunk/binding-cpp/runtime/include/common/EtchHashNative.h
    etch/trunk/binding-cpp/runtime/include/common/EtchHashSet.h
    etch/trunk/binding-cpp/runtime/include/common/EtchHashTable.h
    etch/trunk/binding-cpp/runtime/include/common/EtchList.h
    etch/trunk/binding-cpp/runtime/include/common/EtchObject.h
    etch/trunk/binding-cpp/runtime/include/common/EtchObjectHash.h
    etch/trunk/binding-cpp/runtime/include/common/EtchServerSocket.h
    etch/trunk/binding-cpp/runtime/include/common/EtchSocket.h
    etch/trunk/binding-cpp/runtime/include/serialization/EtchClass2TypeMap.h
    etch/trunk/binding-cpp/runtime/include/serialization/EtchFieldMap.h
    etch/trunk/binding-cpp/runtime/include/serialization/EtchStructValue.h
    etch/trunk/binding-cpp/runtime/include/serialization/EtchTypeMap.h
    etch/trunk/binding-cpp/runtime/include/serialization/EtchValidator.h
    etch/trunk/binding-cpp/runtime/include/support/EtchFreePool.h
    etch/trunk/binding-cpp/runtime/include/support/EtchQueuedPool.h
    etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h
    etch/trunk/binding-cpp/runtime/include/transport/EtchTcpTransportFactory.h
    etch/trunk/binding-cpp/runtime/include/util/EtchUtil.h
    etch/trunk/binding-cpp/runtime/src/main/CMakeLists.txt
    etch/trunk/binding-cpp/runtime/src/main/common/EtchObject.cpp
    etch/trunk/binding-cpp/runtime/src/main/common/EtchServerSocket.cpp
    etch/trunk/binding-cpp/runtime/src/main/common/EtchSocket.cpp
    etch/trunk/binding-cpp/runtime/src/main/common/EtchString.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedData.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedDataOutput.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchClass2TypeMap.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchFieldMap.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchHashTableSerializer.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchStructValue.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchType.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchTypeMap.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchValidatorByte.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchValidatorCustom.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchValidatorInt.cpp
    etch/trunk/binding-cpp/runtime/src/main/serialization/EtchValidatorShort.cpp
    etch/trunk/binding-cpp/runtime/src/main/support/EtchFreePool.cpp
    etch/trunk/binding-cpp/runtime/src/main/support/EtchMonitor.cpp
    etch/trunk/binding-cpp/runtime/src/main/support/EtchQueuedPool.cpp
    etch/trunk/binding-cpp/runtime/src/main/support/EtchRuntime.cpp
    etch/trunk/binding-cpp/runtime/src/main/transport/EtchPlainMailboxManager.cpp
    etch/trunk/binding-cpp/runtime/src/main/transport/EtchTcpConnection.cpp
    etch/trunk/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp
    etch/trunk/binding-cpp/runtime/src/main/transport/EtchTcpTransportFactory.cpp
    etch/trunk/binding-cpp/runtime/src/main/util/EtchCircularQueue.cpp
    etch/trunk/binding-cpp/runtime/src/main/util/EtchResources.cpp
    etch/trunk/binding-cpp/runtime/src/main/util/EtchURL.cpp
    etch/trunk/binding-cpp/runtime/src/main/util/EtchUtil.cpp
    etch/trunk/binding-cpp/runtime/src/test/common/EtchFloatTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/common/EtchHashSetTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/common/EtchHashTableTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/common/EtchListTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/common/EtchStringTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchBinaryTaggedDataInputOutputTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchComboValidatorTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchDefaultValueFactoryTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchStructValueTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchValidatorDoubleTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchValidatorFloatTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchValidatorIntTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchValidatorLongTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchValidatorObjectTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchValidatorShortTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/serialization/EtchValidatorStructValueTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/support/EtchMonitorTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/support/EtchRemoteBaseTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/transport/EtchDefaultDeliveryServiceTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/transport/EtchMessageTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/transport/EtchTcpConnectionTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/transport/EtchTcpListenerTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/util/EtchCircularQueueTest.cpp
    etch/trunk/binding-cpp/runtime/src/test/util/EtchUtilTest.cpp
    etch/trunk/binding-cpp/runtime/toolchains/Linux_ARMv7l.toolchain
    etch/trunk/binding-cpp/runtime/toolchains/Linux_X86_32.toolchain
    etch/trunk/binding-cpp/runtime/toolchains/Linux_X86_64.toolchain
    etch/trunk/binding-cpp/runtime/toolchains/QNX_X86_32.toolchain
    etch/trunk/binding-cpp/runtime/toolchains/Windows_X86_32.toolchain
    etch/trunk/binding-cpp/runtime/toolchains/Windows_X86_64.toolchain
    etch/trunk/examples/helloworld/cpp/CMakeLists.txt

Modified: etch/trunk/binding-cpp/compiler/src/main/resources/org/apache/etch/bindings/cpp/compiler/vf_cpp.vm
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/compiler/src/main/resources/org/apache/etch/bindings/cpp/compiler/vf_cpp.vm?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/compiler/src/main/resources/org/apache/etch/bindings/cpp/compiler/vf_cpp.vm (original)
+++ etch/trunk/binding-cpp/compiler/src/main/resources/org/apache/etch/bindings/cpp/compiler/vf_cpp.vm Mon Mar 25 09:43:41 2013
@@ -39,13 +39,12 @@
 using namespace $namespace;
 
 status_t $vf::Etch${intf.name()}RuntimeListener::onRuntimeChanged(EtchRuntime* runtime) {
-  capu::int_t index = $vf::SRuntimes.find(runtime->getId());
-  if (index == -1) {
+  if (runtime == NULL) {
     return ETCH_ERROR;
   }
   if (runtime->isClosed()) {
     //the runtime is closed and is removed
-    $vf::SRuntimes.removeAt(index);
+    $vf::SRuntimes.remove(runtime->getId());
   }
   return ETCH_OK;
 }
@@ -305,6 +304,7 @@ status_t $vf::InitParams${ctr}(EtchRunti
   capu::SmartPointer<EtchValidator> tmpValue;
 #end
 #set( $ctr = $ctr + 1 )
+  
 
   // params for $n.name()
 #if ($n.isStruct() || $n.isExcept())
@@ -353,7 +353,7 @@ status_t $vf::InitValueFactory(EtchRunti
     return ETCH_OK;
   }
 
-  status = SRuntimes.add(runtime->getId());
+  status = SRuntimes.push_back(runtime->getId());
   runtime->registerListener(&S${i}RuntimeListener);
   if (status != ETCH_OK) {
     return status;

Modified: etch/trunk/binding-cpp/runtime/CMakeLists.txt
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/CMakeLists.txt?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/CMakeLists.txt (original)
+++ etch/trunk/binding-cpp/runtime/CMakeLists.txt Mon Mar 25 09:43:41 2013
@@ -48,26 +48,8 @@ SET(GTEST ${ETCH_EXTERNAL_DEPENDS}/gtest
 SET(GMOCK ${ETCH_EXTERNAL_DEPENDS}/gmock/1.6.0)
 
 #Build external CAPU project (OS Abstraction)
-SET(CAPU_PROJECT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/lib/capu")
-SET(CAPU_CMAKE_BUILD_DIR "${CAPU_PROJECT_DIR}/build")
-SET(CAPU_CMAKE_TOOLCHAIN_DIR "${CAPU_PROJECT_DIR}/cmake/acme/toolchain")
-SET(CAPU_DELIVERABLE_DIR "${CAPU_PROJECT_DIR}/deliverable")
-
-
-include(ExternalProject)
-ExternalProject_Add(
-  Capu
-  SOURCE_DIR "${CAPU_PROJECT_DIR}"
-  BINARY_DIR "${CAPU_CMAKE_BUILD_DIR}"
-  DOWNLOAD_COMMAND ""
-  UPDATE_COMMAND ""
-  CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
-             -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-)
-
-#CAPU path
-SET(CAPU "${CAPU_PROJECT_DIR}/deliverable/capu")
-
+set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR})
+find_package(Capu)
 
 # Set definitions
 IF (TARGET_OS STREQUAL "Linux")

Added: etch/trunk/binding-cpp/runtime/FindCapu.cmake
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/FindCapu.cmake?rev=1460566&view=auto
==============================================================================
--- etch/trunk/binding-cpp/runtime/FindCapu.cmake (added)
+++ etch/trunk/binding-cpp/runtime/FindCapu.cmake Mon Mar 25 09:43:41 2013
@@ -0,0 +1,77 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more 
+# contributor license agreements. See the NOTICE file distributed with  
+# this work for additional information regarding copyright ownership. 
+# The ASF licenses this file to you under the Apache License, Version  
+# 2.0 (the "License"); you may not use this file except in compliance  
+# with the License. You may obtain a copy of the License at 
+# 
+# http://www.apache.org/licenses/LICENSE-2.0 
+# 
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and 
+# limitations under the License. 
+#
+
+# Try to find or download capu
+#Once done this will define
+#LIBCAPU_FOUND - System has capu
+#LIBCAPU_INCLUDE_DIR - The capu include directory
+#LIBCAPU_LIBRARY_DIR - The library needed to use capu
+
+IF (NOT DEFINED CMAKE_BUILD_TYPE)
+    MESSAGE(FATAL_ERROR "CMAKE_BUILD_TYPE not set")
+ENDIF()
+
+IF (NOT DEFINED CAPU_INCLUDE_DIR OR NOT DEFINED CAPU_LIBRARY_DIR)
+    include(ExternalProject)
+
+    IF ("${LOCAL_CAPU_SOURCE_DIR}" STREQUAL "")
+        #download capu from foreign repository
+        SET(CAPU_PROJECT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rd/capu")
+        SET(CAPU_CMAKE_BUILD_DIR "${CMAKE_BINARY_DIR}/capu")
+        
+        ExternalProject_Add(
+            Capu
+            GIT_REPOSITORY git://github.com/bmwcarit/capu.git
+            SOURCE_DIR "${CAPU_PROJECT_DIR}"
+            BINARY_DIR "${CAPU_CMAKE_BUILD_DIR}"
+            INSTALL_DIR "${CAPU_PROJECT_DIR}/deliverable"
+            CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
+                       -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+        )
+    ELSE()
+        SET(CAPU_PROJECT_DIR "${LOCAL_CAPU_SOURCE_DIR}")
+        SET(CAPU_CMAKE_BUILD_DIR "${CAPU_PROJECT_DIR}/build_${TARGET_OS}_${TARGET_ARCH}")
+
+        ExternalProject_Add(
+            Capu
+            SOURCE_DIR "${CAPU_PROJECT_DIR}"
+            BINARY_DIR "${CAPU_CMAKE_BUILD_DIR}"
+            DOWNLOAD_COMMAND ""
+            UPDATE_COMMAND ""
+            INSTALL_COMMAND "install"
+            CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
+                       -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+        )
+    ENDIF()
+    
+    SET(CAPU_DELIVERABLE_DIR ${CAPU_PROJECT_DIR}/deliverable/Capu)
+
+    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include/Capu)
+    SET(LIBCAPU_LIBRARY_DIR ${CAPU_DELIVERABLE_DIR}/lib/${TARGET_OS}_${TARGET_ARCH}/${CMAKE_BUILD_TYPE})
+ELSE()
+    SET(LIBCAPU_INCLUDE_DIR ${CAPU_INCLUDE_DIR})
+    SET(LIBCAPU_LIBRARY_DIR ${CAPU_LIBRARY_DIR})
+ENDIF()
+
+
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LibCapu  DEFAULT_MSG
+                                  LIBCAPU_LIBRARY_DIR LIBCAPU_INCLUDE_DIR)
+
+mark_as_advanced(LIBCAPU_INCLUDE_DIR LIBCAPU_LIBRARY_DIR )
+

Modified: etch/trunk/binding-cpp/runtime/build.xml
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/build.xml?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/build.xml (original)
+++ etch/trunk/binding-cpp/runtime/build.xml Mon Mar 25 09:43:41 2013
@@ -47,14 +47,6 @@
     <!-- CLEAN TARGET -->
     <target name="do-clean">
         <delete dir="${target}" />
-        <delete dir="${proj}/lib/capu/3psw/libs" />
-        <delete dir="${proj}/lib/capu/build" />
-        <delete dir="${proj}/lib/capu/deliverable" />
-    </target>
-
-    <target name="do-clean-capu">
-        <delete dir="${proj}/lib/capu/build" />
-        <delete dir="${proj}/lib/capu/deliverable" />
     </target>
 
     <!-- BUILD TARGET -->
@@ -97,8 +89,6 @@
                 <antcall target="do-build"/>
                 <echo>Testing platform: ${platform}</echo>
                 <antcall target="do-test"/>
-                <!-- TODO remove this as soon as ACME in capu is able to build multiple targets -->
-                <antcall target="do-clean-capu"/>
             </sequential>
         </for>
 
@@ -123,6 +113,16 @@
     </target>
 
     <target name="do-build-main" if="USE.cmake">
+        <property name="defaultCMakeToolchainDir" value="${basedir}/toolchains"/>
+        <if>
+            <isset property="target.platforms.${platform}.toolchainfile"/>
+            <then>
+                <propertycopy name="cmake.toolchainfile" from="target.platforms.${platform}.toolchainfile" />
+            </then>
+            <else>
+                <property name="cmake.toolchainfile" value="${defaultCMakeToolchainDir}/${platform}.toolchain"/>
+            </else>
+        </if>
         <if>
             <isset property="target.platforms.${platform}.generator"/>
             <then>
@@ -130,21 +130,21 @@
                 <propertycopy name="cmake.generator" from="target.platforms.${platform}.generator" />
                 <echo>Configuring CMake build</echo>
                 <echo>Using generator: ${cmake.generator}</echo>
-                <echo>Using toolchain file: ${basedir}/toolchains/${platform}.toolchain</echo>
+                <echo>Using toolchain file: ${cmake.toolchainfile}</echo>
                 <cmake srcdir="${basedir}" bindir="${target}/${platform}/${Etch.build.target}" cmakeonly="false" buildtype="${Etch.build.target}" >
                     <generator name="${cmake.generator}" />
                     <variable name="ETCH_EXTERNAL_DEPENDS" type="PATH" value="${env.ETCH_EXTERNAL_DEPENDS}" />
-                    <variable name="CMAKE_TOOLCHAIN_FILE" type="FILEPATH" value="${basedir}/toolchains/${platform}.toolchain" />
+                    <variable name="CMAKE_TOOLCHAIN_FILE" type="FILEPATH" value="${cmake.toolchainfile}" />
                 </cmake>
             </then>
             <else>
                 <!-- try default generator -->
                 <echo>Configuring CMake build</echo>
                 <echo>Using default generator</echo>
-                <echo>Using toolchain file: ${basedir}/toolchains/${platform}.toolchain</echo>
+                <echo>Using toolchain file: ${cmake.toolchainfile}</echo>
                 <cmake srcdir="${basedir}" bindir="${target}/${platform}/${Etch.build.target}" cmakeonly="false" buildtype="${Etch.build.target}" >
                     <variable name="ETCH_EXTERNAL_DEPENDS" type="PATH" value="${env.ETCH_EXTERNAL_DEPENDS}" />
-                    <variable name="CMAKE_TOOLCHAIN_FILE" type="FILEPATH" value="${basedir}/toolchains/${platform}.toolchain" />
+                    <variable name="CMAKE_TOOLCHAIN_FILE" type="FILEPATH" value="${cmake.toolchainfile}" />
                 </cmake>
             </else>
         </if>
@@ -163,8 +163,8 @@
             </fileset>
         </copy>
 
-        <property name="capu.library.output.path.prefix" value="${proj}/lib/capu/deliverable/capu/lib/${platform}"/>
-        <property name="capu.binary.output.path.prefix" value="${proj}/lib/capu/deliverable/capu/bin/${platform}"/>
+        <property name="capu.library.output.path.prefix" value="${proj}/3rd/capu/deliverable/Capu/lib/${platform}"/>
+        <property name="capu.binary.output.path.prefix" value="${proj}/3rd/capu/deliverable/Capu/bin/${platform}"/>
         <property name="etch.library.output.path.prefix" value="${target}/${platform}/${Etch.build.target}/src/main"/>
         <property name="etch.binary.output.path.prefix" value="${target}/${platform}/${Etch.build.target}/src/test"/>
 
@@ -178,8 +178,8 @@
                 <property name="etch.binary.output.path" value="${etch.binary.output.path.prefix}/${Etch.build.target}" />
             </then>
             <else>
-                <property name="capu.library.output.path" value="${capu.library.output.path.prefix}" />
-                <property name="capu.binary.output.path" value="${capu.binary.output.path.prefix}" />
+                <property name="capu.library.output.path" value="${capu.library.output.path.prefix}/${Etch.build.target}" />
+                <property name="capu.binary.output.path" value="${capu.binary.output.path.prefix}/${Etch.build.target}" />
                 <property name="etch.library.output.path" value="${etch.library.output.path.prefix}" />
                 <property name="etch.binary.output.path" value="${etch.binary.output.path.prefix}" />
             </else>
@@ -203,7 +203,7 @@
         
         <!-- copy capu includes to dist folder -->
         <copy todir="${Etch.dist}/binding-cpp/include">
-            <fileset dir="${proj}/lib/capu/deliverable/capu/include/capu">
+            <fileset dir="${proj}/lib/capu/deliverable/Capu/include/Capu">
                 <exclude name="**/.svn" />
             </fileset>
         </copy>
@@ -244,12 +244,12 @@
                 <!-- Run CAPU Unit Tests -->
                 <!-- Run CAPU Unit Tests on Windows-->
                 <property name="executable-full-path"
-                    location="lib/capu/deliverable/capu/bin/Windows_X86_32/${Etch.build.target}/capuTest.exe"/>
+                    location="3rd/capu/deliverable/Capu/bin/Windows_X86_32/${Etch.build.target}/capuTest.exe"/>
                 <exec executable="${executable-full-path}" osfamily="windows" failonerror="true">
                     <arg value="--gtest_output=xml:${testResultsDirectory}/"/>
                 </exec>
                 <!-- Run CAPU Unit Tests on Unix -->
-                <exec executable="lib/capu/deliverable/capu/bin/Linux_X86_32/capuTest" osfamily="unix"  failonerror="true">
+                <exec executable="3rd/capu/deliverable/Capu/bin/Linux_X86_32/${Etch.build.target}/capuTest" osfamily="unix"  failonerror="true">
                     <arg value="--gtest_output=xml:${testResultsDirectory}/"/>
                 </exec>
             

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchComparatorNative.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchComparatorNative.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchComparatorNative.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchComparatorNative.h Mon Mar 25 09:43:41 2013
@@ -26,7 +26,7 @@ class EtchComparatorNative {
 public:
  
   template <class T>
-  inline capu::bool_t operator() (const T &first, const T &second) {
+  inline capu::bool_t operator() (const T &first, const T &second) const {
     capu::Comparator c;
     return c(first, second);
   } 

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchConfig.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchConfig.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchConfig.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchConfig.h Mon Mar 25 09:43:41 2013
@@ -26,19 +26,18 @@
 #include "capu/Config.h"
 
 /**
- * Hash table size
+ * Hash table sizes
  */
-#define ETCH_DEFAULT_HASH_TABLE_SIZE                      1000
-
-#define ETCH_DEFAULT_TYPEMAP_HASH_SIZE                    50
-#define ETCH_DEFAULT_C2TYPEMAP_HASH_SIZE                  50
-#define ETCH_DEFAULT_FIELDMAP_HASH_SIZE                   10
-#define ETCH_DEFAULT_STRUCTVALUE_HASH_SIZE                8
-#define ETCH_DEFAULT_TYPEVALIDATOR_HASH_SIZE              5
-#define ETCH_DEFAULT_CUSTOMVALIDATORCACHE_HASH_SIZE       100
-#define ETCH_DEFAULT_MAILBOXMANAGER_HASH_SIZE             300
-#define ETCH_DEFAULT_RESOURCES_HASH_SIZE                  300
-#define ETCH_DEFAULT_URL_TERMS_HASH_SIZE                  10
+#define ETCH_DEFAULT_HASH_TABLE_BIT_SIZE                   4
+#define ETCH_DEFAULT_TYPEMAP_HASH_BIT_SIZE                 4
+#define ETCH_DEFAULT_C2TYPEMAP_HASH_BIT_SIZE               4
+#define ETCH_DEFAULT_FIELDMAP_HASH_BIT_SIZE                4
+#define ETCH_DEFAULT_STRUCTVALUE_HASH_BIT_SIZE             4
+#define ETCH_DEFAULT_TYPEVALIDATOR_HASH_BIT_SIZE           4
+#define ETCH_DEFAULT_CUSTOMVALIDATORCACHE_HASH_BIT_SIZE    8
+#define ETCH_DEFAULT_MAILBOXMANAGER_HASH_BIT_SIZE          4
+#define ETCH_DEFAULT_URL_TERMS_HASH_BIT_SIZE               4
+#define ETCH_DEFAULT_RESOURCES_HASH_BIT_SIZE               4
 
 /**
  * Socket input buffer size (bytes)

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchHashNative.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchHashNative.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchHashNative.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchHashNative.h Mon Mar 25 09:43:41 2013
@@ -19,23 +19,23 @@
 #ifndef __ETCHHASHNATIVE_H__
 #define __ETCHHASHNATIVE_H__
 #include "common/EtchConfig.h"
-#include "capu/container/HashTable.h"
+#include "capu/container/Hash.h"
 #include "capu/util/Traits.h"
 
 class EtchHashNative {
 public:
 
   template<class T>
-  static capu::uint32_t Digest(T &key) {
-    return capu::Hash::Digest<T>(key);
+  static capu::uint32_t Digest(T &key, const capu::uint8_t bitSize) {
+    return capu::CapuDefaultHashFunction::Digest<T>(key, bitSize);
   }
 
-  static capu::uint32_t Digest(char* key) {
-    return capu::Hash::Digest(key);
+  static capu::uint32_t Digest(char* key, const capu::uint8_t bitSize) {
+    return capu::CapuDefaultHashFunction::Digest(key, bitSize);
   }
 
-  static capu::uint32_t Digest(const char* key) {
-    return capu::Hash::Digest(key);
+  static capu::uint32_t Digest(const char* key, const capu::uint8_t bitSize) {
+    return capu::CapuDefaultHashFunction::Digest(key, bitSize);
   }
 
 };

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchHashSet.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchHashSet.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchHashSet.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchHashSet.h Mon Mar 25 09:43:41 2013
@@ -23,12 +23,46 @@
 #include "common/EtchComparator.h"
 #include "capu/container/HashSet.h"
 
-template <class T, class H = EtchObjectHash, class C = EtchComparator<T> >
+template <class T, class C = EtchComparator<T>, class H = EtchObjectHash>
 class EtchHashSet : public EtchObject {
 
 public:
 
-  typedef typename capu::HashSet<T, C, H>::Iterator Iterator;
+  class EtchHashSetIterator {
+  public:
+      friend class EtchHashSet;
+
+      /**
+      * destructor
+      */
+      ~EtchHashSetIterator();
+
+      /**
+      * Check if iterator has next element.
+      * @return false if the next of current node that is pointed, is null otherwise true
+      */
+      capu::bool_t hasNext();
+
+      /**
+      * Shifts the iterator to the next position and returns the element if next != NULL
+      * @param element
+      * @return CAPU_OK if the next element has been gotten
+      *
+      */
+      status_t next(T *element = 0);
+
+
+  private:
+    /**
+      * Constructor
+      */
+    EtchHashSetIterator(typename capu::HashSet<T, C, H>::Iterator mBeginCapuIterator, typename capu::HashSet<T, C, H>::Iterator mEndCapuIterator);
+    typename capu::HashSet<T, C, H>::Iterator mBeginCapuIterator;
+    typename capu::HashSet<T, C, H>::Iterator mEndCapuIterator;
+      
+
+  };
+  typedef typename EtchHashSet<T, C, H>::EtchHashSetIterator Iterator;
 
   /**
    * EtchObjectType for EtchHashSet.
@@ -96,7 +130,7 @@ public:
    * Return iterator for iterating key value tuples.
    * @return Iterator
    */
-  inline Iterator begin();
+  inline Iterator begin() const;
 
 private:
 
@@ -104,57 +138,88 @@ private:
 
 };
 
-template <class T, class H, class C>
-inline EtchHashSet<T, H, C>::EtchHashSet() {
-  addObjectType(EtchHashSet<T, H, C>::TYPE());
+template <class T, class C, class H>
+inline EtchHashSet<T, C, H>::EtchHashSet() {
+  addObjectType(EtchHashSet<T, C, H>::TYPE());
 }
 
-template <class T, class H, class C>
-inline EtchHashSet<T, H, C>::EtchHashSet(capu::uint32_t size)
+template <class T, class C, class H>
+inline EtchHashSet<T, C, H>::EtchHashSet(capu::uint32_t size)
  : mHashSet(size) {
-  addObjectType(EtchHashSet<T, H, C>::TYPE());
+  addObjectType(EtchHashSet<T, C, H>::TYPE());
 }
 
-template <class T, class H, class C>
-const EtchObjectType* EtchHashSet<T, H, C>::TYPE() {
+template <class T, class C, class H>
+const EtchObjectType* EtchHashSet<T, C, H>::TYPE() {
   const static EtchObjectType TYPE(EOTID_SET, NULL);
   return &TYPE;
 }
 
-template <class T, class H, class C>
-inline EtchHashSet<T, H, C>::EtchHashSet(const EtchHashSet& other)
+template <class T, class C, class H>
+inline EtchHashSet<T, C, H>::EtchHashSet(const EtchHashSet& other)
  : EtchObject(other), mHashSet(other.mHashSet) {
 
 }
 
-template <class T, class H, class C>
-inline EtchHashSet<T, H, C>::~EtchHashSet() {
+template <class T, class C, class H>
+inline EtchHashSet<T, C, H>::~EtchHashSet() {
 
 }
 
-template <class T, class H, class C>
-inline status_t EtchHashSet<T, H, C>::clear() {
+template <class T, class C, class H>
+inline status_t EtchHashSet<T, C, H>::clear() {
   return mHashSet.clear();
 }
 
-template <class T, class H, class C>
-inline capu::uint32_t EtchHashSet<T, H, C>::count() {
+template <class T, class C, class H>
+inline capu::uint32_t EtchHashSet<T, C, H>::count() {
   return mHashSet.count();
 }
 
-template <class T, class H, class C>
-inline status_t EtchHashSet<T, H, C>::put(const T &value) {
+template <class T, class C, class H>
+inline status_t EtchHashSet<T, C, H>::put(const T &value) {
   return mHashSet.put(value);
 }
 
-template <class T, class H, class C>
-inline status_t EtchHashSet<T, H, C>::remove(const T &value) {
+template <class T, class C, class H>
+inline status_t EtchHashSet<T, C, H>::remove(const T &value) {
   return mHashSet.remove(value);
 }
 
-template <class T, class H, class C>
-inline typename EtchHashSet<T, H, C>::Iterator EtchHashSet<T, H, C>::begin() {
-  return mHashSet.begin();
+template <class T, class C, class H>
+inline typename EtchHashSet<T, C, H>::Iterator EtchHashSet<T, C, H>::begin() const{
+  EtchHashSetIterator it(mHashSet.begin(),mHashSet.end());
+  return it;
+}
+
+template<class T, class C, class H>
+EtchHashSet<T, C, H>::EtchHashSetIterator::EtchHashSetIterator(typename capu::HashSet<T, C, H>::Iterator beginCapuIterator, typename capu::HashSet<T, C, H>::Iterator endCapuIterator) :
+  mBeginCapuIterator(beginCapuIterator), mEndCapuIterator(endCapuIterator) { 
+
+}
+
+template<class T, class C, class H>
+EtchHashSet<T, C, H>::EtchHashSetIterator::~EtchHashSetIterator() { 
+
+}
+
+template<class T, class C, class H>
+capu::bool_t EtchHashSet<T, C, H>::EtchHashSetIterator::hasNext() { 
+  return mBeginCapuIterator != mEndCapuIterator;
+}
+
+template<class T, class C, class H>
+status_t EtchHashSet<T, C, H>::EtchHashSetIterator::next(T *element) { 
+  if (!hasNext()) {
+    return ETCH_ERANGE;
+  }
+
+  if (element != NULL) {
+    *element = *mBeginCapuIterator;
+  }
+  mBeginCapuIterator++;
+  
+  return ETCH_OK;
 }
 
 typedef capu::SmartPointer<EtchHashSet<EtchObjectPtr> > EtchHashSetPtr;

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchHashTable.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchHashTable.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchHashTable.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchHashTable.h Mon Mar 25 09:43:41 2013
@@ -23,14 +23,48 @@
 #include "common/EtchComparator.h"
 #include "capu/container/HashTable.h"
 
-template <class Key, class T, class H = EtchObjectHash, class C = EtchComparator<Key> >
+template <class Key, class T, class C = EtchComparator<Key>, class H = EtchObjectHash >
 class EtchHashTable : public EtchObject {
 private:
   capu::HashTable<Key, T, C, H> mHashTable;
 
 public:
-  typedef typename capu::Pair<Key, T> Pair;
-  typedef typename capu::HashTable<Key, T, C, H >::Iterator Iterator;
+  typedef typename capu::HashTable<Key, T, C, H>::HashTableEntry HashTableEntry;
+  class EtchHashTableIterator {
+  public:
+      friend class EtchHashTable;
+
+      /**
+      * destructor
+      */
+      ~EtchHashTableIterator();
+
+      /**
+      * Check if iterator has next element.
+      * @return false if the next of current node that is pointed, is null otherwise true
+      */
+      capu::bool_t hasNext();
+
+      /**
+      * Shifts the iterator to the next position and returns the element if next != NULL
+      * @param element
+      * @return CAPU_OK if the next element has been gotten
+      *
+      */
+      status_t next(HashTableEntry *element = 0);
+
+  private:
+    /**
+      * Constructor
+      */
+    EtchHashTableIterator(typename capu::HashTable<Key, T, C, H>::Iterator mBeginCapuIterator, typename capu::HashTable<Key, T, C, H>::Iterator mEndCapuIterator);
+    typename capu::HashTable<Key, T, C, H>::Iterator mBeginCapuIterator;
+    typename capu::HashTable<Key, T, C, H>::Iterator mEndCapuIterator;
+      
+
+  };
+  typedef typename EtchHashTable<Key, T, C, H>::EtchHashTableIterator Iterator;
+  
 
   /**
    * EtchObjectType for EtchHashTable.
@@ -113,64 +147,101 @@ public:
    */
   inline Iterator begin() const;
 
+
 };
 
-template <class Key, class T, class H, class C>
-const EtchObjectType* EtchHashTable<Key, T, H, C>::TYPE() {
+template <class Key, class T, class C, class H>
+const EtchObjectType* EtchHashTable<Key, T, C, H>::TYPE() {
   const static EtchObjectType TYPE(EOTID_HASHTABLE, NULL);
   return &TYPE;
 }
 
-template <class Key, class T, class H, class C>
-inline EtchHashTable<Key, T, H, C>::EtchHashTable()
-: mHashTable(ETCH_DEFAULT_HASH_TABLE_SIZE) {
-  addObjectType(EtchHashTable<Key, T, H, C>::TYPE());
+template <class Key, class T, class C, class H>
+inline EtchHashTable<Key, T, C, H>::EtchHashTable()
+: mHashTable(ETCH_DEFAULT_HASH_TABLE_BIT_SIZE) {
+  addObjectType(EtchHashTable<Key, T, C, H>::TYPE());
 }
 
-template <class Key, class T, class H, class C>
-inline EtchHashTable<Key, T, H, C>::EtchHashTable(capu::uint32_t size)
+template <class Key, class T, class C, class H>
+inline EtchHashTable<Key, T, C, H>::EtchHashTable(capu::uint32_t size)
 : mHashTable(size) {
-  addObjectType(EtchHashTable<Key, T, H, C>::TYPE());
+  addObjectType(EtchHashTable<Key, T, C, H>::TYPE());
 }
 
-template <class Key, class T, class H, class C>
-inline EtchHashTable<Key, T, H, C>::EtchHashTable(const EtchHashTable& other)
+template <class Key, class T, class C, class H>
+inline EtchHashTable<Key, T, C, H>::EtchHashTable(const EtchHashTable& other)
 : EtchObject(other), mHashTable(other.mHashTable) {
 }
 
-template <class Key, class T, class H, class C>
-inline EtchHashTable<Key, T, H, C>::~EtchHashTable() {
+template <class Key, class T, class C, class H>
+inline EtchHashTable<Key, T, C, H>::~EtchHashTable() {
 
 }
 
-template <class Key, class T, class H, class C>
-inline status_t EtchHashTable<Key, T, H, C>::put(const Key &key, T value, T* value_old) {
+template <class Key, class T, class C, class H>
+inline status_t EtchHashTable<Key, T, C, H>::put(const Key &key, T value, T* value_old) {
   return mHashTable.put(key, value, value_old);
 }
 
-template <class Key, class T, class H, class C>
-inline status_t EtchHashTable<Key, T, H, C>::get(const Key &key, T* value) {
-  return mHashTable.get(key, value);
+template <class Key, class T, class C, class H>
+inline status_t EtchHashTable<Key, T, C, H>::get(const Key &key, T* value) {
+  status_t status = ETCH_EINVAL;
+  if (value != NULL) {
+    *value = mHashTable.at(key,&status);
+  }
+  return status;
 }
 
-template <class Key, class T, class H, class C>
-inline status_t EtchHashTable<Key, T, H, C>::remove(const Key &key, T* value_old) {
+template <class Key, class T, class C, class H>
+inline status_t EtchHashTable<Key, T, C, H>::remove(const Key &key, T* value_old) {
   return mHashTable.remove(key, value_old);
 }
 
-template <class Key, class T, class H, class C>
-inline capu::uint32_t EtchHashTable<Key, T, H, C>::count() {
+template <class Key, class T, class C, class H>
+inline capu::uint32_t EtchHashTable<Key, T, C, H>::count() {
   return mHashTable.count();
 }
 
-template <class Key, class T, class H, class C>
-inline status_t EtchHashTable<Key, T, H, C>::clear() {
-  return mHashTable.clear();
+template <class Key, class T, class C, class H>
+inline status_t EtchHashTable<Key, T, C, H>::clear() {
+  mHashTable.clear();
+  return ETCH_OK;
+}
+
+template <class Key, class T, class C, class H>
+inline typename EtchHashTable<Key, T, C, H>::Iterator EtchHashTable<Key, T, C, H>::begin() const {
+  EtchHashTableIterator it(mHashTable.begin(),mHashTable.end());
+  return it;
+}
+
+template<class Key, class T, class C, class H>
+EtchHashTable<Key, T, C, H>::EtchHashTableIterator::EtchHashTableIterator(typename capu::HashTable<Key, T, C, H>::Iterator beginCapuIterator, typename capu::HashTable<Key, T, C, H>::Iterator endCapuIterator) :
+  mBeginCapuIterator(beginCapuIterator), mEndCapuIterator(endCapuIterator) { 
+
+}
+
+template<class Key, class T, class C, class H>
+EtchHashTable<Key, T, C, H>::EtchHashTableIterator::~EtchHashTableIterator() { 
+
+}
+
+template<class Key, class T, class C, class H>
+capu::bool_t EtchHashTable<Key, T, C, H>::EtchHashTableIterator::hasNext() { 
+  return mBeginCapuIterator != mEndCapuIterator;
 }
 
-template <class Key, class T, class H, class C>
-inline typename EtchHashTable<Key, T, H, C>::Iterator EtchHashTable<Key, T, H, C>::begin() const {
-  return mHashTable.begin();
+template<class Key, class T, class C, class H>
+status_t EtchHashTable<Key, T, C, H>::EtchHashTableIterator::next(HashTableEntry *element) { 
+  if (!hasNext()) {
+    return ETCH_ERANGE;
+  }
+
+  if (element != NULL) {
+    *element = *mBeginCapuIterator;
+  }
+  mBeginCapuIterator++;
+  
+  return ETCH_OK;
 }
 
 typedef capu::SmartPointer<EtchHashTable<EtchObjectPtr, EtchObjectPtr> > EtchHashTablePtr;

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchList.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchList.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchList.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchList.h Mon Mar 25 09:43:41 2013
@@ -22,14 +22,60 @@
 #include "capu/container/List.h"
 #include "common/EtchComparator.h"
 
-template <class T, class C = EtchComparator<T> >
+template <class T, class A = capu::Allocator<capu::GenericListNode<T> >, class C = EtchComparator<T> >
 class EtchList : public EtchObject {
 private:
-  capu::List<T, C> mList;
+  capu::List<T, A, C> mList;
 
 public:
 
-  typedef typename capu::List<T, C>::Iterator Iterator;
+  class EtchListIterator {
+  public:
+      friend class EtchList;
+
+      /**
+      * destructor
+      */
+      ~EtchListIterator();
+
+      /**
+      * Check if iterator has next element.
+      * @return false if the next of current node that is pointed, is null otherwise true
+      */
+      capu::bool_t hasNext();
+
+      /**
+      * Shifts the iterator to the next position and returns the element if next != NULL
+      * @param element
+      * @return CAPU_OK if the next element has been gotten
+      *
+      */
+      status_t next(T* element = 0);
+
+      /**
+        * Get current iterator element.
+        * @param element
+        * @return ETCH_OK if the current element has been gotten
+        */
+        status_t current(T& element);
+
+      /**
+      * Returns the index of the current element.
+      * @return The index of the current element. If there is no current element, the return value is undefined.
+      */
+      capu::uint32_t currentIndex();
+
+  private:
+    /**
+      * Constructor
+      */
+    EtchListIterator(typename capu::List<T, A, C>::Iterator mBeginCapuListIterator, typename capu::List<T, A, C>::Iterator mEndCapuListIterator);
+    typename capu::List<T, A, C>::Iterator mBeginCapuListIterator;
+    typename capu::List<T, A, C>::Iterator mEndCapuListIterator;
+      
+
+  };
+  typedef typename EtchList<T, A, C>::EtchListIterator Iterator;
 
   /**
    * EtchObjectType for EtchList.
@@ -80,7 +126,7 @@ public:
    * @return ETCH_EINVAL invalid index
    *         ETCH_OK if the element is successfully removed
    */
-  status_t removeAt(capu::int32_t index, T* elementOld = NULL);
+  status_t removeAt(Iterator& it, T* elementOld = NULL);
 
   /**
    * get a single element on specified index
@@ -149,83 +195,132 @@ public:
 
 };
 
-template<class T, class C>
-const EtchObjectType* EtchList<T, C>::TYPE() {
+template<class T, class A, class C>
+const EtchObjectType* EtchList<T, A, C>::TYPE() {
   const static EtchObjectType TYPE(EOTID_LIST, NULL);
   return &TYPE;
 }
 
-template<class T, class C>
-EtchList<T, C>::EtchList() {
-  addObjectType(EtchList<T, C>::TYPE());
+template<class T, class A, class C>
+EtchList<T, A, C>::EtchList() {
+  addObjectType(EtchList<T, A, C>::TYPE());
 }
 
-template<class T, class C>
-EtchList<T, C>::EtchList(const EtchList& other)
+template<class T, class A, class C>
+EtchList<T, A, C>::EtchList(const EtchList& other)
  : EtchObject(other), mList(other.mList) {
 }
 
 
-template<class T, class C>
-EtchList<T, C>::~EtchList() {
+template<class T, class A, class C>
+EtchList<T, A, C>::~EtchList() {
 
 }
 
-template<class T, class C>
-status_t EtchList<T, C>::add(const T &element) {
-  return mList.add(element);
+template<class T, class A, class C>
+status_t EtchList<T, A, C>::add(const T &element) {
+  return mList.insert(element);
 }
 
-template<class T, class C>
-status_t EtchList<T, C>::add(capu::int32_t index, const T &element) {
-  return mList.add(index, element);
+template<class T, class A, class C>
+status_t EtchList<T, A, C>::add(capu::int32_t index, const T &element) {
+  return mList.insert(index, element);
 }
 
-template<class T, class C>
-typename EtchList<T, C>::Iterator EtchList<T, C>::begin() const {
-  return mList.begin();
+template<class T, class A, class C>
+typename EtchList<T, A, C>::Iterator EtchList<T, A, C>::begin() const {
+  return EtchListIterator(mList.begin(), mList.end());
 }
 
-template<class T, class C>
-status_t EtchList<T, C>::clear() {
-  return mList.clear();
+template<class T, class A, class C>
+status_t EtchList<T, A, C>::clear() {
+  mList.clear();
+  return ETCH_OK;
 }
 
-template<class T, class C>
-capu::bool_t EtchList<T, C>::contains(const T &element) {
+template<class T, class A, class C>
+capu::bool_t EtchList<T, A, C>::contains(const T &element) {
   return mList.contains(element);
 }
 
-template<class T, class C>
-capu::int32_t EtchList<T, C>::find(const T &element) const {
+template<class T, class A, class C>
+capu::int32_t EtchList<T, A, C>::find(const T &element) const {
   return mList.find(element);
 }
 
-template<class T, class C>
-status_t EtchList<T, C>::get(capu::int32_t index, T* result) {
-  return mList.get(index, result);
+template<class T, class A, class C>
+status_t EtchList<T, A, C>::get(capu::int32_t index, T* result) {
+  status_t status = ETCH_EINVAL;
+  if (result != NULL) {
+    *result = mList.get(index, &status);
+  }
+  return status;
 }
 
-template<class T, class C>
-capu::bool_t EtchList<T, C>::isEmpty() const {
+template<class T, class A, class C>
+capu::bool_t EtchList<T, A, C>::isEmpty() const {
   return mList.isEmpty();
 }
 
-template<class T, class C>
-status_t EtchList<T, C>::removeAt(capu::int32_t index, T* elementOld) {
-  return mList.removeAt(index, elementOld);
+template<class T, class A, class C>
+status_t EtchList<T, A, C>::removeAt(typename EtchList<T, A, C>::Iterator& it, T* elementOld) {
+  status_t status = mList.erase(it.mBeginCapuListIterator, elementOld);
+  return status;
 }
 
-template<class T, class C>
-capu::int32_t EtchList<T, C>::size() {
+template<class T, class A, class C>
+capu::int32_t EtchList<T, A, C>::size() {
   return mList.size();
 }
 
-template<class T, class C>
-capu::int32_t EtchList<T, C>::set(capu::int32_t index, const T &element, T* elementOld) {
+template<class T, class A, class C>
+capu::int32_t EtchList<T, A, C>::set(capu::int32_t index, const T &element, T* elementOld) {
   return mList.set(index, element, elementOld);
 }
 
+
+template<class T, class A, class C>
+EtchList<T, A, C>::EtchListIterator::EtchListIterator(typename capu::List<T, A, C>::Iterator beginCapuListIterator, typename capu::List<T, A, C>::Iterator mEndCapuListIterator) :
+  mBeginCapuListIterator(beginCapuListIterator), mEndCapuListIterator(mEndCapuListIterator) { 
+
+}
+
+template<class T, class A, class C>
+EtchList<T, A, C>::EtchListIterator::~EtchListIterator() { 
+
+}
+
+template<class T, class A, class C>
+capu::bool_t EtchList<T, A, C>::EtchListIterator::hasNext() { 
+  return mBeginCapuListIterator != mEndCapuListIterator;
+}
+
+template<class T, class A, class C>
+status_t EtchList<T, A, C>::EtchListIterator::next(T *element) { 
+  if (mBeginCapuListIterator == mEndCapuListIterator) {
+    return ETCH_ERROR;
+  }
+  if (element != NULL) {
+    *element = *mBeginCapuListIterator;
+  }
+  mBeginCapuListIterator++;
+  return ETCH_OK;
+}
+
+template<class T, class A, class C>
+status_t EtchList<T, A, C>::EtchListIterator::current(T& element) { 
+  if (mBeginCapuListIterator != mEndCapuListIterator) {
+    element = *mBeginCapuListIterator;
+    return ETCH_OK;
+  }
+  return ETCH_ERROR;
+}
+
+template<class T, class A, class C>
+capu::uint32_t EtchList<T, A, C>::EtchListIterator::currentIndex() { 
+  return mBeginCapuListIterator.currentIndex();
+}
+
 typedef capu::SmartPointer<EtchList<EtchObjectPtr> > EtchListPtr;
 
 #endif /* ETCHDOUBLELINKEDLIST_H */

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchObject.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchObject.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchObject.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchObject.h Mon Mar 25 09:43:41 2013
@@ -20,6 +20,7 @@
 #define __ETCHOBJECT_H__
 
 #include "capu/container/List.h"
+#include "capu/container/Hash.h"
 
 #include "common/EtchError.h"
 #include "common/EtchObjectType.h"
@@ -79,6 +80,7 @@ protected:
 
 private:
   capu::List<const EtchObjectType*> mTypes;
+
 };
 
 typedef capu::SmartPointer<EtchObject> EtchObjectPtr;

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchObjectHash.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchObjectHash.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchObjectHash.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchObjectHash.h Mon Mar 25 09:43:41 2013
@@ -24,16 +24,17 @@
 class EtchObjectHash {
 public:
 
-  static capu::uint32_t Digest(const EtchObject &key) {
-    return key.getHashCode();
+  static capu::uint32_t Digest(const EtchObject &key, const capu::uint8_t bitCount) {
+
+    return capu::Resizer<capu::uint32_t>::Resize(key.getHashCode(),bitCount);
   }
 
-  static capu::uint32_t Digest(const EtchObject* key) {
-    return key->getHashCode();
+  static capu::uint32_t Digest(const EtchObject* key, const capu::uint8_t bitCount) {
+    return capu::Resizer<capu::uint32_t>::Resize(key->getHashCode(),bitCount);
   }
 
-  static capu::uint32_t Digest(const capu::SmartPointer<EtchObject>& key) {
-    return key->getHashCode();
+  static capu::uint32_t Digest(const capu::SmartPointer<EtchObject>& key, const capu::uint8_t bitCount) {
+    return capu::Resizer<capu::uint32_t>::Resize(key->getHashCode(),bitCount);
   }
 };
 #endif

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchServerSocket.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchServerSocket.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchServerSocket.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchServerSocket.h Mon Mar 25 09:43:41 2013
@@ -19,8 +19,8 @@
 #ifndef __ETCHSERVERSOCKET_H__
 #define __ETCHSERVERSOCKET_H__
 
-#include "capu/os/ServerSocket.h"
-#include "capu/os/Socket.h"
+#include "capu/os/TcpServerSocket.h"
+#include "capu/os/TcpSocket.h"
 #include "common/EtchSocket.h"
 
 class EtchServerSocket : public EtchObject {
@@ -83,7 +83,7 @@ public:
   status_t listen(capu::uint8_t backlog);
 
 private:
-  capu::ServerSocket mServerSocket;
+  capu::TcpServerSocket mServerSocket;
 
 };
 

Modified: etch/trunk/binding-cpp/runtime/include/common/EtchSocket.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/common/EtchSocket.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/common/EtchSocket.h (original)
+++ etch/trunk/binding-cpp/runtime/include/common/EtchSocket.h Mon Mar 25 09:43:41 2013
@@ -19,7 +19,7 @@
 #ifndef __ETCHSOCKET_H__
 #define __ETCHSOCKET_H__
 
-#include "capu/os/Socket.h"
+#include "capu/os/TcpSocket.h"
 #include "common/EtchObject.h"
 
 class EtchSocket : public EtchObject {
@@ -55,7 +55,7 @@ public:
    *         ETCH_SOCKET_ESOCKET if the socket is not created
    *         ETCH_ERROR otherwise
    */
-  status_t send(unsigned char * buffer, capu::int32_t length);
+  status_t send(const char * buffer, capu::int32_t length);
 
   /**
    * Receive message
@@ -67,7 +67,7 @@ public:
    *         ETCH_SOCKET_ESOCKET if the socket is not created
    *         ETCH_ERROR otherwise
    */
-  status_t receive(unsigned char * buffer, capu::int32_t length, capu::int32_t& numBytes);
+  status_t receive(char * buffer, capu::int32_t length, capu::int32_t& numBytes);
 
   /**
    * close the socket
@@ -87,7 +87,7 @@ public:
    *          ETCH_EINVAL if the dest_addr is NULL
    *          ETCH_SOCKET_ESOCKET if the socket is not created
    */
-  status_t connect(unsigned char * dest_addr, capu::uint16_t port);
+  status_t connect(const char * dest_addr, capu::uint16_t port);
 
   /**
    * Sets the maximum socket buffer in bytes. The kernel doubles this value (to allow space for bookkeeping overhead)
@@ -181,12 +181,12 @@ public:
   friend class EtchServerSocket;
 
 private:
-  capu::Socket *mSocket;
+  capu::TcpSocket *mSocket;
 
   /**
    * Constructor
    */
-  EtchSocket(capu::Socket* soc);
+  EtchSocket(capu::TcpSocket* soc);
 
 };
 

Modified: etch/trunk/binding-cpp/runtime/include/serialization/EtchClass2TypeMap.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/serialization/EtchClass2TypeMap.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/serialization/EtchClass2TypeMap.h (original)
+++ etch/trunk/binding-cpp/runtime/include/serialization/EtchClass2TypeMap.h Mon Mar 25 09:43:41 2013
@@ -21,6 +21,7 @@
 #define __ETCHCLASS2TYPEMAP_H__
 
 #include "common/EtchInt32.h"
+#include "common/EtchHashNative.h"
 #include "serialization/EtchType.h"
 
 /**
@@ -107,7 +108,7 @@ public:
     }
   };
 private:
-  EtchHashTable<const EtchObjectType*, EtchType*, EtchClass2TypeMap::Hash, EtchClass2TypeMap::Comparator<const EtchObjectType*> > mC2T;
+  EtchHashTable<const EtchObjectType*, EtchType*, EtchClass2TypeMap::Comparator<const EtchObjectType*>,EtchHashNative > mC2T;
 
   capu::bool_t mLocked;
 

Modified: etch/trunk/binding-cpp/runtime/include/serialization/EtchFieldMap.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/serialization/EtchFieldMap.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/serialization/EtchFieldMap.h (original)
+++ etch/trunk/binding-cpp/runtime/include/serialization/EtchFieldMap.h Mon Mar 25 09:43:41 2013
@@ -21,6 +21,8 @@
 
 #include "common/EtchString.h"
 #include "common/EtchHashTable.h"
+#include "common/EtchComparatorNative.h"
+#include "common/EtchHashNative.h"
 #include "serialization/EtchField.h"
 
 /**
@@ -92,7 +94,7 @@ public:
 
 private:
 
-  EtchHashTable<capu::int32_t, EtchField, capu::Hash, capu::Comparator> mById;
+  EtchHashTable<capu::int32_t, EtchField, EtchComparatorNative, EtchHashNative> mById;
 
   EtchHashTable<EtchString, EtchField> mByName;
 

Modified: etch/trunk/binding-cpp/runtime/include/serialization/EtchStructValue.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/serialization/EtchStructValue.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/serialization/EtchStructValue.h (original)
+++ etch/trunk/binding-cpp/runtime/include/serialization/EtchStructValue.h Mon Mar 25 09:43:41 2013
@@ -84,13 +84,12 @@ public:
    * Puts an object to EtchStructValue by validating it
    * @param field  field of custom type
    * @param object value of field that will be added. If object is set to NULL, the field is removed.
-   * @param result the removed field is put to result (optional)
    *
    * @return ETCH_OK if successfully added
    *         ETCH_EINVAL if the level of type is not LEVEL_NONE and the object is NULL
    *         ETCH_ERROR  if the level of type is not LEVEL_NONE and the object is not validated and is not NULL
    */
-  status_t put(const EtchField &field, capu::SmartPointer<EtchObject> object, capu::SmartPointer<EtchObject> *value_old = NULL);
+  status_t put(const EtchField &field, capu::SmartPointer<EtchObject> object);
 
   /**
    * Get value associated with key in the EtchStructValue.
@@ -143,7 +142,7 @@ public:
   EtchLevel getLevel();
 
   typedef EtchHashTable<EtchField, capu::SmartPointer<EtchObject> >::Iterator Iterator;
-  typedef EtchHashTable<EtchField, capu::SmartPointer<EtchObject> >::Pair Pair;
+  typedef EtchHashTable<EtchField, capu::SmartPointer<EtchObject> >::HashTableEntry HashTableEntry;
 
   /**
    * @return an iterator which is pointing the beginning of collection
@@ -166,7 +165,7 @@ private:
   static const capu::int64_t serialVersionUID = 1L;
 
   //Default size of mTable
-  static const capu::int32_t DEFAULT_SIZE = ETCH_DEFAULT_STRUCTVALUE_HASH_SIZE;
+  static const capu::int32_t DEFAULT_SIZE = ETCH_DEFAULT_STRUCTVALUE_HASH_BIT_SIZE;
 
 };
 

Modified: etch/trunk/binding-cpp/runtime/include/serialization/EtchTypeMap.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/serialization/EtchTypeMap.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/serialization/EtchTypeMap.h (original)
+++ etch/trunk/binding-cpp/runtime/include/serialization/EtchTypeMap.h Mon Mar 25 09:43:41 2013
@@ -22,6 +22,8 @@
 #include "common/EtchString.h"
 #include "common/EtchHashTable.h"
 #include "common/EtchHashSet.h"
+#include "common/EtchComparatorNative.h"
+#include "common/EtchHashNative.h"
 #include "serialization/EtchType.h"
 
 class EtchTypeMap {
@@ -96,7 +98,7 @@ public:
 
 private:
 
-  EtchHashTable<capu::int32_t, EtchType*, capu::Hash, capu::Comparator > mById;
+  EtchHashTable<capu::int32_t, EtchType*, EtchComparatorNative, EtchHashNative > mById;
 
   EtchHashTable<EtchString, EtchType* > mByName;
 

Modified: etch/trunk/binding-cpp/runtime/include/serialization/EtchValidator.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/serialization/EtchValidator.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/serialization/EtchValidator.h (original)
+++ etch/trunk/binding-cpp/runtime/include/serialization/EtchValidator.h Mon Mar 25 09:43:41 2013
@@ -103,9 +103,9 @@ public:
    */
   virtual ~EtchValidatorCaches() {
     capu::List<ValidatorCache*>::Iterator iter = mValidatorsCache.begin();
-    while(iter.hasNext()) {
-      ValidatorCache* entry = NULL;
-      iter.next(&entry);
+    while(iter != mValidatorsCache.end()) {
+      ValidatorCache* entry = *iter;
+      iter++;
       delete entry;
     }
     mValidatorsCache.clear();
@@ -117,16 +117,16 @@ public:
 
   capu::SmartPointer<EtchValidator>* get(EtchRuntime* runtime) {
     capu::List<ValidatorCache*>::Iterator iter = mValidatorsCache.begin();
-    while(iter.hasNext()) {
-      ValidatorCache* entry = NULL;
-      iter.next(&entry);
+    while(iter != mValidatorsCache.end()) {
+      ValidatorCache* entry = *iter;
+      iter++;
       if(entry->id == runtime->getId()) {
         return entry->validators;
       }
     }
     ValidatorCache* entry = new ValidatorCache();
     entry->id = runtime->getId();
-    mValidatorsCache.add(entry);
+    mValidatorsCache.insert(entry);
     return entry->validators;
   }
 

Modified: etch/trunk/binding-cpp/runtime/include/support/EtchFreePool.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/support/EtchFreePool.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/support/EtchFreePool.h (original)
+++ etch/trunk/binding-cpp/runtime/include/support/EtchFreePool.h Mon Mar 25 09:43:41 2013
@@ -29,6 +29,7 @@ namespace capu {
   class Thread;
 }
 
+class EtchFreePoolRunnable;
 /**
  * A implementation of the free pool.
  */
@@ -88,11 +89,14 @@ private:
   capu::bool_t mIsOpen;
   capu::Mutex mMutex;
   capu::Thread** mThreads;
+  EtchFreePoolRunnable** mRunnables;
 
   /**
    * Checks thread list and clean up
+
    */
   status_t check();
 };
 
 #endif /* __ETCHFREEPOOL_H__ */
+

Modified: etch/trunk/binding-cpp/runtime/include/support/EtchQueuedPool.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/support/EtchQueuedPool.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/support/EtchQueuedPool.h (original)
+++ etch/trunk/binding-cpp/runtime/include/support/EtchQueuedPool.h Mon Mar 25 09:43:41 2013
@@ -70,7 +70,7 @@ public:
   status_t add(capu::SmartPointer<EtchPoolRunnable> runnable);
 
 private:
-  capu::int32_t mSizeMax;
+  capu::uint32_t mSizeMax;
   capu::bool_t mIsOpen;
   capu::ThreadPool* mPool;
 };

Modified: etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h (original)
+++ etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h Mon Mar 25 09:43:41 2013
@@ -20,8 +20,8 @@
 #ifndef __ETCHTCPLISTENER_H__
 #define __ETCHTCPLISTENER_H__
 
-#include "capu/os/ServerSocket.h"
-#include "capu/os/Socket.h"
+#include "capu/os/TcpServerSocket.h"
+#include "capu/os/TcpSocket.h"
 #include "capu/util/Runnable.h"
 
 #include "common/EtchError.h"

Modified: etch/trunk/binding-cpp/runtime/include/transport/EtchTcpTransportFactory.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/transport/EtchTcpTransportFactory.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/transport/EtchTcpTransportFactory.h (original)
+++ etch/trunk/binding-cpp/runtime/include/transport/EtchTcpTransportFactory.h Mon Mar 25 09:43:41 2013
@@ -143,7 +143,7 @@ private:
     EtchResources* mResources;
     capu::bool_t mIsSecure;
     EtchServerFactory* mSession;
-    capu::List<EtchStack*>* mConnectionStacks;
+    EtchList<EtchStack*>* mConnectionStacks;
   };
 
 };

Modified: etch/trunk/binding-cpp/runtime/include/util/EtchUtil.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/util/EtchUtil.h?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/util/EtchUtil.h (original)
+++ etch/trunk/binding-cpp/runtime/include/util/EtchUtil.h Mon Mar 25 09:43:41 2013
@@ -37,6 +37,6 @@ status_t etch_strcpy_s(char *dst, size_t
  *         ETCH_ERROR if length calculation has failed
  *         ETCH_EINVAL if src == NULL
  */
-status_t etch_strlen_utf8(const char *src, capu::int32_t &length);
+status_t etch_strlen_utf8(const char *src, capu::uint32_t &length);
 
 #endif

Modified: etch/trunk/binding-cpp/runtime/src/main/CMakeLists.txt
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/CMakeLists.txt?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/CMakeLists.txt (original)
+++ etch/trunk/binding-cpp/runtime/src/main/CMakeLists.txt Mon Mar 25 09:43:41 2013
@@ -17,7 +17,7 @@
 
 # set include dirs
 include_directories (${PROJECT_SOURCE_DIR}/include)
-include_directories (${CAPU}/include/capu)
+include_directories (${LIBCAPU_INCLUDE_DIR})
 
 #Add header files
 SET(MAIN_INCLUDES
@@ -240,7 +240,7 @@ add_library (etch-cpp STATIC
 )
 
 
-IF (TARGET_OS STREQUAL "Linux")
+IF (TARGET_OS STREQUAL "Linux" AND TARGET_ARCH STREQUAL "X86_64") #build only 32 bit
   set_target_properties (etch-cpp PROPERTIES COMPILE_FLAGS "-m32 -g" LINK_FLAGS "-m32")
 ENDIF ()
 

Modified: etch/trunk/binding-cpp/runtime/src/main/common/EtchObject.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/common/EtchObject.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/common/EtchObject.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/common/EtchObject.cpp Mon Mar 25 09:43:41 2013
@@ -32,8 +32,7 @@ EtchObject::EtchObject(const EtchObject&
 }
 
 const EtchObjectType* EtchObject::getObjectType() const {
-  const EtchObjectType* ret;
-  this->mTypes.get(mTypes.size()-1, &ret);
+  const EtchObjectType* ret = this->mTypes.get(mTypes.size()-1);
   return ret;
 }
 
@@ -42,9 +41,9 @@ EtchObject::~EtchObject() {
 
 capu::bool_t EtchObject::isInstanceOf(const EtchObjectType* type) const {
   capu::List<const EtchObjectType*>::Iterator iter = mTypes.begin();
-  while(iter.hasNext()) {
-    const EtchObjectType* t = NULL;
-    iter.next(&t);
+  while(iter != mTypes.end()) {
+    const EtchObjectType* t = *iter;
+    iter++;
     if(t->equals(type)) {
       return true;
     }
@@ -61,6 +60,6 @@ capu::bool_t EtchObject::equals(const Et
 }
 
 status_t EtchObject::addObjectType(const EtchObjectType* type) {
-  mTypes.add(type);
+  mTypes.insert(type);
   return ETCH_OK;
 }

Modified: etch/trunk/binding-cpp/runtime/src/main/common/EtchServerSocket.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/common/EtchServerSocket.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/common/EtchServerSocket.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/common/EtchServerSocket.cpp Mon Mar 25 09:43:41 2013
@@ -46,7 +46,7 @@ status_t EtchServerSocket::close() {
 }
 
 EtchSocket* EtchServerSocket::accept() {
-  capu::Socket *capu_soc = mServerSocket.accept();
+  capu::TcpSocket *capu_soc = mServerSocket.accept();
   if(capu_soc == NULL)
     return NULL;
   EtchSocket *sock = new EtchSocket(capu_soc);

Modified: etch/trunk/binding-cpp/runtime/src/main/common/EtchSocket.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/common/EtchSocket.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/common/EtchSocket.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/common/EtchSocket.cpp Mon Mar 25 09:43:41 2013
@@ -25,13 +25,13 @@ const EtchObjectType* EtchSocket::TYPE()
 
 EtchSocket::EtchSocket() {
   addObjectType(TYPE());
-  mSocket = new capu::Socket();
+  mSocket = new capu::TcpSocket();
 }
 
-EtchSocket::EtchSocket(capu::Socket* soc) {
+EtchSocket::EtchSocket(capu::TcpSocket* soc) {
   addObjectType(TYPE());
   if (soc == NULL)
-    mSocket = new capu::Socket();
+    mSocket = new capu::TcpSocket();
   else
     mSocket = soc;
 }
@@ -48,16 +48,17 @@ status_t EtchSocket::close() {
   return mSocket->close();
 }
 
-status_t EtchSocket::connect(unsigned char* dest_addr, capu::uint16_t port) {
+status_t EtchSocket::connect(const char* dest_addr, capu::uint16_t port) {
   return mSocket->connect(dest_addr, port);
 }
 
-status_t EtchSocket::receive(unsigned char * buffer, capu::int32_t length, capu::int32_t& numBytes) {
+status_t EtchSocket::receive(char * buffer, capu::int32_t length, capu::int32_t& numBytes) {
   return mSocket->receive(buffer, length, numBytes);
 }
 
-status_t EtchSocket::send(unsigned char* buffer, capu::int32_t length) {
-  return mSocket->send(buffer, length);
+status_t EtchSocket::send(const char* buffer, capu::int32_t length) {
+  capu::int32_t numBytes = 0;
+  return mSocket->send(buffer, length, numBytes);
 }
 
 status_t EtchSocket::setBufferSize(capu::int32_t bufferSize) {

Modified: etch/trunk/binding-cpp/runtime/src/main/common/EtchString.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/common/EtchString.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/common/EtchString.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/common/EtchString.cpp Mon Mar 25 09:43:41 2013
@@ -17,6 +17,7 @@
  */
 
 #include "capu/os/StringUtils.h"
+#include "capu/os/Memory.h"
 #include "common/EtchString.h"
 #include "util/EtchUtil.h"
 
@@ -57,7 +58,7 @@ EtchString::EtchString(const capu::int8_
       //utf8
       // TODO: refactor this an use a utf-8 strncpy function from capu
       mData = new char[bufferSize + 1];
-      capu::StringUtils::Strncpy(mData, bufferSize, (const char*)buffer);
+      capu::Memory::Copy(mData, (const char*)buffer, bufferSize);
       mData [bufferSize] = 0x0;
     }
   } else {
@@ -172,7 +173,7 @@ capu::int32_t EtchString::length() const
   if (mEncoding != ENCODING_UTF8) {
     return capu::StringUtils::Strlen(mData);
   } else {
-    capu::int32_t result = 0;
+    capu::uint32_t result = 0;
     etch_strlen_utf8(mData, result);
     return result;
   }

Modified: etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedData.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedData.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedData.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedData.cpp Mon Mar 25 09:43:41 2013
@@ -106,21 +106,21 @@ capu::int8_t EtchBinaryTaggedData::check
 }
 
 capu::int8_t EtchBinaryTaggedData::checkShort(capu::int16_t v) {
-  if ((v >= capu::NumericLimitMin<capu::int8_t>()) && (v <= capu::NumericLimitMax<capu::int8_t>()))
+  if ((v >= capu::NumericLimits::Min<capu::int8_t>()) && (v <= capu::NumericLimits::Max<capu::int8_t>()))
     return checkByte((capu::int8_t) v);
 
   return EtchTypeCode::SHORT;
 }
 
 capu::int8_t EtchBinaryTaggedData::checkInteger(capu::int32_t v) {
-  if ((v >= capu::NumericLimitMin<capu::int16_t>()) && (v <= capu::NumericLimitMax<capu::int16_t>()))
+  if ((v >= capu::NumericLimits::Min<capu::int16_t>()) && (v <= capu::NumericLimits::Max<capu::int16_t>()))
     return checkShort((capu::int16_t) v);
 
   return EtchTypeCode::INT;
 }
 
 capu::int8_t EtchBinaryTaggedData::checkLong(capu::int64_t v) {
-  if (v >= capu::NumericLimitMin<capu::int32_t>() && v <= capu::NumericLimitMax<capu::int32_t>())
+  if (v >= capu::NumericLimits::Min<capu::int32_t>() && v <= capu::NumericLimits::Max<capu::int32_t>())
     return checkInteger((capu::int32_t) v);
 
   return EtchTypeCode::LONG;

Modified: etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedDataOutput.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedDataOutput.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedDataOutput.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/serialization/EtchBinaryTaggedDataOutput.cpp Mon Mar 25 09:43:41 2013
@@ -127,13 +127,13 @@ status_t EtchBinaryTaggedDataOutput::wri
   status_t ret;
   EtchType* t = sv->getType();
   EtchStructValue::Iterator it = sv->begin();
-  EtchStructValue::Pair pair;
+  EtchStructValue::HashTableEntry entry;
   capu::SmartPointer<EtchValidator> tmp;
 
   while (it.hasNext()) {
-    if (it.next(&pair) == ETCH_OK) {
+    if (it.next(&entry) == ETCH_OK) {
 
-      EtchField f = pair.first;
+      EtchField f = entry.key;
 
       ret = writeField(&f);
       if (ret != ETCH_OK) {
@@ -145,13 +145,14 @@ status_t EtchBinaryTaggedDataOutput::wri
         return ETCH_ERROR;
       }
 
-      ret = writeValue(tmp, pair.second);
+      ret = writeValue(tmp, entry.value);
       if (ret != ETCH_OK) {
         return ETCH_ERROR;
       }
     } else {
       return ETCH_ERROR;
     }
+   
   }
   return ETCH_OK;
 }

Modified: etch/trunk/binding-cpp/runtime/src/main/serialization/EtchClass2TypeMap.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/serialization/EtchClass2TypeMap.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/serialization/EtchClass2TypeMap.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/serialization/EtchClass2TypeMap.cpp Mon Mar 25 09:43:41 2013
@@ -22,7 +22,7 @@
 #include "serialization/EtchClass2TypeMap.h"
 
 EtchClass2TypeMap::EtchClass2TypeMap()
-: mC2T(ETCH_DEFAULT_C2TYPEMAP_HASH_SIZE), mLocked(false) {
+: mC2T(ETCH_DEFAULT_C2TYPEMAP_HASH_BIT_SIZE), mLocked(false) {
 }
 
 EtchClass2TypeMap::~EtchClass2TypeMap() {

Modified: etch/trunk/binding-cpp/runtime/src/main/serialization/EtchFieldMap.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/serialization/EtchFieldMap.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/serialization/EtchFieldMap.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/serialization/EtchFieldMap.cpp Mon Mar 25 09:43:41 2013
@@ -20,7 +20,7 @@
 #include "serialization/EtchFieldMap.h"
 
 EtchFieldMap::EtchFieldMap()
-: mById(ETCH_DEFAULT_FIELDMAP_HASH_SIZE), mByName(ETCH_DEFAULT_FIELDMAP_HASH_SIZE), mLocked(false) {
+: mById(ETCH_DEFAULT_FIELDMAP_HASH_BIT_SIZE), mByName(ETCH_DEFAULT_FIELDMAP_HASH_BIT_SIZE), mLocked(false) {
 
 }
 

Modified: etch/trunk/binding-cpp/runtime/src/main/serialization/EtchHashTableSerializer.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/serialization/EtchHashTableSerializer.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/serialization/EtchHashTableSerializer.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/serialization/EtchHashTableSerializer.cpp Mon Mar 25 09:43:41 2013
@@ -45,13 +45,13 @@ status_t EtchHashTableSerializer::export
   EtchHashTable<capu::SmartPointer<EtchObject>, capu::SmartPointer<EtchObject> >::Iterator it = table->begin();
   capu::SmartPointer<EtchNativeArray<capu::SmartPointer<EtchObject> > > keysAndValuesArray = new EtchNativeArray<capu::SmartPointer<EtchObject> > (table->count()*2);
   capu::int32_t i = 0;
-  EtchHashTable<capu::SmartPointer<EtchObject>, capu::SmartPointer<EtchObject> >::Pair ptr;
+  EtchHashTable<capu::SmartPointer<EtchObject>, capu::SmartPointer<EtchObject> >::HashTableEntry entry;
 
   while (it.hasNext()) {
-    it.next(&ptr);
-    keysAndValuesArray->set(i, ptr.first);
+    it.next(&entry);
+    keysAndValuesArray->set(i, entry.key);
     i++;
-    keysAndValuesArray->set(i, ptr.second);
+    keysAndValuesArray->set(i, entry.value);
     i++;
   }
 

Modified: etch/trunk/binding-cpp/runtime/src/main/serialization/EtchStructValue.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/serialization/EtchStructValue.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/serialization/EtchStructValue.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/serialization/EtchStructValue.cpp Mon Mar 25 09:43:41 2013
@@ -41,12 +41,10 @@ EtchStructValue::~EtchStructValue() {
 
 }
 
-status_t EtchStructValue::put(const EtchField &field, capu::SmartPointer<EtchObject> object, capu::SmartPointer<EtchObject> *old_value) {
+status_t EtchStructValue::put(const EtchField &field, capu::SmartPointer<EtchObject> object) {
   if (object.get() == NULL) {
     capu::SmartPointer<EtchObject> tmp;
     status_t result = remove(field, &tmp);
-    if (old_value != NULL)
-      *old_value = tmp;
     return result;
   }
   if (mLevel != LEVEL_NONE) {
@@ -60,7 +58,7 @@ status_t EtchStructValue::put(const Etch
     if ((v.get() != NULL) && (!v->validate(object)))
       return ETCH_EINVAL;
   }
-  return mTable.put(field, object, old_value);
+  return mTable.put(field, object);
 }
 
 EtchType* EtchStructValue::getType() {
@@ -84,12 +82,7 @@ capu::uint32_t EtchStructValue::count() 
 }
 
 status_t EtchStructValue::clear() {
-  EtchHashTable<EtchField, capu::SmartPointer<EtchObject> >::Iterator it = mTable.begin();
-  EtchHashTable<EtchField, capu::SmartPointer<EtchObject> >::Pair pair;
-  while (it.hasNext()) {
-    it.next(&pair);
-    pair.second = NULL;
-  }
+  mTable.clear();
   return ETCH_OK;
 }
 
@@ -102,7 +95,6 @@ EtchStructValue::Iterator EtchStructValu
   return mTable.begin();
 }
 
-
 capu::bool_t EtchStructValue::isEmpty()
 {
   if(mTable.count() == 0) {

Modified: etch/trunk/binding-cpp/runtime/src/main/serialization/EtchType.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/serialization/EtchType.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/serialization/EtchType.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/serialization/EtchType.cpp Mon Mar 25 09:43:41 2013
@@ -24,26 +24,26 @@ const EtchObjectType* EtchType::TYPE() {
   return &TYPE;
 }
 EtchType::EtchType()
-: mValidatorMap(ETCH_DEFAULT_TYPEVALIDATOR_HASH_SIZE), mId(0), mTimeout(0), mName(""), mSuperType(NULL), mResultType(NULL),
+: mValidatorMap(ETCH_DEFAULT_TYPEVALIDATOR_HASH_BIT_SIZE), mId(0), mTimeout(0), mName(""), mSuperType(NULL), mResultType(NULL),
   mDirection(BOTH), mAsyncMode(NONE), mLocked(false), mComponentType(NULL), mHelper(NULL), mStubHelper(NULL) {
   addObjectType(TYPE());
 }
 
 EtchType::EtchType(EtchString name)
-: mValidatorMap(ETCH_DEFAULT_TYPEVALIDATOR_HASH_SIZE), mTimeout(0), mName(name), mSuperType(NULL),
+: mValidatorMap(ETCH_DEFAULT_TYPEVALIDATOR_HASH_BIT_SIZE), mTimeout(0), mName(name), mSuperType(NULL),
 mResultType(NULL), mDirection(BOTH), mAsyncMode(NONE), mLocked(false), mComponentType(NULL), mHelper(NULL), mStubHelper(NULL) {
   mId = EtchHashEx::Digest(mName);
   addObjectType(TYPE());
 }
 
 EtchType::EtchType(capu::uint32_t id, EtchString name)
-: mValidatorMap(ETCH_DEFAULT_TYPEVALIDATOR_HASH_SIZE), mId(id), mTimeout(0), mName(name), mSuperType(NULL),
+: mValidatorMap(ETCH_DEFAULT_TYPEVALIDATOR_HASH_BIT_SIZE), mId(id), mTimeout(0), mName(name), mSuperType(NULL),
 mResultType(NULL), mDirection(BOTH), mAsyncMode(NONE), mLocked(false), mComponentType(NULL), mHelper(NULL), mStubHelper(NULL) {
   addObjectType(TYPE());
 }
 
 EtchType::EtchType(const EtchType& other)
- : EtchObject(other), mValidatorMap(ETCH_DEFAULT_TYPEVALIDATOR_HASH_SIZE), mId(other.mId), mTimeout(other.mTimeout), mName(other.mName), mSuperType(other.mSuperType),
+ : EtchObject(other), mValidatorMap(ETCH_DEFAULT_TYPEVALIDATOR_HASH_BIT_SIZE), mId(other.mId), mTimeout(other.mTimeout), mName(other.mName), mSuperType(other.mSuperType),
    mResultType(other.mResultType), mDirection(other.mDirection), mAsyncMode(other.mAsyncMode), mLocked(other.mLocked),
    mComponentType(other.mComponentType), mHelper(other.mHelper), mStubHelper(other.mStubHelper) {
 }

Modified: etch/trunk/binding-cpp/runtime/src/main/serialization/EtchTypeMap.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/serialization/EtchTypeMap.cpp?rev=1460566&r1=1460565&r2=1460566&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/serialization/EtchTypeMap.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/serialization/EtchTypeMap.cpp Mon Mar 25 09:43:41 2013
@@ -22,16 +22,16 @@
 // TODO: Check memory handling
 
 EtchTypeMap::EtchTypeMap()
-: mById(ETCH_DEFAULT_TYPEMAP_HASH_SIZE), mByName(ETCH_DEFAULT_TYPEMAP_HASH_SIZE), mLocked(false) {
+: mById(ETCH_DEFAULT_TYPEMAP_HASH_BIT_SIZE), mByName(ETCH_DEFAULT_TYPEMAP_HASH_BIT_SIZE), mLocked(false) {
 }
 
 EtchTypeMap::~EtchTypeMap() {
-  EtchHashTable<capu::int32_t, EtchType*, capu::Hash, capu::Comparator >::Iterator it = mById.begin();
+  EtchHashTable<capu::int32_t, EtchType*, EtchComparatorNative, EtchHashNative>::Iterator it = mById.begin();
   while (it.hasNext()) {
-    capu::Pair<capu::int32_t, EtchType*> pair;
-    it.next(&pair);
-    if (pair.second != NULL) {
-      delete pair.second;
+    EtchHashTable<capu::int32_t, EtchType*, EtchComparatorNative, EtchHashNative>::HashTableEntry entry;
+    it.next(&entry);
+    if (entry.value != NULL) {
+      delete entry.value;
     }
   }
   mById.clear();
@@ -89,20 +89,20 @@ status_t EtchTypeMap::getAll(EtchHashSet
   if (set == NULL)
     return ETCH_EINVAL;
   EtchHashTable<EtchString, EtchType* >::Iterator it = mByName.begin();
-  EtchHashTable<EtchString, EtchType* >::Pair pair;
+  EtchHashTable<EtchString, EtchType* >::HashTableEntry entry;
   while (it.hasNext()) {
-    it.next(&pair);
-    set->put(pair.second);
+    it.next(&entry);
+    set->put(entry.value);
   }
   return ETCH_OK;
 }
 
 void EtchTypeMap::clear() {
   EtchHashTable<EtchString, EtchType* >::Iterator it = mByName.begin();
-  EtchHashTable<EtchString, EtchType* >::Pair pair;
+  EtchHashTable<EtchString, EtchType* >::HashTableEntry entry;
   while (it.hasNext()) {
-    it.next(&pair);
-    delete pair.second;
+    it.next(&entry);
+    delete entry.value;
   }
   mByName.clear();
   mById.clear();