From abbf0ada12eba0c54263ad05c995622c81a94e25 Mon Sep 17 00:00:00 2001
From: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com>
Date: Tue, 28 Aug 2007 09:53:46 -0400
Subject: [PATCH] Initial C++ code and doc

---
 configure.ac                         |  11 +-
 src/dbus/Makefile.am                 |  12 +
 src/dbus/README                      |   5 +
 src/dbus/callmanager-glue.h          | 391 ++++++++++++++++++
 src/dbus/configurationmanager-glue.h | 577 +++++++++++++++++++++++++++
 5 files changed, 994 insertions(+), 2 deletions(-)
 create mode 100644 src/dbus/Makefile.am
 create mode 100644 src/dbus/README
 create mode 100644 src/dbus/callmanager-glue.h
 create mode 100644 src/dbus/configurationmanager-glue.h

diff --git a/configure.ac b/configure.ac
index 347a5dcbac..c1e87e5dee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -31,6 +31,7 @@ AC_CONFIG_FILES([libs/Makefile \
   libs/utilspp/Makefile \
   libs/utilspp/functor/Makefile \
   libs/utilspp/singleton/Makefile])
+  
 AC_CONFIG_FILES([src/Makefile \
   src/sflphone \
   src/audio/Makefile \
@@ -40,13 +41,19 @@ AC_CONFIG_FILES([src/Makefile \
   src/gui/qt/Makefile \
   src/gui/cli/Makefile \
   src/gui/server/Makefile \
+  src/dbus/Makefile \
   src/zeroconf/Makefile])
+  
 AC_CONFIG_FILES([skins/Makefile \
   skins/metal/Makefile \
   skins/gmetal/Makefile \
   ringtones/Makefile])
-AC_CONFIG_FILES([platform/debian/changelog platform/rpm/sflphone.spec \
-  platform/fedora/sflphone.spec platform/fedora/sflphone-fc6.spec])
+  
+AC_CONFIG_FILES([platform/debian/changelog \
+  platform/rpm/sflphone.spec \
+  platform/fedora/sflphone.spec \
+  platform/fedora/sflphone-fc6.spec])
+  
 dnl the file stamp-h.in should be there before (instead of AC_CONFIG_HEADERS(config.h))
 AM_CONFIG_HEADER(config.h)
 
diff --git a/src/dbus/Makefile.am b/src/dbus/Makefile.am
new file mode 100644
index 0000000000..99d24a797a
--- /dev/null
+++ b/src/dbus/Makefile.am
@@ -0,0 +1,12 @@
+SUBDIRS = 
+
+EXTRA_DIST = *.xml
+
+noinst_LTLIBRARIES = libdbus.la
+
+libdbus_la_SOURCES = \
+	callmanager-glue.h
+
+AM_CXXFLAGS = $(libccext2_CFLAGS)
+libdbus_la_LIBADD = $(LIB_DNSSD) 
+
diff --git a/src/dbus/README b/src/dbus/README
new file mode 100644
index 0000000000..ccd008ad37
--- /dev/null
+++ b/src/dbus/README
@@ -0,0 +1,5 @@
+To build a new dbus interface:
+
+1. Define the API with a xml file.
+2. Generate the glue.h header by running "dbusxx-xml2cpp file.xml --adaptor=file.h"
+3. Inheritate from that glue.h class in your code.
diff --git a/src/dbus/callmanager-glue.h b/src/dbus/callmanager-glue.h
new file mode 100644
index 0000000000..154442e3a0
--- /dev/null
+++ b/src/dbus/callmanager-glue.h
@@ -0,0 +1,391 @@
+
+/*
+ *	This file was automatically generated by dbusxx-xml2cpp; DO NOT EDIT!
+ */
+
+#ifndef __dbusxx__callmanager_glue_h__ADAPTOR_MARSHAL_H
+#define __dbusxx__callmanager_glue_h__ADAPTOR_MARSHAL_H
+
+#include <dbus-c++/dbus.h>
+
+namespace org {
+namespace sflphone {
+
+class CallManager
+: public ::DBus::InterfaceAdaptor
+{
+public:
+
+    CallManager()
+    : ::DBus::InterfaceAdaptor("org.sflphone.CallManager")
+    {
+        register_method(CallManager, call, _call_stub);
+        register_method(CallManager, refuse, _refuse_stub);
+        register_method(CallManager, accept, _accept_stub);
+        register_method(CallManager, hangUp, _hangUp_stub);
+        register_method(CallManager, hold, _hold_stub);
+        register_method(CallManager, unhold, _unhold_stub);
+        register_method(CallManager, transfert, _transfert_stub);
+        register_method(CallManager, setVolume, _setVolume_stub);
+        register_method(CallManager, getVolume, _getVolume_stub);
+        register_method(CallManager, getVoiceMailCount, _getVoiceMailCount_stub);
+        register_method(CallManager, getCallDetails, _getCallDetails_stub);
+        register_method(CallManager, getCurrentCallID, _getCurrentCallID_stub);
+    }
+
+    ::DBus::IntrospectedInterface* const introspect() const 
+    {
+        static ::DBus::IntrospectedArgument call_args[] = 
+        {
+            { "accountID", "s", true },
+            { "callID", "s", true },
+            { "to", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument refuse_args[] = 
+        {
+            { "callID", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument accept_args[] = 
+        {
+            { "callID", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument hangUp_args[] = 
+        {
+            { "callID", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument hold_args[] = 
+        {
+            { "callID", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument unhold_args[] = 
+        {
+            { "callID", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument transfert_args[] = 
+        {
+            { "callID", "s", true },
+            { "to", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setVolume_args[] = 
+        {
+            { "device", "s", true },
+            { "value", "f", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getVolume_args[] = 
+        {
+            { "device", "s", true },
+            { "value", "f", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getVoiceMailCount_args[] = 
+        {
+            { "count", "i", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getCallDetails_args[] = 
+        {
+            { "callID", "s", true },
+            { "infos", "a{ss}", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getCurrentCallID_args[] = 
+        {
+            { "callID", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument incommingCall_args[] = 
+        {
+            { "accountID", "s", false },
+            { "callID", "s", false },
+            { "from", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument incommingMessage_args[] = 
+        {
+            { "accountID", "s", false },
+            { "from", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument ring_args[] = 
+        {
+            { "callID", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument pickedUp_args[] = 
+        {
+            { "callID", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument hungUp_args[] = 
+        {
+            { "callID", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument volumeChanged_args[] = 
+        {
+            { "device", "s", false },
+            { "value", "f", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument error_args[] = 
+        {
+            { "details", "a{ss}", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedMethod CallManager_methods[] = 
+        {
+            { "call", call_args },
+            { "refuse", refuse_args },
+            { "accept", accept_args },
+            { "hangUp", hangUp_args },
+            { "hold", hold_args },
+            { "unhold", unhold_args },
+            { "transfert", transfert_args },
+            { "setVolume", setVolume_args },
+            { "getVolume", getVolume_args },
+            { "getVoiceMailCount", getVoiceMailCount_args },
+            { "getCallDetails", getCallDetails_args },
+            { "getCurrentCallID", getCurrentCallID_args },
+            { 0, 0 }
+        };
+        static ::DBus::IntrospectedMethod CallManager_signals[] = 
+        {
+            { "incommingCall", incommingCall_args },
+            { "incommingMessage", incommingMessage_args },
+            { "ring", ring_args },
+            { "pickedUp", pickedUp_args },
+            { "hungUp", hungUp_args },
+            { "volumeChanged", volumeChanged_args },
+            { "error", error_args },
+            { 0, 0 }
+        };
+        static ::DBus::IntrospectedProperty CallManager_properties[] = 
+        {
+            { 0, 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedInterface CallManager_interface = 
+        {
+            "org.sflphone.CallManager",
+            CallManager_methods,
+            CallManager_signals,
+            CallManager_properties
+        };
+        return &CallManager_interface;
+    }
+
+public:
+
+    /* properties exposed by this interface, use
+     * property() and property(value) to get and set a particular property
+     */
+
+public:
+
+    /* methods exported by this interface,
+     * you will have to implement them in your ObjectAdaptor
+     */
+    virtual void call( const ::DBus::String& accountID, const ::DBus::String& callID, const ::DBus::String& to ) = 0;
+    virtual void refuse( const ::DBus::String& callID ) = 0;
+    virtual void accept( const ::DBus::String& callID ) = 0;
+    virtual void hangUp( const ::DBus::String& callID ) = 0;
+    virtual void hold( const ::DBus::String& callID ) = 0;
+    virtual void unhold( const ::DBus::String& callID ) = 0;
+    virtual void transfert( const ::DBus::String& callID, const ::DBus::String& to ) = 0;
+    virtual void setVolume( const ::DBus::String& device, const & value ) = 0;
+    virtual  getVolume( const ::DBus::String& device ) = 0;
+    virtual ::DBus::Int32 getVoiceMailCount(  ) = 0;
+    virtual std::map< ::DBus::String, ::DBus::String > getCallDetails( const ::DBus::String& callID ) = 0;
+    virtual ::DBus::String getCurrentCallID(  ) = 0;
+
+public:
+
+    /* signal emitters for this interface
+     */
+    void incommingCall( const ::DBus::String& arg1, const ::DBus::String& arg2, const ::DBus::String& arg3 )
+    {
+        ::DBus::SignalMessage sig("incommingCall");
+        ::DBus::MessageIter wi = sig.writer();
+        wi << arg1;
+        wi << arg2;
+        wi << arg3;
+        emit_signal(sig);
+    }
+    void incommingMessage( const ::DBus::String& arg1, const ::DBus::String& arg2 )
+    {
+        ::DBus::SignalMessage sig("incommingMessage");
+        ::DBus::MessageIter wi = sig.writer();
+        wi << arg1;
+        wi << arg2;
+        emit_signal(sig);
+    }
+    void ring( const ::DBus::String& arg1 )
+    {
+        ::DBus::SignalMessage sig("ring");
+        ::DBus::MessageIter wi = sig.writer();
+        wi << arg1;
+        emit_signal(sig);
+    }
+    void pickedUp( const ::DBus::String& arg1 )
+    {
+        ::DBus::SignalMessage sig("pickedUp");
+        ::DBus::MessageIter wi = sig.writer();
+        wi << arg1;
+        emit_signal(sig);
+    }
+    void hungUp( const ::DBus::String& arg1 )
+    {
+        ::DBus::SignalMessage sig("hungUp");
+        ::DBus::MessageIter wi = sig.writer();
+        wi << arg1;
+        emit_signal(sig);
+    }
+    void volumeChanged( const ::DBus::String& arg1, const & arg2 )
+    {
+        ::DBus::SignalMessage sig("volumeChanged");
+        ::DBus::MessageIter wi = sig.writer();
+        wi << arg1;
+        wi << arg2;
+        emit_signal(sig);
+    }
+    void error( const std::map< ::DBus::String, ::DBus::String >& arg1 )
+    {
+        ::DBus::SignalMessage sig("error");
+        ::DBus::MessageIter wi = sig.writer();
+        wi << arg1;
+        emit_signal(sig);
+    }
+
+private:
+
+    /* unmarshalers (to unpack the DBus message before calling the actual interface method)
+     */
+    ::DBus::Message _call_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        ::DBus::String argin2; ri >> argin2;
+        ::DBus::String argin3; ri >> argin3;
+        call(argin1, argin2, argin3);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _refuse_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        refuse(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _accept_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        accept(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _hangUp_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        hangUp(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _hold_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        hold(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _unhold_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        unhold(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _transfert_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        ::DBus::String argin2; ri >> argin2;
+        transfert(argin1, argin2);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _setVolume_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+         argin2; ri >> argin2;
+        setVolume(argin1, argin2);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getVolume_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+         argout1 = getVolume(argin1);
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getVoiceMailCount_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::Int32 argout1 = getVoiceMailCount();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getCallDetails_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        std::map< ::DBus::String, ::DBus::String > argout1 = getCallDetails(argin1);
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getCurrentCallID_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argout1 = getCurrentCallID();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+};
+
+} } 
+#endif//__dbusxx__callmanager_glue_h__ADAPTOR_MARSHAL_H
diff --git a/src/dbus/configurationmanager-glue.h b/src/dbus/configurationmanager-glue.h
new file mode 100644
index 0000000000..93cb0341e4
--- /dev/null
+++ b/src/dbus/configurationmanager-glue.h
@@ -0,0 +1,577 @@
+
+/*
+ *	This file was automatically generated by dbusxx-xml2cpp; DO NOT EDIT!
+ */
+
+#ifndef __dbusxx__configurationmanager_glue_h__ADAPTOR_MARSHAL_H
+#define __dbusxx__configurationmanager_glue_h__ADAPTOR_MARSHAL_H
+
+#include <dbus-c++/dbus.h>
+
+namespace org {
+namespace sflphone {
+
+class ConfigurationManager
+: public ::DBus::InterfaceAdaptor
+{
+public:
+
+    ConfigurationManager()
+    : ::DBus::InterfaceAdaptor("org.sflphone.ConfigurationManager")
+    {
+        register_method(ConfigurationManager, getAccountDetails, _getAccountDetails_stub);
+        register_method(ConfigurationManager, addAccount, _addAccount_stub);
+        register_method(ConfigurationManager, getAccountList, _getAccountList_stub);
+        register_method(ConfigurationManager, setSTUN, _setSTUN_stub);
+        register_method(ConfigurationManager, getSTUN, _getSTUN_stub);
+        register_method(ConfigurationManager, setPlayTonesLocally, _setPlayTonesLocally_stub);
+        register_method(ConfigurationManager, getPlayTonesLocally, _getPlayTonesLocally_stub);
+        register_method(ConfigurationManager, setTonePulseLenght, _setTonePulseLenght_stub);
+        register_method(ConfigurationManager, getTonePulseLenght, _getTonePulseLenght_stub);
+        register_method(ConfigurationManager, getToneLocaleList, _getToneLocaleList_stub);
+        register_method(ConfigurationManager, setToneLocale, _setToneLocale_stub);
+        register_method(ConfigurationManager, getToneLocale, _getToneLocale_stub);
+        register_method(ConfigurationManager, getVersion, _getVersion_stub);
+        register_method(ConfigurationManager, getRingtoneList, _getRingtoneList_stub);
+        register_method(ConfigurationManager, setRingtone, _setRingtone_stub);
+        register_method(ConfigurationManager, getRingtone, _getRingtone_stub);
+        register_method(ConfigurationManager, getCodecList, _getCodecList_stub);
+        register_method(ConfigurationManager, setCodecPreferedOrder, _setCodecPreferedOrder_stub);
+        register_method(ConfigurationManager, getCodecPreferedOrder, _getCodecPreferedOrder_stub);
+        register_method(ConfigurationManager, getPlaybackDeviceList, _getPlaybackDeviceList_stub);
+        register_method(ConfigurationManager, setPlaybackDevice, _setPlaybackDevice_stub);
+        register_method(ConfigurationManager, getPlaybackDevice, _getPlaybackDevice_stub);
+        register_method(ConfigurationManager, getRecordDeviceList, _getRecordDeviceList_stub);
+        register_method(ConfigurationManager, setRecordDevice, _setRecordDevice_stub);
+        register_method(ConfigurationManager, getRecordDevice, _getRecordDevice_stub);
+        register_method(ConfigurationManager, getSampleRateList, _getSampleRateList_stub);
+        register_method(ConfigurationManager, setSampleRate, _setSampleRate_stub);
+        register_method(ConfigurationManager, getSampleRate, _getSampleRate_stub);
+    }
+
+    ::DBus::IntrospectedInterface* const introspect() const 
+    {
+        static ::DBus::IntrospectedArgument getAccountDetails_args[] = 
+        {
+            { "accountID", "s", true },
+            { "details", "a{ss}", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument addAccount_args[] = 
+        {
+            { "details", "a{ss}", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getAccountList_args[] = 
+        {
+            { "list", "as", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setSTUN_args[] = 
+        {
+            { "details", "a{ss}", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getSTUN_args[] = 
+        {
+            { "details", "a{ss}", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setPlayTonesLocally_args[] = 
+        {
+            { "flag", "b", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getPlayTonesLocally_args[] = 
+        {
+            { "flag", "b", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setTonePulseLenght_args[] = 
+        {
+            { "milliseconds", "i", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getTonePulseLenght_args[] = 
+        {
+            { "milliseconds", "i", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getToneLocaleList_args[] = 
+        {
+            { "list", "as", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setToneLocale_args[] = 
+        {
+            { "locale", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getToneLocale_args[] = 
+        {
+            { "locale", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getVersion_args[] = 
+        {
+            { "version", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getRingtoneList_args[] = 
+        {
+            { "list", "as", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setRingtone_args[] = 
+        {
+            { "ringtone", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getRingtone_args[] = 
+        {
+            { "ringtone", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getCodecList_args[] = 
+        {
+            { "list", "as", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setCodecPreferedOrder_args[] = 
+        {
+            { "ringtone", "as", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getCodecPreferedOrder_args[] = 
+        {
+            { "ringtone", "as", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getPlaybackDeviceList_args[] = 
+        {
+            { "list", "as", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setPlaybackDevice_args[] = 
+        {
+            { "device", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getPlaybackDevice_args[] = 
+        {
+            { "device", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getRecordDeviceList_args[] = 
+        {
+            { "list", "as", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setRecordDevice_args[] = 
+        {
+            { "device", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getRecordDevice_args[] = 
+        {
+            { "device", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getSampleRateList_args[] = 
+        {
+            { "list", "as", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument setSampleRate_args[] = 
+        {
+            { "sampleRate", "s", true },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument getSampleRate_args[] = 
+        {
+            { "sampleRate", "s", false },
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedArgument updated_args[] = 
+        {
+            { 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedMethod ConfigurationManager_methods[] = 
+        {
+            { "getAccountDetails", getAccountDetails_args },
+            { "addAccount", addAccount_args },
+            { "getAccountList", getAccountList_args },
+            { "setSTUN", setSTUN_args },
+            { "getSTUN", getSTUN_args },
+            { "setPlayTonesLocally", setPlayTonesLocally_args },
+            { "getPlayTonesLocally", getPlayTonesLocally_args },
+            { "setTonePulseLenght", setTonePulseLenght_args },
+            { "getTonePulseLenght", getTonePulseLenght_args },
+            { "getToneLocaleList", getToneLocaleList_args },
+            { "setToneLocale", setToneLocale_args },
+            { "getToneLocale", getToneLocale_args },
+            { "getVersion", getVersion_args },
+            { "getRingtoneList", getRingtoneList_args },
+            { "setRingtone", setRingtone_args },
+            { "getRingtone", getRingtone_args },
+            { "getCodecList", getCodecList_args },
+            { "setCodecPreferedOrder", setCodecPreferedOrder_args },
+            { "getCodecPreferedOrder", getCodecPreferedOrder_args },
+            { "getPlaybackDeviceList", getPlaybackDeviceList_args },
+            { "setPlaybackDevice", setPlaybackDevice_args },
+            { "getPlaybackDevice", getPlaybackDevice_args },
+            { "getRecordDeviceList", getRecordDeviceList_args },
+            { "setRecordDevice", setRecordDevice_args },
+            { "getRecordDevice", getRecordDevice_args },
+            { "getSampleRateList", getSampleRateList_args },
+            { "setSampleRate", setSampleRate_args },
+            { "getSampleRate", getSampleRate_args },
+            { 0, 0 }
+        };
+        static ::DBus::IntrospectedMethod ConfigurationManager_signals[] = 
+        {
+            { "updated", updated_args },
+            { 0, 0 }
+        };
+        static ::DBus::IntrospectedProperty ConfigurationManager_properties[] = 
+        {
+            { 0, 0, 0, 0 }
+        };
+        static ::DBus::IntrospectedInterface ConfigurationManager_interface = 
+        {
+            "org.sflphone.ConfigurationManager",
+            ConfigurationManager_methods,
+            ConfigurationManager_signals,
+            ConfigurationManager_properties
+        };
+        return &ConfigurationManager_interface;
+    }
+
+public:
+
+    /* properties exposed by this interface, use
+     * property() and property(value) to get and set a particular property
+     */
+
+public:
+
+    /* methods exported by this interface,
+     * you will have to implement them in your ObjectAdaptor
+     */
+    virtual std::map< ::DBus::String, ::DBus::String > getAccountDetails( const ::DBus::String& accountID ) = 0;
+    virtual void addAccount( const std::map< ::DBus::String, ::DBus::String >& details ) = 0;
+    virtual std::vector< ::DBus::String > getAccountList(  ) = 0;
+    virtual void setSTUN( const std::map< ::DBus::String, ::DBus::String >& details ) = 0;
+    virtual std::map< ::DBus::String, ::DBus::String > getSTUN(  ) = 0;
+    virtual void setPlayTonesLocally( const ::DBus::Bool& flag ) = 0;
+    virtual ::DBus::Bool getPlayTonesLocally(  ) = 0;
+    virtual void setTonePulseLenght( const ::DBus::Int32& milliseconds ) = 0;
+    virtual ::DBus::Int32 getTonePulseLenght(  ) = 0;
+    virtual void getToneLocaleList( const std::vector< ::DBus::String >& list ) = 0;
+    virtual void setToneLocale( const ::DBus::String& locale ) = 0;
+    virtual ::DBus::String getToneLocale(  ) = 0;
+    virtual ::DBus::String getVersion(  ) = 0;
+    virtual std::vector< ::DBus::String > getRingtoneList(  ) = 0;
+    virtual void setRingtone( const ::DBus::String& ringtone ) = 0;
+    virtual ::DBus::String getRingtone(  ) = 0;
+    virtual std::vector< ::DBus::String > getCodecList(  ) = 0;
+    virtual void setCodecPreferedOrder( const std::vector< ::DBus::String >& ringtone ) = 0;
+    virtual std::vector< ::DBus::String > getCodecPreferedOrder(  ) = 0;
+    virtual std::vector< ::DBus::String > getPlaybackDeviceList(  ) = 0;
+    virtual void setPlaybackDevice( const ::DBus::String& device ) = 0;
+    virtual ::DBus::String getPlaybackDevice(  ) = 0;
+    virtual std::vector< ::DBus::String > getRecordDeviceList(  ) = 0;
+    virtual void setRecordDevice( const ::DBus::String& device ) = 0;
+    virtual ::DBus::String getRecordDevice(  ) = 0;
+    virtual std::vector< ::DBus::String > getSampleRateList(  ) = 0;
+    virtual void setSampleRate( const ::DBus::String& sampleRate ) = 0;
+    virtual ::DBus::String getSampleRate(  ) = 0;
+
+public:
+
+    /* signal emitters for this interface
+     */
+    void updated(  )
+    {
+        ::DBus::SignalMessage sig("updated");
+        emit_signal(sig);
+    }
+
+private:
+
+    /* unmarshalers (to unpack the DBus message before calling the actual interface method)
+     */
+    ::DBus::Message _getAccountDetails_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        std::map< ::DBus::String, ::DBus::String > argout1 = getAccountDetails(argin1);
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _addAccount_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::map< ::DBus::String, ::DBus::String > argin1; ri >> argin1;
+        addAccount(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getAccountList_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::vector< ::DBus::String > argout1 = getAccountList();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _setSTUN_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::map< ::DBus::String, ::DBus::String > argin1; ri >> argin1;
+        setSTUN(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getSTUN_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::map< ::DBus::String, ::DBus::String > argout1 = getSTUN();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _setPlayTonesLocally_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::Bool argin1; ri >> argin1;
+        setPlayTonesLocally(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getPlayTonesLocally_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::Bool argout1 = getPlayTonesLocally();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _setTonePulseLenght_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::Int32 argin1; ri >> argin1;
+        setTonePulseLenght(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getTonePulseLenght_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::Int32 argout1 = getTonePulseLenght();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getToneLocaleList_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::vector< ::DBus::String > argin1; ri >> argin1;
+        getToneLocaleList(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _setToneLocale_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        setToneLocale(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getToneLocale_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argout1 = getToneLocale();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getVersion_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argout1 = getVersion();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getRingtoneList_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::vector< ::DBus::String > argout1 = getRingtoneList();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _setRingtone_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        setRingtone(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getRingtone_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argout1 = getRingtone();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getCodecList_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::vector< ::DBus::String > argout1 = getCodecList();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _setCodecPreferedOrder_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::vector< ::DBus::String > argin1; ri >> argin1;
+        setCodecPreferedOrder(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getCodecPreferedOrder_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::vector< ::DBus::String > argout1 = getCodecPreferedOrder();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getPlaybackDeviceList_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::vector< ::DBus::String > argout1 = getPlaybackDeviceList();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _setPlaybackDevice_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        setPlaybackDevice(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getPlaybackDevice_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argout1 = getPlaybackDevice();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getRecordDeviceList_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::vector< ::DBus::String > argout1 = getRecordDeviceList();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _setRecordDevice_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        setRecordDevice(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getRecordDevice_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argout1 = getRecordDevice();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _getSampleRateList_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::vector< ::DBus::String > argout1 = getSampleRateList();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+    ::DBus::Message _setSampleRate_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argin1; ri >> argin1;
+        setSampleRate(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
+    ::DBus::Message _getSampleRate_stub( const ::DBus::CallMessage& call )
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        ::DBus::String argout1 = getSampleRate();
+        ::DBus::ReturnMessage reply(call);
+        ::DBus::MessageIter wi = reply.writer();
+        wi << argout1;
+        return reply;
+    }
+};
+
+} } 
+#endif//__dbusxx__configurationmanager_glue_h__ADAPTOR_MARSHAL_H
-- 
GitLab