Index: source/CMakeLists.txt
===================================================================
--- source/CMakeLists.txt	(revision 10700)
+++ source/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,40 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_subdirectory(ariba)
+add_subdirectory(services)
Index: source/Makefile.am
===================================================================
--- source/Makefile.am	(revision 10688)
+++ 	(revision )
@@ -1,1 +1,0 @@
-SUBDIRS = ariba services
Index: source/ariba/CMakeLists.txt
===================================================================
--- source/ariba/CMakeLists.txt	(revision 10700)
+++ source/ariba/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,267 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
+project(libariba)
+
+list(APPEND CMAKE_MODULE_PATH "${libariba_SOURCE_DIR}/../../CMakeModules")
+
+
+######################################################
+### Increment this whenever the interface changes! ###
+######################################################
+set(ariba_SOVERSION 1)
+######################################################
+
+
+# Find Boost
+find_package(BoostAdditionalVersions QUIET)
+if(NOT DEFINED BoostAdditionalVersions_FOUND)
+    message(WARNING "Could not find FindBoostAdditionalVersions.cmake. "
+        "This might cause the Boost detection to fail")
+endif()
+find_package(Boost 1.42.0 REQUIRED COMPONENTS system thread)
+if(NOT Boost_FOUND)
+    message(FATAL_ERROR "Could not find Boost. "
+            "Please have a look at the Boost_* cache variables.")
+endif(NOT Boost_FOUND)
+
+mark_as_advanced(Boost_DIR)
+include(BoostPthreadWorkaround)
+
+include_directories(${Boost_INCLUDE_DIRS})
+list(APPEND ariba_LINK_LIBRARIES ${Boost_LIBRARIES})
+
+
+# Find gmp
+find_package(GMP REQUIRED)
+if(NOT GMP_FOUND)
+    message(FATAL_ERROR "Could not find GMP. "
+            "Please have a look at the GMP_* cache variables.")
+endif(NOT GMP_FOUND)
+include_directories(${GMP_INCLUDE_DIRS})
+list(APPEND ariba_LINK_LIBRARIES ${GMP_LIBRARIES})
+
+
+# Bluetooth support?
+find_package(LibBluetooth)
+if(NOT LIBBLUETOOTH_FOUND)
+    message(STATUS "Couldn't find libbluetooth. "
+        "Will build ariba withouth bluetooth support")
+endif()
+include(CMakeDependentOption)
+cmake_dependent_option(ENABLE_BLUETOOTH
+    "Enable bluetooth support" #doc
+    ON # default value
+    "LIBBLUETOOTH_FOUND" # only show if this evaluates to true
+    OFF # value if the condition is not met
+    )
+if(ENABLE_BLUETOOTH)
+    set(HAVE_LIBBLUETOOTH TRUE)
+    include_directories("${LIBBLUETOOTH_INCLUDE_DIR}")
+    list(APPEND ariba_LINK_LIBRARIES ${LIBBLUETOOTH_LIBRARIES})
+endif(ENABLE_BLUETOOTH)
+
+
+# Avahi support?
+find_package(Avahi COMPONENTS client common)
+if(NOT AVAHI_FOUND)
+    message(STATUS "Couldn't find Avahi. "
+        "Will build ariba withouth multicast DNS support")
+endif()
+cmake_dependent_option(ENABLE_AVAHI
+    "Enable Avahi (multicast DNS) support" #doc
+    ON # default value
+    "AVAHI_FOUND" # only show if this evaluates to true
+    OFF # value if the condition is not met
+    )
+if(ENABLE_AVAHI)
+    set(HAVE_AVAHI TRUE)
+    include_directories(${AVAHI_INCLUDE_DIRS})
+    list(APPEND ariba_LINK_LIBRARIES ${AVAHI_LIBRARIES})
+endif(ENABLE_AVAHI)
+
+
+# Log4Cxx support?
+find_package(Log4Cxx)
+if(NOT LOG4CXX_FOUND)
+    message(STATUS "Couldn't find Log4Cxx. "
+        "Will build ariba withouth extended logging support")
+endif()
+cmake_dependent_option(ENABLE_LOG4CXX
+    "Enable Log4Cxx (extended logging) support" #doc
+    ON # default value
+    "LOG4CXX_FOUND" # only show if this evaluates to true
+    OFF # value if the condition is not met
+    )
+if(ENABLE_LOG4CXX)
+    set(HAVE_LOG4CXX TRUE)
+    include_directories(${LOG4CXX_INCLUDE_DIRS})
+    list(APPEND ariba_LINK_LIBRARIES ${LOG4CXX_LIBRARIES})
+endif(ENABLE_LOG4CXX)
+
+
+
+set(add_headers_VAR libariba_HEADERS)
+set(add_sources_VAR libariba_SOURCES)
+
+# Voodoo to collect the source files from the subdirectories
+function(add_subdir_sources_helper subdir)
+    set(CURRENT_SOURCE_DIR "${CURRENT_SOURCE_DIR}${subdir}/")
+    add_subdirectory(${subdir})
+    set(${add_headers_VAR} ${${add_headers_VAR}} PARENT_SCOPE)
+    set(${add_sources_VAR} ${${add_sources_VAR}} PARENT_SCOPE)
+endfunction(add_subdir_sources_helper subdir)
+
+macro(add_subdir_sources subdirs)
+    foreach(subdir ${subdirs} ${ARGN})
+        add_subdir_sources_helper(${subdir})
+    endforeach(subdir ${subdirs} ${ARGN})
+    set(${add_headers_VAR} ${${add_headers_VAR}} PARENT_SCOPE)
+    set(${add_sources_VAR} ${${add_sources_VAR}} PARENT_SCOPE)
+endmacro(add_subdir_sources subdirs)
+
+macro(add_headers sources)
+    foreach(source ${sources} ${ARGN})
+        list(APPEND ${add_headers_VAR} "${CURRENT_SOURCE_DIR}${source}")
+    endforeach(source ${sources} ${ARGN})
+    set(${add_headers_VAR} ${${add_headers_VAR}} PARENT_SCOPE)
+endmacro(add_headers sources)
+
+macro(add_sources sources)
+    foreach(source ${sources} ${ARGN})
+        list(APPEND ${add_sources_VAR} "${CURRENT_SOURCE_DIR}${source}")
+    endforeach(source ${sources} ${ARGN})
+    set(${add_sources_VAR} ${${add_sources_VAR}} PARENT_SCOPE)
+endmacro(add_sources sources)
+
+
+# Headers to be exported
+set(libariba_HEADERS
+    ariba.h
+    AribaModule.h
+    CommunicationListener.h
+    DataMessage.h
+    Identifiers.h
+    LinkProperties.h
+    Message.h
+    Module.h
+    Name.h
+    Node.h
+    NodeListener.h
+    SideportListener.h
+    SpoVNetProperties.h
+    )
+
+set(libariba_SOURCES
+    AribaModule.cpp
+    CommunicationListener.cpp
+    DataMessage.cpp
+    Identifiers.cpp
+    LinkProperties.cpp
+    Module.cpp
+    Name.cpp
+    Node.cpp
+    NodeListener.cpp
+    SideportListener.cpp
+    SpoVNetProperties.cpp
+    )
+
+# Can't use add_subdir_sources() here because we want it in this scope not
+# in our parent's scope
+add_subdir_sources_helper(communication)
+add_subdir_sources_helper(overlay)
+add_subdir_sources_helper(utility)
+
+
+if(CMAKE_BUILD_TYPE)
+    if(${CMAKE_BUILD_TYPE} STREQUAL Debug)
+        set(DEBUG ON)
+    endif()
+endif()
+
+option(HAVE_MAEMO
+    "Whether we compile for the maemo platform" #TODO: maybe detect automatically
+    OFF
+    )
+
+set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall")
+set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall")
+
+# Configure the template file
+configure_file(
+    config.h.in
+    config.h
+    )
+include_directories("${CMAKE_CURRENT_BINARY_DIR}/..")
+list(APPEND libariba_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/config.h")
+
+# Add the parent directory to the includes because we reference headers with
+# "ariba/path/to/file" all the time
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/..")
+
+
+# Compile the actual library
+
+include(BuildSharedAndStaticLib)
+
+set(ariba_SOURCES ${libariba_SOURCES} ${libariba_HEADERS})
+# ariba_LINK_LIBRARIES, ariba_VERSION and ariba_SOVERSION already defined
+
+build_shared_and_static_libs(ariba)
+
+
+# Installation stuff
+install(TARGETS ariba ${ariba_STATIC_TARGET} EXPORT ariba-targets
+    LIBRARY DESTINATION lib COMPONENT Runtime
+    ARCHIVE DESTINATION lib COMPONENT Development
+    RUNTIME DESTINATION bin COMPONENT Runtime
+    )
+
+install(FILES ${libariba_HEADERS}
+    DESTINATION include/ariba
+    COMPONENT Development
+    )
+
+# Make libariba usable from build tree
+export(TARGETS ariba ${ariba_STATIC_TARGET} FILE ariba-exports.cmake)
+
+if(ariba_BINARY_DIR)
+    export(TARGETS ariba ${ariba_STATIC_TARGET}
+        FILE "${ariba_BINARY_DIR}/ariba-exports.cmake")
+endif(ariba_BINARY_DIR)
Index: source/ariba/Makefile.am
===================================================================
--- source/ariba/Makefile.am	(revision 10688)
+++ 	(revision )
@@ -1,410 +1,0 @@
-# the rocking Ariba library
-
-lib_LTLIBRARIES     = libariba.la
-
-# source files and header files
-# header files get installed using
-# make install. the nobase_ prefix
-# keeps the directory structure
-
-libariba_la_SOURCES        =
-nobase_libariba_la_HEADERS =
-
-# compiler flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# read the autotools book 11.4 for setting the versioning number
-# this is different from normal versioning schemes and important
-# to set correctly as the runtime linker chooses the correct lib
-# depending on the versioning information here! This is not the
-# project version number!!
-
-libariba_la_LDFLAGS = -version-info 1:0:0
-
-# compiler flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-AM_CPPFLAGS    = -Wall -DLINUX -D_LINUX -I../ -D_REENTRANT -DSCTP_KERN
-AM_CPPFLAGS    += $(BOOST_CPPFLAGS)
-
-if DEBUG
-AM_CPPFLAGS    += -ggdb -DDEBUG -D_DEBUG -O0
-endif
-
-if PROFILING
-AM_CPPFLAGS    += -pg
-endif
-
-if OMNET
-AM_CPPFLAGS    += -fPIC -DUNDERLAY_OMNET
-endif
-
-if LOGCOLORS
-AM_CPPFLAGS    += -DLOGCOLORS
-endif
-
-# linker flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-AM_LDFLAGS      = $(BOOST_THREAD_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_REGEX_LDFLAGS)
-LIBS           += $(BOOST_THREAD_LIBS) $(BOOST_SYSTEM_LIBS) $(BOOST_REGEX_LIBS)
-
-if PROFILING
-AM_LDFLAGS     += -pg
-endif
-
-if OMNET
-AM_LDFLAGS     += -shared -rdynamic
-endif
-
-# sources and subdirs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-# where to put the libs into -> /ariba
-# currently we have no version number
-# attached to the header/libs folder
-libariba_ladir = ${pkgincludedir}
-
-# ------------> tidy interface
-
-libariba_la_SOURCES += \
-  AribaModule.cpp \
-  CommunicationListener.cpp \
-  Identifiers.cpp \
-  LinkProperties.cpp \
-  DataMessage.cpp \
-  Module.cpp \
-  Name.cpp \
-  Node.cpp \
-  NodeListener.cpp \
-  SideportListener.cpp \
-  SpoVNetProperties.cpp
-
-nobase_libariba_la_HEADERS += \
-  ariba.h \
-  AribaModule.h \
-  CommunicationListener.h \
-  Identifiers.h \
-  LinkProperties.h \
-  Message.h \
-  Module.h \
-  DataMessage.h \
-  Name.h \
-  Node.h \
-  NodeListener.h \
-  SideportListener.h \
-  SpoVNetProperties.h \
-  config.h
-  
-# ------------> communication
-
-libariba_la_SOURCES += \
-  communication/BaseCommunication.cpp \
-  communication/CommunicationEvents.cpp \
-  communication/EndpointDescriptor.cpp
-
-nobase_libariba_la_HEADERS += \
-  communication/BaseCommunication.h \
-  communication/CommunicationEvents.h \
-  communication/EndpointDescriptor.h
-
-# ------------> communication :: messages
-
-libariba_la_SOURCES += \
-  communication/messages/AribaBaseMsg.cpp
-
-nobase_libariba_la_HEADERS += \
-  communication/messages/AribaBaseMsg.h
-
-#------------> communication :: networkinfo
-
-libariba_la_SOURCES += \
-  communication/networkinfo/AddressDiscovery.cpp \
-  communication/networkinfo/NetworkChangeDetection.cpp \
-  communication/networkinfo/NetworkInformation.cpp \
-  communication/networkinfo/NetworkInterface.cpp
-
-nobase_libariba_la_HEADERS += \
-  communication/networkinfo/AddressDiscovery.h \
-  communication/networkinfo/NetworkChangeDetection.h \
-  communication/networkinfo/NetworkChangeInterface.h \
-  communication/networkinfo/NetworkInterface.h \
-  communication/networkinfo/NetworkInformation.h
-
-#------------> overlay
-
-libariba_la_SOURCES += \
-  overlay/BaseOverlay.cpp \
-  overlay/OverlayBootstrap.cpp \
-  overlay/LinkDescriptor.cpp
-
-nobase_libariba_la_HEADERS += \
-  overlay/BaseOverlay.h \
-  overlay/OverlayBootstrap.h \
-  overlay/LinkDescriptor.h
-
-#------------> overlay :: messages
-
-libariba_la_SOURCES += \
-  overlay/messages/JoinReply.cpp \
-  overlay/messages/JoinRequest.cpp \
-  overlay/messages/OverlayMsg.cpp
-
-nobase_libariba_la_HEADERS += \
-  overlay/messages/JoinReply.h \
-  overlay/messages/JoinRequest.h \
-  overlay/messages/OverlayMsg.h
-
-#------------> overlay :: modules
-
-libariba_la_SOURCES += \
-  overlay/modules/OverlayStructureEvents.cpp \
-  overlay/modules/OverlayFactory.cpp \
-  overlay/modules/OverlayInterface.cpp
-
-nobase_libariba_la_HEADERS += \
-  overlay/modules/OverlayStructureEvents.h \
-  overlay/modules/OverlayFactory.h \
-  overlay/modules/OverlayInterface.h
-
-#------------> overlay :: modules :: onehop
-
-libariba_la_SOURCES += \
-  overlay/modules/onehop/OneHop.cpp \
-  overlay/modules/onehop/messages/OneHopMessage.cpp \
-  overlay/modules/onehop/messages/NodeListingRequest.cpp \
-  overlay/modules/onehop/messages/NodeListingReply.cpp
-
-nobase_libariba_la_HEADERS += \
-  overlay/modules/onehop/OneHop.h \
-  overlay/modules/onehop/messages/OneHopMessage.h \
-  overlay/modules/onehop/messages/NodeListingRequest.h \
-  overlay/modules/onehop/messages/NodeListingReply.h
-
-#------------> overlay :: modules :: chord
-
-libariba_la_SOURCES += \
-  overlay/modules/chord/Chord.cpp \
-  overlay/modules/chord/messages/Discovery.cpp 
-
-nobase_libariba_la_HEADERS += \
-  overlay/modules/chord/Chord.h \
-  overlay/modules/chord/messages/Discovery.h \
-  overlay/modules/chord/detail/chord_routing_table.hpp \
-  overlay/modules/chord/detail/comparators.hpp \
-  overlay/modules/chord/detail/distances.hpp \
-  overlay/modules/chord/detail/minimizer_table.hpp \
-  overlay/modules/chord/detail/table_listener.hpp 
-
-#------------> utility
-
-nobase_libariba_la_HEADERS += \
-  utility/types.h \
-  utility/messages.h \
-  utility/serialization.h
-
-#------------> utility :: bootstrap
-
-libariba_la_SOURCES += \
-  utility/bootstrap/BootstrapManager.cpp \
-  utility/bootstrap/modules/BootstrapModule.cpp \
-  utility/bootstrap/modules/multicastdns/MulticastDns.cpp \
-  utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.cpp \
-  utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.cpp \
-  utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcastMessage.cpp
-  
-nobase_libariba_la_HEADERS += \
-  utility/bootstrap/BootstrapManager.h \
-  utility/bootstrap/BootstrapInformationCallback.h \
-  utility/bootstrap/modules/BootstrapModule.h \
-  utility/bootstrap/modules/multicastdns/MulticastDns.h \
-  utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.h \
-  utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.h \
-  utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcastMessage.h
-
-#------------> utility :: configuration
-
-libariba_la_SOURCES += \
-  utility/configuration/ConfigFile.cpp \
-  utility/configuration/Configuration.cpp
-
-nobase_libariba_la_HEADERS += \
-  utility/configuration/ConfigFile.h \
-  utility/configuration/Configuration.h
-
-#------------> utility :: internal
-
-nobase_libariba_la_HEADERS += \
-  utility/internal/Utilities.hpp
-
-#------------> utility :: logging
-
-nobase_libariba_la_HEADERS += \
-  utility/logging/Logging.h
-
-#------------> utility :: measurement
-
-libariba_la_SOURCES += \
-  utility/measurement/PathloadMeasurement.cpp
-
-nobase_libariba_la_HEADERS += \
-  utility/measurement/PathloadMeasurement.h
-
-#------------> utility :: addressing
-
-libariba_la_SOURCES += \
-  utility/addressing/ip_address.cpp \
-  utility/addressing/tcpip_endpoint.cpp \
-  utility/addressing/rfcomm_endpoint.cpp \
-  utility/addressing/mac_address.cpp \
-  utility/addressing/port_address.cpp 
-
-nobase_libariba_la_HEADERS += \
-  utility/addressing/ip_address.hpp \
-  utility/addressing/test_addressing.hpp \
-  utility/addressing/tcpip_endpoint.hpp \
-  utility/addressing/endpoint_set.hpp \
-  utility/addressing/addressing.hpp \
-  utility/addressing/detail/compare_to_operators.hpp \
-  utility/addressing/detail/address_convenience.hpp \
-  utility/addressing/rfcomm_endpoint.hpp \
-  utility/addressing/mac_address.hpp \
-  utility/addressing/port_address.hpp \
-  utility/addressing/facades/to_string_v.hpp \
-  utility/addressing/facades/address_v.hpp \
-  utility/addressing/facades/vfacade.hpp \
-  utility/addressing/facades/comparable_v.hpp \
-  utility/addressing/facades/to_bytes_v.hpp
-
-#------------> utility :: transport
-
-libariba_la_SOURCES += \
-  utility/transport/tcpip/tcpip.cpp \
-  utility/transport/transport_peer.cpp \
-  utility/transport/rfcomm/rfcomm_transport.cpp \
-  utility/transport/asio/unique_io_service.cpp \
-  utility/transport/messages/buffer.cpp \
-  utility/transport/messages/message.cpp \
-  utility/transport/messages/shared_buffer.cpp
-
-nobase_libariba_la_HEADERS += \
-  utility/transport/test_transport.hpp \
-  utility/transport/tcpip/tcpip.hpp \
-  utility/transport/transport_connection.hpp \
-  utility/transport/transport_listener.hpp \
-  utility/transport/transport_peer.hpp \
-  utility/transport/transport_protocol.hpp \
-  utility/transport/rfcomm/rfcomm_transport.hpp \
-  utility/transport/rfcomm/bluetooth_endpoint.hpp \
-  utility/transport/rfcomm/bluetooth_rfcomm.hpp \
-  utility/transport/transport.hpp \
-  utility/transport/asio/unique_io_service.h \
-  utility/transport/messages/buffer.hpp \
-  utility/transport/messages/buffers.hpp \
-  utility/transport/messages/message.hpp \
-  utility/transport/messages/shared_buffer.hpp
-
-#------------> utility :: messages
-
-libariba_la_SOURCES += \
-  utility/messages/Message.cpp \
-  utility/messages/MessageProvider.cpp \
-  utility/messages/MessageReceiver.cpp \
-  utility/messages/MessageSender.cpp \
-  utility/messages/TextMessage.cpp
-
-nobase_libariba_la_HEADERS += \
-  utility/messages/_namespace.h \
-  utility/messages/Message.h \
-  utility/messages/MessageProvider.h \
-  utility/messages/MessageReceiver.h \
-  utility/messages/MessageSender.h \
-  utility/messages/MessageUtilities.h \
-  utility/messages/TextMessage.h
-
-#------------> utility :: misc
-
-libariba_la_SOURCES += \
-  utility/misc/Helper.cpp \
-  utility/misc/sha1.cpp \
-  utility/misc/StringFormat.cpp
-
-nobase_libariba_la_HEADERS += \
-  utility/misc/Demultiplexer.hpp \
-  utility/misc/Helper.h \
-  utility/misc/KeyMapping.hpp \
-  utility/misc/sha1.h \
-  utility/misc/StringFormat.h
-
-#------------> utility :: serialization
-
-libariba_la_SOURCES += \
-  utility/serialization/Serialization.cpp \
-  utility/serialization/TestSerialization.cpp
-
-nobase_libariba_la_HEADERS += \
-  utility/serialization/DataUtilities.hpp \
-  utility/serialization/Serialization.hpp \
-  utility/serialization/TestSerialization.h \
-  utility/serialization/Data.hpp \
-  utility/serialization/DataStream.hpp
-
-#------------> utility :: system
-
-libariba_la_SOURCES += \
-  utility/system/BlockingMethod.cpp \
-  utility/system/EnterMethod.cpp \
-  utility/system/SystemEvent.cpp \
-  utility/system/SystemEventListener.cpp \
-  utility/system/SystemEventType.cpp \
-  utility/system/SystemQueue.cpp \
-  utility/system/Timer.cpp \
-  utility/system/StartupWrapper.cpp
-
-nobase_libariba_la_HEADERS += \
-  utility/system/BlockingMethod.h \
-  utility/system/EnterMethod.h \
-  utility/system/SystemEvent.h \
-  utility/system/SystemEventListener.h \
-  utility/system/SystemEventType.h \
-  utility/system/SystemQueue.h \
-  utility/system/Timer.h \
-  utility/system/StartupWrapper.h \
-  utility/system/StartupInterface.h
-
-#------------> utility :: types
-
-libariba_la_SOURCES += \
-  utility/types/Address.cpp \
-  utility/types/Identifier.cpp \
-  utility/types/LinkID.cpp \
-  utility/types/Locator.cpp \
-  utility/types/NodeID.cpp \
-  utility/types/PeerID.cpp \
-  utility/types/OverlayParameterSet.cpp \
-  utility/types/QoSParameterSet.cpp \
-  utility/types/SecurityParameterSet.cpp \
-  utility/types/ServiceID.cpp \
-  utility/types/SpoVNetID.cpp
-
-nobase_libariba_la_HEADERS += \
-  utility/types/_namespace.h \
-  utility/types/Address.h \
-  utility/types/Data.hpp \
-  utility/types/Identifier.h \
-  utility/types/LinkID.h \
-  utility/types/Locator.h \
-  utility/types/NodeID.h \
-  utility/types/PeerID.h \
-  utility/types/OverlayParameterSet.h \
-  utility/types/QoSParameterSet.h \
-  utility/types/SecurityParameterSet.h \
-  utility/types/ServiceID.h \
-  utility/types/SpoVNetID.h
-
-#------------> utility :: visual
-
-libariba_la_SOURCES += \
-  utility/visual/OvlVis.cpp \
-  utility/visual/ServerVis.cpp \
-  utility/visual/DddVis.cpp
-
-nobase_libariba_la_HEADERS += \
-  utility/visual/OvlVis.h \
-  utility/visual/ServerVis.h \
-  utility/visual/DddVis.h
Index: source/ariba/communication/CMakeLists.txt
===================================================================
--- source/ariba/communication/CMakeLists.txt	(revision 10700)
+++ source/ariba/communication/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,51 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    BaseCommunication.h
+    CommunicationEvents.h
+    EndpointDescriptor.h
+    )
+
+add_sources(
+    BaseCommunication.cpp
+    CommunicationEvents.cpp
+    EndpointDescriptor.cpp
+    )
+
+add_subdir_sources(messages networkinfo)
Index: source/ariba/communication/messages/CMakeLists.txt
===================================================================
--- source/ariba/communication/messages/CMakeLists.txt	(revision 10700)
+++ source/ariba/communication/messages/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,41 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(AribaBaseMsg.h)
+
+add_sources(AribaBaseMsg.cpp)
Index: source/ariba/communication/networkinfo/AddressDiscovery.cpp
===================================================================
--- source/ariba/communication/networkinfo/AddressDiscovery.cpp	(revision 10688)
+++ source/ariba/communication/networkinfo/AddressDiscovery.cpp	(revision 10700)
@@ -49,5 +49,5 @@
 #include <ifaddrs.h>
 
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
   #include <bluetooth/bluetooth.h>
   #include <bluetooth/hci.h>
@@ -60,5 +60,5 @@
 mac_address AddressDiscovery::getMacFromIF( const char* name ) {
 	mac_address addr;
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 	int s;
 	struct ifreq buffer;
@@ -74,5 +74,5 @@
 
 int AddressDiscovery::dev_info(int s, int dev_id, long arg) {
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 	endpoint_set* set = (endpoint_set*)arg;
 	struct hci_dev_info di;
@@ -89,5 +89,5 @@
 
 void AddressDiscovery::discover_bluetooth( endpoint_set& endpoints ) {
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 	hci_for_each_dev(HCI_UP, &AddressDiscovery::dev_info, (long)&endpoints );
 #endif
Index: source/ariba/communication/networkinfo/CMakeLists.txt
===================================================================
--- source/ariba/communication/networkinfo/CMakeLists.txt	(revision 10700)
+++ source/ariba/communication/networkinfo/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,52 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    AddressDiscovery.h
+    NetworkChangeDetection.h
+    NetworkChangeInterface.h
+    NetworkInformation.h
+    NetworkInterface.h
+    )
+
+add_sources(
+    AddressDiscovery.cpp
+    NetworkChangeDetection.cpp
+    NetworkInformation.cpp
+    NetworkInterface.cpp
+    )
Index: source/ariba/communication/networkinfo/NetworkInformation.cpp
===================================================================
--- source/ariba/communication/networkinfo/NetworkInformation.cpp	(revision 10688)
+++ source/ariba/communication/networkinfo/NetworkInformation.cpp	(revision 10700)
@@ -40,5 +40,5 @@
 #include "ariba/config.h"
 
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
   #include <bluetooth/bluetooth.h>
   #include <bluetooth/hci.h>
@@ -211,5 +211,5 @@
 	//
 
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 
 	int btsock = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI);
Index: source/ariba/config.h.in
===================================================================
--- source/ariba/config.h.in	(revision 10700)
+++ source/ariba/config.h.in	(revision 10700)
@@ -0,0 +1,55 @@
+// [License]
+// The Ariba-Underlay Copyright
+//
+// Copyright (c) 2008-2009, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+//
+// Institute of Telematics
+// UniversitÃ€t Karlsruhe (TH)
+// Zirkel 2, 76128 Karlsruhe
+// Germany
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// The views and conclusions contained in the software and documentation
+// are those of the authors and should not be interpreted as representing
+// official policies, either expressed or implied, of the Institute of
+// Telematics.
+// [License]
+
+// Version number
+#define VERSION @ariba_VERSION@
+
+// Debugging
+#cmakedefine DEBUG
+
+// Defined if you have avahi support (i.e. avahi-client and avahi-common)
+#cmakedefine HAVE_AVAHI
+
+// Defined if you have the `bluetooth' library (-lbluetooth)
+#cmakedefine HAVE_LIBBLUETOOTH
+
+// Defined if you have the log4cxx library
+#cmakedefine HAVE_LOG4CXX
+
+// Defined if you are on the Maemo platform
+#cmakedefine HAVE_MAEMO
Index: source/ariba/overlay/CMakeLists.txt
===================================================================
--- source/ariba/overlay/CMakeLists.txt	(revision 10700)
+++ source/ariba/overlay/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,51 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    BaseOverlay.h
+    LinkDescriptor.h
+    OverlayBootstrap.h
+    )
+
+add_sources(
+    BaseOverlay.cpp
+    LinkDescriptor.cpp
+    OverlayBootstrap.cpp
+    )
+
+add_subdir_sources(messages modules)
Index: source/ariba/overlay/messages/CMakeLists.txt
===================================================================
--- source/ariba/overlay/messages/CMakeLists.txt	(revision 10700)
+++ source/ariba/overlay/messages/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,49 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    JoinReply.h
+    JoinRequest.h
+    OverlayMsg.h
+    )
+
+add_sources(
+    JoinReply.cpp
+    JoinRequest.cpp
+    OverlayMsg.cpp
+    )
Index: source/ariba/overlay/modules/CMakeLists.txt
===================================================================
--- source/ariba/overlay/modules/CMakeLists.txt	(revision 10700)
+++ source/ariba/overlay/modules/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,51 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_sources(
+    OverlayFactory.h
+    OverlayInterface.h
+    OverlayStructureEvents.h
+    )
+
+add_sources(
+    OverlayFactory.cpp
+    OverlayInterface.cpp
+    OverlayStructureEvents.cpp
+    )
+
+add_subdir_sources(chord onehop)
Index: source/ariba/overlay/modules/chord/CMakeLists.txt
===================================================================
--- source/ariba/overlay/modules/chord/CMakeLists.txt	(revision 10700)
+++ source/ariba/overlay/modules/chord/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,43 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(Chord.h)
+
+add_sources(Chord.cpp)
+
+add_subdir_sources(detail messages)
Index: source/ariba/overlay/modules/chord/detail/CMakeLists.txt
===================================================================
--- source/ariba/overlay/modules/chord/detail/CMakeLists.txt	(revision 10700)
+++ source/ariba/overlay/modules/chord/detail/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,45 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    chord_routing_table.hpp
+    comparators.hpp
+    distances.hpp
+    minimizer_table.hpp
+    table_listener.hpp
+    )
Index: source/ariba/overlay/modules/chord/messages/CMakeLists.txt
===================================================================
--- source/ariba/overlay/modules/chord/messages/CMakeLists.txt	(revision 10700)
+++ source/ariba/overlay/modules/chord/messages/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,41 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(Discovery.h)
+
+add_sources(Discovery.cpp)
Index: source/ariba/overlay/modules/onehop/CMakeLists.txt
===================================================================
--- source/ariba/overlay/modules/onehop/CMakeLists.txt	(revision 10700)
+++ source/ariba/overlay/modules/onehop/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,43 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(OneHop.h)
+
+add_sources(OneHop.cpp)
+
+add_subdir_sources(messages)
Index: source/ariba/overlay/modules/onehop/messages/CMakeLists.txt
===================================================================
--- source/ariba/overlay/modules/onehop/messages/CMakeLists.txt	(revision 10700)
+++ source/ariba/overlay/modules/onehop/messages/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,49 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    NodeListingReply.h
+    NodeListingRequest.h
+    OneHopMessage.h
+    )
+
+add_sources(
+    NodeListingReply.cpp
+    NodeListingRequest.cpp
+    OneHopMessage.cpp
+    )
Index: source/ariba/utility/CMakeLists.txt
===================================================================
--- source/ariba/utility/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,60 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    messages.h
+    serialization.h
+    types.h
+    )
+
+add_subdir_sources(
+    addressing
+    bootstrap
+    configuration
+    internal
+    logging
+    measurement
+    messages
+    misc
+    serialization
+    system
+    transport
+    types
+    visual
+    vtypes
+    )
Index: source/ariba/utility/addressing/CMakeLists.txt
===================================================================
--- source/ariba/utility/addressing/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/addressing/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,58 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    addressing.hpp
+    endpoint_set.hpp
+    ip_address.hpp
+    mac_address.hpp
+    port_address.hpp
+    rfcomm_endpoint.hpp
+    tcpip_endpoint.hpp
+    test_addressing.hpp
+    )
+
+add_sources(
+    ip_address.cpp
+    mac_address.cpp
+    port_address.cpp
+    rfcomm_endpoint.cpp
+    tcpip_endpoint.cpp
+    )
+
+add_subdir_sources(detail facades)
Index: source/ariba/utility/addressing/detail/CMakeLists.txt
===================================================================
--- source/ariba/utility/addressing/detail/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/addressing/detail/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,42 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    address_convenience.hpp
+    compare_to_operators.hpp
+    )
Index: source/ariba/utility/addressing/facades/CMakeLists.txt
===================================================================
--- source/ariba/utility/addressing/facades/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/addressing/facades/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,45 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    address_v.hpp
+    comparable_v.hpp
+    to_bytes_v.hpp
+    to_string_v.hpp
+    vfacade.hpp
+    )
Index: source/ariba/utility/bootstrap/CMakeLists.txt
===================================================================
--- source/ariba/utility/bootstrap/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/bootstrap/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,46 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    BootstrapInformationCallback.h
+    BootstrapManager.h
+    )
+
+add_sources(BootstrapManager.cpp)
+
+add_subdir_sources(modules)
Index: source/ariba/utility/bootstrap/modules/CMakeLists.txt
===================================================================
--- source/ariba/utility/bootstrap/modules/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/bootstrap/modules/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,47 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(BootstrapModule.h)
+
+add_sources(BootstrapModule.cpp)
+
+add_subdir_sources(
+    bluetoothsdp
+    multicastdns
+    periodicbroadcast
+    )
Index: source/ariba/utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.cpp
===================================================================
--- source/ariba/utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.cpp	(revision 10688)
+++ source/ariba/utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.cpp	(revision 10700)
@@ -40,5 +40,5 @@
 #include "ariba/overlay/OverlayBootstrap.h"
 
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 
 // Attribute descriptors for SDP
@@ -58,5 +58,5 @@
 const char *service_prov = "ITM Uni Karlsruhe";
 
-#endif // HAVE_BLUETOOTH_BLUETOOTH_H
+#endif // HAVE_LIBBLUETOOTH
 
 
@@ -64,5 +64,5 @@
 namespace utility {
 
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 static bdaddr_t bd_addr_any = {{0, 0, 0, 0, 0, 0}};
 static bdaddr_t bd_addr_local = {{0, 0, 0, 0xff, 0xff, 0xff}};
@@ -75,10 +75,10 @@
 	: BootstrapModule(_callback), scan_timer_(io_service_) {
 	srand( time(NULL) );
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 
 	// This can be ignored, as the channel we really be saved in one
 	// of the info strings (as an attribute)
 	channel_ = 1;
-#endif // HAVE_BLUETOOTH_BLUETOOTH_H
+#endif // HAVE_LIBBLUETOOTH
 }
 
@@ -95,5 +95,5 @@
 
 bool BluetoothSdp::isFunctional() {
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 	return true;
 #else
@@ -103,5 +103,5 @@
 
 void BluetoothSdp::start() {
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 
 	/*
@@ -112,9 +112,9 @@
 	t_ = boost::thread(boost::bind(&boost::asio::io_service::run, &io_service_));
 
-#endif // HAVE_BLUETOOTH_BLUETOOTH_H
+#endif // HAVE_LIBBLUETOOTH
 }
 
 void BluetoothSdp::stop() {
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 
 	/*
@@ -129,10 +129,10 @@
 		sdp_close(sdp_session_);
 
-#endif // HAVE_BLUETOOTH_BLUETOOTH_H
+#endif // HAVE_LIBBLUETOOTH
 }
 
 void BluetoothSdp::publishService(string name, string info1, string info2,
 		string info3) {
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 
 	/*
@@ -244,17 +244,17 @@
 	sdp_list_free(profile_list, 0);
 
-#endif // HAVE_BLUETOOTH_BLUETOOTH_H
+#endif // HAVE_LIBBLUETOOTH
 }
 
 void BluetoothSdp::revokeService(string name) {
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 
 	logging_debug("unregistering SDP service");
 	sdp_close(sdp_session_);
 
-#endif // HAVE_BLUETOOTH_BLUETOOTH_H
-}
-
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#endif // HAVE_LIBBLUETOOTH
+}
+
+#ifdef HAVE_LIBBLUETOOTH
 
 void BluetoothSdp::bt_scan() {
@@ -461,5 +461,5 @@
 }
 
-#endif // HAVE_BLUETOOTH_BLUETOOTH_H
+#endif // HAVE_LIBBLUETOOTH
 
 }} //namespace ariba, utility
Index: source/ariba/utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.h
===================================================================
--- source/ariba/utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.h	(revision 10688)
+++ source/ariba/utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.h	(revision 10700)
@@ -54,5 +54,5 @@
 #include "ariba/utility/logging/Logging.h"
 
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
   #include <bluetooth/bluetooth.h>
   #include <bluetooth/sdp.h>
@@ -94,5 +94,5 @@
 private:
 
-#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
+#ifdef HAVE_LIBBLUETOOTH
 	void bt_scan();
 	void sdp_search(bdaddr_t target, string devicename);
@@ -104,5 +104,5 @@
 
 	bool haveConnections();
-#endif // HAVE_BLUETOOTH_BLUETOOTH_H
+#endif // HAVE_LIBBLUETOOTH
 
 	boost::asio::io_service io_service_;
Index: source/ariba/utility/bootstrap/modules/bluetoothsdp/CMakeLists.txt
===================================================================
--- source/ariba/utility/bootstrap/modules/bluetoothsdp/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/bootstrap/modules/bluetoothsdp/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,41 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(BluetoothSdp.h)
+
+add_sources(BluetoothSdp.cpp)
Index: source/ariba/utility/bootstrap/modules/multicastdns/CMakeLists.txt
===================================================================
--- source/ariba/utility/bootstrap/modules/multicastdns/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/bootstrap/modules/multicastdns/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,41 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(MulticastDns.h)
+
+add_sources(MulticastDns.cpp)
Index: source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.cpp
===================================================================
--- source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.cpp	(revision 10688)
+++ source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.cpp	(revision 10700)
@@ -48,9 +48,9 @@
 MulticastDns::MulticastDns(BootstrapInformationCallback* _callback, string info)
 	: BootstrapModule(_callback) {
-  #ifdef HAVE_AVAHI_CLIENT_CLIENT_H
+  #ifdef HAVE_AVAHI
 	avahiclient = NULL;
 	avahipoll = NULL;
 	avahibrowser = NULL;
-  #endif // HAVE_AVAHI_CLIENT_CLIENT_H
+  #endif // HAVE_AVAHI
 }
 
@@ -67,5 +67,5 @@
 
 bool MulticastDns::isFunctional(){
-  #ifdef HAVE_AVAHI_CLIENT_CLIENT_H
+  #ifdef HAVE_AVAHI
 	return true;
   #else
@@ -75,5 +75,5 @@
 
 void MulticastDns::start(){
-  #ifdef HAVE_AVAHI_CLIENT_CLIENT_H
+  #ifdef HAVE_AVAHI
 
 	int error = 0;
@@ -119,9 +119,9 @@
 	avahi_threaded_poll_start( avahipoll );
 
-  #endif // HAVE_AVAHI_CLIENT_CLIENT_H
+  #endif // HAVE_AVAHI
 }
 
 void MulticastDns::stop(){
-  #ifdef HAVE_AVAHI_CLIENT_CLIENT_H
+  #ifdef HAVE_AVAHI
 
 	//
@@ -155,9 +155,9 @@
 	avahipoll = NULL;
 
-  #endif // HAVE_AVAHI_CLIENT_CLIENT_H
+  #endif // HAVE_AVAHI
 }
 
 void MulticastDns::publishService(string name, string info1, string info2, string info3){
-  #ifdef HAVE_AVAHI_CLIENT_CLIENT_H
+  #ifdef HAVE_AVAHI
 
 	if(name.length() > 63){
@@ -234,9 +234,9 @@
 	avahi_threaded_poll_unlock(avahipoll);
 
-  #endif // HAVE_AVAHI_CLIENT_CLIENT_H
+  #endif // HAVE_AVAHI
 }
 
 void MulticastDns::revokeService(string name){
-  #ifdef HAVE_AVAHI_CLIENT_CLIENT_H
+  #ifdef HAVE_AVAHI
 
 	avahi_threaded_poll_lock(avahipoll);
@@ -254,8 +254,8 @@
 	avahi_threaded_poll_unlock(avahipoll);
 
-  #endif // HAVE_AVAHI_CLIENT_CLIENT_H
-}
-
-#ifdef HAVE_AVAHI_CLIENT_CLIENT_H
+  #endif // HAVE_AVAHI
+}
+
+#ifdef HAVE_AVAHI
 
 void MulticastDns::client_callback(AvahiClient* client, AvahiClientState state, void* userdata){
@@ -440,5 +440,5 @@
 }
 
-#endif // HAVE_AVAHI_CLIENT_CLIENT_H
+#endif // HAVE_AVAHI
 
 }} //namespace ariba, utility
Index: source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.h
===================================================================
--- source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.h	(revision 10688)
+++ source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.h	(revision 10700)
@@ -42,5 +42,5 @@
 #include "ariba/config.h"
 
-#ifdef HAVE_AVAHI_CLIENT_CLIENT_H
+#ifdef HAVE_AVAHI
   #include <avahi-client/client.h>
   #include <avahi-client/lookup.h>
@@ -51,5 +51,5 @@
   #include <avahi-common/error.h>
   #include <avahi-common/timeval.h>
-#endif // HAVE_AVAHI_CLIENT_CLIENT_H
+#endif // HAVE_AVAHI
 
 #include <iostream>
@@ -86,5 +86,5 @@
 	static const string serviceType;
 
-#ifdef HAVE_AVAHI_CLIENT_CLIENT_H
+#ifdef HAVE_AVAHI
 
 	AvahiClient*         avahiclient;
@@ -133,5 +133,5 @@
 			);
 
-#endif // HAVE_AVAHI_CLIENT_CLIENT_H
+#endif // HAVE_AVAHI
 
 };
Index: source/ariba/utility/bootstrap/modules/periodicbroadcast/CMakeLists.txt
===================================================================
--- source/ariba/utility/bootstrap/modules/periodicbroadcast/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/bootstrap/modules/periodicbroadcast/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,47 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    PeriodicBroadcast.h
+    PeriodicBroadcastMessage.h
+    )
+
+add_sources(
+    PeriodicBroadcast.cpp
+    PeriodicBroadcastMessage.cpp
+    )
Index: source/ariba/utility/configuration/CMakeLists.txt
===================================================================
--- source/ariba/utility/configuration/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/configuration/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,47 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    ConfigFile.h
+    Configuration.h
+    )
+
+add_sources(
+    ConfigFile.cpp
+    Configuration.cpp
+    )
Index: source/ariba/utility/internal/CMakeLists.txt
===================================================================
--- source/ariba/utility/internal/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/internal/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,39 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(Utilities.hpp)
Index: source/ariba/utility/logging/CMakeLists.txt
===================================================================
--- source/ariba/utility/logging/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/logging/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,39 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(Logging.h)
Index: source/ariba/utility/logging/Logging.h
===================================================================
--- source/ariba/utility/logging/Logging.h	(revision 10688)
+++ source/ariba/utility/logging/Logging.h	(revision 10700)
@@ -44,8 +44,8 @@
 #include "ariba/config.h"
 
-#ifdef HAVE_LOG4CXX_LOGGER_H
+#ifdef HAVE_LOG4CXX
 	#include <log4cxx/logger.h>
 	#include <log4cxx/basicconfigurator.h>
-#endif // HAVE_LOG4CXX_LOGGER_H
+#endif // HAVE_LOG4CXX
 
 #ifdef LOGCOLORS
@@ -64,5 +64,5 @@
 
 
-#ifdef HAVE_LOG4CXX_LOGGER_H
+#ifdef HAVE_LOG4CXX
 
   #define use_logging_h(x) \
@@ -89,5 +89,5 @@
   #define logging_classlevel_error(x) {log4cxx::LoggerPtr logger(log4cxx::Logger::getLogger(#x)); if(logger != NULL) logger->setLevel(log4cxx::Level::getError()); }
 
-#else // HAVE_LOG4CXX_LOGGER_H
+#else // HAVE_LOG4CXX
 
   #define use_logging_h(x)
@@ -115,5 +115,5 @@
   #define logging_classlevel_error(x) {std::cout << "individual class logging only available with log4cxx library" << std::endl;}
 
-#endif // HAVE_LOG4CXX_LOGGER_H
+#endif // HAVE_LOG4CXX
 
 #endif //LOGGING_H__
Index: source/ariba/utility/measurement/CMakeLists.txt
===================================================================
--- source/ariba/utility/measurement/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/measurement/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,41 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(PathloadMeasurement.h)
+
+add_sources(PathloadMeasurement.cpp)
Index: source/ariba/utility/messages/CMakeLists.txt
===================================================================
--- source/ariba/utility/messages/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/messages/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,55 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    Message.h
+    MessageProvider.h
+    MessageReceiver.h
+    MessageSender.h
+    MessageUtilities.h
+    _namespace.h
+    TextMessage.h
+    )
+
+add_sources(
+    Message.cpp
+    MessageProvider.cpp
+    MessageReceiver.cpp
+    MessageSender.cpp
+    TextMessage.cpp
+    )
Index: source/ariba/utility/misc/CMakeLists.txt
===================================================================
--- source/ariba/utility/misc/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/misc/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,51 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    Demultiplexer.hpp
+    Helper.h
+    KeyMapping.hpp
+    sha1.h
+    StringFormat.h
+    )
+
+add_sources(
+    Helper.cpp
+    sha1.cpp
+    StringFormat.cpp
+    )
Index: source/ariba/utility/serialization/CMakeLists.txt
===================================================================
--- source/ariba/utility/serialization/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/serialization/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,50 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    Data.hpp
+    DataStream.hpp
+    DataUtilities.hpp
+    Serialization.hpp
+    TestSerialization.h
+    )
+
+add_sources(
+    Serialization.cpp
+    TestSerialization.cpp
+    )
Index: source/ariba/utility/system/CMakeLists.txt
===================================================================
--- source/ariba/utility/system/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/system/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,60 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    BlockingMethod.h
+    EnterMethod.h
+    StartupInterface.h
+    StartupWrapper.h
+    SystemEvent.h
+    SystemEventListener.h
+    SystemEventType.h
+    SystemQueue.h
+    Timer.h
+    )
+
+add_sources(
+    BlockingMethod.cpp
+    EnterMethod.cpp
+    StartupWrapper.cpp
+    SystemEvent.cpp
+    SystemEventListener.cpp
+    SystemEventType.cpp
+    SystemQueue.cpp
+    Timer.cpp
+    )
Index: source/ariba/utility/system/StartupWrapper.cpp
===================================================================
--- source/ariba/utility/system/StartupWrapper.cpp	(revision 10688)
+++ source/ariba/utility/system/StartupWrapper.cpp	(revision 10700)
@@ -40,8 +40,8 @@
 #include "ariba/config.h"
 
-#ifdef HAVE_LOG4CXX_LOGGER_H
+#ifdef HAVE_LOG4CXX
 	#include <log4cxx/logger.h>
 	#include <log4cxx/basicconfigurator.h>
-#endif // HAVE_LOG4CXX_LOGGER_H
+#endif // HAVE_LOG4CXX
 
 namespace ariba {
@@ -97,7 +97,7 @@
 	//
 
-#ifdef HAVE_LOG4CXX_LOGGER_H
+#ifdef HAVE_LOG4CXX
 	log4cxx::BasicConfigurator::configure();
-#endif //HAVE_LOG4CXX_LOGGER_H
+#endif //HAVE_LOG4CXX
 
 	//
Index: source/ariba/utility/transport/CMakeLists.txt
===================================================================
--- source/ariba/utility/transport/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/transport/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,49 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    test_transport.hpp
+    transport_connection.hpp
+    transport.hpp
+    transport_listener.hpp
+    transport_peer.cpp
+    transport_peer.hpp
+    transport_protocol.hpp
+    )
+
+add_subdir_sources(asio messages rfcomm tcpip)
Index: source/ariba/utility/transport/asio/CMakeLists.txt
===================================================================
--- source/ariba/utility/transport/asio/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/transport/asio/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,41 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(unique_io_service.h)
+
+add_sources(unique_io_service.cpp)
Index: source/ariba/utility/transport/messages/CMakeLists.txt
===================================================================
--- source/ariba/utility/transport/messages/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/transport/messages/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,50 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    buffer.hpp
+    buffers.hpp
+    message.hpp
+    shared_buffer.hpp
+    )
+
+add_sources(
+    buffer.cpp
+    message.cpp
+    shared_buffer.cpp
+    )
Index: source/ariba/utility/transport/messages/shared_buffer.hpp
===================================================================
--- source/ariba/utility/transport/messages/shared_buffer.hpp	(revision 10688)
+++ source/ariba/utility/transport/messages/shared_buffer.hpp	(revision 10700)
@@ -11,4 +11,5 @@
 #include <boost/shared_ptr.hpp>
 
+#include "ariba/config.h"
 #ifdef DEBUG
 #include <boost/thread/mutex.hpp>
Index: source/ariba/utility/transport/rfcomm/CMakeLists.txt
===================================================================
--- source/ariba/utility/transport/rfcomm/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/transport/rfcomm/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,45 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    bluetooth_endpoint.hpp
+    bluetooth_rfcomm.hpp
+    rfcomm_transport.hpp
+    )
+
+add_sources(rfcomm_transport.cpp)
Index: source/ariba/utility/transport/rfcomm/bluetooth_endpoint.hpp
===================================================================
--- source/ariba/utility/transport/rfcomm/bluetooth_endpoint.hpp	(revision 10688)
+++ source/ariba/utility/transport/rfcomm/bluetooth_endpoint.hpp	(revision 10700)
@@ -192,4 +192,4 @@
 }}} // namespace boost::asio::bluetooth
 
+#endif /* BOOST_ASIO_BLUETOOTH_BLUETOOTH_ENDPOINT_HPP__ */
 #endif /* HAVE_LIBBLUETOOTH */
-#endif /* BOOST_ASIO_BLUETOOTH_BLUETOOTH_ENDPOINT_HPP__ */
Index: source/ariba/utility/transport/rfcomm/bluetooth_rfcomm.hpp
===================================================================
--- source/ariba/utility/transport/rfcomm/bluetooth_rfcomm.hpp	(revision 10688)
+++ source/ariba/utility/transport/rfcomm/bluetooth_rfcomm.hpp	(revision 10700)
@@ -1,2 +1,6 @@
+#include "ariba/config.h"
+
+#ifdef HAVE_LIBBLUETOOTH
+
 #ifndef BOOST_ASIO_BLUETOOTH_RFCOMM_HPP__
 #define BOOST_ASIO_BLUETOOTH_RFCOMM_HPP__
@@ -53,2 +57,3 @@
 
 #endif /* BOOST_ASIO_BLUETOOTH_RFCOMM_HPP__ */
+#endif /* HAVE_LIBBLUETOOTH */
Index: source/ariba/utility/transport/tcpip/CMakeLists.txt
===================================================================
--- source/ariba/utility/transport/tcpip/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/transport/tcpip/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,41 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(tcpip.hpp)
+
+add_sources(tcpip.cpp)
Index: source/ariba/utility/transport/transport_peer.cpp
===================================================================
--- source/ariba/utility/transport/transport_peer.cpp	(revision 10688)
+++ source/ariba/utility/transport/transport_peer.cpp	(revision 10700)
@@ -3,5 +3,4 @@
 #include "transport_peer.hpp"
 #include "transport.hpp"
-#include "ariba/utility/logging/Logging.h"
 #include <boost/asio/ip/tcp.hpp>
 #include <boost/asio/error.hpp>
Index: source/ariba/utility/transport/transport_peer.hpp
===================================================================
--- source/ariba/utility/transport/transport_peer.hpp	(revision 10688)
+++ source/ariba/utility/transport/transport_peer.hpp	(revision 10700)
@@ -3,4 +3,5 @@
 
 #include "ariba/config.h"
+#include "ariba/utility/logging/Logging.h"
 #include "transport_protocol.hpp"
 #include "ariba/utility/addressing/endpoint_set.hpp"
@@ -29,4 +30,5 @@
 /// protocols and can send messages to an entire set of endpoints
 class transport_peer : public transport_protocol {
+	use_logging_h(transport_peer);
 public:
 	transport_peer( endpoint_set& local_set );
Index: source/ariba/utility/types/CMakeLists.txt
===================================================================
--- source/ariba/utility/types/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/types/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,67 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    Address.h
+    Data.hpp
+    Identifier.h
+    LinkID.h
+    Locator.h
+    _namespace.h
+    NodeID.h
+    OverlayParameterSet.h
+    PeerID.h
+    QoSParameterSet.h
+    SecurityParameterSet.h
+    ServiceID.h
+    SpoVNetID.h
+    )
+
+add_sources(
+    Address.cpp
+    Identifier.cpp
+    LinkID.cpp
+    Locator.cpp
+    NodeID.cpp
+    OverlayParameterSet.cpp
+    PeerID.cpp
+    QoSParameterSet.cpp
+    SecurityParameterSet.cpp
+    ServiceID.cpp
+    SpoVNetID.cpp
+    )
Index: source/ariba/utility/visual/CMakeLists.txt
===================================================================
--- source/ariba/utility/visual/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/visual/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,49 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    DddVis.h
+    OvlVis.h
+    ServerVis.h
+    )
+
+add_sources(
+    DddVis.cpp
+    OvlVis.cpp
+    ServerVis.cpp
+    )
Index: source/ariba/utility/vtypes/CMakeLists.txt
===================================================================
--- source/ariba/utility/vtypes/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/vtypes/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,45 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    varray.hpp
+    vfacade.hpp
+    vint.hpp
+    )
+
+add_subdir_sources(detail)
Index: source/ariba/utility/vtypes/detail/CMakeLists.txt
===================================================================
--- source/ariba/utility/vtypes/detail/CMakeLists.txt	(revision 10700)
+++ source/ariba/utility/vtypes/detail/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,43 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_headers(
+    helper.hpp
+    vint_big.hpp
+    vint_small.hpp
+    )
Index: source/services/CMakeLists.txt
===================================================================
--- source/services/CMakeLists.txt	(revision 10700)
+++ source/services/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,39 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+add_subdirectory(ariba_dht)
Index: source/services/Makefile.am
===================================================================
--- source/services/Makefile.am	(revision 10688)
+++ 	(revision )
@@ -1,1 +1,0 @@
-SUBDIRS = dht
Index: source/services/ariba_dht/CMakeLists.txt
===================================================================
--- source/services/ariba_dht/CMakeLists.txt	(revision 10700)
+++ source/services/ariba_dht/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,97 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+######################################################
+### Increment this whenever the interface changes! ###
+######################################################
+set(ariba_dht_SOVERSION 1)
+######################################################
+
+# Find Boost
+find_package(BoostAdditionalVersions QUIET)
+if(NOT DEFINED BoostAdditionalVersions_FOUND)
+    message(WARNING "Could not find FindBoostAdditionalVersions.cmake. "
+        "This might cause the Boost detection to fail")
+endif()
+find_package(Boost 1.42.0 REQUIRED COMPONENTS system)
+mark_as_advanced(Boost_DIR)
+
+include_directories(${Boost_INCLUDE_DIRS})
+
+
+# Include ariba header files
+include_directories("${ariba_SOURCE_DIR}/source/" "${ariba_BINARY_DIR}/source/")
+
+
+include(BuildSharedAndStaticLib)
+
+set(ariba_dht_HEADERS
+    Dht.h
+    DhtAnswerInterface.h
+    )
+
+set(ariba_dht_SOURCES
+    Dht.cpp
+    messages/DhtMessage.cpp
+    messages/DhtMessage.h
+    ${ariba_dht_HEADERS}
+    )
+
+set(ariba_dht_LINK_LIBRARIES ariba ${Boost_LIBRARIES})
+set(ariba_dht_VERSION ${ariba_VERSION})
+# ariba_dht_SOVERSION already defined above
+
+build_shared_and_static_libs(ariba_dht)
+
+
+# Installation stuff
+install(TARGETS ariba_dht ${ariba_dht_STATIC_TARGET} EXPORT ariba-targets
+    LIBRARY DESTINATION lib COMPONENT Runtime
+    ARCHIVE DESTINATION lib COMPONENT Development
+    RUNTIME DESTINATION bin COMPONENT Runtime
+    )
+
+install(FILES ${ariba_dht_HEADERS}
+    DESTINATION include/ariba_dht
+    COMPONENT Development
+    )
+
+# Make libariba_dht usable from build tree.
+export(TARGETS ariba_dht ${ariba_dht_STATIC_TARGET}
+    APPEND FILE "${ariba_BINARY_DIR}/ariba-exports.cmake"
+    )
Index: source/services/ariba_dht/Dht.cpp
===================================================================
--- source/services/ariba_dht/Dht.cpp	(revision 10700)
+++ source/services/ariba_dht/Dht.cpp	(revision 10700)
@@ -0,0 +1,553 @@
+/*
+ * Dht.cpp
+ *
+ *  Created on: 20.06.2012
+ *      Author: mario
+ */
+
+#include "Dht.h"
+#include "messages/DhtMessage.h"
+#include <boost/date_time/time_clock.hpp>
+
+namespace ariba_service {
+namespace dht {
+
+use_logging_cpp(Dht)
+
+using namespace std;
+using boost::date_time::second_clock;
+using boost::posix_time::ptime;
+
+SystemEventType DhtRepublishEvent("DhtRepublishEvent");
+SystemEventType DhtCleanupEvent("DhtCleanupEvent");
+
+
+Dht::Dht(ariba::ServiceID serviceID, ariba::Node* node)  :
+        serviceID(serviceID),
+        node(node),
+        cleanup_running(false),
+        listener(NULL)
+{
+    this->node->bind(this, serviceID);
+}
+
+Dht::~Dht()
+{
+    this->node->unbind(this, serviceID);
+}
+
+
+
+void Dht::put(const std::string& key, const std::string& value, uint16_t ttl)
+{
+    DhtMessage msg(DhtMessage::DhtPut, key, value, ttl);
+
+    handle_dht_message(msg, NodeID::UNSPECIFIED);
+}
+
+void Dht::get(const std::string& key)
+{
+	DhtMessage msg(DhtMessage::DhtGet, key);
+	
+	handle_dht_message(msg, NodeID::UNSPECIFIED);
+}
+
+void Dht::atomic_put_and_get(const std::string& key, const std::string& value, uint16_t ttl)
+{    
+    DhtMessage msg(DhtMessage::DhtPutAndGet, key, value, ttl);
+
+    handle_dht_message(msg, NodeID::UNSPECIFIED);
+}
+
+void Dht::meet(const std::string& key, const std::string& value, uint16_t ttl_in_sec)
+{
+    // insert into meet_store
+    insert_into_table(meet_store,
+    		key,
+    		std::vector<std::string>(1, value),
+    		ttl_in_sec);
+	
+    // send message (and program republishing)
+    send_meet_message(key, value);
+}
+
+void Dht::stop_meet(const std::string& key, const std::string& value)
+{
+    remove_from_table(meet_store,
+    		key,
+    		std::vector<std::string>(1, value));
+}
+
+void Dht::remove(const std::string& key, const std::string& value)
+{
+    // send delete message
+    DhtMessage msg(DhtMessage::DhtRemove, key, value);
+
+    handle_dht_message(msg, NodeID::UNSPECIFIED);
+}
+
+
+
+
+bool Dht::add_listener(DhtAnswerInterface* new_listener)
+{
+    if ( listener == NULL )
+    {
+        listener = new_listener;
+        
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+bool Dht::remove_listener(DhtAnswerInterface* new_listener)
+{
+	if (listener == new_listener) {
+		listener = NULL;
+		return true;
+		
+	} else {
+		return false;
+	}
+}
+
+
+
+
+//** PRIVATE FUNCTIONS **//
+
+void Dht::handle_dht_message(const DhtMessage& message, const NodeID& source)
+{
+    // send message closer to hashed key
+    NodeID addr = message.getHashedKey();
+
+    logging_debug("Processing DHT message...");
+    
+    logging_debug("Dest Addr: " << addr.toString());
+
+    // * send closer, if possible *
+    const ariba::NodeID dest = node->sendMessageCloserToNodeID(message, addr, this->serviceID);
+    
+    logging_debug("Closer Node: " << dest.toString());
+    
+    // couldn't send closer, so we are the closest node
+    //   ---> * handle dht request * (store value, etc.)
+    if ( dest == NodeID::UNSPECIFIED )
+    {
+    	logging_debug("DHT: We are the closest node!");
+        
+        switch (message.getType())
+        {
+            case DhtMessage::DhtPut:
+            {
+                insert_into_table(
+                		table,
+                		message.getKey(),
+                		message.getValues(),
+                		message.getTTL());
+                
+                break;
+            }
+            
+            case DhtMessage::DhtGet:
+            {
+                answer_dht_request(message.getKey(), source);
+
+                break;
+            }
+            
+            case DhtMessage::DhtPutAndGet:
+            {
+                insert_into_table(
+                		table,
+                		message.getKey(),
+                		message.getValues(),
+                		message.getTTL());
+                answer_dht_request(message.getKey(), source);
+                
+                break;
+            }
+            
+            case DhtMessage::DhtRemove:
+            {
+                remove_from_table(table, message.getKey(), message.getValues());
+                
+                break;
+            }
+        }
+    }
+}
+
+
+void Dht::insert_into_table(DhtTableType& table,
+		const std::string& key,
+		const vector<std::string>& values,
+		uint16_t ttl)
+{
+	DhtTableType::mapped_type& value_entries = table[key];
+	
+	BOOST_FOREACH(const std::string& value, values) {
+		
+		// Debug output
+		logging_info("DHT: Inserting (" << key << ", " << value << ")");
+		
+		// push the value for the given key (into the vector)
+		bool entry_updated = false;
+		for (
+				DhtTableType::mapped_type::iterator position = value_entries.begin();
+				position != value_entries.end();
+				++position)
+		{
+			if (position->get_value() == value) {
+				position->set_ttl(ttl);
+				entry_updated = true;
+				break;
+			}
+		}
+		
+		if (!entry_updated) {
+			value_entries.push_back(ValueEntry(value, ttl));
+		}
+	}
+	
+	schedule_cleanup_event();
+}
+
+
+void Dht::remove_from_table(DhtTableType& table,
+		const std::string& key,
+		const vector<std::string>& values)
+{
+	logging_debug("DHT: trying to delete some values for key " << key);
+	// find key
+	DhtTableType::iterator key_position = table.find(key);
+	if (key_position == table.end()) {
+		return;
+	}
+	
+	// delete values from set of values
+	DhtTableType::mapped_type& entries = key_position->second;
+	BOOST_FOREACH(const std::string& value, values) {
+		for (
+				DhtTableType::mapped_type::iterator entry = entries.begin();
+				entry != entries.end();
+				++entry)
+		{
+			if (entry->get_value() == value) {
+				logging_info("DHT: Deleting "
+						"(" <<key << ", " << entry->get_value() << ")");
+				entries.erase(entry);
+				break;
+			}
+		}
+	}
+	
+    // the key could empty now
+    //   ---> remove it
+    if ( entries.size() == 0 )
+    {
+        table.erase(key_position);
+    }
+}
+
+
+void Dht::cleanup_table(DhtTableType& table)
+{
+	logging_debug("DHT: cleaning up table");
+	
+	vector<std::string> to_be_deleted;
+	
+	for (
+			DhtTableType::iterator position = table.begin();
+			position != table.end();
+			++position)
+	{
+		cleanup_entries(position->second);
+		
+		// mark entry container for removal if empty
+		if (position->second.size() == 0) {
+			to_be_deleted.push_back(position->first);
+		}
+	}
+	
+	BOOST_FOREACH(const std::string& key, to_be_deleted) {
+		table.erase(key);
+	}
+}
+
+void Dht::cleanup_entries(DhtTableType::mapped_type& entries)
+{
+	DhtTableType::mapped_type::iterator position = entries.begin();
+	while (position != entries.end()) {
+		
+		if (position->is_ttl_elapsed()) {
+			// remove stale entry
+			position = entries.erase(position);
+			
+		} else {
+			// move on otherwise
+			++position;
+		}
+	}
+}
+
+
+void Dht::answer_dht_request(const std::string& key, const NodeID& source)
+{
+    // get entries from table
+    const DhtTableType::mapped_type& entries = table[key];
+    
+    // need to convert value entries to strings
+	vector<std::string> values;
+	values.reserve(entries.size());
+	BOOST_FOREACH(const ValueEntry& entry, entries) {
+		
+		if (!entry.is_ttl_elapsed()) {
+			values.push_back(entry.get_value());
+		}
+		
+	}
+    
+    // BRANCH: request comes from another node
+    //   ---> send answer message
+    if ( source != NodeID::UNSPECIFIED )
+    {
+        // create answer message
+        DhtMessage msg(DhtMessage::DhtAnswer, key, values);
+        
+        // * send answer *
+        node->sendMessage(msg, source, serviceID);
+    }
+    
+    // BRANCH: local request
+    //   ---> inform listeners directly (TODO code duplicates...)
+    else
+    {
+        logging_debug("DHT: Answering request for key '" << key << "' locally");
+
+        // * inform listeners *
+        if ( listener )
+        {
+            listener->handle_dht_answer(key, values);
+        }
+    }
+    
+    
+    // an empty key could have been created
+    //   ---> remove it
+    if ( entries.size() == 0 )
+    {
+        table.erase(key);
+    }
+}
+
+
+void Dht::send_meet_message(const std::string& key, const std::string& value)
+{
+    // send put&get message
+    DhtMessage msg(DhtMessage::DhtPutAndGet, key, value, MEET_DHT_TTL);
+    
+    handle_dht_message(msg, NodeID::UNSPECIFIED);
+    
+    // program timer for republish (or deletion)
+    Key_Value* kv = new Key_Value;
+    kv->key = key;
+    kv->value = value;
+    
+    SystemQueue::instance().scheduleEvent( 
+            SystemEvent( this, DhtRepublishEvent, kv),
+            MEET_REPUBLISH_INTERVAL * 1000 );
+}
+
+
+void Dht::meet_update_event(const std::string& key, const std::string& value)
+{
+    // get entries from table
+    DhtTableType::mapped_type& entries = meet_store[key];
+    
+    cleanup_entries(entries);
+    
+    // find right entry
+    BOOST_FOREACH(const ValueEntry& entry, entries) {
+    	if (entry.get_value() == value) {
+    		
+    		// republish value
+    		logging_debug("DHT: Republishing "
+    				"(" << key << ", " << entry.get_value() << ")");
+    		send_meet_message(key, entry.get_value());
+    	}
+    }
+    
+    // an empty key could have been created
+    //   ---> remove it
+    if ( entries.size() == 0 )
+    {
+        meet_store.erase(key);
+    }
+}
+
+void Dht::schedule_cleanup_event(bool reschedule)
+{
+	if (reschedule || !cleanup_running) {
+		SystemQueue::instance().scheduleEvent(
+				SystemEvent(this, DhtCleanupEvent),
+				CLEANUP_INTERVAL * 1000);
+		cleanup_running = true;
+	}
+}
+
+
+void Dht::print_dht()
+{
+	logging_debug("======== DHT ========");
+    for ( DhtTableType::iterator dht_it = table.begin(); dht_it != table.end(); dht_it++)
+    {
+    	logging_debug("Key: " << dht_it->first);
+        
+        for ( DhtTableType::mapped_type::iterator value_it = dht_it->second.begin();
+                value_it != dht_it->second.end();
+                value_it++ )
+        {
+        	logging_debug("--> " << value_it->get_value());
+        }
+        
+        logging_debug("- - - - -");
+    }
+    
+    logging_debug("======== [DHT] ========");
+}
+
+
+
+void Dht::onMessage(const ariba::DataMessage& msg, const ariba::NodeID& source,
+        const ariba::LinkID& lnk)
+{
+	logging_debug("DHT: Incoming message...");
+    
+    DhtMessage* mess = msg.getMessage()->convert<DhtMessage> ();
+    
+    // handle message
+    switch (mess->getType())
+    {
+        // BRANCH: Message is an Answer for our request
+        case DhtMessage::DhtAnswer:
+        {
+        	logging_debug("DHT: Got answer for key '" << mess->getKey() << "'");
+            
+            BOOST_FOREACH(string str, mess->getValues())
+            {
+            	logging_debug("--> Value: '" << str << "'");
+            }
+            
+            // * inform listeners *
+            if ( listener )
+            {
+                listener->handle_dht_answer(mess->getKey(), mess->getValues());
+            }
+
+            break;
+        }
+        
+        // BRANCH: Message is a Request
+        //   ---> route or handle
+        default:
+        {
+            handle_dht_message(*mess, source);
+            
+            break;
+        }
+    }
+
+    delete mess;
+}
+
+
+void Dht::handleSystemEvent( const SystemEvent& event )
+{
+	
+	if (event.getType() == DhtRepublishEvent) {
+		logging_debug("DHT: Meet republish event!");
+		
+		// republish meet entry
+		Key_Value* kv = event.getData<Key_Value>();
+		meet_update_event(kv->key, kv->value);
+		delete kv;
+		
+	} else if (event.getType() == DhtCleanupEvent) {
+		logging_debug("DHT: Cleanup event!");
+		
+		cleanup_table(table);
+		schedule_cleanup_event(true);
+	}
+}
+
+
+/**************
+ * ValueEntry *
+ **************/
+
+Dht::ValueEntry::ValueEntry(
+		const std::string& value,
+		uint16_t ttl) :
+	ttl(ttl),
+	last_update(second_clock<ptime>::universal_time()),
+	value(value)
+{
+}
+
+
+void Dht::ValueEntry::refresh() {
+	last_update = second_clock<ptime>::universal_time();
+}
+
+
+const std::string& Dht::ValueEntry::get_value() const {
+	return value;
+}
+
+uint16_t Dht::ValueEntry::get_age() const
+{
+    boost::posix_time::time_duration diff = 
+            second_clock<ptime>::universal_time() - last_update;
+    
+    return diff.total_seconds();
+}
+
+uint16_t Dht::ValueEntry::get_ttl() const {
+	return ttl;
+}
+
+void Dht::ValueEntry::set_ttl(uint16_t ttl) {
+	this->refresh();
+	this->ttl = ttl;
+}
+
+bool Dht::ValueEntry::is_ttl_elapsed() const {
+	// ttl == 0 signals infinite lifetime
+	if (ttl == 0) {
+		return false;
+	}
+	
+	return second_clock<ptime>::universal_time() >= 
+			(last_update + boost::posix_time::seconds(ttl));
+}
+
+uint16_t Dht::ValueEntry::get_remaining_ttl() const
+{
+    if ( ttl == 0 )
+        return -1;
+    
+    if ( is_ttl_elapsed() )
+        return 0;
+    
+    boost::posix_time::time_duration diff = 
+            (last_update + boost::posix_time::seconds(ttl)) -
+            second_clock<ptime>::universal_time();
+    
+    return ttl - get_age();
+}
+
+}} /* namespace ariba_service::dht */
Index: source/services/ariba_dht/Dht.h
===================================================================
--- source/services/ariba_dht/Dht.h	(revision 10700)
+++ source/services/ariba_dht/Dht.h	(revision 10700)
@@ -0,0 +1,213 @@
+/*
+ * Dht.h
+ *
+ *  Created on: 20.06.2012
+ *      Author: mario
+ */
+
+#ifndef DHT_H_
+#define DHT_H_
+
+#include "ariba/ariba.h"
+#include "ariba/utility/system/SystemQueue.h"
+#include "ariba/utility/logging/Logging.h"
+#include "DhtAnswerInterface.h"
+#include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/noncopyable.hpp>
+#include <set>
+
+namespace ariba_service {
+namespace dht {
+
+using ariba::utility::SystemQueue;
+using ariba::utility::SystemEvent;
+using ariba::utility::SystemEventType;
+using ariba::utility::SystemEventListener;
+
+// Forward declarations to avoid adding messages/*.h to the public interface
+class DhtMessage;
+
+#define MEET_REPUBLISH_INTERVAL 10
+#define MEET_DHT_TTL 30
+#define CLEANUP_INTERVAL (5 * 60)
+
+class Dht :
+	public ariba::CommunicationListener,
+	public ariba::utility::SystemEventListener,
+	public boost::noncopyable
+{
+use_logging_h(Dht)
+public:
+    Dht(ariba::ServiceID serviceID, ariba::Node* node);
+    virtual ~Dht();
+    
+    /**
+     * Put the value into the DHT under the specified key
+     * 
+     * @param key
+     *     Key to put the value under
+     * @param value
+     *     The value which is put
+     * @param ttl
+     *     The lifetime of the entry in seconds. The value will be removed
+     *     automatically when it expires
+     */
+    void put(
+    		const std::string& key,
+    		const std::string& value,
+    		uint16_t ttl);
+    
+    /**
+     * Get the values specified by the key
+     * 
+     * @param key
+     *      Key of the values which should be fetched
+     */
+    void get(const std::string& key);
+    
+    /**
+     * Put and get in one single operation
+     * 
+     * @param key
+     *     The key the value will be put under and retrieved from
+     * @param value
+     *     The value is first put then all values for that key, including the
+     *     one just inserted will be sent back
+     * @param ttl
+     *     The lifetime of the entry in seconds. The value will be removed
+     *     automatically when it expires
+     */
+    void atomic_put_and_get(
+    		const std::string& key,
+    		const std::string& value,
+    		uint16_t ttl);
+    
+    /**
+     * Periodically put and get the value
+     * 
+     * @param key
+     *     The key the value will be put under and retrieved from
+     * @param value
+     *     The value that will be periodically put into the DHT. The value is
+     *     first put then all values for that key, including the one just
+     *     inserted will be sent back
+     * @param ttl
+     *     How long should we try to put the value periodically (measured in
+     *     seconds). 0 means putting the value until stop_meet() is called
+     */
+    void meet(
+    		const std::string& key,
+    		const std::string& value,
+    		uint16_t ttl);
+    
+    /**
+     * Stop periodically pushing the value
+     */
+    void stop_meet(const std::string& key, const std::string& value);
+    
+    /**
+     * Remove the value under the specified key
+     */
+    void remove(const std::string& key, const std::string& value);
+    
+    /**
+     * Register a listener which is called when an answer is received
+     */
+    bool add_listener(DhtAnswerInterface* new_listener);
+
+    /**
+     * Unregister a listener
+     * 
+     * @returns true if the handler was successfully unregistered, false if the
+     *     listener was not registered
+     */
+    bool remove_listener(DhtAnswerInterface* new_listener);
+    
+protected:
+    /*** CommunicationListener interface ***/
+    
+    /**
+     * Called when a message is incoming
+     * @param msg The data message that is received
+     * @param remote The remote node that sent the message
+     * @param lnk The link id of the link where the message is received
+     */
+    virtual void onMessage(const ariba::DataMessage& msg, const ariba::NodeID& source,
+            const ariba::LinkID& lnk = ariba::LinkID::UNSPECIFIED);
+    
+    
+    /*** SystemEventListener interface ***/
+    virtual void handleSystemEvent( const SystemEvent& event );
+
+
+private:
+    class ValueEntry {
+	public:
+		ValueEntry(const std::string& value, uint16_t ttl = 0);
+		
+		void refresh();
+		
+		const std::string& get_value() const;
+		
+		uint16_t get_age() const;
+		
+		uint16_t get_ttl() const;
+		void set_ttl(uint16_t ttl);
+		bool is_ttl_elapsed() const;
+		uint16_t get_remaining_ttl() const;
+		
+		bool operator<(const ValueEntry& rhs) const;
+		
+	private:
+		uint16_t ttl;
+		boost::posix_time::ptime last_update;
+		std::string value;
+	};
+    
+    struct Key_Value
+    {
+        string key;
+        string value;
+    };
+    
+
+private:
+    void handle_dht_message(const DhtMessage& message, const NodeID& source);
+    
+    void answer_dht_request(const std::string& key, const NodeID& source);
+    void send_meet_message(const std::string& key, const std::string& value);
+    void meet_update_event(const std::string& key, const std::string& value);
+    
+    // just for debug purpose
+    void print_dht();
+    
+    
+    ariba::ServiceID serviceID;
+    ariba::Node* node;
+    
+    typedef std::map< std::string, std::vector<ValueEntry> > DhtTableType;
+    DhtTableType table;
+    DhtTableType meet_store;
+    
+    void insert_into_table(DhtTableType& table,
+    		const std::string& key,
+    		const vector<std::string>& values,
+    		uint16_t ttl);
+    void remove_from_table(DhtTableType& table,
+    		const std::string& key,
+    		const vector<std::string>& values);
+    void cleanup_table(DhtTableType& table);
+    void cleanup_entries(DhtTableType::mapped_type& entries);
+    
+    void schedule_cleanup_event(bool reschedule = false);
+    bool cleanup_running;
+    
+    // AnswerListener
+    DhtAnswerInterface* listener;
+};
+
+
+}} /* namespace ariba_service::dht */
+
+
+#endif /* DHT_H_ */
Index: source/services/ariba_dht/DhtAnswerInterface.h
===================================================================
--- source/services/ariba_dht/DhtAnswerInterface.h	(revision 10700)
+++ source/services/ariba_dht/DhtAnswerInterface.h	(revision 10700)
@@ -0,0 +1,17 @@
+#ifndef DHT_ANSWER_INTERFACE_H_
+#define DHT_ANSWER_INTERFACE_H_
+
+namespace ariba_service {
+namespace dht {
+
+class DhtAnswerInterface
+{
+public:
+    virtual void handle_dht_answer(const std::string& key, const std::vector<std::string>& values) = 0;
+    
+    virtual ~DhtAnswerInterface() {}
+};
+
+}} /* namespace ariba_service::dht */
+
+#endif /* DHT_ANSWER_INTERFACE_H_ */
Index: source/services/ariba_dht/messages/DhtMessage.cpp
===================================================================
--- source/services/ariba_dht/messages/DhtMessage.cpp	(revision 10700)
+++ source/services/ariba_dht/messages/DhtMessage.cpp	(revision 10700)
@@ -0,0 +1,48 @@
+#include "DhtMessage.h"
+
+#include<boost/foreach.hpp>
+
+namespace ariba_service {
+namespace dht {
+
+vsznDefault(DhtMessage);
+
+DhtMessage::DhtMessage() :
+	ttl( 0 ),
+	replace( false )
+{}
+
+DhtMessage::DhtMessage( DhtMessageType type, const std::string& key ) :
+	type( static_cast<uint8_t>(type) ),
+	ttl( 0 ),
+	replace( false ),
+	key( key )
+{}
+
+DhtMessage::DhtMessage( DhtMessageType type, const std::string& key,
+		const std::string& value, uint16_t ttl ) :
+	type( static_cast<uint8_t>(type) ),
+	ttl( ttl ),
+	replace( false ),
+	key( key ),
+	values(1, value)
+{}
+
+DhtMessage::DhtMessage( DhtMessageType type, const std::string& key,
+		const vector<string>& values, uint16_t ttl ) :
+	type( static_cast<uint8_t>(type) ),
+	ttl( ttl ),
+	replace( false ),
+	key( key )
+{
+	// preallocate enough room so we don't need to copy a lot
+	this->values.reserve(values.size());
+	BOOST_FOREACH(const std::string value, values )
+		this->values.push_back( value );
+}
+
+DhtMessage::~DhtMessage() {
+	// empty
+}
+
+}}
Index: source/services/ariba_dht/messages/DhtMessage.h
===================================================================
--- source/services/ariba_dht/messages/DhtMessage.h	(revision 10700)
+++ source/services/ariba_dht/messages/DhtMessage.h	(revision 10700)
@@ -0,0 +1,121 @@
+#ifndef DHTMESSAGE_H_
+#define DHTMESSAGE_H_
+
+#include "ariba/utility/messages.h"
+#include "ariba/utility/serialization.h"
+#include "ariba/Name.h"
+
+namespace ariba_service {
+namespace dht {
+
+using ariba::utility::Message;
+using_serialization;
+
+class DhtMessage : public Message { VSERIALIZEABLE
+public:
+	typedef enum {
+		DhtInvalid = 0,
+		DhtGet = 1,
+		DhtPut = 2,
+		DhtPutAndGet = 3,
+		DhtRemove = 4,
+		DhtRepublish = 5,
+		DhtAnswer = 8
+	} DhtMessageType;
+	
+	DhtMessage();
+	DhtMessage( DhtMessageType type, const std::string& key );
+	DhtMessage( DhtMessageType type, const std::string& key,
+			const std::string& value, uint16_t ttl = 0 );
+	
+	DhtMessage( DhtMessageType type, const std::string& key,
+			const vector<std::string>& values, uint16_t ttl = 0 );
+	
+	virtual ~DhtMessage();
+
+	DhtMessageType getType() const {
+		return static_cast<DhtMessageType>(type);
+	}
+	
+	NodeID getHashedKey() const {
+		return ariba::Name(key).toNodeId();
+	}
+
+	const std::string& getKey() const {
+		return key;
+	}
+
+	/// returns the first element of the key vector
+	const std::string& getValue() const {
+		return values.at(0);
+	}
+	
+	/// return all values for the key
+	const vector<std::string>& getValues() const {
+		return values;
+	}
+
+    /// return all values for the key
+    vector<std::string>& getValues() {
+        return values;
+    }
+
+	bool hasValues() const {
+		return values.size() != 0;
+	}
+
+	uint16_t getTTL() const {
+		return ttl;
+	}
+
+	void setTTL( uint16_t ttl ) {
+		this->ttl = ttl;
+	}
+
+	void setReplace( bool replace ) {
+		this->replace = replace;
+	}
+
+	bool doReplace() const {
+		return replace;
+	}
+
+
+private:
+	uint8_t type;
+	uint16_t ttl;
+	bool replace;
+	std::string key;
+	vector<std::string> values;
+};
+
+}} // namespace ariba_service::dht
+
+sznBeginDefault( ariba_service::dht::DhtMessage, X ) {
+	X && type;
+
+	// serialize tll
+	X && ttl;
+
+	// key serialization
+	X && T(key);
+
+	// store number of values
+	uint16_t num_values = values.size();
+	X && num_values;
+
+	// value serialization
+	for (size_t i=0; i<num_values; i++) {
+		if (X.isSerializer()) {
+			X && T(values[i]);
+		}
+		
+		if (X.isDeserializer()) {
+			std::string value;
+			X && T(value);
+			values.push_back(value);
+		}
+	}
+} sznEnd();
+
+#endif /* DHTMESSAGE_H_ */
