Index: /CMakeLists.txt
===================================================================
--- /CMakeLists.txt	(revision 10700)
+++ /CMakeLists.txt	(revision 10700)
@@ -0,0 +1,168 @@
+# [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(ariba CXX)
+
+# Version
+set(ariba_VERSION_MAJOR 0)
+set(ariba_VERSION_MINOR 8)
+set(ariba_VERSION_PATCH 1)
+set(ariba_VERSION ${ariba_VERSION_MAJOR}.${ariba_VERSION_MINOR}.${ariba_VERSION_PATCH})
+
+message(STATUS "Configuring ariba version ${ariba_VERSION}")
+
+
+list(APPEND CMAKE_MODULE_PATH "${ariba_SOURCE_DIR}/CMakeModules")
+
+# Provide some choices for CMAKE_BUILD_TYPE
+set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
+    "" Release Debug RelWithDebInfo MinSizeRel)
+
+# Explicitly add BUILD_SHARED_LIBS to the user interface and default to on
+option(BUILD_SHARED_LIBS "Whether to build libraries shared or static" ON)
+mark_as_advanced(BUILD_SHARED_LIBS)
+
+
+
+# Option to produce statically linked binaries
+option(BUILD_STATIC_BINS
+    "Whether to link executables statically.
+If selected overrrides BUILD_SHARED_LIBS.
+This option has to be set BEFORE the initial creation of the CMake cache
+(this is only possible by using the non-interactive command line interface
+`cmake ../ -DBUILD_STATIC_BINS=ON`)
+Otherwise the library paths will not be rediscovered."
+    OFF
+    )
+
+if(DEFINED BUILD_STATIC_BINS_PREVIOUS_VALUE AND
+        ((BUILD_STATIC_BINS_PREVIOUS_VALUE AND NOT BUILD_STATIC_BINS) OR
+        (NOT BUILD_STATIC_BINS_PREVIOUS_VALUE AND BUILD_STATIC_BINS)))
+    message(FATAL_ERROR
+        "You can't set BUILD_STATIC_BINS to a different value after the "
+        "CMake cache has been built because then the library paths will not "
+        "be rediscovered. "
+        "Setting this before cache creation is only possible by using the "
+        "non-interactive command line interface: "
+        "`cmake ../ -DBUILD_STATIC_BINS=ON`"
+        )
+endif()
+set(BUILD_STATIC_BINS_PREVIOUS_VALUE "${BUILD_STATIC_BINS}" CACHE INTERNAL
+    "Internal value to detect whether the BUILD_STATIC_BINS has been previously
+    set to a different value"
+    )
+
+if(BUILD_STATIC_BINS)
+    set(BUILD_SHARED_LIBS OFF)
+    set(Boost_USE_STATIC_LIBS ON)
+    set(Boost_USE_STATIC_RUNTIME ON)
+    # Give priority to .a files (or equivalent)
+    set(CMAKE_FIND_LIBRARY_SUFFIXES 
+            ${CMAKE_STATIC_LIBRARY_SUFFIX} ${CMAKE_FIND_LIBRARY_SUFFIXES})
+endif(BUILD_STATIC_BINS)
+# End of option to produce statically linked binaries
+
+
+add_subdirectory(source)
+add_subdirectory(sample)
+add_subdirectory(docu)
+
+# Install package information
+install(EXPORT ariba-targets
+    DESTINATION lib/ariba
+    COMPONENT Development
+    )
+
+configure_file(
+    pkg/ariba-config.cmake.in
+    pkg/ariba-config.cmake
+    @ONLY
+    )
+
+configure_file(
+    pkg/ariba-config-local.cmake.in
+    ariba-config.cmake
+    @ONLY
+    )
+
+configure_file(
+    pkg/ariba-config-version.cmake.in
+    ariba-config-version.cmake
+    @ONLY
+    )
+
+install(
+    FILES
+        "${ariba_BINARY_DIR}/pkg/ariba-config.cmake"
+        "${ariba_BINARY_DIR}/ariba-config-version.cmake"
+    DESTINATION lib/ariba
+    COMPONENT Development
+    )
+
+
+
+# Packaging
+set(CPACK_PACKAGE_VERSION_MAJOR
+    "${ariba_VERSION_MAJOR}"
+    )
+set(CPACK_PACKAGE_VERSION_MINOR
+    "${ariba_VERSION_MINOR}"
+    )
+set(CPACK_PACKAGE_VERSION_PATCH
+    "${ariba_VERSION_PATCH}"
+    )
+
+set(CPACK_SYSTEM_NAME
+    "${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}"
+    )
+
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
+    "Ariba P2P library"
+    )
+#TODO: set(CPACK_PACKAGE_DESCRIPTION_FILE)
+#TODO: set(CPACK_RESOURCE_FILE_README)
+#TODO: set(CPACK_RESOURCE_FILE_WELCOME)
+
+set(CPACK_PACKAGE_VENDOR
+    "Institute of Telematics, UniversitÃ€t Karlsruhe (TH)"
+    )
+
+set(CPACK_SOURCE_PACKAGE_FILE_NAME "ariba-${ariba_VERSION}")
+
+include(CPack)
Index: /CMakeModules/BoostPthreadWorkaround.cmake
===================================================================
--- /CMakeModules/BoostPthreadWorkaround.cmake	(revision 10700)
+++ /CMakeModules/BoostPthreadWorkaround.cmake	(revision 10700)
@@ -0,0 +1,60 @@
+# - Work around improper pthread library specification by FindBoost
+# FindBoost only adds pthreads to the libraries to link to on the first run
+# of CMake and also does not do that via a path but as a base_library_name
+# (i.e. pthread instead of /usr/lib/libpthread.a) which causes problems when
+# linking statically
+#
+# Include this file after the FindBoost call that includes the thread component
+
+# [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]
+
+
+list(REMOVE_ITEM Boost_LIBRARIES pthread)
+
+# On Unix platforms (excluding cygwin) add pthreads to Boost_LIBRARIES
+if(UNIX AND NOT CYGWIN)
+    find_library(BOOST_THREADING_LIBRARY NAMES pthread
+        DOC "The threading library used by boost-thread"
+        )
+    mark_as_advanced(BOOST_THREADING_LIBRARY)
+    
+    if(BOOST_THREADING_LIBRARY)
+        list(APPEND Boost_LIBRARIES "${BOOST_THREADING_LIBRARY}")
+    endif()
+endif()
Index: /CMakeModules/BuildSharedAndStaticLib.cmake
===================================================================
--- /CMakeModules/BuildSharedAndStaticLib.cmake	(revision 10700)
+++ /CMakeModules/BuildSharedAndStaticLib.cmake	(revision 10700)
@@ -0,0 +1,70 @@
+# [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]
+
+# Variables to set for this macro to work:
+# ${lib_name}_SOURCES        - The source files the library consists of
+# ${lib_name}_LINK_LIBRARIES - The libraries the library should be linked to
+# ${lib_name}_VERSION        - The version of the library
+#                              (used for the shared lib)
+# ${lib_name}_SOVERSION      - The the SO version of the library
+#                              (used for the shared lib)
+#
+# After calling this macro the targets ${lib_name} and
+# ${${lib_name}_STATIC_TARGET} will be available
+
+
+macro(build_shared_and_static_libs lib_name)
+    
+    add_library(${lib_name} ${${lib_name}_SOURCES})
+    target_link_libraries(${lib_name} ${${lib_name}_LINK_LIBRARIES})
+    
+    # Library versioning
+    set_target_properties(${lib_name} PROPERTIES
+        VERSION ${${lib_name}_VERSION}
+        SOVERSION ${${lib_name}_SOVERSION}
+        )
+    
+    # If we built a shared library additionally compile a static one
+    if(BUILD_SHARED_LIBS)
+        set(${lib_name}_STATIC_TARGET ${lib_name}_static)
+        add_library(${${lib_name}_STATIC_TARGET} STATIC ${${lib_name}_SOURCES})
+        set_target_properties(${${lib_name}_STATIC_TARGET} PROPERTIES OUTPUT_NAME ${lib_name})
+        target_link_libraries(${${lib_name}_STATIC_TARGET} ${${lib_name}_LINK_LIBRARIES})
+    endif(BUILD_SHARED_LIBS)
+    
+endmacro(build_shared_and_static_libs lib_name)
Index: /CMakeModules/FindAPR.cmake
===================================================================
--- /CMakeModules/FindAPR.cmake	(revision 10700)
+++ /CMakeModules/FindAPR.cmake	(revision 10700)
@@ -0,0 +1,149 @@
+# - Find apr
+# Find the Apache Portable Runtime Library headers and libraries.
+#
+# respects the BUILD_STATIC_BINS variable => searches for static library and its
+# dependencies
+#
+#  APR_INCLUDE_DIRS     - where to find apr.h etc.
+#  APRUTIL_INCLUDE_DIRS - where to find apu.h etc.
+#  APR_LIBRARIES        - List of libraries when using apr.
+#  APRUTIL_LIBRARIES    - List of libraries when using aprutil.
+#  APR_FOUND            - True if apr found.
+#  APRUTIL_FOUND        - True if aprutil found.
+
+
+# [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]
+
+find_package(PkgConfig)
+pkg_check_modules(PC_APR1 QUIET apr-1)
+pkg_check_modules(PC_APRUTIL1 QUIET apr-util-1)
+
+
+# Build static binaries?
+if(BUILD_STATIC_BINS)
+    set(STATIC_ "STATIC_")
+endif(BUILD_STATIC_BINS)
+
+set(APR_DEFINITIONS ${PC_APR1_${STATIC_}CFLAGS_OTHER})
+set(APRUTIL_DEFINITIONS ${PC_APRUTIL1_${STATIC_}CFLAGS_OTHER})
+
+
+# Look for the apr header files.
+find_path(APR_INCLUDE_DIR NAMES apr.h
+    HINTS
+        ${PC_APR1_${STATIC_}INCLUDEDIR}
+        ${PC_APR1_${STATIC_}INCLUDE_DIRS})
+mark_as_advanced(APR_INCLUDE_DIR)
+set(handle_standard_args_variables APR_INCLUDE_DIR)
+
+# Look for the aprutil header files.
+find_path(APRUTIL_INCLUDE_DIR NAMES apu.h
+    HINTS
+        ${PC_APRUTIL1_${STATIC_}INCLUDEDIR}
+        ${PC_APRUTIL1_${STATIC_}INCLUDE_DIRS})
+mark_as_advanced(APRUTIL_INCLUDE_DIR)
+set(util_handle_standard_args_variables APRUTIL_INCLUDE_DIR)
+
+
+# Look for the libraries
+if(NOT PC_APR1_${STATIC_}LIBRARIES)
+    set(PC_APR1_${STATIC_}LIBRARIES apr-1)
+endif()
+
+foreach(LIBRARY ${PC_APR1_${STATIC_}LIBRARIES})
+    find_library(APR_${STATIC_}LIBRARY_${LIBRARY} NAMES ${LIBRARY}
+        DOC "The path to the ${LIBRARY} library used by apr"
+        HINTS
+            ${PC_APR1_${STATIC_}LIBDIR}
+            ${PC_APR1_LIBRARY_${STATIC_}DIRS}
+        )
+    mark_as_advanced(APR_${STATIC_}LIBRARY_${LIBRARY})
+    list(APPEND handle_standard_args_variables
+        "APR_${STATIC_}LIBRARY_${LIBRARY}"
+        )
+endforeach()
+
+foreach(LIBRARY ${PC_APRUTIL1_${STATIC_}LIBRARIES})
+    find_library(APRUTIL_${STATIC_}LIBRARY_${LIBRARY} NAMES ${LIBRARY}
+        DOC "The path to the ${LIBRARY} library used by aprutil"
+        HINTS
+            ${PC_APRUTIL1_${STATIC_}LIBDIR}
+            ${PC_APRUTIL1_LIBRARY_${STATIC_}DIRS}
+        )
+    mark_as_advanced(APRUTIL_${STATIC_}LIBRARY_${LIBRARY})
+    list(APPEND util_handle_standard_args_variables
+        "APRUTIL_${STATIC_}LIBRARY_${LIBRARY}"
+        )
+endforeach()
+
+# handle the QUIETLY and REQUIRED arguments and set LOG4CXX_FOUND to TRUE
+# if all listed variables are TRUE
+find_package(PackageHandleStandardArgs)
+find_package_handle_standard_args(APR DEFAULT_MSG
+    ${handle_standard_args_variables}
+    )
+
+if(APR_FOUND)
+    foreach(LIBRARY ${PC_APR1_${STATIC_}LIBRARIES})
+        list(APPEND APR_LIBRARIES ${APR_${STATIC_}LIBRARY_${LIBRARY}})
+    endforeach()
+    
+    # handle APRUTIL
+    foreach(pred ${util_handle_standard_args_variables})
+        if(NOT ${pred})
+            set(APRUTIL_FOUND FALSE)
+        endif()
+    endforeach()
+    
+    if(NOT DEFINED APRUTIL_FOUND)
+        set(APRUTIL_FOUND TRUE)
+    endif(NOT DEFINED APRUTIL_FOUND)
+    
+    if(APRUTIL_FOUND)
+        find_package(PackageMessage)
+        
+        foreach(LIBRARY ${PC_APRUTIL1_${STATIC_}LIBRARIES})
+            set(APRUTIL_${STATIC_}LIBRARY_${LIBRARY}_FIND_QUIETLY ${APR_FIND_QUIETLY})
+            find_package_message(APRUTIL_${STATIC_}LIBRARY_${LIBRARY}
+                "Found ${LIBRARY}: ${APRUTIL_${STATIC_}LIBRARY_${LIBRARY}}"
+                "[${APRUTIL_${STATIC_}LIBRARY_${LIBRARY}}]")
+            list(APPEND APRUTIL_LIBRARIES ${APRUTIL_${STATIC_}LIBRARY_${LIBRARY}})
+        endforeach()
+    endif()
+endif()
Index: /CMakeModules/FindAvahi.cmake
===================================================================
--- /CMakeModules/FindAvahi.cmake	(revision 10700)
+++ /CMakeModules/FindAvahi.cmake	(revision 10700)
@@ -0,0 +1,99 @@
+# - Find Avahi
+# Find the Avahi library
+#
+#  AVAHI_INCLUDE_DIRS - where to find the header files
+#  AVAHI_LIBRARIES    - List of libraries when using Avahi.
+#  AVAHI_FOUND        - True if Avahi was found.
+
+
+# [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]
+
+unset(handle_standard_args_variables)
+
+foreach(COMPONENT ${Avahi_FIND_COMPONENTS})
+    # Look for the header files.
+    find_path(Avahi_${COMPONENT}_INCLUDE_DIR NAMES "avahi-${COMPONENT}/")
+    mark_as_advanced(Avahi_${COMPONENT}_INCLUDE_DIR)
+    
+    # Look for the library.
+    find_library(Avahi_${COMPONENT}_LIBRARY NAMES "avahi-${COMPONENT}"
+        DOC "The path to the ${COMPONENT} component of the Avahi library"
+        )
+    mark_as_advanced(Avahi_${COMPONENT}_LIBRARY)
+    
+    list(APPEND handle_standard_args_variables
+        "Avahi_${COMPONENT}_INCLUDE_DIR"
+        "Avahi_${COMPONENT}_LIBRARY"
+        )
+    
+endforeach(COMPONENT ${Avahi_FIND_COMPONENTS})
+
+
+# handle the QUIETLY and REQUIRED arguments and set LIBBLUETOOTH_FOUND to TRUE
+# if all listed variables are TRUE
+find_package(PackageHandleStandardArgs)
+find_package_handle_standard_args(Avahi DEFAULT_MSG
+    ${handle_standard_args_variables}
+    )
+
+
+if(AVAHI_FOUND)
+    foreach(COMPONENT ${Avahi_FIND_COMPONENTS})
+        list(APPEND AVAHI_LIBRARIES "${Avahi_${COMPONENT}_LIBRARY}")
+        list(APPEND AVAHI_INCLUDE_DIRS "${Avahi_${COMPONENT}_INCLUDE_DIR}")
+    endforeach(COMPONENT ${Avahi_FIND_COMPONENTS})
+    
+    list(REMOVE_DUPLICATES AVAHI_INCLUDE_DIRS)
+    
+    
+    # Add dependencies for client
+    # TODO: handle dependencies of other parts
+    list(FIND Avahi_FIND_COMPONENTS client Avahi_FIND_COMPONENT_CLIENT)
+    if(Avahi_FIND_COMPONENT_CLIENT GREATER -1)
+        find_package(DBus ${Avahi_FIND_REQUIRED} ${Avahi_FIND_QUIETLY})
+        if(DBUS_FOUND)
+            list(APPEND AVAHI_LIBRARIES ${DBUS_LIBRARIES})
+        else()
+            message(WARNING "Could not find the D-Bus interprocess messaging "
+                "library which is a dependency of Avahi "
+                "=> static linking might fail")
+        endif()
+    endif()
+    
+endif()
Index: /CMakeModules/FindBoostAdditionalVersions.cmake
===================================================================
--- /CMakeModules/FindBoostAdditionalVersions.cmake	(revision 10700)
+++ /CMakeModules/FindBoostAdditionalVersions.cmake	(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]
+
+
+# We need to specify which boost versions exist so the module can find a recent
+# one
+set(Boost_ADDITIONAL_VERSIONS
+    1.41 1.41.0
+    1.42 1.42.0
+    1.43 1.43.0
+    1.44 1.44.0
+    1.45 1.45.0
+    1.46 1.46.0 1.46.1
+    1.47 1.47.0
+    1.48 1.48.0
+    1.49 1.49.0
+    1.50 1.50.0
+    )
+
+set(BoostAdditionalVersions_FOUND TRUE)
Index: /CMakeModules/FindDBus.cmake
===================================================================
--- /CMakeModules/FindDBus.cmake	(revision 10700)
+++ /CMakeModules/FindDBus.cmake	(revision 10700)
@@ -0,0 +1,102 @@
+# - Find D-Bus
+# Find the D-Bus inter-process messaging library
+#
+# respects the BUILD_STATIC_BINS variable => searches for static library and its
+# dependencies
+#
+#  DBUS_INCLUDE_DIR  - where to find dbus/dbus.h etc.
+#  DBUS_LIBRARIES    - List of libraries when using D-Bus.
+#  DBUS_FOUND        - True if D-Bus was found.
+
+
+# [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]
+
+find_package(PkgConfig)
+pkg_check_modules(PC_DBUS QUIET dbus-1)
+
+# Build static binaries?
+if(BUILD_STATIC_BINS)
+    set(STATIC_ "STATIC_")
+endif(BUILD_STATIC_BINS)
+
+set(DBUS_DEFINITIONS ${PC_DBUS_${STATIC_}CFLAGS_OTHER})
+
+
+# Look for the header files.
+find_path(DBUS_INCLUDE_DIR NAMES dbus/dbus.h
+    HINTS
+        ${PC_DBUS_${STATIC_}INCLUDEDIR}
+        ${PC_DBUS_${STATIC_}INCLUDE_DIRS})
+mark_as_advanced(DBUS_INCLUDE_DIR)
+set(handle_standard_args_variables DBUS_INCLUDE_DIR)
+
+
+# Look for the libraries
+if(NOT PC_DBUS_${STATIC_}LIBRARIES)
+    set(PC_DBUS_${STATIC_}LIBRARIES dbus-1)
+endif()
+
+foreach(LIBRARY ${PC_DBUS_${STATIC_}LIBRARIES})
+    find_library(DBUS_${STATIC_}LIBRARY_${LIBRARY} NAMES ${LIBRARY}
+        DOC "The path to the ${LIBRARY} library used by D-Bus"
+        HINTS
+            ${PC_DBUS_${STATIC_}LIBDIR}
+            ${PC_DBUS_LIBRARY_${STATIC_}DIRS}
+        )
+    mark_as_advanced(DBUS_${STATIC_}LIBRARY_${LIBRARY})
+    list(APPEND handle_standard_args_variables
+        "DBUS_${STATIC_}LIBRARY_${LIBRARY}"
+        )
+endforeach()
+
+
+# handle the QUIETLY and REQUIRED arguments and set DBUS_FOUND to TRUE
+# if all listed variables are TRUE
+find_package(PackageHandleStandardArgs)
+find_package_handle_standard_args(DBus DEFAULT_MSG
+    ${handle_standard_args_variables}
+    )
+
+if(DBUS_FOUND)
+    foreach(LIBRARY ${PC_DBUS_${STATIC_}LIBRARIES})
+        list(APPEND DBUS_LIBRARIES
+            ${DBUS_${STATIC_}LIBRARY_${LIBRARY}}
+            )
+    endforeach()
+endif()
Index: /CMakeModules/FindGMP.cmake
===================================================================
--- /CMakeModules/FindGMP.cmake	(revision 10700)
+++ /CMakeModules/FindGMP.cmake	(revision 10700)
@@ -0,0 +1,90 @@
+# - Find gmp
+# Find the GNU Multiple Precision Arithmetic Library headers and libraries.
+#
+#  GMP_INCLUDE_DIRS   - where to find gmp.h etc.
+#  GMPXX_INCLUDE_DIRS - where to find gmpxx.h etc.
+#  GMP_LIBRARIES      - List of libraries when using gmp.
+#  GMPXX_LIBRARIES    - List of libraries when using the C++ wrapper of gmp.
+#  GMP_FOUND          - True if gmp found.
+#  GMPXX_FOUND        - True if C++ wrapper of gmp found.
+
+
+# [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]
+
+# Look for the header files.
+find_path(GMP_INCLUDE_DIR NAMES gmp.h)
+mark_as_advanced(GMP_INCLUDE_DIR)
+
+find_path(GMPXX_INCLUDE_DIR NAMES gmpxx.h)
+mark_as_advanced(GMPXX_INCLUDE_DIR)
+
+
+# Look for the library.
+find_library(GMP_LIBRARY NAMES gmp
+    DOC "The path to the GNU Multiple Precision Arithmetic Library"
+    )
+mark_as_advanced(GMP_LIBRARY)
+
+find_library(GMPXX_LIBRARY NAMES gmpxx
+    DOC "The path to the C++ wrapper of the GNU Multiple Precision Arithmetic Library"
+    )
+mark_as_advanced(GMPXX_LIBRARY)
+
+
+# handle the QUIETLY and REQUIRED arguments and set GMP_FOUND to TRUE if 
+# all listed variables are TRUE
+find_package(PackageHandleStandardArgs)
+find_package_handle_standard_args(GMP DEFAULT_MSG GMP_LIBRARY GMP_INCLUDE_DIR)
+
+if(GMP_FOUND)
+    set(GMP_LIBRARIES "${GMP_LIBRARY}")
+    set(GMP_INCLUDE_DIRS "${GMP_INCLUDE_DIR}")
+    
+    # handle GMPXX
+    if(GMPXX_LIBRARY AND GMPXX_INCLUDE_DIR)
+        set(GMPXX_FIND_QUIETLY ${GMP_FIND_QUIETLY})
+        find_package(PackageMessage)
+        find_package_message(GMPXX "Found GMPXX: ${GMPXX_LIBRARY}"
+                "[${GMPXX_LIBRARY}][${GMPXX_INCLUDE_DIR}]")
+        
+        set(GMPXX_FOUND TRUE)
+        set(GMPXX_LIBRARIES "${GMP_LIBRARY}" "${GMPXX_LIBRARY}")
+        set(GMPXX_INCLUDE_DIRS "${GMP_INCLUDE_DIR}" "${GMPXX_INCLUDE_DIR}")
+    endif()
+endif(GMP_FOUND)
Index: /CMakeModules/FindLibBluetooth.cmake
===================================================================
--- /CMakeModules/FindLibBluetooth.cmake	(revision 10700)
+++ /CMakeModules/FindLibBluetooth.cmake	(revision 10700)
@@ -0,0 +1,70 @@
+# - Find libbluetooth
+# Find the Bluez Linux Bluetooth library
+#
+#  LIBBLUETOOTH_INCLUDE_DIR - where to find bluetooth.h etc.
+#  LIBBLUETOOTH_LIBRARIES    - List of libraries when using libbluetooth.
+#  LIBBLUETOOTH_FOUND        - True if libbluetooth was found.
+
+
+# [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]
+
+
+# Look for the header files.
+find_path(LIBBLUETOOTH_INCLUDE_DIR NAMES bluetooth/bluetooth.h)
+mark_as_advanced(LIBBLUETOOTH_INCLUDE_DIR)
+
+
+# Look for the library.
+find_library(LIBBLUETOOTH_LIBRARY NAMES bluetooth
+    DOC "The path to the Bluez Linux Bluetooth library"
+    )
+mark_as_advanced(LIBBLUETOOTH_LIBRARY)
+
+
+# handle the QUIETLY and REQUIRED arguments and set LIBBLUETOOTH_FOUND to TRUE
+# if all listed variables are TRUE
+find_package(PackageHandleStandardArgs)
+find_package_handle_standard_args(LibBluetooth DEFAULT_MSG
+    LIBBLUETOOTH_LIBRARY
+    LIBBLUETOOTH_INCLUDE_DIR
+    )
+
+if(LIBBLUETOOTH_FOUND)
+    set(LIBBLUETOOTH_LIBRARIES "${LIBBLUETOOTH_LIBRARY}")
+endif()
Index: /CMakeModules/FindLog4Cxx.cmake
===================================================================
--- /CMakeModules/FindLog4Cxx.cmake	(revision 10700)
+++ /CMakeModules/FindLog4Cxx.cmake	(revision 10700)
@@ -0,0 +1,111 @@
+# - Find Log4Cxx
+# Find the log4cxx logging library
+#
+# respects the BUILD_STATIC_BINS variable => searches for static library and its
+# dependencies
+#
+#  LOG4CXX_INCLUDE_DIR  - where to find logger.h etc.
+#  LOG4CXX_LIBRARIES    - List of libraries when using log4cxx.
+#  LOG4CXX_FOUND        - True if log4cxx was found.
+
+
+# [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]
+
+find_package(PkgConfig)
+pkg_check_modules(PC_LOG4CXX QUIET liblog4cxx)
+
+# Build static binaries?
+if(BUILD_STATIC_BINS)
+    set(STATIC_ "STATIC_")
+endif(BUILD_STATIC_BINS)
+
+set(LOG4CXX_DEFINITIONS ${PC_LOG4CXX_${STATIC_}CFLAGS_OTHER})
+
+
+# Look for the header files.
+find_path(LOG4CXX_INCLUDE_DIR NAMES log4cxx/logger.h
+    HINTS
+        ${PC_LOG4CXX_${STATIC_}INCLUDEDIR}
+        ${PC_LOG4CXX_${STATIC_}INCLUDE_DIRS})
+mark_as_advanced(LOG4CXX_INCLUDE_DIR)
+set(handle_standard_args_variables LOG4CXX_INCLUDE_DIR)
+
+
+# Look for the libraries
+if(NOT PC_LOG4CXX_${STATIC_}LIBRARIES)
+    set(PC_LOG4CXX_${STATIC_}LIBRARIES log4cxx)
+endif()
+
+foreach(LIBRARY ${PC_LOG4CXX_${STATIC_}LIBRARIES})
+    find_library(LOG4CXX_${STATIC_}LIBRARY_${LIBRARY} NAMES ${LIBRARY}
+        DOC "The path to the ${LIBRARY} library used by log4cxx"
+        HINTS
+            ${PC_LOG4CXX_${STATIC_}LIBDIR}
+            ${PC_LOG4CXX_LIBRARY_${STATIC_}DIRS}
+        )
+    mark_as_advanced(LOG4CXX_${STATIC_}LIBRARY_${LIBRARY})
+    list(APPEND handle_standard_args_variables
+        "LOG4CXX_${STATIC_}LIBRARY_${LIBRARY}"
+        )
+endforeach()
+
+
+# Look for dependency APR
+find_package(APR ${Log4Cxx_FIND_REQUIRED} ${Log4Cxx_FIND_QUIETLY})
+if(NOT APRUTIL_FOUND)
+    message(WARNING "Could not find the Apache Portable Runtime Library which "
+        "is a dependency of Log4Cxx => static linking might fail")
+endif()
+
+
+# handle the QUIETLY and REQUIRED arguments and set LOG4CXX_FOUND to TRUE
+# if all listed variables are TRUE
+find_package(PackageHandleStandardArgs)
+find_package_handle_standard_args(Log4Cxx DEFAULT_MSG
+    ${handle_standard_args_variables}
+    )
+
+if(LOG4CXX_FOUND)
+    foreach(LIBRARY ${PC_LOG4CXX_${STATIC_}LIBRARIES})
+        list(APPEND LOG4CXX_LIBRARIES
+            ${LOG4CXX_${STATIC_}LIBRARY_${LIBRARY}}
+            ${APRUTIL_LIBRARIES}
+            )
+    endforeach()
+endif()
Index: /CPackSourceConfig.cmake.in
===================================================================
--- /CPackSourceConfig.cmake.in	(revision 10700)
+++ /CPackSourceConfig.cmake.in	(revision 10700)
@@ -0,0 +1,70 @@
+# [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]
+
+# Load "defaults"
+@_CPACK_OTHER_VARIABLES_@
+
+
+########################
+# Ignore certain paths #
+########################
+
+MACRO(regex_escape_string _OUT _IN)
+    # Escape special regex metacharacters with a backslash
+    string(REGEX REPLACE "([$^.[|*+?()]|])" "\\\\\\1" ${_OUT} "${_IN}")
+ENDMACRO()
+
+regex_escape_string(ariba_SOURCE_DIR_REGEX "@ariba_SOURCE_DIR@")
+
+# Paths in the main source dir to ignore
+set(ignore_paths
+    "build" # Ignore build directories when packing the tarballs
+            # intentionally also matches build-foo/
+    "\\.cproject$"
+    "\\.project$"
+    )
+
+foreach(ignore_path ${ignore_paths})
+    list(APPEND CPACK_SOURCE_IGNORE_FILES
+        "^${ariba_SOURCE_DIR_REGEX}/${ignore_path}"
+        )
+    
+    list(APPEND CPACK_IGNORE_FILES
+        "^${ariba_SOURCE_DIR_REGEX}/${ignore_path}"
+        )
+endforeach(ignore_path ${ignore_paths})
Index: /INSTALL
===================================================================
--- /INSTALL	(revision 10688)
+++ /INSTALL	(revision 10700)
@@ -5,44 +5,50 @@
 about Ariba and its application.
 
+
 Prerequisites
 =============
 ariba depends on libraries that may not be installed on your system:
 
-    * Boost (version >=1.39)
-    * Log4cxx (version >= 0.10.0)
-    * GMP (no specific version) 
+    * Boost (version >=1.42)
+    * GMP
+    * CMake (version >=2.8)
 
-Furthermore, you need default development tools - that are most likely already installed on your system - such as 
-gcc/g++, autoconf, automake, aclocal, libtool, liblt-dev ...
+and optionally on
+
+    * Log4Cxx (version >= 0.10.0) for more sophisticated logging
+    * Avahi for more efficient bootstrapping in local networks
+    * LibBluetooth/Bluez for bluetooth support
+    * Doxygen to build the documentation
+
+Furthermore, you need default development tools - that are most likely already
+installed on your system - such as gcc/g++, libtool, liblt-dev ...
+
 
 Quick Install (If all dependencies are satisfied)
 =============
 
-ariba currently build on Linux systems. Our reference platform is
-Ubuntu 8.04 with the g++ compiler version 4.1. However, latest
-Ubuntu releases should work, too. Download the latest
-ariba package from the the download site 
-http://ariba-underlay.org/downloads
-or get the latest trunk code:
-svn co https://svn.tm.kit.edu/SpoVNet-KA/entwicklung/ariba/trunk ariba-trunk
+ariba currently builds on Linux systems. Our reference platform is Ubuntu 8.04
+with the g++ compiler version 4.1. However, latest Ubuntu releases should work 
+too.
 
-Extract the archive and change into the project directory:
+Download the latest ariba package from the the download site
+http://ariba-underlay.org/downloads or get the latest trunk code:
+> svn co https://svn.tm.kit.edu/SpoVNet-KA/entwicklung/ariba/trunk ariba-trunk
 
+If you downloaded ariba from the website extract the archive and change into the
+project directory:
 > tar xfz ./ariba-x.x.x.tar.gz
 > cd ariba-x.x.x
 
-For SVN checkout you have to 
+For SVN checkout you have to: 
 > cd ariba-trunk
 
-Now, configure, compile, and install ariba (if not all libraries
-needed by Ariba are available on your system, read the section
-'Prequisites'). 
+Now create a directory to build ariba in:
+> mkdir build
+> cd build
 
-If no configure script is available (e.g. when you checked out an svn
-version), run the ./bootstrap script first and then type:
-
-> ./configure
+Next the makefiles have to be generated and the source compiled:
+> cmake ..
 > make
-> make install
 
 HINT: you may use 
@@ -52,113 +58,106 @@
 the compilation stops, try make without the -j option again.
 
-
-In case you don't want to install Ariba into your system but to a
-local place, do:
-
-> mkdir build
-> ./configure --prefix=$PWD/build
-> make
+And finally ariba will be installed into the system:
 > make install
 
 
-Local install (Download library dependencies and install ariba in a
-=============  local subdirectory)
+Custom Build Options
+====================
+The build may be customized in various ways by setting CMake options. This can
+be done by giving them as arguments on the command line:
+> cmake .. -DOPTION=value
 
+by using the CMake GUI which lets you set the variables graphically:
+> cmake-gui ..
 
-If the required libraries are not available on your system or don't
-want to install them to the system you can use the bootstrap_libs
-script that comes with the ariba package. It will download all
-dependencies, compile and install them locally, and compile and
-install ariba:
+or running cmake in interactive mode:
+> cmake -i ..
 
-> tar xfz ./ariba-x.x.x.tar.gz
-> cd ariba-x.x.x
-> ./bootstrap_libs
+The last two ways also give an overview which options exist.
 
-This script will automatically download all necessary libraries and
-compile them inside a new ./libs subdirectory and install them into
-./build. In the end the ariba library itself is compiled to
-./build. You can safely delete the ./libs subdirectory after the
-process.
+Important options:
 
-Here is the manual way to go: If you install Ariba locally and have
-the required libraries also installed locally, you can use a
-config.site script to make it easier. The config.site file must reside
-in a folder called share. If your install path is /home/foo/local and
-you do a ./configure --prefix=/home/foo/local, ariba headers will be
-installed in /home/foo/local/include, and the ariba library in
-/home/foo/local/lib. To use a config.site script, create a folder
-/home/foo/local/share and create a file config.site. Such a file has
-paths towards required header files and libraries.
+CMAKE_INSTALL_PREFIX - Where to install the compiled files. The default on Unix
+                       platforms is /usr/local/. If you for example don't want
+                       or can't install system wide, you can specify a directory
+                       you have control over. The files will be installed to
+                       "${prefix}/include/", "${prefix}/lib/" and so on.
 
-with_boost=/home/foo/Libraries/include
-test -z "$CPPFLAGS" && CPPFLAGS='-I/home/foo/Libraries/include'
-test -z "$LDFLAGS" && LDFLAGS='-L/home/foo/Libraries/lib'
+CMAKE_BUILD_TYPE     - One of "", "Release", "Debug", "RelWithDebInfo" or
+                       "MinSizeRel". This influences the build in various ways
+                       (e.g. which compiler optimizations are turned on, whether
+                       debug symbols are included, what warnings to show).
 
-If you now do a ./configure --prefix=/home/foo/local, the config.site
-will be found and the paths therein used for finding libraries. If you
-e.g. have multiple libraries distributed in their own include folders,
-you can also have multiple includes:
+ENABLE_{AVAHI,BLUETOOTH,LOG4CXX}
+                     - If set to OFF or 0 (ON is the default) it disables the
+                       support of the feature even if the corresponding library
+                       (see above) was detected to be present.
 
-test -z "$CPPFLAGS" && CPPFLAGS='-I/home/foo/Libraries/include -I/home/foo/otherlibrary/include'
+<library>_INCLUDE_DIR - Where the directory containing the header files for
+                       <library> is located. If the library is installed in the
+                       usual system paths CMake should be able to automatically
+                       find the right location. If the library is located
+                       elsewhere (e.g. because you compiled it yourself in your
+                       home directory) then you may need to set this variable
+                       manually.
+
+<library>_LIBRARY    - Where the library file (aka the .so, .a or .dll file) for
+                       <library> is located. If the library is installed in the
+                       usual system paths CMake should be able to automatically
+                       find the right location. If the library is located
+                       elsewhere (e.g. because you compiled it yourself in your
+                       home directory) then you may need to set this variable
+                       manually.
+
+DOCUMENTATION_GENERATE_GRAPHICS
+                     - Whether the documentation should include graphics such as
+                       inheritance and include graphs (OFF by default). This
+                       might take a long time and consume a lot of space.
+
+CMAKE_{C,CXX}_COMPILER - Which C/C++ compiler to use
+CMAKE_{C,CXX}_FLAGS  - Which additional flags to give to the compiler (e.g. -pg
+                       for profiling support)
+
 
 Running the PingPong Sample
 ===========================
-The PingPong binary pingpong is installed in build/bin. It has one
-parameter, a configuration file. You can find sample configuration
-files in the etc/pingpongconfig folder. If no configuration file is
-given, the node will randomly select its NodeID but will not find
-other nodes. This is because bootstrap modules are selected in the
-configuration file.
+The PingPong binary pingpong is installed in "${prefix}/lib/ariba/" or found
+directly in the build tree at "sample/pingpong/pingpong". It has one parameter,
+a configuration file. You can find sample configuration files in the
+"etc/pingpong" folder. If no configuration file is given, the node will randomly
+select its NodeID but will not find other nodes. This is because bootstrap
+modules are selected in the configuration file.
+> ./sample/pingpong/pingpong ../etc/pingpong/settings_node1.cnf
 
-> ./pingpong ../../etc/pingpong/settings_node1.cnf
+If this fails to find the libariba you may have to set the LD_LIBRARY_PATH
+correctly in your current terminal, or better add it to your .bashrc
+> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/ariba/build/source/ariba
 
-If this fails to find the libariba you may have to set 
-the LD_LIBRARY_PATH correctly in your current terminal, 
-or better add it to your .bashrc
+When running the pingpong application it will output a large number of log
+messages and the initiator will wait for other nodes to join. You can start them
+using the configuration files settings_node1.cnf and settings_node2.cnf. You may
+need to adjust the configurations files: currently both node1 and node2 try to
+join the initiator on the local machine. This will only work if you start all
+instances on a local machine.
 
-> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/ariba/build/lib
+Once the PingPong sample is running and the nodes have connected, each node will
+send out ping messages to every node he knows in the overlay structure every
+5 seconds. You can now e.g. test mobility of Ariba and change the IP address of
+a node, or swith from LAN connection to WLAN. The links established by the
+PingPong sample through Ariba are mobility invariant and automatically repaired.
 
-When running the pingpong application it will output a large number of
-log messages and the initiator will wait for other nodes to join. You
-can start them using the configuration files settings_node1.cnf and
-settings_node2.cnf. You may need to adjust the configurations files:
-currently both node1 and node2 try to join the initiator on the local
-machine. This will only work if you start all instances on a local
-machine.
 
-Once the PingPong sample is running and the nodes have connected, each
-node will send out ping messages to every node he knows in the overlay
-structure every 5 seconds. You can now e.g. test mobility of Ariba and
-change the IP address of a node, or swith from LAN connection to
-WLAN. The links established by the PingPong sample through Ariba are
-mobility invariant and automatically repaired.  Selecting a compiler
+Cross-Compiling for Maemo
+=========================
+Ariba runs on Nokia Maemo 4 (tested) and probably Maemo 5. We have tested Ariba
+on an N810 device. Cross-Compiling is done using Scratchbox. Use the
+preassembled Scratchbox version provided by Nokia which will install and
+configure the complete Scratchbox system automatically.
 
-As the g++-4.3 compiler is very restrictive when compiling C++ and you
-will have some trouble with Boost and Log4cxx, we suggest to use
-e.g. g++-4.1. You then have to compile the libraries and Ariba with
-this compiler. You can tell Log4cxx and Ariba to use a different
-compiler using:
+If you compile for Maemo you have to set the HAVE_MAEMO option in CMake.
 
-./configure --prefix=... CXX=g++-4.1
-
-This will not work in Boost as the configure script is just a wrapper around the Boost Build.System bjam. You can edit the jamfile in the Boost root directory:
-
-using gcc : 4.1 ;
-
-and then build using bjam as described in http://www.boost.org/doc/libs/1_38_0/more/getting_started/unix-variants.html.
-
-Cross-Comiling for Maemo
-========================
-Ariba runs on Nokia Maemo 4 (tested) and probably Maemo 5. We have
-tested Ariba on an N810 device. Cross-Compiling is done using
-Scratchbox. Use the preassembled Scratchbox version provided by Nokia
-which will install and configure the complete Scratchbox system
-automatically.
-
-The Ariba configure will test for Maemo systems. Internally there are
-a number of special cases where handling on Maemo is different from
-normal Linux. If you require special handling, do the following in
-your code:
+Internally there are a number of special cases where handling on Maemo is
+different from normal Linux. If you require special handling, do the following
+in your code:
 
 #include "ariba/config.h"
@@ -167,12 +166,2 @@
  // special Maemo handling
 #endif
-
-Overview of special configure options
-=====================================
-There are several options to configure that are specific to Ariba:
-
-    * --enable-debug=yes - for building a debug build
-    * --enable-profiling=yes - for profiling with gprof
-    * --enable-logcolors=yes - for colorful logging output
-    * --enable-doxygen=yes - for generating doxygen documentation (do a make html-local in ariba/docu/doxygen)
-
Index: kefile.am
===================================================================
--- /Makefile.am	(revision 10688)
+++ 	(revision )
@@ -1,14 +1,0 @@
-ACLOCAL_AMFLAGS = -I m4
-SUBDIRS    = docu source sample
-EXTRA_DIST = etc/pingpong/* \
-  etc/patch/* \
-  INSTALL \
-  LICENSE \
-  README \
-  bootstrap \
-  bootstrap_libs \
-  docu/doxygen/Doxyfile
-
-# hook to remove all .svn files before rolling the tarball
-dist-hook:
-	find $(distdir) -name '.[a-zA-Z0-9]*' | xargs rm -rf
Index: otstrap
===================================================================
--- /bootstrap	(revision 10688)
+++ 	(revision )
@@ -1,32 +1,0 @@
-#! /bin/bash
-
-fail=0
-if [ ! `which aclocal` ]; then
-    echo "aclocal is missing, please install automake first (e.g., sudo apt-get install automake)"
-    fail=1
-fi
-
-if [ ! `which libtoolize` ]; then
-    echo "libtoolize is missing, please install libtool first (e.g., sudo apt-get install libtool)"
-    fail=1
-fi
-
-if [ $fail -eq 1 ]; then
-    echo "** Script aborted due to errors."
-    exit 1;
-fi
-
-echo "Running autotools..."
-
-aclocal \
-&& libtoolize --force \
-&& autoheader \
-&& automake -a --foreign --add-missing \
-&& autoreconf
-
-echo "Done."
-echo "Now type:"
-echo "> ./configure"
-echo "> make"
-echo "> sudo make install"
-echo "> sudo ldconfig"
Index: otstrap_libs
===================================================================
--- /bootstrap_libs	(revision 10688)
+++ 	(revision )
@@ -1,80 +1,0 @@
-#!/bin/bash
-
-function catch_errors() {
-   echo "Script aborted, because an unexpected error occured.";
-   exit 1;
-}
-
-if [ ! `which wget` ]; then
- echo "You need wget for this script. Please install it first, e.g., sudo apt-get install wget. Aborted."
- exit 1
-fi
-
-mkdir build
-
-# setup
-export PREFIX=`cd ./build; pwd`
-mkdir libs
-cd libs
-
-# now set the error trap so that re-running the script doesn't fail
-# on previous directory commands...
-# this will trap any subsequent errors or commands with non-zero exit status
-# by calling function catch_errors()
-trap catch_errors ERR;
-
-
-# apache runtime
-#wget http://apache.linux-mirror.org/apr/apr-1.4.2.tar.gz
-#tar xvvzf apr-1.4.2.tar.gz
-#cd apr-1.4.2 
-#./configure --prefix=$PREFIX 
-#make && make install 
-#cd ..
-
-# apache runtime utilities
-#wget http://apache.linux-mirror.org/apr/apr-util-1.3.10.tar.gz
-#tar xvvzf apr-util-1.3.10.tar.gz
-#cd apr-util-1.3.10
-#./configure --prefix=$PREFIX --with-apr=$PREFIX
-#make && make install 
-#cd ..
-
-# log4cxx
-#wget http://ftp.uni-erlangen.de/pub/mirrors/apache/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.tar.gz
-#cp ../etc/patch/apache-log4cxx-0.10.0.diff ./
-#tar xvvzf apache-log4cxx-0.10.0.tar.gz
-#patch -p0 <apache-log4cxx-0.10.0.diff
-#cd apache-log4cxx-0.10.0 
-#./configure --prefix=$PREFIX --with-apr=$PREFIX --with-apr-util=$PREFIX
-#make && make install 
-#cd ..
-
-# boost 1.39.0
-boostpkg=boost_1_39_0
-wget http://downloads.sourceforge.net/sourceforge/boost/${boostpkg}.tar.gz || { echo "** Failed to retrieve ${boostpkg}. Please check network connectivity or availability of the package on the server. Stop."; exit 1; }
-echo -n "Unpacking ${boostpkg}... " &&  tar xzf ${boostpkg}.tar.gz && echo " done."
-cd ${boostpkg}
-echo -n "Calling bootstrap.sh ... " && ./bootstrap.sh --libdir=$PREFIX/lib --prefix=$PREFIX --with-libraries="date_time,system,thread,test,regex" >/dev/null && echo " done."
-echo "Calling bjam. This may take a while..."
-./bjam install
-cd ..
-
-# gnu multiprecision library
-gmppkg=gmp-4.3.1
-wget ftp://ftp.gmplib.org/pub/${gmppkg}/${gmppkg}.tar.gz || { echo "** Failed to retrieve ${gmppkg}. Please check network connectivity or availability of the package on the server. Stop."; exit 1; }
-echo -n "Unpacking ${gmppkg}... " &&  tar xzf ${gmppkg}.tar.gz  && echo " done."
-cd ${gmppkg}
-./configure --prefix=$PREFIX
-make && make install 
-cd ..
-
-cd ..
-./configure --prefix=$PREFIX --with-boost=$PREFIX CPPFLAGS=-I$PREFIX/include LDFLAGS=-L$PREFIX/lib
-make && make install
-
-echo "Done."
-
-export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PREFIX/lib
-
-# end of script
Index: nfigure.ac
===================================================================
--- /configure.ac	(revision 10688)
+++ 	(revision )
@@ -1,66 +1,0 @@
-AC_INIT([ariba], [0.8.1], [http://www.ariba-underlay.org])
-AM_INIT_AUTOMAKE([-Wall foreign])
-AC_CONFIG_SRCDIR([source/ariba/ariba.h])
-AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_HEADER([source/ariba/config.h])
-
-AC_ARG_ENABLE(debug, [  --enable-debug	Enable debug options], enable_debug=$enableval, enable_debug=no)
-AM_CONDITIONAL(DEBUG, test "$enable_debug" = yes)
-
-AC_ARG_ENABLE(profiling, [  --enable-profiling	Enable profiling], enable_profiling=$enableval, enable_profiling=no)
-AM_CONDITIONAL(PROFILING, test "$enable_profiling" = yes)
-
-AC_ARG_ENABLE(simulation, [  --enable-simulation	Enable simulation mode], enable_simulation=$enableval, enable_simulation=no)
-AM_CONDITIONAL(OMNET, test "$enable_simulation" = yes)
-
-AC_ARG_ENABLE(doxygen, [  --enable-doxygen	Enable doxygen documentation ], enable_doxygen=$enableval, enable_doxygen=no)
-AM_CONDITIONAL(DOXYGEN, test "$enable_doxygen" = yes)
-
-AC_ARG_ENABLE(logcolors, [  --enable-logcolors	Enable colorful logging], enable_logcolors=$enableval, enable_logcolors=no)
-AM_CONDITIONAL(LOGCOLORS, test "$enable_logcolors" = yes)
-
-AC_ARG_ENABLE(bluetooth, [  --enable-bluetooth	Enable bluetooth transport [default=yes]], enable_bluetooth=$enableval, enable_bluetooth=yes)
-
-AC_PROG_LIBTOOL
-AC_PROG_CXX
-AC_PROG_CC
-AC_PROG_INSTALL
-
-AC_LANG(C++)
-
-dnl Check for doxygen and features
-AX_PROG_DOXYGEN
-
-dnl Check for libraries
-AX_GMP
-AX_LOG4CXX
-AX_OPENSSL
-AX_AVAHI
-
-if test "$enable_bluetooth" = "yes"; then
-  AX_BLUETOOTH
-fi
-
-dnl Check for boost
-BOOST_REQUIRE([1.35])
-BOOST_THREADS
-BOOST_SYSTEM
-BOOST_FOREACH
-BOOST_REGEX
-
-dnl Check for maemo platform
-AX_MAEMO
-
-AC_CONFIG_FILES([
-Makefile
-source/Makefile
-source/ariba/Makefile
-sample/Makefile
-sample/pingpong/Makefile
-source/services/Makefile
-source/services/dht/Makefile
-docu/Makefile
-docu/doxygen/Makefile
-])
-
-AC_OUTPUT
Index: /docu/CMakeLists.txt
===================================================================
--- /docu/CMakeLists.txt	(revision 10700)
+++ /docu/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(doxygen)
Index: cu/Makefile.am
===================================================================
--- /docu/Makefile.am	(revision 10688)
+++ 	(revision )
@@ -1,1 +1,0 @@
-SUBDIRS = doxygen
Index: /docu/doxygen/CMakeLists.txt
===================================================================
--- /docu/doxygen/CMakeLists.txt	(revision 10700)
+++ /docu/doxygen/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,101 @@
+# [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]
+
+option(DOCUMENTATION_GENERATE_GRAPHICS
+    "Whether graphics should be generated for the documentation. 
+This might take a long time and quite some amount of space"
+    OFF
+    )
+
+if(NOT DOCUMENTATION_GENERATE_GRAPHICS)
+    set(DOXYGEN_SKIP_DOT TRUE)
+endif(NOT DOCUMENTATION_GENERATE_GRAPHICS)
+
+find_package(Doxygen)
+
+if(DOXYGEN_FOUND)
+    # Generate the Doxyfile
+    configure_file(
+        Doxyfile.in
+        Doxyfile
+        @ONLY
+        )
+    
+    file(GLOB_RECURSE doxygen_SOURCES
+        "${ariba_SOURCE_DIR}/source/*.c"
+        "${ariba_SOURCE_DIR}/source/*.cc"
+        "${ariba_SOURCE_DIR}/source/*.cxx"
+        "${ariba_SOURCE_DIR}/source/*.cpp"
+        "${ariba_SOURCE_DIR}/source/*.c++"
+        "${ariba_SOURCE_DIR}/source/*.h"
+        "${ariba_SOURCE_DIR}/source/*.hh"
+        "${ariba_SOURCE_DIR}/source/*.hxx"
+        "${ariba_SOURCE_DIR}/source/*.hpp"
+        "${ariba_SOURCE_DIR}/source/*.h++"
+        )
+    
+    add_custom_command(
+        OUTPUT html/index.html
+        COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
+        MAIN_DEPENDENCY "${ariba_SOURCE_DIR}/source/ariba/ariba.h"
+        DEPENDS ${doxygen_SOURCES}
+        COMMENT "Building Doxygen documentation"
+        )
+    
+    
+    option(ALWAYS_BUILD_DOCUMENTATION
+        "Always build the documentation when compiling the project? If OFF the
+documentation is only built when building the target 'docu'"
+        OFF)
+    if(ALWAYS_BUILD_DOCUMENTATION)
+        set(BUILD_DOCU_ALL "ALL")
+    endif()
+    
+    add_custom_target(docu ${BUILD_DOCU_ALL}
+        DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/index.html"
+        )
+    
+    
+    install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html/"
+        DESTINATION share/doc/libariba-doc/html
+        COMPONENT Documentation
+        OPTIONAL
+        )
+    
+    set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES html)
+endif(DOXYGEN_FOUND)
Index: cu/doxygen/Doxyfile
===================================================================
--- /docu/doxygen/Doxyfile	(revision 10688)
+++ 	(revision )
@@ -1,258 +1,0 @@
-# Doxyfile 1.5.5
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = Ariba
-PROJECT_NUMBER         = 0.8.1
-OUTPUT_DIRECTORY       = ./
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = YES
-STRIP_FROM_PATH        = /home/mayer/Developing/SpoVNet/SpoVNet-KA/ariba
-STRIP_FROM_INC_PATH    = /home/mayer/Developing/SpoVNet/SpoVNet-KA/ariba
-SHORT_NAMES            = YES
-JAVADOC_AUTOBRIEF      = NO
-QT_AUTOBRIEF           = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
-INHERIT_DOCS           = YES
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = NO
-OPTIMIZE_OUTPUT_JAVA   = NO
-OPTIMIZE_FOR_FORTRAN   = NO
-OPTIMIZE_OUTPUT_VHDL   = NO
-BUILTIN_STL_SUPPORT    = NO
-CPP_CLI_SUPPORT        = NO
-SIP_SUPPORT            = NO
-DISTRIBUTE_GROUP_DOC   = NO
-SUBGROUPING            = YES
-TYPEDEF_HIDES_STRUCT   = NO
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = YES
-EXTRACT_STATIC         = YES
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-EXTRACT_ANON_NSPACES   = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = NO
-CASE_SENSE_NAMES       = NO
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_GROUP_NAMES       = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
-FILE_VERSION_FILTER    = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = ../../source ../../sample
-INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++
-RECURSIVE              = YES
-EXCLUDE                = 
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = ../../sample
-EXAMPLE_PATTERNS       = *
-EXAMPLE_RECURSIVE      = YES
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = YES
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-REFERENCES_LINK_SOURCE = YES
-USE_HTAGS              = NO
-VERBATIM_HEADERS       = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = NO
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = YES
-HTML_OUTPUT            = html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
-HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = NO
-GENERATE_DOCSET        = NO
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-HTML_DYNAMIC_SECTIONS  = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = NO
-TREEVIEW_WIDTH         = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = NO
-LATEX_OUTPUT           = latex
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = NO
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
-PDF_HYPERLINKS         = YES
-USE_PDFLATEX           = YES
-LATEX_BATCHMODE        = NO
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = NO
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = NO
-EXPAND_ONLY_PREDEF     = NO
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
-EXPAND_AS_DEFINED      = 
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = NO
-MSCGEN_PATH            = 
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = YES
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-CALLER_GRAPH           = NO
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-DOT_GRAPH_MAX_NODES    = 50
-MAX_DOT_GRAPH_DEPTH    = 1000
-DOT_TRANSPARENT        = YES
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
Index: /docu/doxygen/Doxyfile.in
===================================================================
--- /docu/doxygen/Doxyfile.in	(revision 10700)
+++ /docu/doxygen/Doxyfile.in	(revision 10700)
@@ -0,0 +1,1803 @@
+# Doxyfile 1.7.6.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a hash (#) is considered a comment and will be ignored.
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or sequence of words) that should
+# identify the project. Note that if you do not use Doxywizard you need
+# to put quotes around the project name if it contains spaces.
+
+PROJECT_NAME           = ariba
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER         = @ariba_VERSION@
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer
+# a quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF          =
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is
+# included in the documentation. The maximum height of the logo should not
+# exceed 55 pixels and the maximum width should not exceed 200 pixels.
+# Doxygen will copy the logo to the output directory.
+
+PROJECT_LOGO           =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = ./
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH        = "@ariba_BINARY_DIR@/source" \
+                         "@ariba_SOURCE_DIR@/source"
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = "@ariba_BINARY_DIR@/source" \
+                         "@ariba_SOURCE_DIR@/source"
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful if your file system
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding
+# "class=itcl::class" will allow you to use the command class in the
+# itcl::class meaning.
+
+TCL_SUBST              =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this
+# tag. The format is ext=language, where ext is a file extension, and language
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING      =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also makes the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
+# unions are shown inside the group in which they are included (e.g. using
+# @ingroup) instead of on a separate page (for HTML and Man pages) or
+# section (for LaTeX and RTF).
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
+# unions with only public data fields will be shown inline in the documentation
+# of the scope in which they are defined (i.e. file, namespace, or group
+# documentation), provided this scope is documented. If set to NO (the default),
+# structs, classes, and unions are shown on a separate page (for HTML and Man
+# pages) or section (for LaTeX and RTF).
+
+INLINE_SIMPLE_STRUCTS  = NO
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penalty.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will roughly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+SYMBOL_CACHE_SIZE      = 0
+
+# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
+# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
+# their name and scope. Since this can be an expensive process and often the
+# same symbol appear multiple times in the code, doxygen keeps a cache of
+# pre-resolved symbols. If the cache is too small doxygen will become slower.
+# If the cache is too large, memory is wasted. The cache size is given by this
+# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+LOOKUP_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespaces are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES   = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
+# do proper type resolution of all parameters of a function it will reject a
+# match between the prototype and the implementation of a member function even
+# if there is only one candidate or it is obvious which candidate to choose
+# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
+# will still accept a match between prototype and implementation in such cases.
+
+STRICT_PROTO_MATCHING  = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or macro consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and macros in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES       = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. The create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option.
+# You can optionally specify a file name after the option, if omitted
+# DoxygenLayout.xml will be used as the name of the layout file.
+
+LAYOUT_FILE            =
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files
+# containing the references data. This must be a list of .bib files. The
+# .bib extension is automatically appended if omitted. Using this command
+# requires the bibtex tool to be installed. See also
+# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
+# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
+# feature you need bibtex and perl available in the search path.
+
+CITE_BIB_FILES         =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# The WARN_NO_PARAMDOC option can be enabled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC       = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE           =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT                  = "@ariba_BINARY_DIR@/source" \
+                         "@ariba_SOURCE_DIR@/source"
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
+# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
+# *.f90 *.f *.for *.vhd *.vhdl
+
+FILE_PATTERNS          = *.c \
+                         *.cc \
+                         *.cxx \
+                         *.cpp \
+                         *.c++ \
+                         *.h \
+                         *.hh \
+                         *.hxx \
+                         *.hpp \
+                         *.h++
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE                =
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH           = "@ariba_SOURCE_DIR@/sample"
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS       =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = YES
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH             =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty or if
+# non of the patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
+# and it is also possible to disable source filtering for a specific pattern
+# using *.ext= (so without naming a filter). This option only has effect when
+# FILTER_SOURCE_FILES is enabled.
+
+FILTER_SOURCE_PATTERNS =
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header. Note that when using a custom header you are responsible
+#  for the proper inclusion of any scripts and style sheets that doxygen
+# needs, which is dependent on the configuration options used.
+# It is advised to generate a default header using "doxygen -w html
+# header.html footer.html stylesheet.css YourConfigFile" and then modify
+# that header. Note that the header is subject to change so you typically
+# have to redo this when upgrading to a newer version of doxygen or when
+# changing the value of configuration settings such as GENERATE_TREEVIEW!
+
+HTML_HEADER            =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER            =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# style sheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that
+# the files will be copied as-is; there are no commands or markers available.
+
+HTML_EXTRA_FILES       =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
+# Doxygen will adjust the colors in the style sheet and background images
+# according to this color. Hue is specified as an angle on a colorwheel,
+# see http://en.wikipedia.org/wiki/Hue for more information.
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE    = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
+# the colors in the HTML output. For a value of 0 the output will use
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT    = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
+# the luminance component of the colors in the HTML output. Values below
+# 100 gradually make the output lighter, whereas values above 100 make
+# the output darker. The value divided by 100 is the actual gamma applied,
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA  = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP         = YES
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME  = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE               =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING     =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
+# that can be used as input for Qt's qhelpgenerator to generate a
+# Qt Compressed Help (.qch) of the generated HTML documentation.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE          = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
+# add. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME   =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
+# Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS  =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
+# Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS  =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION           =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+#  will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
+# the help appears.
+
+GENERATE_ECLIPSEHELP   = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID         = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
+# at top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it. Since the tabs have the same information as the
+# navigation tree you can set this option to NO if you already set
+# GENERATE_TREEVIEW to YES.
+
+DISABLE_INDEX          = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+# Since the tree basically has the same information as the tab index you
+# could consider to set DISABLE_INDEX to NO when enabling this option.
+
+GENERATE_TREEVIEW      = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
+# (range [0,1..20]) that doxygen will group on one line in the generated HTML
+# documentation. Note that a value of 0 will completely suppress the enum
+# values from appearing in the overview section.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES       = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW    = NO
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are
+# not supported properly for IE 6.0, but are supported on all modern browsers.
+# Note that when changing this option you need to delete any form_*.png files
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT    = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
+# (see http://www.mathjax.org) which uses client side Javascript for the
+# rendering instead of using prerendered bitmaps. Use this if you do not
+# have LaTeX installed or if you want to formulas look prettier in the HTML
+# output. When enabled you also need to install MathJax separately and
+# configure the path to it using the MATHJAX_RELPATH option.
+
+USE_MATHJAX            = NO
+
+# When MathJax is enabled you need to specify the location relative to the
+# HTML output directory using the MATHJAX_RELPATH option. The destination
+# directory should contain the MathJax.js script. For instance, if the mathjax
+# directory is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the
+# mathjax.org site, so you can quickly see the result without installing
+# MathJax, but it is strongly recommended to install a local copy of MathJax
+# before deployment.
+
+MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
+# names that should be enabled during MathJax rendering.
+
+MATHJAX_EXTENSIONS     =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE           = NO
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvantages are that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
+# the generated latex document. The footer should contain everything after
+# the last chapter. If it is left blank doxygen will generate a
+# standard footer. Notice: only use this tag if you know what you are doing!
+
+LATEX_FOOTER           =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE      = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
+# http://en.wikipedia.org/wiki/BibTeX for more info.
+
+LATEX_BIB_STYLE        = plain
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load style sheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA             =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD                =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# pointed to by INCLUDE_PATH will be searched when a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH           =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED             =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition that
+# overrules the definition found in the source code.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all references to function-like macros
+# that are alone on a line, have an all uppercase name, and do not end with a
+# semicolon, because these will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option also works with HAVE_DOT disabled, but it is recommended to
+# install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS         = NO
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH            =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = @DOXYGEN_DOT_FOUND@
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
+# allowed to run in parallel. When set to 0 (the default) doxygen will
+# base this on the number of processors available in the system. You can set it
+# explicitly to a value larger than 0 to get control over the balance
+# between CPU load and processing speed.
+
+DOT_NUM_THREADS        = 0
+
+# By default doxygen will use the Helvetica font for all dot files that
+# doxygen generates. When you want a differently looking font you can specify
+# the font name using DOT_FONTNAME. You need to make sure dot is able to find
+# the font, which can be done by putting it in a standard location or by setting
+# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
+# directory containing the font.
+
+DOT_FONTNAME           = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the Helvetica font.
+# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
+# set the path where dot can find it.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will generate a graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are svg, png, jpg, or gif.
+# If left blank png will be used. If you choose svg you need to set
+# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible in IE 9+ (other browsers do not have this requirement).
+
+DOT_IMAGE_FORMAT       = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+# Note that this requires a modern browser other than Internet Explorer.
+# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
+# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible. Older versions of IE do not have SVG support.
+
+INTERACTIVE_SVG        = NO
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               = "@DOXYGEN_DOT_PATH@"
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS           =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the
+# \mscfile command).
+
+MSCFILE_DIRS           =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH    = 1000
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT        = YES
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP            = YES
Index: cu/doxygen/Makefile.am
===================================================================
--- /docu/doxygen/Makefile.am	(revision 10688)
+++ 	(revision )
@@ -1,4 +1,0 @@
-if DOXYGEN
-html-local:
-	$(DOXYGEN_PROG) Doxyfile
-endif
Index: /pkg/ariba-config-local.cmake.in
===================================================================
--- /pkg/ariba-config-local.cmake.in	(revision 10700)
+++ /pkg/ariba-config-local.cmake.in	(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]
+
+
+# Import the targets
+include("@ariba_BINARY_DIR@/ariba-exports.cmake")
+
+set(ariba_INCLUDE_DIRS
+    "@ariba_BINARY_DIR@/source"
+    "@ariba_SOURCE_DIR@/source"
+    "@ariba_SOURCE_DIR@/source/services"
+    )
Index: /pkg/ariba-config-version.cmake.in
===================================================================
--- /pkg/ariba-config-version.cmake.in	(revision 10700)
+++ /pkg/ariba-config-version.cmake.in	(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]
+
+
+set(PACKAGE_VERSION "@ariba_VERSION@")
+if(NOT "${PACKAGE_FIND_VERSION}" VERSION_GREATER "${PACKAGE_VERSION}")
+    set(PACKAGE_VERSION_COMPATIBLE 1) # compatible with older
+    if("${PACKAGE_FIND_VERSION}" VERSION_EQUAL "${PACKAGE_VERSION}")
+        set(PACKAGE_VERSION_EXACT 1) # exact match
+    endif()
+endif(NOT "${PACKAGE_FIND_VERSION}" VERSION_GREATER "${PACKAGE_VERSION}")
Index: /pkg/ariba-config.cmake.in
===================================================================
--- /pkg/ariba-config.cmake.in	(revision 10700)
+++ /pkg/ariba-config.cmake.in	(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]
+
+
+# Compute installation prefix
+get_filename_component(_prefix "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE)
+
+# Import targets
+include(ariba-targets.cmake)
+
+# Export include files
+set(ariba_INCLUDE_DIRS
+    "${_prefix}/include"
+    )
Index: /sample/CMakeLists.txt
===================================================================
--- /sample/CMakeLists.txt	(revision 10700)
+++ /sample/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(pingpong)
Index: mple/Makefile.am
===================================================================
--- /sample/Makefile.am	(revision 10688)
+++ 	(revision )
@@ -1,2 +1,0 @@
-#SUBDIRS = pingpong testdht
-SUBDIRS = pingpong
Index: /sample/pingpong/CMakeLists.txt
===================================================================
--- /sample/pingpong/CMakeLists.txt	(revision 10700)
+++ /sample/pingpong/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,78 @@
+# [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]
+
+# 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/")
+add_executable(pingpong
+    PingPongMessage.cpp
+    PingPongMessage.h
+    PingPong.cpp
+    PingPong.h
+    main.cpp
+    )
+
+if(${BUILD_STATIC_BINS})
+    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc")
+    string(REPLACE "-rdynamic" "" 
+        CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS
+        "${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS}"
+        )
+    # Compile system libraries statically
+    set_target_properties(pingpong PROPERTIES
+            LINK_SEARCH_END_STATIC ON)
+endif(${BUILD_STATIC_BINS})
+
+target_link_libraries(pingpong ariba ${Boost_LIBRARIES})
+
+# Installation stuff
+install(TARGETS pingpong
+    DESTINATION lib/ariba
+    COMPONENT Documentation
+    )
Index: mple/pingpong/Makefile.am
===================================================================
--- /sample/pingpong/Makefile.am	(revision 10688)
+++ 	(revision )
@@ -1,61 +1,0 @@
-# sources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-if OMNET
-lib_LTLIBRARIES = libpingpong.la
-else
-bin_PROGRAMS 	= pingpong
-endif
-
-# compiler flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-AM_CPPFLAGS     = -DLINUX -D_LINUX -I../../source -D_REENTRANT
-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
-
-# linker flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-AM_LDFLAGS      = -L../../source/ariba -lariba $(BOOST_SYSTEM_LDFLAGS)
-LIBS           += $(BOOST_SYSTEM_LIBS)
-
-if PROFILING
-AM_LDFLAGS     += -pg
-endif
-
-if OMNET
-AM_LDFLAGS     += -shared -rdynamic
-endif
-
-# sources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-if OMNET
-
-libpingpong_la_SOURCES = \
-  PingPong.cpp \
-  PingPong.h \
-  PingPongMessage.cpp \
-  PingPongMessage.h
-
-else
-
-#needed to fix autotools bug
-pingpong_CPPFLAGS = $(AM_CPPFLAGS)
-
-pingpong_SOURCES = \
-  PingPongMessage.cpp \
-  PingPongMessage.h \
-  PingPong.cpp \
-  PingPong.h \
-  main.cpp
-
-endif
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: urce/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: urce/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: urce/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_ */
Index: ash/pingpong/Makefile.am
===================================================================
--- /trash/pingpong/Makefile.am	(revision 10688)
+++ 	(revision )
@@ -1,60 +1,0 @@
-# sources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-if OMNET
-lib_LTLIBRARIES = libpingpong.la
-else
-bin_PROGRAMS 	= pingpong
-endif
-
-# compiler flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-AM_CPPFLAGS     = -DLINUX -D_LINUX -I../../source -D_REENTRANT
-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
-
-# linker flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-AM_LDFLAGS      = -L../../source/ariba -lariba
-
-if PROFILING
-AM_LDFLAGS     += -pg
-endif
-
-if OMNET
-AM_LDFLAGS     += -shared -rdynamic
-endif
-
-# sources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-if OMNET
-
-libpingpong_la_SOURCES = \
-  PingPong.cpp \
-  PingPong.h \
-  PingPongMessage.cpp \
-  PingPongMessage.h
-
-else
-
-#needed to fix autotools bug
-pingpong_CPPFLAGS = $(AM_CPPFLAGS)
-
-pingpong_SOURCES = \
-  PingPong.cpp \
-  PingPong.h \
-  PingPongMessage.cpp \
-  PingPongMessage.h \
-  main.cpp
-
-endif
