From cb5ba80633ce81a8ddbd1c5b9af4ab3d334577b4 Mon Sep 17 00:00:00 2001 From: pdurante Date: Thu, 23 Nov 2006 12:17:44 +0000 Subject: [PATCH] * Fixed a stupid error in util.h * Added a --system command line option to dbusxx-introspect (to use the system bus) * Added a simple client-side example using HAL to demonstrate how to receive signals git-svn-id: http://dev.openwengo.org/svn/openwengo/wengophone-ng/branches/wengophone-dbus-api/libs/dbus@8519 30a43799-04e7-0310-8b2b-ea0d24f86d0e --- autom4te.cache/output.0 | 5 +- autom4te.cache/output.1 | 5 +- autom4te.cache/requests | 170 +++++++------- autom4te.cache/traces.0 | 41 ++-- autom4te.cache/traces.1 | 37 +-- configure | 5 +- configure.ac | 3 +- doc/Makefile.am | 2 - doc/Makefile.in | 213 +++-------------- examples/Makefile.am | 2 +- examples/Makefile.in | 2 +- examples/hal/Makefile.am | 6 + examples/hal/Makefile.in | 441 ++++++++++++++++++++++++++++++++++++ examples/hal/hal-listen.cpp | 125 ++++++++++ examples/hal/hal-listen.h | 44 ++++ include/dbus-c++/util.h | 2 +- src/connection.cpp | 4 +- tools/introspect.cpp | 19 +- tools/xml2cpp.cpp | 133 +++++++---- 19 files changed, 885 insertions(+), 374 deletions(-) create mode 100644 examples/hal/Makefile.am create mode 100644 examples/hal/Makefile.in create mode 100644 examples/hal/hal-listen.cpp create mode 100644 examples/hal/hal-listen.h diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0 index 8859412..bd1ae04 100644 --- a/autom4te.cache/output.0 +++ b/autom4te.cache/output.0 @@ -20252,7 +20252,7 @@ echo "${ECHO_T}yes" >&6; } # Save processed files -ac_config_files="$ac_config_files Makefile src/Makefile tools/Makefile data/Makefile doc/Makefile doc/Doxyfile doc/html/Makefile examples/Makefile examples/properties/Makefile examples/echo/Makefile dbus-c++-0.3.pc" +ac_config_files="$ac_config_files Makefile src/Makefile tools/Makefile data/Makefile doc/Makefile doc/Doxyfile examples/Makefile examples/properties/Makefile examples/echo/Makefile examples/hal/Makefile examples/tcp/Makefile dbus-c++-0.3.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -20839,10 +20839,11 @@ do "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;; - "doc/html/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "examples/properties/Makefile") CONFIG_FILES="$CONFIG_FILES examples/properties/Makefile" ;; "examples/echo/Makefile") CONFIG_FILES="$CONFIG_FILES examples/echo/Makefile" ;; + "examples/hal/Makefile") CONFIG_FILES="$CONFIG_FILES examples/hal/Makefile" ;; + "examples/tcp/Makefile") CONFIG_FILES="$CONFIG_FILES examples/tcp/Makefile" ;; "dbus-c++-0.3.pc") CONFIG_FILES="$CONFIG_FILES dbus-c++-0.3.pc" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 diff --git a/autom4te.cache/output.1 b/autom4te.cache/output.1 index 3de50fa..7a6820d 100644 --- a/autom4te.cache/output.1 +++ b/autom4te.cache/output.1 @@ -20240,7 +20240,7 @@ echo "${ECHO_T}yes" >&6; } # Save processed files -ac_config_files="$ac_config_files Makefile src/Makefile tools/Makefile data/Makefile doc/Makefile doc/Doxyfile doc/html/Makefile examples/Makefile examples/properties/Makefile examples/echo/Makefile dbus-c++-0.3.pc" +ac_config_files="$ac_config_files Makefile src/Makefile tools/Makefile data/Makefile doc/Makefile doc/Doxyfile examples/Makefile examples/properties/Makefile examples/echo/Makefile examples/hal/Makefile examples/tcp/Makefile dbus-c++-0.3.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -20827,10 +20827,11 @@ do "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;; - "doc/html/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "examples/properties/Makefile") CONFIG_FILES="$CONFIG_FILES examples/properties/Makefile" ;; "examples/echo/Makefile") CONFIG_FILES="$CONFIG_FILES examples/echo/Makefile" ;; + "examples/hal/Makefile") CONFIG_FILES="$CONFIG_FILES examples/hal/Makefile" ;; + "examples/tcp/Makefile") CONFIG_FILES="$CONFIG_FILES examples/tcp/Makefile" ;; "dbus-c++-0.3.pc") CONFIG_FILES="$CONFIG_FILES dbus-c++-0.3.pc" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 diff --git a/autom4te.cache/requests b/autom4te.cache/requests index 1f48ba4..0ff611d 100644 --- a/autom4te.cache/requests +++ b/autom4te.cache/requests @@ -35,22 +35,22 @@ { 'AM_ENABLE_STATIC' => 1, 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, - 'AC_TYPE_OFF_T' => 1, 'AC_C_VOLATILE' => 1, - 'AC_FUNC_CLOSEDIR_VOID' => 1, + 'AC_TYPE_OFF_T' => 1, '_LT_AC_SHELL_INIT' => 1, + 'AC_FUNC_CLOSEDIR_VOID' => 1, 'AC_REPLACE_FNMATCH' => 1, 'AC_DEFUN' => 1, - '_LT_AC_LANG_CXX_CONFIG' => 1, 'AC_PROG_LIBTOOL' => 1, - 'AC_FUNC_STAT' => 1, + '_LT_AC_LANG_CXX_CONFIG' => 1, 'AM_PROG_MKDIR_P' => 1, + 'AC_FUNC_STAT' => 1, 'AC_FUNC_WAIT3' => 1, - 'AC_STRUCT_TM' => 1, - 'AC_FUNC_LSTAT' => 1, 'AM_AUTOMAKE_VERSION' => 1, - 'AC_FUNC_STRTOD' => 1, + 'AC_FUNC_LSTAT' => 1, + 'AC_STRUCT_TM' => 1, 'AC_CHECK_HEADERS' => 1, + 'AC_FUNC_STRTOD' => 1, 'AM_MISSING_PROG' => 1, 'AC_FUNC_STRNLEN' => 1, 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, @@ -65,30 +65,30 @@ 'AM_SANITY_CHECK' => 1, 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, - '_LT_AC_CHECK_DLFCN' => 1, 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + '_LT_AC_CHECK_DLFCN' => 1, '_AM_PROG_TAR' => 1, 'AC_LIBTOOL_GCJ' => 1, 'AC_PROG_GCC_TRADITIONAL' => 1, 'AC_LIBSOURCE' => 1, 'AC_STRUCT_ST_BLOCKS' => 1, 'AM_PROG_FC_C_O' => 1, - 'AC_LIBTOOL_CONFIG' => 1, '_LT_AC_LANG_F77' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'AC_CONFIG_AUX_DIR' => 1, + 'AC_LIBTOOL_CONFIG' => 1, 'AC_PROG_MAKE_SET' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + '_AM_SUBST_NOTMAKE' => 1, 'sinclude' => 1, 'AM_DISABLE_SHARED' => 1, - '_LT_AC_LANG_CXX' => 1, 'AM_PROG_LIBTOOL' => 1, - 'AM_PROG_LD' => 1, + '_LT_AC_LANG_CXX' => 1, '_LT_AC_FILE_LTDLL_C' => 1, + 'AM_PROG_LD' => 1, 'AC_FUNC_STRERROR_R' => 1, - 'AC_FUNC_FORK' => 1, 'AC_DECL_SYS_SIGLIST' => 1, - 'AC_FUNC_VPRINTF' => 1, + 'AC_FUNC_FORK' => 1, 'AU_DEFUN' => 1, + 'AC_FUNC_VPRINTF' => 1, 'AC_PROG_NM' => 1, 'AC_LIBTOOL_DLOPEN' => 1, 'AC_PROG_LD' => 1, @@ -96,64 +96,64 @@ 'AC_ENABLE_FAST_INSTALL' => 1, 'AC_INIT' => 1, 'AC_STRUCT_TIMEZONE' => 1, - 'AC_SUBST' => 1, 'AC_FUNC_ALLOCA' => 1, + 'AC_SUBST' => 1, '_AM_SET_OPTION' => 1, 'AC_CANONICAL_HOST' => 1, '_LT_LINKER_BOILERPLATE' => 1, - 'AC_PROG_RANLIB' => 1, - 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, 'AC_LIBTOOL_PROG_CC_C_O' => 1, + 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, + 'AC_PROG_RANLIB' => 1, 'AC_FUNC_SETPGRP' => 1, 'AC_CONFIG_SUBDIRS' => 1, 'AC_FUNC_MMAP' => 1, 'AC_TYPE_SIZE_T' => 1, 'AC_CHECK_TYPES' => 1, - 'LT_SUPPORTED_TAG' => 1, 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'LT_SUPPORTED_TAG' => 1, 'AC_CHECK_MEMBERS' => 1, 'AC_DEFUN_ONCE' => 1, 'AC_FUNC_UTIME_NULL' => 1, 'AC_FUNC_SELECT_ARGTYPES' => 1, '_LT_AC_LANG_GCJ' => 1, - 'AC_HEADER_STAT' => 1, 'AC_FUNC_STRFTIME' => 1, + 'AC_HEADER_STAT' => 1, 'AC_C_INLINE' => 1, 'AC_LIBTOOL_RC' => 1, - 'AC_DISABLE_FAST_INSTALL' => 1, '_LT_AC_PROG_ECHO_BACKSLASH' => 1, + 'AC_DISABLE_FAST_INSTALL' => 1, 'AC_CONFIG_FILES' => 1, - 'include' => 1, - '_LT_AC_SYS_LIBPATH_AIX' => 1, '_LT_AC_TRY_DLOPEN_SELF' => 1, + '_LT_AC_SYS_LIBPATH_AIX' => 1, + 'include' => 1, 'LT_AC_PROG_SED' => 1, 'AM_ENABLE_SHARED' => 1, 'AM_GNU_GETTEXT' => 1, '_LT_AC_LANG_GCJ_CONFIG' => 1, - 'AC_FUNC_OBSTACK' => 1, - 'AC_CHECK_LIB' => 1, 'AC_ENABLE_SHARED' => 1, + 'AC_CHECK_LIB' => 1, + 'AC_FUNC_OBSTACK' => 1, 'AC_FUNC_MALLOC' => 1, 'AC_FUNC_GETGROUPS' => 1, - 'AC_FC_FREEFORM' => 1, 'AC_FUNC_GETLOADAVG' => 1, - 'AC_FUNC_FSEEKO' => 1, - 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, + 'AC_FC_FREEFORM' => 1, 'AC_ENABLE_STATIC' => 1, - 'AM_PROG_CC_C_O' => 1, + 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, + 'AC_FUNC_FSEEKO' => 1, '_LT_AC_TAGVAR' => 1, + 'AM_PROG_CC_C_O' => 1, 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, - 'AC_FUNC_MKTIME' => 1, 'AM_CONDITIONAL' => 1, + 'AC_FUNC_MKTIME' => 1, 'AC_HEADER_SYS_WAIT' => 1, - 'AC_PROG_LN_S' => 1, 'AC_FUNC_MEMCMP' => 1, - 'm4_include' => 1, + 'AC_PROG_LN_S' => 1, 'AM_PROG_INSTALL_SH' => 1, - 'AC_HEADER_DIRENT' => 1, + 'm4_include' => 1, 'AC_PROG_EGREP' => 1, - '_AC_AM_CONFIG_HEADER_HOOK' => 1, + 'AC_HEADER_DIRENT' => 1, 'AC_PATH_MAGIC' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, 'AM_MAKE_INCLUDE' => 1, 'AM_PROG_F77_C_O' => 1, '_LT_AC_TAGCONFIG' => 1, @@ -163,16 +163,16 @@ 'AC_LIBTOOL_COMPILER_OPTION' => 1, 'AC_DISABLE_SHARED' => 1, '_LT_COMPILER_BOILERPLATE' => 1, - 'AC_LIBTOOL_SETUP' => 1, 'AC_LIBTOOL_WIN32_DLL' => 1, + 'AC_LIBTOOL_SETUP' => 1, 'AC_PROG_LD_RELOAD_FLAG' => 1, 'AC_HEADER_TIME' => 1, - 'AC_TYPE_MODE_T' => 1, - 'AC_FUNC_GETMNTENT' => 1, 'AM_MISSING_HAS_RUN' => 1, + 'AC_FUNC_GETMNTENT' => 1, + 'AC_TYPE_MODE_T' => 1, 'LT_CONFIG_LTDL_DIR' => 1, - 'm4_sinclude' => 1, 'AC_LIBTOOL_DLOPEN_SELF' => 1, + 'm4_sinclude' => 1, 'AC_PATH_X' => 1, 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, '_PKG_SHORT_ERRORS_SUPPORTED' => 1, @@ -180,30 +180,30 @@ 'AM_PROG_CXX_C_O' => 1, 'AC_LIBTOOL_LINKER_OPTION' => 1, 'PKG_CHECK_EXISTS' => 1, - 'LT_AC_PROG_RC' => 1, 'AC_LIBTOOL_CXX' => 1, + 'LT_AC_PROG_RC' => 1, 'LT_INIT' => 1, 'LT_AC_PROG_GCJ' => 1, 'AC_FUNC_ERROR_AT_LINE' => 1, - 'AM_DEP_TRACK' => 1, - '_LT_AC_PROG_CXXCPP' => 1, 'AM_DISABLE_STATIC' => 1, - 'AC_FUNC_MBRTOWC' => 1, - '_AC_PROG_LIBTOOL' => 1, + '_LT_AC_PROG_CXXCPP' => 1, + 'AM_DEP_TRACK' => 1, 'AM_CONFIG_HEADER' => 1, - 'AC_CANONICAL_BUILD' => 1, + '_AC_PROG_LIBTOOL' => 1, + 'AC_FUNC_MBRTOWC' => 1, 'AC_TYPE_SIGNAL' => 1, - 'AC_TYPE_UID_T' => 1, + 'AC_CANONICAL_BUILD' => 1, '_AM_IF_OPTION' => 1, + 'AC_TYPE_UID_T' => 1, 'AC_PATH_TOOL_PREFIX' => 1, - 'AC_LIBTOOL_F77' => 1, 'm4_pattern_allow' => 1, + 'AC_LIBTOOL_F77' => 1, 'AM_SET_LEADING_DOT' => 1, 'AC_DEFINE_TRACE_LITERAL' => 1, '_AM_DEPENDENCIES' => 1, 'AC_LIBTOOL_LANG_C_CONFIG' => 1, - 'AC_PROG_CC' => 1, '_LT_AC_SYS_COMPILER' => 1, + 'AC_PROG_CC' => 1, 'AM_PROG_NM' => 1, 'PKG_CHECK_MODULES' => 1, 'AC_FUNC_STRCOLL' => 1, @@ -211,44 +211,44 @@ 'AC_SUBST_TRACE' => 1, 'AC_LIBLTDL_CONVENIENCE' => 1, 'AC_DEPLIBS_CHECK_METHOD' => 1, - 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, - 'AC_LIBLTDL_INSTALLABLE' => 1, 'AC_FUNC_CHOWN' => 1, + 'AC_LIBLTDL_INSTALLABLE' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, - 'AC_FC_SRCEXT' => 1, 'AC_FUNC_GETPGRP' => 1, + 'AC_FC_SRCEXT' => 1, 'AM_INIT_AUTOMAKE' => 1, 'AC_FUNC_REALLOC' => 1, 'AC_DISABLE_STATIC' => 1, - 'AC_REQUIRE_AUX_FILE' => 1, 'AC_CONFIG_LINKS' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, 'AM_MAINTAINER_MODE' => 1, '_LT_AC_LOCK' => 1, '_LT_AC_LANG_RC_CONFIG' => 1, 'AC_PROG_CPP' => 1, - 'AC_TYPE_PID_T' => 1, - 'AC_PROG_LEX' => 1, 'AC_C_CONST' => 1, + 'AC_PROG_LEX' => 1, + 'AC_TYPE_PID_T' => 1, 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, 'AC_FUNC_SETVBUF_REVERSED' => 1, - 'AC_PROG_INSTALL' => 1, 'AM_AUX_DIR_EXPAND' => 1, - 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, + 'AC_PROG_INSTALL' => 1, '_LT_AC_LANG_F77_CONFIG' => 1, + 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, '_AM_SET_OPTIONS' => 1, - 'AM_RUN_LOG' => 1, '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AM_RUN_LOG' => 1, 'AC_LIBTOOL_PICMODE' => 1, 'AH_OUTPUT' => 1, 'AC_CHECK_LIBM' => 1, 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, '_AM_MANGLE_OPTION' => 1, 'AC_CANONICAL_SYSTEM' => 1, - 'AC_CONFIG_HEADERS' => 1, 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, + 'AC_CONFIG_HEADERS' => 1, 'AM_SET_DEPDIR' => 1, - '_LT_CC_BASENAME' => 1, 'PKG_PROG_PKG_CONFIG' => 1, + '_LT_CC_BASENAME' => 1, 'AC_CHECK_FUNCS' => 1 } ], 'Autom4te::Request' ), @@ -264,26 +264,26 @@ 'configure.ac' ], { - 'AM_PROG_F77_C_O' => 1, '_LT_AC_TAGCONFIG' => 1, + 'AM_PROG_F77_C_O' => 1, 'm4_pattern_forbid' => 1, 'AC_CANONICAL_TARGET' => 1, 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'AC_C_VOLATILE' => 1, 'AC_TYPE_OFF_T' => 1, + 'AC_C_VOLATILE' => 1, 'AC_FUNC_CLOSEDIR_VOID' => 1, 'AC_REPLACE_FNMATCH' => 1, 'AC_PROG_LIBTOOL' => 1, 'AC_FUNC_STAT' => 1, - 'AC_FUNC_WAIT3' => 1, 'AC_HEADER_TIME' => 1, - 'AC_FUNC_LSTAT' => 1, - 'AC_STRUCT_TM' => 1, + 'AC_FUNC_WAIT3' => 1, 'AM_AUTOMAKE_VERSION' => 1, - 'AC_FUNC_GETMNTENT' => 1, + 'AC_STRUCT_TM' => 1, + 'AC_FUNC_LSTAT' => 1, 'AC_TYPE_MODE_T' => 1, - 'AC_CHECK_HEADERS' => 1, + 'AC_FUNC_GETMNTENT' => 1, 'AC_FUNC_STRTOD' => 1, + 'AC_CHECK_HEADERS' => 1, 'LT_CONFIG_LTDL_DIR' => 1, 'AC_FUNC_STRNLEN' => 1, 'm4_sinclude' => 1, @@ -301,22 +301,22 @@ 'AC_LIBSOURCE' => 1, 'AC_FUNC_MBRTOWC' => 1, 'AC_STRUCT_ST_BLOCKS' => 1, - 'AC_TYPE_SIGNAL' => 1, - 'AC_CANONICAL_BUILD' => 1, 'AM_PROG_FC_C_O' => 1, + 'AC_CANONICAL_BUILD' => 1, + 'AC_TYPE_SIGNAL' => 1, 'AC_TYPE_UID_T' => 1, - 'AC_CONFIG_AUX_DIR' => 1, - 'AC_PROG_MAKE_SET' => 1, '_AM_SUBST_NOTMAKE' => 1, - 'm4_pattern_allow' => 1, + 'AC_PROG_MAKE_SET' => 1, + 'AC_CONFIG_AUX_DIR' => 1, 'sinclude' => 1, + 'm4_pattern_allow' => 1, 'AC_DEFINE_TRACE_LITERAL' => 1, 'AC_FUNC_STRERROR_R' => 1, 'AC_PROG_CC' => 1, - 'AC_FUNC_FORK' => 1, 'AC_DECL_SYS_SIGLIST' => 1, - 'AC_FUNC_STRCOLL' => 1, + 'AC_FUNC_FORK' => 1, 'AC_FUNC_VPRINTF' => 1, + 'AC_FUNC_STRCOLL' => 1, 'AC_PROG_YACC' => 1, 'AC_SUBST_TRACE' => 1, 'AC_STRUCT_TIMEZONE' => 1, @@ -328,49 +328,49 @@ 'AC_CANONICAL_HOST' => 1, 'AC_FUNC_GETPGRP' => 1, 'AC_PROG_RANLIB' => 1, - 'AC_FUNC_SETPGRP' => 1, 'AM_INIT_AUTOMAKE' => 1, + 'AC_FUNC_SETPGRP' => 1, 'AC_CONFIG_SUBDIRS' => 1, 'AC_FUNC_MMAP' => 1, 'AC_FUNC_REALLOC' => 1, 'AC_TYPE_SIZE_T' => 1, - 'AC_CHECK_TYPES' => 1, - 'AC_CONFIG_LINKS' => 1, 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_CONFIG_LINKS' => 1, + 'AC_CHECK_TYPES' => 1, 'LT_SUPPORTED_TAG' => 1, 'AC_CHECK_MEMBERS' => 1, 'AM_MAINTAINER_MODE' => 1, 'AC_FUNC_UTIME_NULL' => 1, 'AC_FUNC_SELECT_ARGTYPES' => 1, - 'AC_HEADER_STAT' => 1, 'AC_FUNC_STRFTIME' => 1, - 'AC_PROG_CPP' => 1, + 'AC_HEADER_STAT' => 1, 'AC_C_INLINE' => 1, - 'AM_ENABLE_MULTILIB' => 1, - 'AC_C_CONST' => 1, - 'AC_PROG_LEX' => 1, + 'AC_PROG_CPP' => 1, 'AC_TYPE_PID_T' => 1, + 'AC_PROG_LEX' => 1, + 'AC_C_CONST' => 1, + 'AM_ENABLE_MULTILIB' => 1, 'AC_CONFIG_FILES' => 1, 'include' => 1, 'AC_FUNC_SETVBUF_REVERSED' => 1, 'AC_PROG_INSTALL' => 1, 'AM_GNU_GETTEXT' => 1, - 'AC_FUNC_OBSTACK' => 1, 'AC_CHECK_LIB' => 1, + 'AC_FUNC_OBSTACK' => 1, 'AC_FUNC_MALLOC' => 1, 'AC_FUNC_GETGROUPS' => 1, - 'AC_FUNC_GETLOADAVG' => 1, 'AC_FC_FREEFORM' => 1, + 'AC_FUNC_GETLOADAVG' => 1, 'AH_OUTPUT' => 1, 'AC_FUNC_FSEEKO' => 1, 'AM_PROG_CC_C_O' => 1, - 'AC_FUNC_MKTIME' => 1, - 'AC_CANONICAL_SYSTEM' => 1, 'AM_CONDITIONAL' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AC_FUNC_MKTIME' => 1, 'AC_CONFIG_HEADERS' => 1, 'AC_HEADER_SYS_WAIT' => 1, - 'AC_FUNC_MEMCMP' => 1, 'AC_PROG_LN_S' => 1, + 'AC_FUNC_MEMCMP' => 1, 'm4_include' => 1, 'AC_HEADER_DIRENT' => 1, 'AC_CHECK_FUNCS' => 1 diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0 index 92110c2..01633e0 100644 --- a/autom4te.cache/traces.0 +++ b/autom4te.cache/traces.0 @@ -9485,34 +9485,35 @@ m4trace:configure.ac:88: -1- m4_pattern_allow([^DBUS_DOXYGEN_DOCS_ENABLED_TRUE$] m4trace:configure.ac:88: -1- AC_SUBST([DBUS_DOXYGEN_DOCS_ENABLED_FALSE]) m4trace:configure.ac:88: -1- AC_SUBST_TRACE([DBUS_DOXYGEN_DOCS_ENABLED_FALSE]) m4trace:configure.ac:88: -1- m4_pattern_allow([^DBUS_DOXYGEN_DOCS_ENABLED_FALSE$]) -m4trace:configure.ac:105: -1- AC_CONFIG_FILES([Makefile +m4trace:configure.ac:106: -1- AC_CONFIG_FILES([Makefile src/Makefile tools/Makefile data/Makefile doc/Makefile doc/Doxyfile - doc/html/Makefile examples/Makefile examples/properties/Makefile examples/echo/Makefile + examples/hal/Makefile + examples/tcp/Makefile dbus-c++-0.3.pc ]) -m4trace:configure.ac:105: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. +m4trace:configure.ac:106: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. You should run autoupdate.], []) -m4trace:configure.ac:105: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:105: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:105: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([LTLIBOBJS]) -m4trace:configure.ac:105: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([top_builddir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([srcdir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([abs_srcdir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([top_srcdir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([abs_top_srcdir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([builddir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([abs_builddir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([abs_top_builddir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([INSTALL]) -m4trace:configure.ac:105: -1- _AC_AM_CONFIG_HEADER_HOOK([$ac_file]) -m4trace:configure.ac:105: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:106: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:106: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:106: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:106: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([INSTALL]) +m4trace:configure.ac:106: -1- _AC_AM_CONFIG_HEADER_HOOK([$ac_file]) +m4trace:configure.ac:106: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS diff --git a/autom4te.cache/traces.1 b/autom4te.cache/traces.1 index eed7607..8da364b 100644 --- a/autom4te.cache/traces.1 +++ b/autom4te.cache/traces.1 @@ -640,32 +640,33 @@ m4trace:configure.ac:88: -1- m4_pattern_allow([^DBUS_DOXYGEN_DOCS_ENABLED_TRUE$] m4trace:configure.ac:88: -1- AC_SUBST([DBUS_DOXYGEN_DOCS_ENABLED_FALSE]) m4trace:configure.ac:88: -1- AC_SUBST_TRACE([DBUS_DOXYGEN_DOCS_ENABLED_FALSE]) m4trace:configure.ac:88: -1- m4_pattern_allow([^DBUS_DOXYGEN_DOCS_ENABLED_FALSE$]) -m4trace:configure.ac:105: -1- AC_CONFIG_FILES([Makefile +m4trace:configure.ac:106: -1- AC_CONFIG_FILES([Makefile src/Makefile tools/Makefile data/Makefile doc/Makefile doc/Doxyfile - doc/html/Makefile examples/Makefile examples/properties/Makefile examples/echo/Makefile + examples/hal/Makefile + examples/tcp/Makefile dbus-c++-0.3.pc ]) -m4trace:configure.ac:105: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. +m4trace:configure.ac:106: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. You should run autoupdate.], []) -m4trace:configure.ac:105: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:105: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:105: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([LTLIBOBJS]) -m4trace:configure.ac:105: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([top_builddir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([srcdir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([abs_srcdir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([top_srcdir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([abs_top_srcdir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([builddir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([abs_builddir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([abs_top_builddir]) -m4trace:configure.ac:105: -1- AC_SUBST_TRACE([INSTALL]) +m4trace:configure.ac:106: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:106: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:106: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:106: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:106: -1- AC_SUBST_TRACE([INSTALL]) diff --git a/configure b/configure index f02fea5..abe5508 100755 --- a/configure +++ b/configure @@ -20240,7 +20240,7 @@ echo "${ECHO_T}yes" >&6; } # Save processed files -ac_config_files="$ac_config_files Makefile src/Makefile tools/Makefile data/Makefile doc/Makefile doc/Doxyfile doc/html/Makefile examples/Makefile examples/properties/Makefile examples/echo/Makefile dbus-c++-0.3.pc" +ac_config_files="$ac_config_files Makefile src/Makefile tools/Makefile data/Makefile doc/Makefile doc/Doxyfile examples/Makefile examples/properties/Makefile examples/echo/Makefile examples/hal/Makefile examples/tcp/Makefile dbus-c++-0.3.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -20827,10 +20827,11 @@ do "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;; - "doc/html/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "examples/properties/Makefile") CONFIG_FILES="$CONFIG_FILES examples/properties/Makefile" ;; "examples/echo/Makefile") CONFIG_FILES="$CONFIG_FILES examples/echo/Makefile" ;; + "examples/hal/Makefile") CONFIG_FILES="$CONFIG_FILES examples/hal/Makefile" ;; + "examples/tcp/Makefile") CONFIG_FILES="$CONFIG_FILES examples/tcp/Makefile" ;; "dbus-c++-0.3.pc") CONFIG_FILES="$CONFIG_FILES dbus-c++-0.3.pc" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 diff --git a/configure.ac b/configure.ac index 8750512..078e5b3 100644 --- a/configure.ac +++ b/configure.ac @@ -97,9 +97,10 @@ AC_OUTPUT( data/Makefile doc/Makefile doc/Doxyfile - doc/html/Makefile examples/Makefile examples/properties/Makefile examples/echo/Makefile + examples/hal/Makefile + examples/tcp/Makefile dbus-c++-0.3.pc ) diff --git a/doc/Makefile.am b/doc/Makefile.am index 04c0288..3c9daa4 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,7 +1,5 @@ if DBUS_DOXYGEN_DOCS_ENABLED -SUBDIRS = html - EXTRA_DIST = Doxyfile.in noinst_PROGRAMS = index.html diff --git a/doc/Makefile.in b/doc/Makefile.in index de82fda..4ec01da 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -63,15 +63,6 @@ LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(index_html_SOURCES) DIST_SOURCES = $(am__index_html_SOURCES_DIST) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = html DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ @@ -183,10 +174,9 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ xml_CFLAGS = @xml_CFLAGS@ xml_LIBS = @xml_LIBS@ -@DBUS_DOXYGEN_DOCS_ENABLED_TRUE@SUBDIRS = html @DBUS_DOXYGEN_DOCS_ENABLED_TRUE@EXTRA_DIST = Doxyfile.in @DBUS_DOXYGEN_DOCS_ENABLED_TRUE@index_html_SOURCES = Doxyfile -all: all-recursive +all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @@ -246,138 +236,12 @@ clean-libtool: distclean-libtool: -rm -f libtool uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique tags: TAGS +TAGS: -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique +CTAGS: -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @@ -406,35 +270,19 @@ distdir: $(DISTFILES) || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done check-am: all-am -check: check-recursive +check: check-am all-am: Makefile $(PROGRAMS) -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -installcheck: installcheck-recursive +installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ @@ -450,23 +298,23 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive +clean: clean-am clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am -distclean: distclean-recursive +distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-libtool -dvi: dvi-recursive +dvi: dvi-am dvi-am: -html: html-recursive +html: html-am -info: info-recursive +info: info-am info-am: @@ -474,46 +322,41 @@ install-data-am: install-exec-am: -install-info: install-info-recursive +install-info: install-info-am install-man: installcheck-am: -maintainer-clean: maintainer-clean-recursive +maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic -mostlyclean: mostlyclean-recursive +mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool -pdf: pdf-recursive +pdf: pdf-am pdf-am: -ps: ps-recursive +ps: ps-am ps-am: uninstall-am: uninstall-info-am -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-noinstPROGRAMS \ - clean-recursive ctags ctags-recursive distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + clean-noinstPROGRAMS distclean distclean-compile \ + distclean-generic distclean-libtool distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am uninstall-info-am + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am @DBUS_DOXYGEN_DOCS_ENABLED_TRUE@index.html: Doxyfile diff --git a/examples/Makefile.am b/examples/Makefile.am index 6c43916..4d8b178 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -1,2 +1,2 @@ -SUBDIRS = properties echo +SUBDIRS = properties echo hal diff --git a/examples/Makefile.in b/examples/Makefile.in index 6f091da..4e53f35 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -166,7 +166,7 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ xml_CFLAGS = @xml_CFLAGS@ xml_LIBS = @xml_LIBS@ -SUBDIRS = properties echo +SUBDIRS = properties echo hal all: all-recursive .SUFFIXES: diff --git a/examples/hal/Makefile.am b/examples/hal/Makefile.am new file mode 100644 index 0000000..3f52b27 --- /dev/null +++ b/examples/hal/Makefile.am @@ -0,0 +1,6 @@ +INCLUDES = -I$(top_srcdir)/include + +noinst_PROGRAMS = hal-listen + +hal_listen_SOURCES = hal-listen.h hal-listen.cpp +hal_listen_LDADD = $(top_builddir)/src/libdbus-c++-0.3.la diff --git a/examples/hal/Makefile.in b/examples/hal/Makefile.in new file mode 100644 index 0000000..e213145 --- /dev/null +++ b/examples/hal/Makefile.in @@ -0,0 +1,441 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +noinst_PROGRAMS = hal-listen$(EXEEXT) +subdir = examples/hal +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/include/dbus-c++/config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am_hal_listen_OBJECTS = hal-listen.$(OBJEXT) +hal_listen_OBJECTS = $(am_hal_listen_OBJECTS) +hal_listen_DEPENDENCIES = $(top_builddir)/src/libdbus-c++-0.3.la +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include/dbus-c++ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(hal_listen_SOURCES) +DIST_SOURCES = $(hal_listen_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DBUS_DOXYGEN_DOCS_ENABLED_FALSE = @DBUS_DOXYGEN_DOCS_ENABLED_FALSE@ +DBUS_DOXYGEN_DOCS_ENABLED_TRUE = @DBUS_DOXYGEN_DOCS_ENABLED_TRUE@ +DEBUG_FLAGS = @DEBUG_FLAGS@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOXYGEN = @DOXYGEN@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +dbus_CFLAGS = @dbus_CFLAGS@ +dbus_LIBS = @dbus_LIBS@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +xml_CFLAGS = @xml_CFLAGS@ +xml_LIBS = @xml_LIBS@ +INCLUDES = -I$(top_srcdir)/include +hal_listen_SOURCES = hal-listen.h hal-listen.cpp +hal_listen_LDADD = $(top_builddir)/src/libdbus-c++-0.3.la +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/hal/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu examples/hal/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +hal-listen$(EXEEXT): $(hal_listen_OBJECTS) $(hal_listen_DEPENDENCIES) + @rm -f hal-listen$(EXEEXT) + $(CXXLINK) $(hal_listen_LDFLAGS) $(hal_listen_OBJECTS) $(hal_listen_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hal-listen.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstPROGRAMS ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/examples/hal/hal-listen.cpp b/examples/hal/hal-listen.cpp new file mode 100644 index 0000000..521591f --- /dev/null +++ b/examples/hal/hal-listen.cpp @@ -0,0 +1,125 @@ +#include "hal-listen.h" + +#include +#include + +HalManagerProxy::HalManagerProxy( DBus::Connection& connection ) +: DBus::InterfaceProxy("org.freedesktop.Hal.Manager"), + DBus::ObjectProxy(connection, "/org/freedesktop/Hal/Manager", "org.freedesktop.Hal") +{ + connect_signal(HalManagerProxy, DeviceAdded, DeviceAddedCb); + connect_signal(HalManagerProxy, DeviceRemoved, DeviceRemovedCb); + + std::vector< DBus::String > devices = GetAllDevices(); + + std::vector< DBus::String >::iterator it; + for(it = devices.begin(); it != devices.end(); ++it) + { + DBus::Path udi = *it; + + std::cout << "found device " << udi << std::endl; + + _devices[udi] = new HalDeviceProxy(connection, udi); + } +} + +std::vector< DBus::String > HalManagerProxy::GetAllDevices() +{ + std::vector< DBus::String > udis; + DBus::CallMessage call; + + call.member("GetAllDevices"); + + DBus::Message reply = invoke_method(call); + DBus::MessageIter it = reply.reader(); + + it >> udis; + return udis; +} + +void HalManagerProxy::DeviceAddedCb( const DBus::SignalMessage& sig ) +{ + DBus::MessageIter it = sig.reader(); + DBus::String devname; + + it >> devname; + + DBus::Path udi(devname); + + _devices[devname] = new HalDeviceProxy(conn(), udi); + std::cout << "added device " << udi << std::endl; +} + +void HalManagerProxy::DeviceRemovedCb( const DBus::SignalMessage& sig ) +{ + DBus::MessageIter it = sig.reader(); + DBus::String devname; + + it >> devname; + + std::cout << "removed device " << devname << std::endl; + + _devices.erase(devname); +} + +HalDeviceProxy::HalDeviceProxy( DBus::Connection& connection, DBus::Path& udi ) +: DBus::InterfaceProxy("org.freedesktop.Hal.Device"), + DBus::ObjectProxy(connection, udi, "org.freedesktop.Hal") +{ + connect_signal(HalDeviceProxy, PropertyModified, PropertyModifiedCb); + connect_signal(HalDeviceProxy, Condition, ConditionCb); +} + +void HalDeviceProxy::PropertyModifiedCb( const DBus::SignalMessage& sig ) +{ + typedef DBus::Struct< DBus::String, DBus::Bool, DBus::Bool > HalProperty; + + DBus::MessageIter it = sig.reader(); + DBus::Int32 number; + + it >> number; + + DBus::MessageIter arr = it.recurse(); + + for(int i = 0; i < number; ++i, ++arr) + { + HalProperty hp; + + arr >> hp; + + std::cout << "modified property " << hp._1 << std::endl; + } +} + +void HalDeviceProxy::ConditionCb( const DBus::SignalMessage& sig ) +{ + DBus::MessageIter it = sig.reader(); + DBus::String condition; + + it >> condition; + + std::cout << "encountered condition " << condition << std::endl; +} + +DBus::BusDispatcher dispatcher; + +void niam( int sig ) +{ + dispatcher.leave(); +} + +int main() +{ + signal(SIGTERM, niam); + signal(SIGINT, niam); + + DBus::default_dispatcher = &dispatcher; + + DBus::Connection conn = DBus::Connection::SystemBus(); + + HalManagerProxy hal(conn); + + dispatcher.enter(); + + return 0; +} diff --git a/examples/hal/hal-listen.h b/examples/hal/hal-listen.h new file mode 100644 index 0000000..8401fbf --- /dev/null +++ b/examples/hal/hal-listen.h @@ -0,0 +1,44 @@ +#ifndef __DEMO_HAL_LISTEN_H +#define __DEMO_HAL_LISTEN_H + +#include +#include +#include + +class HalDeviceProxy; + +class HalManagerProxy +: public DBus::InterfaceProxy, + public DBus::ObjectProxy +{ +public: + + HalManagerProxy( DBus::Connection& connection ); + + std::vector< DBus::String > GetAllDevices(); + +private: + + void DeviceAddedCb( const DBus::SignalMessage& sig ); + + void DeviceRemovedCb( const DBus::SignalMessage& sig ); + + std::map< DBus::String, DBus::RefPtr< HalDeviceProxy > > _devices; +}; + +class HalDeviceProxy +: public DBus::InterfaceProxy, + public DBus::ObjectProxy +{ +public: + + HalDeviceProxy( DBus::Connection& connection, DBus::Path& udi ); + +private: + + void PropertyModifiedCb( const DBus::SignalMessage& sig ); + + void ConditionCb( const DBus::SignalMessage& sig ); +}; + +#endif//__DEMO_HAL_LISTEN_H diff --git a/include/dbus-c++/util.h b/include/dbus-c++/util.h index 66919ab..affa57d 100644 --- a/include/dbus-c++/util.h +++ b/include/dbus-c++/util.h @@ -238,7 +238,7 @@ public: bool empty() { - return _cb.get() != 0; + return _cb.get() == 0; } private: diff --git a/src/connection.cpp b/src/connection.cpp index 4ae9e1e..3867d02 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -149,10 +149,12 @@ void Connection::Private::dispatch_status_stub( DBusConnection* dc, DBusDispatch } } -DBusHandlerResult Connection::Private::message_filter_stub( DBusConnection*, DBusMessage* dmsg, void* data ) +DBusHandlerResult Connection::Private::message_filter_stub( DBusConnection* conn, DBusMessage* dmsg, void* data ) { MessageSlot* slot = static_cast(data); + debug_log("incoming message on connection %p", conn); + Message msg = Message(new Message::Private(dmsg)); return slot && !slot->empty() && slot->call(msg) diff --git a/tools/introspect.cpp b/tools/introspect.cpp index e9d3cd1..d6cd594 100644 --- a/tools/introspect.cpp +++ b/tools/introspect.cpp @@ -27,12 +27,13 @@ #include "introspect.h" DBus::BusDispatcher dispatcher; +static bool systembus; static char* path; static char* service; void niam( int sig ) { - DBus::Connection conn = DBus::Connection::SessionBus(); + DBus::Connection conn = systembus ? DBus::Connection::SystemBus() : DBus::Connection::SessionBus(); IntrospectedObject io(conn, path, service); @@ -49,12 +50,22 @@ int main( int argc, char** argv ) if(argc == 1) { - std::cerr << std::endl << "Usage: " << argv[0] << " []" << std::endl << std::endl; + std::cerr << std::endl << "Usage: " << argv[0] << " [--system] []" << std::endl << std::endl; } else { - path = argv[1]; - service = argc > 1 ? argv[2] : 0; + if(strcmp(argv[1], "--system")) + { + systembus = false; + path = argv[1]; + service = argc > 1 ? argv[2] : 0; + } + else + { + systembus = true; + path = argv[2]; + service = argc > 2 ? argv[3] : 0; + } DBus::default_dispatcher = &dispatcher; diff --git a/tools/xml2cpp.cpp b/tools/xml2cpp.cpp index abd6ce1..813c7fd 100644 --- a/tools/xml2cpp.cpp +++ b/tools/xml2cpp.cpp @@ -205,13 +205,13 @@ void generate_proxy( Xml::Document& doc, const char* filename ) std::string filestring = filename; underscorize(filestring); - std::string cond_comp = "__dbusxx__" + filestring + "__CLIENT_MARSHAL_H"; + std::string cond_comp = "__dbusxx__" + filestring + "__PROXY_MARSHAL_H"; file << "#ifndef " << cond_comp << endl; file << "#define " << cond_comp << endl; file << dbus_includes; -#if 0 + Xml::Node& root = *(doc.root); Xml::Nodes interfaces = root["interface"]; @@ -220,14 +220,42 @@ void generate_proxy( Xml::Document& doc, const char* filename ) Xml::Node& iface = **i; Xml::Nodes methods = iface["method"]; Xml::Nodes signals = iface["signal"]; + Xml::Nodes properties = iface["property"]; + Xml::Nodes ms; + ms.insert(ms.end(), methods.begin(), methods.end()); + ms.insert(ms.end(), signals.begin(), signals.end()); std::string ifacename = iface.get("name"); - std::string ifaceclass = ifacename; - underscorize(ifaceclass); + if(ifacename == "org.freedesktop.DBus.Introspectable" + ||ifacename == "org.freedesktop.DBus.Properties") + { + cerr << "skipping interface " << ifacename << endl; + continue; + } + + std::istringstream ss(ifacename); + string nspace; + size_t nspaces = 0; + + while(ss.str().find('.', ss.tellg()) != string::npos) + { + getline(ss, nspace, '.'); + + file << "namespace " << nspace << " {" << endl; + + ++nspaces; + } + file << endl; + + std::string ifaceclass; + + getline(ss, ifaceclass); cerr << "generating code for interface " << ifacename << "..." << endl; - file << "class " << ifaceclass << " : public ::DBus::InterfaceProxy" << endl + + file << "class " << ifaceclass << endl + << " : public ::DBus::InterfaceProxy" << endl << "{" << endl << "public:" << endl << endl @@ -241,63 +269,70 @@ void generate_proxy( Xml::Document& doc, const char* filename ) std::string marshname = "_" + signal.get("name") + "_stub"; - file << tab << tab << "connect_signal(" << ifaceclass << ", " << marshname << ");" << endl; + file << tab << tab << "connect_signal(" + << ifaceclass << ", " << signal.get("name") << ", " << stub_name(signal.get("name")) + << ");" << endl; } file << tab << "}" << endl << endl; - for(Xml::Nodes::iterator j = methods.begin(); j != methods.end(); ++j) - { - Xml::Node& method = **j; - std::string methodname = method.get("name"); - std::string marshname = "_" + methodname + "_stub"; + file << "public:" << endl + << endl + << tab << "/* methods exported by this interface," << endl + << tab << " * this functions will invoke the corresponding methods on the remote objects" << endl + << tab << " */" << endl; + for(Xml::Nodes::iterator mi = methods.begin(); mi != methods.end(); ++mi) + { + Xml::Node& method = **mi; Xml::Nodes args = method["arg"]; Xml::Nodes args_in = args.select("direction","in"); Xml::Nodes args_out = args.select("direction","out"); - file << endl; - - if(args_out.size() == 1) + if(args_out.size() == 0 || args_out.size() > 1 ) { - std::string ret_type = args_out.front()->get("type"); - std::string ret_sig; - - if(is_atomic_type(ret_type)) - { - ret_sig = atomic_type_to_string(ret_type[0]); - } - else - { - } - - file << tab << ret_sig << " " << methodname << "( "; - - for(Xml::Nodes::iterator ai = args_in.begin(); ai != args_in.end(); ++ai) - { - Xml::Node& a = **ai; - - file << "const "; - - if(is_atomic_type(a.get("type"))) - { - file << atomic_type_to_string(a.get("type")[0]); - } - else - { - } - - file << "& " << a.get("name") << ( ai+1 != args_in.end() ? ", " : " " ); - } - - file << ")" << endl; + file << tab << "void "; } - else + else if(args_out.size() == 1) { - file << tab << "void " << methodname << "( args )" << endl; + file << tab << signature_to_type(args_out.front()->get("type")) << " "; } + file << method.get("name") << "( "; + + unsigned int i = 0; + for(Xml::Nodes::iterator ai = args_in.begin(); ai != args_in.end(); ++ai, ++i) + { + Xml::Node& arg = **ai; + file << "const " << signature_to_type(arg.get("type")) << "& "; + + std::string arg_name = arg.get("name"); + if(arg_name.length()) + file << arg_name; + + if((i+1 != args_in.size() || args_out.size() > 1)) + file << ", "; + } + + if(args_out.size() > 1) + { + unsigned int i = 0; + for(Xml::Nodes::iterator ao = args_out.begin(); ao != args_out.end(); ++ao, ++i) + { + Xml::Node& arg = **ao; + file << signature_to_type(arg.get("type")) << "&"; + + std::string arg_name = arg.get("name"); + if(arg_name.length()) + file << " " << arg_name; + + if(i+1 != args_out.size()) + file << ", "; + } + } + file << " )" << endl; + file << tab << "{" << endl << tab << tab << "::DBus::CallMessage call;" << endl << tab << tab << "::DBus::MessageIter wi = call.writer();" << endl @@ -308,7 +343,7 @@ void generate_proxy( Xml::Document& doc, const char* filename ) Xml::Node& arg = **ai; } - file << tab << tab << "call.member(\"" << methodname << "\");" << endl + file << tab << tab << "call.member(\"" << method.get("name") << "\");" << endl << tab << tab << "::DBus::Message ret = invoke_method(call);" << endl << tab << tab << "::DBus::MessageIter ri = ret.reader();" << endl << endl; @@ -321,7 +356,7 @@ void generate_proxy( Xml::Document& doc, const char* filename ) file << "};" << endl << endl; } -#endif + file << "#endif//" << cond_comp << endl; file.close();