#13795: Initial commit for sflphone-android

includes: libexpat libyaml libdbus-c++ commoncpp ccrtp
          libdbus (from android-4.0.4 sources)

TODO:
- git ignores "/jni/sflphone", sflphone repo should be cloned.
- sflphone-android only needs daemon directory. Ideally it should be possible
to clone it without cloning the whole sflphone project.
into sfl-android (commit 6a0fa7a "#13961: Fix cipher handling" has been used here)
- add pjsip-android project as a git submodule
- sflphone-android needs pjsip android project. Ideally daemon git repository
should not embed pjsip. Instead pjsip should be clone from official repositories.

Considering this, structure should have three distincts git repos:

sflphone-android/.git
sflphone-android/jni/ccrtp-1.8.0-android
sflphone-android/jni/commoncpp2-1.8.1-android
sflphone-android/jni/dbus
sflphone-android/jni/libdbus-c++-0.9.0-android
sflphone-android/jni/libexpat
sflphone-android/jni/libyaml

sflphone-android/jni/sflphone-daemon/.git
sflphone-android/jni/sflphone-daemon/src/audio
sflphone-android/jni/sflphone-daemon/src/config
sflphone-android/jni/sflphone-daemon/src/dbus
sflphone-android/jni/sflphone-daemon/src/history
sflphone-android/jni/sflphone-daemon/src/hooks
sflphone-android/jni/sflphone-daemon/src/iax
sflphone-android/jni/sflphone-daemon/src/sip
sflphone-android/jni/sflphone-daemon/src/video

sflphone-android/jni/pjsip-android/.git

Signed-off-by: Emeric Vigier <emeric.vigier@savoirfairelinux.com>
diff --git a/jni/libdbus-c++-0.9.0-android/examples/echo/.deps/echo-server.Po b/jni/libdbus-c++-0.9.0-android/examples/echo/.deps/echo-server.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/.deps/echo-server.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/jni/libdbus-c++-0.9.0-android/examples/echo/.deps/echo_client_mt-echo-client.Po b/jni/libdbus-c++-0.9.0-android/examples/echo/.deps/echo_client_mt-echo-client.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/.deps/echo_client_mt-echo-client.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/jni/libdbus-c++-0.9.0-android/examples/echo/Makefile b/jni/libdbus-c++-0.9.0-android/examples/echo/Makefile
new file mode 100644
index 0000000..5235b4e
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/Makefile
@@ -0,0 +1,560 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# examples/echo/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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.
+
+
+
+
+pkgdatadir = $(datadir)/libdbus-c++
+pkgincludedir = $(includedir)/libdbus-c++
+pkglibdir = $(libdir)/libdbus-c++
+pkglibexecdir = $(libexecdir)/libdbus-c++
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = x86_64-unknown-linux-gnu
+host_triplet = arm-unknown-linux-androideabi
+noinst_PROGRAMS = echo-server$(EXEEXT) echo-client-mt$(EXEEXT)
+subdir = examples/echo
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_echo_client_mt_OBJECTS = echo_client_mt-echo-client.$(OBJEXT)
+echo_client_mt_OBJECTS = $(am_echo_client_mt_OBJECTS)
+am__DEPENDENCIES_1 =
+echo_client_mt_DEPENDENCIES = $(top_builddir)/src/libdbus-c++-1.la \
+	$(am__DEPENDENCIES_1)
+echo_client_mt_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(echo_client_mt_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_echo_server_OBJECTS = echo-server.$(OBJEXT)
+echo_server_OBJECTS = $(am_echo_server_OBJECTS)
+echo_server_DEPENDENCIES = $(top_builddir)/src/libdbus-c++-1.la
+DEFAULT_INCLUDES = -I. -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--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 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+SOURCES = $(echo_client_mt_SOURCES) $(echo_server_SOURCES)
+DIST_SOURCES = $(echo_client_mt_SOURCES) $(echo_server_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/evigier/git/libdbus-c++-0.9.0-android/missing --run aclocal-1.11
+AMTAR = ${SHELL} /home/evigier/git/libdbus-c++-0.9.0-android/missing --run tar
+AR = arm-linux-androideabi-ar
+AUTOCONF = ${SHELL} /home/evigier/git/libdbus-c++-0.9.0-android/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/evigier/git/libdbus-c++-0.9.0-android/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/evigier/git/libdbus-c++-0.9.0-android/missing --run automake-1.11
+AWK = gawk
+BUILD_LIBDBUS_CXX_DIR = $(top_builddir)
+CC = arm-linux-androideabi-gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = arm-linux-androideabi-gcc -E
+CPPFLAGS = 
+CXX = arm-linux-androideabi-g++
+CXXCPP = arm-linux-androideabi-g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2 -fvisibility=hidden
+CXX_FOR_BUILD = arm-linux-androideabi-g++
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DLLTOOL = false
+DOXYGEN = no
+DSYMUTIL = 
+DUMPBIN = 
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = /bin/grep -E
+EXEEXT = 
+FGREP = /bin/grep -F
+GREP = /bin/grep
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LD = /home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO = 
+LN_S = ln -s
+LTLIBOBJS = 
+MAKEINFO = ${SHELL} /home/evigier/git/libdbus-c++-0.9.0-android/missing --run makeinfo
+MANIFEST_TOOL = :
+MKDIR_P = /bin/mkdir -p
+NM = /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-nm -B
+NMEDIT = 
+OBJDUMP = arm-linux-androideabi-objdump
+OBJEXT = o
+OTOOL = 
+OTOOL64 = 
+PACKAGE = libdbus-c++
+PACKAGE_BUGREPORT = andreas.volz@tux-style.com
+PACKAGE_NAME = libdbus-c++
+PACKAGE_STRING = libdbus-c++ 0.9.0
+PACKAGE_TARNAME = libdbus-c--
+PACKAGE_URL = 
+PACKAGE_VERSION = 0.9.0
+PATH_SEPARATOR = :
+PKG_CONFIG = /usr/bin/pkg-config
+PKG_CONFIG_LIBDIR = 
+PKG_CONFIG_PATH = 
+PTHREAD_CC = arm-linux-androideabi-gcc
+PTHREAD_CFLAGS = 
+PTHREAD_LIBS = 
+RANLIB = arm-linux-androideabi-ranlib
+RT_LIBS = 
+SED = /bin/sed
+SET_MAKE = 
+SHELL = /bin/bash
+STRIP = arm-linux-androideabi-strip
+VERSION = 0.9.0
+abs_builddir = /home/evigier/git/libdbus-c++-0.9.0-android/examples/echo
+abs_srcdir = /home/evigier/git/libdbus-c++-0.9.0-android/examples/echo
+abs_top_builddir = /home/evigier/git/libdbus-c++-0.9.0-android
+abs_top_srcdir = /home/evigier/git/libdbus-c++-0.9.0-android
+ac_ct_AR = 
+ac_ct_CC = 
+ac_ct_CXX = 
+ac_ct_DUMPBIN = 
+acx_pthread_config = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-unknown-linux-gnu
+build_alias = 
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = unknown
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+dbus_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include  
+dbus_LIBS = -ldbus-1 -lpthread -lrt  
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+ecore_CFLAGS = 
+ecore_LIBS = 
+exec_prefix = ${prefix}
+glib_CFLAGS = -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include  
+glib_LIBS = -lglib-2.0  
+gtkmm_CFLAGS = 
+gtkmm_LIBS = 
+host = arm-unknown-linux-androideabi
+host_alias = arm-linux-androideabi
+host_cpu = arm
+host_os = linux-androideabi
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /home/evigier/git/libdbus-c++-0.9.0-android/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = /bin/mkdir -p
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /home/evigier/android-ndk-r8b/platforms/android-14/arch-arm/usr
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_build_prefix = ../../
+top_builddir = ../..
+top_srcdir = ../..
+xml_CFLAGS = 
+xml_LIBS = -lexpat
+EXTRA_DIST = README echo-introspect.xml
+AM_CPPFLAGS = -I$(top_srcdir)/include 
+echo_server_SOURCES = echo-server-glue.h echo-server.h echo-server.cpp
+echo_server_LDADD = $(top_builddir)/src/libdbus-c++-1.la
+echo_client_mt_SOURCES = echo-client-glue.h echo-client.h echo-client.cpp
+echo_client_mt_LDADD = $(top_builddir)/src/libdbus-c++-1.la $(PTHREAD_LIBS)
+echo_client_mt_CXXFLAGS = $(PTHREAD_CFLAGS)
+BUILT_SOURCES = echo-server-glue.h echo-client-glue.h
+CLEANFILES = $(BUILT_SOURCES)
+MAINTAINERCLEANFILES = \
+	Makefile.in
+
+all: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) 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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/echo/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign examples/echo/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
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+echo-client-mt$(EXEEXT): $(echo_client_mt_OBJECTS) $(echo_client_mt_DEPENDENCIES) 
+	@rm -f echo-client-mt$(EXEEXT)
+	$(echo_client_mt_LINK) $(echo_client_mt_OBJECTS) $(echo_client_mt_LDADD) $(LIBS)
+echo-server$(EXEEXT): $(echo_server_OBJECTS) $(echo_server_DEPENDENCIES) 
+	@rm -f echo-server$(EXEEXT)
+	$(CXXLINK) $(echo_server_OBJECTS) $(echo_server_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/echo-server.Po
+include ./$(DEPDIR)/echo_client_mt-echo-client.Po
+
+.cpp.o:
+	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+#	source='$<' object='$@' libtool=yes \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(LTCXXCOMPILE) -c -o $@ $<
+
+echo_client_mt-echo-client.o: echo-client.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(echo_client_mt_CXXFLAGS) $(CXXFLAGS) -MT echo_client_mt-echo-client.o -MD -MP -MF $(DEPDIR)/echo_client_mt-echo-client.Tpo -c -o echo_client_mt-echo-client.o `test -f 'echo-client.cpp' || echo '$(srcdir)/'`echo-client.cpp
+	$(am__mv) $(DEPDIR)/echo_client_mt-echo-client.Tpo $(DEPDIR)/echo_client_mt-echo-client.Po
+#	source='echo-client.cpp' object='echo_client_mt-echo-client.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(echo_client_mt_CXXFLAGS) $(CXXFLAGS) -c -o echo_client_mt-echo-client.o `test -f 'echo-client.cpp' || echo '$(srcdir)/'`echo-client.cpp
+
+echo_client_mt-echo-client.obj: echo-client.cpp
+	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(echo_client_mt_CXXFLAGS) $(CXXFLAGS) -MT echo_client_mt-echo-client.obj -MD -MP -MF $(DEPDIR)/echo_client_mt-echo-client.Tpo -c -o echo_client_mt-echo-client.obj `if test -f 'echo-client.cpp'; then $(CYGPATH_W) 'echo-client.cpp'; else $(CYGPATH_W) '$(srcdir)/echo-client.cpp'; fi`
+	$(am__mv) $(DEPDIR)/echo_client_mt-echo-client.Tpo $(DEPDIR)/echo_client_mt-echo-client.Po
+#	source='echo-client.cpp' object='echo_client_mt-echo-client.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+#	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(echo_client_mt_CXXFLAGS) $(CXXFLAGS) -c -o echo_client_mt-echo-client.obj `if test -f 'echo-client.cpp'; then $(CYGPATH_W) 'echo-client.cpp'; else $(CYGPATH_W) '$(srcdir)/echo-client.cpp'; fi`
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+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; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	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; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	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; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__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)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+check-am: all-am
+check: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) 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:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+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-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags dist-hook 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-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	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
+
+
+echo-server-glue.h: echo-introspect.xml
+	$(top_builddir)/tools/dbusxx-xml2cpp $^ --adaptor=$@
+
+echo-client-glue.h: echo-introspect.xml
+	$(top_builddir)/tools/dbusxx-xml2cpp $^ --proxy=$@
+
+dist-hook:
+	cd $(distdir); rm -f $(BUILT_SOURCES)
+
+# 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/jni/libdbus-c++-0.9.0-android/examples/echo/Makefile.am b/jni/libdbus-c++-0.9.0-android/examples/echo/Makefile.am
new file mode 100644
index 0000000..35d7b57
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/Makefile.am
@@ -0,0 +1,29 @@
+EXTRA_DIST = README echo-introspect.xml
+
+AM_CPPFLAGS = -I$(top_srcdir)/include 
+
+noinst_PROGRAMS = echo-server
+
+echo_server_SOURCES = echo-server-glue.h echo-server.h echo-server.cpp
+echo_server_LDADD = $(top_builddir)/src/libdbus-c++-1.la
+
+echo-server-glue.h: echo-introspect.xml
+	$(top_builddir)/tools/dbusxx-xml2cpp $^ --adaptor=$@
+
+noinst_PROGRAMS += echo-client-mt
+
+echo_client_mt_SOURCES = echo-client-glue.h echo-client.h echo-client.cpp
+echo_client_mt_LDADD = $(top_builddir)/src/libdbus-c++-1.la $(PTHREAD_LIBS)
+echo_client_mt_CXXFLAGS = $(PTHREAD_CFLAGS)
+
+echo-client-glue.h: echo-introspect.xml
+	$(top_builddir)/tools/dbusxx-xml2cpp $^ --proxy=$@
+
+BUILT_SOURCES = echo-server-glue.h echo-client-glue.h
+CLEANFILES = $(BUILT_SOURCES)
+
+dist-hook:
+	cd $(distdir); rm -f $(BUILT_SOURCES)
+
+MAINTAINERCLEANFILES = \
+	Makefile.in
diff --git a/jni/libdbus-c++-0.9.0-android/examples/echo/Makefile.in b/jni/libdbus-c++-0.9.0-android/examples/echo/Makefile.in
new file mode 100644
index 0000000..2cceb7d
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/Makefile.in
@@ -0,0 +1,560 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = echo-server$(EXEEXT) echo-client-mt$(EXEEXT)
+subdir = examples/echo
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_echo_client_mt_OBJECTS = echo_client_mt-echo-client.$(OBJEXT)
+echo_client_mt_OBJECTS = $(am_echo_client_mt_OBJECTS)
+am__DEPENDENCIES_1 =
+echo_client_mt_DEPENDENCIES = $(top_builddir)/src/libdbus-c++-1.la \
+	$(am__DEPENDENCIES_1)
+echo_client_mt_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(echo_client_mt_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+am_echo_server_OBJECTS = echo-server.$(OBJEXT)
+echo_server_OBJECTS = $(am_echo_server_OBJECTS)
+echo_server_DEPENDENCIES = $(top_builddir)/src/libdbus-c++-1.la
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--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 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+SOURCES = $(echo_client_mt_SOURCES) $(echo_server_SOURCES)
+DIST_SOURCES = $(echo_client_mt_SOURCES) $(echo_server_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_LIBDBUS_CXX_DIR = @BUILD_LIBDBUS_CXX_DIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CXX_FOR_BUILD = @CXX_FOR_BUILD@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+RANLIB = @RANLIB@
+RT_LIBS = @RT_LIBS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+acx_pthread_config = @acx_pthread_config@
+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@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+dbus_CFLAGS = @dbus_CFLAGS@
+dbus_LIBS = @dbus_LIBS@
+docdir = @docdir@
+dvidir = @dvidir@
+ecore_CFLAGS = @ecore_CFLAGS@
+ecore_LIBS = @ecore_LIBS@
+exec_prefix = @exec_prefix@
+glib_CFLAGS = @glib_CFLAGS@
+glib_LIBS = @glib_LIBS@
+gtkmm_CFLAGS = @gtkmm_CFLAGS@
+gtkmm_LIBS = @gtkmm_LIBS@
+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@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+xml_CFLAGS = @xml_CFLAGS@
+xml_LIBS = @xml_LIBS@
+EXTRA_DIST = README echo-introspect.xml
+AM_CPPFLAGS = -I$(top_srcdir)/include 
+echo_server_SOURCES = echo-server-glue.h echo-server.h echo-server.cpp
+echo_server_LDADD = $(top_builddir)/src/libdbus-c++-1.la
+echo_client_mt_SOURCES = echo-client-glue.h echo-client.h echo-client.cpp
+echo_client_mt_LDADD = $(top_builddir)/src/libdbus-c++-1.la $(PTHREAD_LIBS)
+echo_client_mt_CXXFLAGS = $(PTHREAD_CFLAGS)
+BUILT_SOURCES = echo-server-glue.h echo-client-glue.h
+CLEANFILES = $(BUILT_SOURCES)
+MAINTAINERCLEANFILES = \
+	Makefile.in
+
+all: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) 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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/echo/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign examples/echo/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
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+echo-client-mt$(EXEEXT): $(echo_client_mt_OBJECTS) $(echo_client_mt_DEPENDENCIES) 
+	@rm -f echo-client-mt$(EXEEXT)
+	$(echo_client_mt_LINK) $(echo_client_mt_OBJECTS) $(echo_client_mt_LDADD) $(LIBS)
+echo-server$(EXEEXT): $(echo_server_OBJECTS) $(echo_server_DEPENDENCIES) 
+	@rm -f echo-server$(EXEEXT)
+	$(CXXLINK) $(echo_server_OBJECTS) $(echo_server_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo-server.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_client_mt-echo-client.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@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@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@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 $@ $<
+
+echo_client_mt-echo-client.o: echo-client.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(echo_client_mt_CXXFLAGS) $(CXXFLAGS) -MT echo_client_mt-echo-client.o -MD -MP -MF $(DEPDIR)/echo_client_mt-echo-client.Tpo -c -o echo_client_mt-echo-client.o `test -f 'echo-client.cpp' || echo '$(srcdir)/'`echo-client.cpp
+@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/echo_client_mt-echo-client.Tpo $(DEPDIR)/echo_client_mt-echo-client.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='echo-client.cpp' object='echo_client_mt-echo-client.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(echo_client_mt_CXXFLAGS) $(CXXFLAGS) -c -o echo_client_mt-echo-client.o `test -f 'echo-client.cpp' || echo '$(srcdir)/'`echo-client.cpp
+
+echo_client_mt-echo-client.obj: echo-client.cpp
+@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(echo_client_mt_CXXFLAGS) $(CXXFLAGS) -MT echo_client_mt-echo-client.obj -MD -MP -MF $(DEPDIR)/echo_client_mt-echo-client.Tpo -c -o echo_client_mt-echo-client.obj `if test -f 'echo-client.cpp'; then $(CYGPATH_W) 'echo-client.cpp'; else $(CYGPATH_W) '$(srcdir)/echo-client.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/echo_client_mt-echo-client.Tpo $(DEPDIR)/echo_client_mt-echo-client.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='echo-client.cpp' object='echo_client_mt-echo-client.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(echo_client_mt_CXXFLAGS) $(CXXFLAGS) -c -o echo_client_mt-echo-client.obj `if test -f 'echo-client.cpp'; then $(CYGPATH_W) 'echo-client.cpp'; else $(CYGPATH_W) '$(srcdir)/echo-client.cpp'; fi`
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+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; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	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; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	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; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__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)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
+check-am: all-am
+check: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) 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:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+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-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags dist-hook 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-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	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
+
+
+echo-server-glue.h: echo-introspect.xml
+	$(top_builddir)/tools/dbusxx-xml2cpp $^ --adaptor=$@
+
+echo-client-glue.h: echo-introspect.xml
+	$(top_builddir)/tools/dbusxx-xml2cpp $^ --proxy=$@
+
+dist-hook:
+	cd $(distdir); rm -f $(BUILT_SOURCES)
+
+# 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/jni/libdbus-c++-0.9.0-android/examples/echo/README b/jni/libdbus-c++-0.9.0-android/examples/echo/README
new file mode 100644
index 0000000..74e1d6d
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/README
@@ -0,0 +1,23 @@
+This is probably the most simple D-Bus program you could conceive
+
+To test, run `DBUSXX_VERBOSE=1 ./echo-server` and try the following commands:
+
+dbus-send --dest=org.freedesktop.DBus.Examples.Echo --type=method_call --print-reply /org/freedesktop/DBus/Examples/Echo org.freedesktop.DBus.EchoDemo.Random
+
+dbus-send --dest=org.freedesktop.DBus.Examples.Echo --type=method_call --print-reply /org/freedesktop/DBus/Examples/Echo org.freedesktop.DBus.EchoDemo.Hello string:"world"
+
+dbus-send --dest=org.freedesktop.DBus.Examples.Echo --type=method_call --print-reply /org/freedesktop/DBus/Examples/Echo org.freedesktop.DBus.EchoDemo.Sum array:int32:10,100,250
+
+dbus-send --dest=org.freedesktop.DBus.Examples.Echo --type=method_call --print-reply /org/freedesktop/DBus/Examples/Echo org.freedesktop.DBus.EchoDemo.Info
+
+or, using python instead
+
+$ python
+import dbus
+bus = dbus.SessionBus()
+object = bus.get_object('org.freedesktop.DBus.Examples.Echo','/org/freedesktop/DBus/Examples/Echo')
+echo = dbus.Interface(object, dbus_interface='org.freedesktop.DBus.EchoDemo')
+echo.Random()
+echo.Hello("world")
+echo.Sum([123, 234, 95, 520])
+echo.Info()
diff --git a/jni/libdbus-c++-0.9.0-android/examples/echo/echo-client.cpp b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-client.cpp
new file mode 100644
index 0000000..84a7d6a
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-client.cpp
@@ -0,0 +1,132 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "echo-client.h"
+#include <iostream>
+#include <pthread.h>
+#include <signal.h>
+#include <stdio.h>
+#include <cstring>
+
+using namespace std;
+
+static const char *ECHO_SERVER_NAME = "org.freedesktop.DBus.Examples.Echo";
+static const char *ECHO_SERVER_PATH = "/org/freedesktop/DBus/Examples/Echo";
+
+EchoClient::EchoClient(DBus::Connection &connection, const char *path, const char *name)
+  : DBus::ObjectProxy(connection, path, name)
+{
+}
+
+void EchoClient::Echoed(const DBus::Variant &value)
+{
+  cout << "!";
+}
+
+static const size_t THREADS = 3;
+
+static bool spin = true;
+
+EchoClient *g_client = NULL;
+
+DBus::Pipe *thread_pipe_list[THREADS];
+
+DBus::BusDispatcher dispatcher;
+DBus::DefaultTimeout *timeout;
+
+void *greeter_thread(void *arg)
+{
+  char idstr[16];
+  size_t i = (size_t) arg;
+
+  snprintf(idstr, sizeof(idstr), "%lu", pthread_self());
+
+  thread_pipe_list[i]->write(idstr, strlen(idstr) + 1);
+
+  cout << idstr << " done (" << i << ")" << endl;
+
+  return NULL;
+}
+
+void niam(int sig)
+{
+  spin = false;
+
+  dispatcher.leave();
+}
+
+void handler1(const void *data, void *buffer, unsigned int nbyte)
+{
+  char *str = (char *) buffer;
+  cout << "buffer1: " << str << ", size: " << nbyte << endl;
+  for (int i = 0; i < 30 && spin; ++i)
+  {
+    cout << "call1: " << g_client->Hello(str) << endl;
+  }
+}
+
+void handler2(const void *data, void *buffer, unsigned int nbyte)
+{
+  char *str = (char *) buffer;
+  cout << "buffer2: " << str << ", size: " << nbyte << endl;
+  for (int i = 0; i < 30 && spin; ++i)
+  {
+    cout << "call2: " << g_client->Hello(str) << endl;
+  }
+}
+
+void handler3(const void *data, void *buffer, unsigned int nbyte)
+{
+  char *str = (char *) buffer;
+  cout << "buffer3: " << str << ", size: " << nbyte << endl;
+  for (int i = 0; i < 30 && spin; ++i)
+  {
+    cout << "call3: " << g_client->Hello(str) << endl;
+  }
+}
+
+int main()
+{
+  size_t i;
+
+  signal(SIGTERM, niam);
+  signal(SIGINT, niam);
+
+  DBus::_init_threading();
+
+  DBus::default_dispatcher = &dispatcher;
+
+  // increase DBus-C++ frequency
+  new DBus::DefaultTimeout(100, false, &dispatcher);
+
+  DBus::Connection conn = DBus::Connection::SessionBus();
+
+  EchoClient client(conn, ECHO_SERVER_PATH, ECHO_SERVER_NAME);
+  g_client = &client;
+
+  pthread_t threads[THREADS];
+
+  thread_pipe_list[0] = dispatcher.add_pipe(handler1, NULL);
+  thread_pipe_list[1] = dispatcher.add_pipe(handler2, NULL);
+  thread_pipe_list[2] = dispatcher.add_pipe(handler3, NULL);
+  for (i = 0; i < THREADS; ++i)
+  {
+    pthread_create(threads + i, NULL, greeter_thread, (void *) i);
+  }
+
+  dispatcher.enter();
+
+  cout << "terminating" << endl;
+
+  for (i = 0; i < THREADS; ++i)
+  {
+    pthread_join(threads[i], NULL);
+  }
+
+  dispatcher.del_pipe(thread_pipe_list[0]);
+  dispatcher.del_pipe(thread_pipe_list[1]);
+  dispatcher.del_pipe(thread_pipe_list[2]);
+
+  return 0;
+}
diff --git a/jni/libdbus-c++-0.9.0-android/examples/echo/echo-client.h b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-client.h
new file mode 100644
index 0000000..16b0d4f
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-client.h
@@ -0,0 +1,19 @@
+#ifndef __DEMO_ECHO_CLIENT_H
+#define __DEMO_ECHO_CLIENT_H
+
+#include <dbus-c++/dbus.h>
+#include "echo-client-glue.h"
+
+class EchoClient
+  : public org::freedesktop::DBus::EchoDemo_proxy,
+  public DBus::IntrospectableProxy,
+  public DBus::ObjectProxy
+{
+public:
+
+  EchoClient(DBus::Connection &connection, const char *path, const char *name);
+
+  void Echoed(const DBus::Variant &value);
+};
+
+#endif//__DEMO_ECHO_CLIENT_H
diff --git a/jni/libdbus-c++-0.9.0-android/examples/echo/echo-introspect.xml b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-introspect.xml
new file mode 100644
index 0000000..899612a
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-introspect.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" ?>
+<node name="/org/freedesktop/DBus/Examples/Echo">
+  <interface name="org.freedesktop.DBus.EchoDemo">
+    <method name="Random">
+      <arg type="i" name="version" direction="out"/>
+    </method>
+    <method name="Hello">
+      <arg type="s" name="name" direction="in"/>
+      <arg type="s" name="greeting" direction="out"/>
+    </method>
+    <method name="Echo">
+      <arg type="v" name="input" direction="in"/>
+      <arg type="v" name="output" direction="out"/>
+    </method>
+    <method name="Cat">
+      <arg type="s" name="file" direction="in"/>
+      <arg type="ay" name="stream" direction="out"/>
+    </method>
+    <method name="Sum">
+      <arg type="ai" name="ints" direction="in"/>
+      <arg type="i" names="sum" direction="out"/>
+    </method>
+    <signal name="Echoed">
+      <arg type="v" name="value"/>
+    </signal>
+    <method name="Info">
+      <arg type="a{ss}" name="info" direction="out"/>
+    </method>
+    
+  </interface>
+</node>
diff --git a/jni/libdbus-c++-0.9.0-android/examples/echo/echo-server.cpp b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-server.cpp
new file mode 100644
index 0000000..4f17046
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-server.cpp
@@ -0,0 +1,96 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "echo-server.h"
+#include <unistd.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <stdio.h>
+#include <limits.h>
+
+static const char *ECHO_SERVER_NAME = "org.freedesktop.DBus.Examples.Echo";
+static const char *ECHO_SERVER_PATH = "/org/freedesktop/DBus/Examples/Echo";
+
+EchoServer::EchoServer(DBus::Connection &connection)
+  : DBus::ObjectAdaptor(connection, ECHO_SERVER_PATH)
+{
+}
+
+int32_t EchoServer::Random()
+{
+  return rand();
+}
+
+std::string EchoServer::Hello(const std::string &name)
+{
+  return "Hello " + name + "!";
+}
+
+DBus::Variant EchoServer::Echo(const DBus::Variant &value)
+{
+  this->Echoed(value);
+
+  return value;
+}
+
+std::vector< uint8_t > EchoServer::Cat(const std::string &file)
+{
+  FILE *handle = fopen(file.c_str(), "rb");
+
+  if (!handle) throw DBus::Error("org.freedesktop.DBus.EchoDemo.ErrorFileNotFound", "file not found");
+
+  uint8_t buff[1024];
+
+  size_t nread = fread(buff, 1, sizeof(buff), handle);
+
+  fclose(handle);
+
+  return std::vector< uint8_t > (buff, buff + nread);
+}
+
+int32_t EchoServer::Sum(const std::vector<int32_t>& ints)
+{
+  int32_t sum = 0;
+
+  for (size_t i = 0; i < ints.size(); ++i) sum += ints[i];
+
+  return sum;
+}
+
+std::map< std::string, std::string > EchoServer::Info()
+{
+  std::map< std::string, std::string > info;
+  char hostname[HOST_NAME_MAX];
+
+  gethostname(hostname, sizeof(hostname));
+  info["hostname"] = hostname;
+  info["username"] = getlogin();
+
+  return info;
+}
+
+
+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::SessionBus();
+  conn.request_name(ECHO_SERVER_NAME);
+
+  EchoServer server(conn);
+
+  dispatcher.enter();
+
+  return 0;
+}
diff --git a/jni/libdbus-c++-0.9.0-android/examples/echo/echo-server.h b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-server.h
new file mode 100644
index 0000000..8f853fb
--- /dev/null
+++ b/jni/libdbus-c++-0.9.0-android/examples/echo/echo-server.h
@@ -0,0 +1,29 @@
+#ifndef __DEMO_ECHO_SERVER_H
+#define __DEMO_ECHO_SERVER_H
+
+#include <dbus-c++/dbus.h>
+#include "echo-server-glue.h"
+
+class EchoServer
+  : public org::freedesktop::DBus::EchoDemo_adaptor,
+  public DBus::IntrospectableAdaptor,
+  public DBus::ObjectAdaptor
+{
+public:
+
+  EchoServer(DBus::Connection &connection);
+
+  int32_t Random();
+
+  std::string Hello(const std::string &name);
+
+  DBus::Variant Echo(const DBus::Variant &value);
+
+  std::vector< uint8_t > Cat(const std::string &file);
+
+  int32_t Sum(const std::vector<int32_t> & ints);
+
+  std::map< std::string, std::string > Info();
+};
+
+#endif//__DEMO_ECHO_SERVER_H