diff --git a/sflphone-common/libs/pjproject/autogen.sh b/sflphone-common/libs/pjproject/autogen.sh old mode 100644 new mode 100755 diff --git a/sflphone-common/src/dbus/callmanager-introspec.xml b/sflphone-common/src/dbus/callmanager-introspec.xml index 83a5c32acf22c3086a8f347113bc5733c2ab3be6..534bde252d506dcda4b622b0667c7b86005d8510 100644 --- a/sflphone-common/src/dbus/callmanager-introspec.xml +++ b/sflphone-common/src/dbus/callmanager-introspec.xml @@ -1,506 +1,699 @@ <?xml version="1.0" encoding="UTF-8" ?> -<!-- Comment --> -<!--*< File comment --> +<node name="/callmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.CallManager"> -<node name="/org/sflphone/SFLphone" xmlns:dx="http://psiamp.org/dtd/doxygen_dbusxml.dtd"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The CallManager interface is used to manage any call related actions.</p> + <p>Since SFLphone-daemon support multiple incoming/outgoing calls, any actions involving a specific call must address the method by the means of a unique callID. SFLphone-clients is responsible to generate the callID on outgoing call. On the other hand, SFLphone-daemon will generate a unique callID on incoming calls.</p> + </tp:docstring> + <method name="placeCall" tp:name-for-bindings="placeCall"> + <tp:docstring> + <p>This is the main method in order to place a new call. The call is registered to the daemon using this method.</p> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The ID of the account you want to make a call with. If the call is to be placed whithout any account by the means of a SIP URI (i.e. sip:num@server), the "IP2IP_PROFILE" is passed as the accountID. For more details about accounts see the configuration manager interface. + </tp:docstring> + </arg> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified. + </tp:docstring> + </arg> + </method> - <!--* The CallManager interface is used to manage any call related - actions. + <method name="placeCallFirstAccount" tp:name-for-bindings="placeCallFirstAccount"> + <tp:added version="0.9.8"/> + <tp:docstring> + Place a call with the fist registered account, regarding to the account list order. + <tp:rationale> + Use this function when you don't have any information about the accounts used (Ex: Firefly mozilla extension) + </tp:rationale> + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID is a unique identifier that must be randomly generated on the client's side. Any subsequent actions refering to this call must use this callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified. + </tp:docstring> + </arg> + </method> - Since SFLphone-daemon support multiple incoming/outgoing - calls, any actions involving a specific call must address the - method by the means of a unique callID. SFLphone-clients is - responsible to generate the callID on outgoing call. On the - otehr hand, SFLphone-daemon will generate a unique callID on - incoming calls. + <method name="refuse" tp:name-for-bindings="refuse"> + <tp:docstring> + Refuse an incoming call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> - Actions are performed asynchronously, SFLphone-client should - subscribe to the callStateChanged signal in order to be - notified on updates in call status. - --> - <interface name="org.sflphone.SFLphone.CallManager"> - - <!--* This is the main method in order to place a new call. The - call is registered to the daemon using this method - specified a unique identifier and VoIP Accout to be bound with. - - The account is specified by its accountID. - - If the call is to be placed whithout any account by the - means of a SIP URI (i.e. sip:num@server), the - "IP2IP_PROFILE" is passed as the accountID. For more - details about accounts see the configuration manager interface. - - The callID is a unique identifier that must be randomly - generated on sflphone-client's side. Any subsequent - actions refering to this call must use this callID. - - If bound to a VoIP account, the to argument is the phone - number. In case of calls involving "IP2IP_PROFILE", a - complete SIP URI must be specified. - - @param[in] input accountID - @param[in] input callID - @param[in] input to - --> - - <method name="placeCall"> - <arg type="s" name="accountID" direction="in"/> - <arg type="s" name="callID" direction="in" /> - <arg type="s" name="to" direction="in" /> - </method> - - <method name="placeCallFirstAccount"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> - </method> - - <method name="refuse"> - <!--* Method called to refuse an incoming call. - - @param[in] input callID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="accept"> - <!--* Method called to answer an incoming call. Automatically put - the current call on state HOLD. - - @param[in] input callID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hangUp"> - <!--* Method called to hangup a call in state "CURRENT" or "HOLD". - - @param[in] input callID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hangUpConference"> - <!--* This method will hangup a conference in state "" - every call participating to the conference. - - @param[in] input confID - --> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="hold"> - <!--* Place this call on state HOLD. - - @param[in] input confID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="unhold"> - <!--* Place this call on state CURRENT. - - @param[in] input confID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="transfert"> - <!--* Transfer a call to given phone number. - - @param[in] input confID - @param[in] input to - --> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> - </method> - - <method name="playDTMF"> - <!--* Dual-Tone multi-frequency. Tell SFLphone-daemon to play - dial tones. A SIP INFO message is sent to notify the server. - - @param[in] input Unicode charter for pressed key - --> - <arg type="s" name="key" direction="in"/> - </method> - - <method name="startTone"> - <!--* This method is used to start audio stream and play tone. - - @param[in] input confID - --> - <arg type="i" name="start" direction="in"/> - <arg type="i" name="type" direction="in"/> - </method> - - <method name="setVolume"> - <!--* This method sets the volume using a linear scale - [0,100]. Pulseaudio has its own mechanism to modify - application volume. This method is enabled only if the - ALSA API is used. - - @param[in] input device - @param[in] input value - --> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="in"/> - </method> - - <method name="getVolume"> - <!--* This method is enabled only if the ALSA API is used, Pulseaudio - has its own mechanism to modify application volume. Return - a value on a linear scale [0,100]. - - @param[in] input device - @param[out] output value - --> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="out"/> - </method> - - <method name="joinParticipant"> - <!--* Join two participants together to create a 3-way - conference including current SFLphone-client. - conferenceCreated signal is emited on success. - - @param[in] input sel_callID - @param[in] input drag_callID - --> - <arg type="s" name="sel_callID" direction="in"/> - <arg type="s" name="drag_callID" direction="in"/> - </method> - - <method name="addParticipant"> - <!--* Join a new particiant to an already created conference. - conferenceChaged signal is emited on success. - - @param[in] input callID - @param[in] input confID - --> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="addMainParticipant"> - <!--* As SFLphone-daemon can handle multiple calls and - conferences. It may happen that SFLphone-client's user - leave a conference to answer an incoming call or - send new ones. This method is used to reintroduce - SFLphone-client's user into the conference. - - It put the current call on state HOLD or detach - SFLphone-client's user from the another conference. - - @param[in] input confID - --> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="detachParticipant"> - <!--* Detach the given call from the conference. If only one - participant is left, the conference is deleted and the - "conferenceRemoved" signal is emited. - - @param[in] input callID - --> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="joinConference"> - <!--* Method used to join two conference together. - - @param[in] input sel_confID - @param[in] input drag_confID - --> - <arg type="s" name="sel_confID" direction="in"/> - <arg type="s" name="drag_confID" direction="in"/> - </method> - - <method name="getConferenceDetails"> - <!--* Returns a hashtable containing conference details. - - "CONFID" - "CONF_STATE" - - @param[in] input confID - @param[out] output a infos - --> - <arg type="s" name="callID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="infos" direction="out"/> - </method> - - <method name="getConferenceList"> - <!--* Returns a list containing all active confID in SFLphone-daemon. - - @param[out] output list - --> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setRecording"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="getIsRecording"> - <arg type="s" name="callID" direction="in"/> - <arg type="b" name="isRecording" direction="out"/> - </method> - - <method name="getCallDetails"> - <!--* Returns a hashtable containing call details. - - "ACCOUNTID" - "PEER_NUMBER" - "PEER_NAME" - "DISPLAY_NAME" Name to display - "CALL_STATE" The state of the call - "CALL_TYPE" SIP or IAX - - @param[in] input callID - @param[out] output a infos - --> - <arg type="s" name="callID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="infos" direction="out"/> - </method> - - <method name="getCallList"> - <!--* Returns a list containing all active callID in SFLphone-daemon. - - @param[out] output list - --> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCurrentCallID"> - <!--* Returns the CURRENT callID - - @param[out] output callID - --> - <arg type="s" name="callID" direction="out"/> - </method> - - <method name="getCurrentCodecName"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="codecName" direction="out"/> - </method> - - <signal name="currentSelectedCodec"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="codecName" direction="out"/> - </signal> - - <signal name="incomingCall"> - <!--* Signal sent to notify incoming calls. - - The callID generated by the daemon and must be stored - by SFLphone-client in order to address other action for - this call. - - @param[in] input accountID - @param[in] input callID - @param[in] input from - --> - <arg type="s" name="accountID" /> - <arg type="s" name="callID" /> - <arg type="s" name="from" /> - </signal> - - <signal name="incomingMessage"> - <arg type="s" name="accountID" direction="out" /> - <arg type="s" name="message" direction="out"/> - </signal> - - <signal name="callStateChanged"> - <!--* Signal emited by SFLphone-daemon to notify of a chage in - call state. - - The following is a liste of possible call state: - - "INCOMING" Initial state of incoming calls - "RINGING" Initial state of received outgoing call - "CURRENT" The normal active state of an answered call - "HUNGUP" Notify that the call has been hungup by peer - "BUSY" - "FAILURE" Signal emited on failure to answer the call - "HOLD" CAll state is now on hold - "UNHOLD_RECORD" CAll state is now on CURRENT (pursue recording) - "UNHOLD_CURRENT" CAll state is now on CURRENT - - @param[in] input accountID - @param[in] input state - --> - <arg type="s" name="callID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <signal name="conferenceChanged"> - <!--* Signal emited by SFLphone-daemon to notify of a chage in - conference state. - - The following is a liste of possible conference state: - - "ACTIVE_ATACHED" Conference state is active - "ACTIVE_DETACHED" Conference state is active - "HOLD" Conference is on hold - - @param[in] input accountID - @param[in] input state - --> - <arg type="s" name="confID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <method name="getParticipantList"> - <!--* Return a vector (or a list) containig the callIP of every - participant to a given conference. SFLphone-client should - keep and update the list of participant. - - @param[in] input accountID - @param[out] output List of callID - --> - <arg type="s" name="confID" direction="in"/> - <arg type="as" name="list" direction="out"/> - </method> - - <signal name="conferenceCreated"> - <!--* Emited when a new conference is created. SFLphone-client - is reponsible to store the confID and call - getParticipantList to update display. - - param[out] output Newly generated confID - --> - <arg type="s" name="confID" direction="out"/> - </signal> - - <signal name="conferenceRemoved"> - <!--* Emited when a new conference is removed. SFLphone-client - should have kept a list of current participant in order to - display modification. - - @param[out] output confID - --> - <arg type="s" name="confID" direction="out"/> - </signal> - - <method name="holdConference"> - <!--* Put the hole conference on hold. Every call participating - to this conference will be update to state HOLD. - - @param[in] input confID - --> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="unholdConference"> - <!--* Put the conference on state ACTIVE. Every call participating - to this conference will be updated to state UNHOLD. - - @param[in] input confID - --> - <arg type="s" name="confID" direction="in"/> - </method> - - <signal name="sipCallStateChanged"> - <arg type="s" name="callID" direction="out"/> - <arg type="s" name="state" direction="out"/> - <arg type="i" name="code" direction="out"/> - </signal> - - <signal name="registrationStateChanged"> - <arg type="s" name="accountID" direction="out"/> - <arg type="s" name="state" direction="out"/> - <arg type="i" name="code" direction="out"/> - </signal> - - <signal name="voiceMailNotify"> - <arg type="s" name="accountID" direction="out"/> - <arg type="i" name="count" direction="out"/> - </signal> - - <signal name="volumeChanged"> - <arg type="s" name="device" direction="out"/> - <arg type="d" name="value" direction="out"/> - </signal> - - <signal name="transferSucceded"> - </signal> - - <signal name="transferFailed"> - </signal> - - <signal name="secureSdesOn"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="secureSdesOff"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <!-- ZRTP Methods and Signals --> - <signal name="secureZrtpOn"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="cipher" direction="out" /> - </signal> - - <signal name="secureZrtpOff"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="confirmGoClear"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="zrtpNegotiationFailed"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="reason" direction="out" /> - <arg type="s" name="severity" direction="out" /> - </signal> - - <signal name="zrtpNotSuppOther"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="showSAS"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="sas" direction="out" /> - <arg type="b" name="verified" direction="out" /> - </signal> - - <method name="setSASVerified"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="resetSASVerified"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="setConfirmGoClear"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="requestGoClear"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="acceptEnrollment"> - <arg type="s" name="callID" direction="in"/> - <arg type="b" name="accepted" direction="in"/> - </method> - - <method name="setPBXEnrollment"> - <arg type="s" name="callID" direction="in"/> - <arg type="b" name="yesNo" direction="in"/> - </method> -<!-- - <signal name="error"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </signal> ---> - - </interface> + </method> + + <method name="accept" tp:name-for-bindings="accept"> + <tp:docstring> + Answer an incoming call. Automatically put the current call on state HOLD. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="hangUp" tp:name-for-bindings="hangUp"> + <tp:docstring> + Hangup a call in state "CURRENT" or "HOLD". + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="hangUpConference" tp:name-for-bindings="hangUpConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hangup a conference, and every call participating to the conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The unique conference ID. + </tp:docstring> + </arg> + </method> + + <method name="hold" tp:name-for-bindings="hold"> + <tp:docstring> + Place a call on hold. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="unhold" tp:name-for-bindings="unhold"> + <tp:docstring> + Hold off a call, and place this call on state CURRENT. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="transfert" tp:name-for-bindings="transfert"> + <tp:docstring> + Transfer a call to given phone number. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + <arg type="s" name="to" direction="in"> + <tp:docstring> + The phone number to transfer the call to. + </tp:docstring> + </arg> + </method> + + <method name="playDTMF" tp:name-for-bindings="playDTMF"> + <tp:docstring> + Dual-Tone multi-frequency. Tell the core to play dial tones. A SIP INFO message is sent to notify the server. + </tp:docstring> + <arg type="s" name="key" direction="in"> + <tp:docstring> + Unicode charter for pressed key + </tp:docstring> + </arg> + </method> + + <method name="startTone" tp:name-for-bindings="startTone"> + <tp:docstring> + Start audio stream and play tone.. + </tp:docstring> + <arg type="i" name="start" direction="in"/> + <arg type="i" name="type" direction="in"/> + </method> + + <method name="setVolume" tp:name-for-bindings="setVolume"> + <tp:docstring> + <p>Sets the volume using a linear scale [0,100].</p> + <tp:rationale>Pulseaudio has its own mechanism to modify application volume. This method is enabled only if the ALSA API is used.</tp:rationale> + </tp:docstring> + <arg type="s" name="device" direction="in"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value" direction="in"> + <tp:docstring> + The volume value (between 0 and 100) + </tp:docstring> + </arg> + </method> + + <method name="getVolume" tp:name-for-bindings="getVolume"> + <tp:docstring> + <p>Return the volume value of the given device on a linear scale [0,100].</p> + <tp:rationale>Only enabled if the ALSA API is used, Pulseaudio has its own mechanism to modify application volume.</tp:rationale> + </tp:docstring> + <arg type="s" name="device" direction="in"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value" direction="out"> + <tp:docstring> + The volume value (between 0 and 100) + </tp:docstring> + </arg> + </method> + + <method name="joinParticipant" tp:name-for-bindings="joinParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Join two participants together to create a 3-way conference including the current client.</p> + <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="s" name="sel_callID" direction="in"/> + <arg type="s" name="drag_callID" direction="in"/> + </method> + + <method name="addParticipant" tp:name-for-bindings="addParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Join a new particiant to an existing conference.</p> + <tp:rationale>The signal <tp:member-ref>conferenceChanged</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The ID of the call to add to the conference + </tp:docstring> + </arg> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + An existing conference ID + </tp:docstring> + </arg> + </method> + + <method name="addMainParticipant" tp:name-for-bindings="addMainParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>As the core can handle multiple calls an conferences, it may happens that the client's user leave a conference to answer an incoming call or send new ones. This method is used to reintroduce SFLphone-client's user into the conference.</p> + <p>It put the current call on state HOLD or detach SFLphone-client's user from the another conference.</p> + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + An existing conference ID + </tp:docstring> + </arg> + </method> + + <method name="detachParticipant" tp:name-for-bindings="detachParticipant"> + <tp:added version="0.9.7"/> + <tp:docstring> + Detach the given call from the conference. If only one participant is left, the conference is deleted and the signal <tp:member-ref>conferenceRemoved</tp:member-ref> is emited. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID + </tp:docstring> + </arg> + </method> + + <method name="joinConference" tp:name-for-bindings="joinConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Join two conferences together. + </tp:docstring> + <arg type="s" name="sel_confID" direction="in"/> + <arg type="s" name="drag_confID" direction="in"/> + </method> + + <method name="getConferenceDetails" tp:name-for-bindings="getConferenceDetails"> + <tp:added version="0.9.7"/> + <tp:docstring> + Returns a hashtable containing conference details. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="infos" direction="out"> + <tp:docstring> + A map containing the ID of the conferences and their states. + </tp:docstring> + </arg> + </method> + + <method name="getConferenceList" tp:name-for-bindings="getConferenceList"> + <tp:added version="0.9.7"/> + <tp:docstring> + Returns a list containing all active conferences. + </tp:docstring> + <arg type="as" name="list" direction="out"> + <tp:docstring> + The list of conferences. + </tp:docstring> + </arg> + </method> + + <method name="setRecording" tp:name-for-bindings="setRecording"> + <tp:docstring> + Start recording a call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The ID of the call to record. + </tp:docstring> + </arg> + </method> + + <method name="getIsRecording" tp:name-for-bindings="getIsRecording"> + <tp:docstring> + Tells whether or not a call is being recorded. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <arg type="b" name="isRecording" direction="out"> + <tp:docstring> + Returns true is the call is being recorded. False otherwise. + </tp:docstring> + </arg> + </method> + + <method name="getCallDetails" tp:name-for-bindings="getCallDetails"> + <tp:docstring> + Get all the details about a specific call. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="infos" direction="out" tp:type="String_String_Map"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>A map containing the call details: </p> + <ul> + <li>ACCOUNTID</li> + <li>PEER_NUMBER</li> + <li>PEER_NAME</li> + <li>DISPLAY_NAME</li> + <li>CALL_STATE</li> + <li>CALL_TYPE</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="getCallList" tp:name-for-bindings="getCallList"> + <tp:docstring> + Get the list of active calls. + <tp:rationale>To get the call details, iterate on the return value and call <tp:member-ref>getCallDetails</tp:member-ref> method.</tp:rationale> + </tp:docstring> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of call IDs. + </tp:docstring> + </arg> + </method> + + <method name="getCurrentCallID" tp:name-for-bindings="getCurrentCallID"> + <tp:docstring> + Get the CURRENT call ID. + </tp:docstring> + @param[out] output callID + <arg type="s" name="callID" direction="out"> + <tp:docstring> + The current call ID. + </tp:docstring> + </arg> + </method> + + <method name="getCurrentCodecName" tp:name-for-bindings="getCurrentCodecName"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="codecName" direction="out"/> + </method> + + <signal name="currentSelectedCodec" tp:name-for-bindings="currentSelectedCodec"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="codecName"/> + </signal> + + <signal name="incomingCall" tp:name-for-bindings="incomingCall"> + <tp:docstring> + <p>Notify an incoming call.</p> + <p>The callID generated by the daemon and must be stored by the clients in order to address other action for + this call.</p> + <tp:rationale>The client must subscribe to this signal to handle incoming calls.</tp:rationale> + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID of the callee. Clients must notify the right account when receiving this signal. + </tp:docstring> + </arg> + <arg type="s" name="callID"> + <tp:docstring> + A new call ID. + </tp:docstring> + </arg> + <arg type="s" name="from"> + <tp:docstring> + The caller phone number. + </tp:docstring> + </arg> + </signal> + + <signal name="incomingMessage" tp:name-for-bindings="incomingMessage"> + <tp:docstring> + Unused + </tp:docstring> + <arg type="s" name="accountID" /> + <arg type="s" name="message" /> + </signal> + + <signal name="callStateChanged" tp:name-for-bindings="callStateChanged"> + <tp:docstring> + <p>Notify of a change in a call state.</p> + <p>The client must subscribe to this signal.</p> + </tp:docstring> + <arg type="s" name="callID"> + <tp:docstring> + The call ID. + </tp:docstring> + </arg> + <arg type="s" name="state" > + <tp:docstring> + The acceptable states are: + <ul> + <li>INCOMING: Initial state of incoming calls</li> + <li>RINGING: Initial state of received outgoing call</li> + <li>CURRENT: The normal active state of an answered call</li> + <li>HUNGUP: Notify that the call has been hungup by peer</li> + <li>BUSY</li> + <li>FAILURE: Error when processing a call</li> + <li>HOLD</li> + <li>UNHOLD_CURRENT</li> + <li>UNHOLD_RECORD</li> + </ul> + </tp:docstring> + </arg> + </signal> + + <signal name="conferenceChanged" tp:name-for-bindings="conferenceChanged"> + <tp:added version="0.9.7"/> + <tp:docstring> + Notify of a change in the conferences state + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + The acceptable states are: + <ul> + <li>ACTIVE_ATTACHED</li> + <li>ACTIVE_DETACHED</li> + <li>HOLD</li> + </ul> + </tp:docstring> + </arg> + </signal> + + <method name="getParticipantList" tp:name-for-bindings="getParticipantList"> + <tp:added version="0.9.7"/> + <tp:docstring> + Get the call IDs of every participant to a given conference. The client should keep and update the list of participant. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + <arg type="as" name="list" direction="out"> + <tp:docstring> + The list of the call IDs. + </tp:docstring> + </arg> + </method> + + <signal name="conferenceCreated" tp:name-for-bindings="conferenceCreated"> + <tp:added version="0.9.7"/> + <tp:docstring> + Emited when a new conference is created. SFLphone-client is reponsible to store the confID and call <tp:member-ref>getParticipantList</tp:member-ref> to update the display. + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + A new conference ID. + </tp:docstring> + </arg> + </signal> + + <signal name="conferenceRemoved" tp:name-for-bindings="conferenceRemoved"> + <tp:added version="0.9.7"/> + <tp:docstring> + Emited when a new conference is remove. SFLphone-client should have kept a list of current participant in order to display modification. + </tp:docstring> + <arg type="s" name="confID"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </signal> + + <method name="holdConference" tp:name-for-bindings="holdConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hold on every calls participating to this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <method name="unholdConference" tp:name-for-bindings="unholdConference"> + <tp:added version="0.9.7"/> + <tp:docstring> + Hold off every calls participating to this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="state" /> + <arg type="i" name="code" /> + </signal> + + <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> + <tp:docstring> + <p>The state of an account has changed.</p> + <p>The clients have to subscribe to this signal to use accounts.</p> + </tp:docstring> + <arg type="s" name="accountID" > + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + The new registration state + </tp:docstring> + </arg> + <arg type="i" name="code"> + <tp:docstring> + The SIP or IAX2 code + </tp:docstring> + </arg> + </signal> + + <signal name="voiceMailNotify" tp:name-for-bindings="voiceMailNotify"> + <tp:docstring> + Notify the clients of the voicemail number for a specific account, if applicable. + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID. + </tp:docstring> + </arg> + <arg type="i" name="count"> + <tp:docstring> + The number of waiting messages. + </tp:docstring> + </arg> + </signal> + + <signal name="volumeChanged" tp:name-for-bindings="volumeChanged"> + <tp:docstring> + Notify the clients of a volume level change. + </tp:docstring> + <arg type="s" name="device"> + <tp:docstring> + The device: mic or speaker + </tp:docstring> + </arg> + <arg type="d" name="value"> + <tp:docstring> + The new volume value + </tp:docstring> + </arg> + </signal> + + <signal name="transferSucceded" tp:name-for-bindings="transferSucceded"> + <tp:docstring> + The transfer has been successfully processed. + </tp:docstring> + </signal> + + <signal name="transferFailed" tp:name-for-bindings="transferFailed"> + <tp:docstring> + The transfer operation has failed. + </tp:docstring> + </signal> + + <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID"/> + </signal> + + <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <!-- ZRTP Methods and Signals --> + <signal name="secureZrtpOn" tp:name-for-bindings="secureZrtpOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="cipher" /> + </signal> + + <signal name="secureZrtpOff" tp:name-for-bindings="secureZrtpOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="confirmGoClear" tp:name-for-bindings="confirmGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="zrtpNegotiationFailed" tp:name-for-bindings="zrtpNegotiationFailed"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="reason" /> + <arg type="s" name="severity" /> + </signal> + + <signal name="zrtpNotSuppOther" tp:name-for-bindings="zrtpNotSuppOther"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + </signal> + + <signal name="showSAS" tp:name-for-bindings="showSAS"> + <tp:added version="0.9.7"/> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="sas" /> + <arg type="b" name="verified"/> + </signal> + + <method name="setSASVerified" tp:name-for-bindings="setSASVerified"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="resetSASVerified" tp:name-for-bindings="resetSASVerified"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="setConfirmGoClear" tp:name-for-bindings="setConfirmGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="requestGoClear" tp:name-for-bindings="requestGoClear"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="acceptEnrollment" tp:name-for-bindings="acceptEnrollment"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="accepted" direction="in"/> + </method> + + <method name="setPBXEnrollment" tp:name-for-bindings="setPBXEnrollment"> + <tp:added version="0.9.7"/> + <tp:docstring> + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="yesNo" direction="in"/> + </method> + + </interface> </node> diff --git a/sflphone-common/src/dbus/configurationmanager-introspec.xml b/sflphone-common/src/dbus/configurationmanager-introspec.xml index 0b66386689b19c9612c175bb562cce576fad7319..a34111d91751fddcb7dbe6e40c2843c989ba1415 100644 --- a/sflphone-common/src/dbus/configurationmanager-introspec.xml +++ b/sflphone-common/src/dbus/configurationmanager-introspec.xml @@ -1,568 +1,571 @@ <?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.ConfigurationManager"> - - <!-- Accounts-related methods --> - <method name="getAccountDetails"> - <!--* Method that returns a hashtable containing the current - account configuration setting. - - CONFIG_ACCOUNT_ENABLE - CONFIG_ACCOUNT_RESOLVE_ONCE - CONFIG_ACCOUNT_TYPE - HOSTNAME - USERNAME - PASSWORD - REALM - AUTHENTICATION_USERNAME - CONFIG_ACCOUNT_MAILBOX - CONFIG_ACCOUNT_REGISTRATION_EXPIRE - LOCAL_INTERFACE - PUBLISHED_SAMEAS_LOCAL - PUBLISHED_ADDRESS - LOCAL_PORT - PUBLISHED_PORT - DISPLAY_NAME - STUN_ENABLE - STUN_SERVER - - REGISTRATION_STATUS - REGISTRATION_STATE_CODE - REGISTRATION_STATE_DESCRIPTION - SRTP_KEY_EXCHANGE - SRTP_ENABLE - - SRTP_RTP_FALLBACK - ZRTP_DISPLAY_SAS - ZRTP_DISPLAY_SAS_ONCE - ZRTP_HELLO_HASH - ZRTP_NOT_SUPP_WARNING - - TLS_LISTENER_PORT - TLS_ENABLE - TLS_CA_LIST_FILE - TLS_CERTIFICATE_FILE - TLS_PRIVATE_KEY_FILE - - TLS_METHOD - TLS_CIPHERS - TLS_SERVER_NAME - TLS_VERIFY_SERVER - TLS_VERIFY_CLIENT - TLS_REQUIRE_CLIENT_CERTIFICATE - TLS_NEGOTIATION_TIMEOUT_SEC - TLS_NEGOTIATION_TIMEOUT_MSEC - - - @param[in] input accountID - @param[out] output details - --> - <arg type="s" name="accountID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setAccountDetails"> - <!--* Modify the current accout parameter settings given an - accountID and a hash table containing the parameters to - update. The hash table is not required to be complete, - only the parameter to change may be specified. Only the - running parameters are updated dynamically, configuration - settings are stored in the configuration file when - SFLphone-daemon quit. - - For a complete list of account settings refer to getAccountDetails - - @param[in] input accountID - @param[in] input details - --> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="setCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="index" direction="in"/> - <arg type="a{ss}" name="credentialInformation" direction="in"/> - </method> - - <method name="setNumberOfCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="number" direction="in"/> - </method> - - <method name="deleteAllCredential"> - <arg type="s" name="accountID" direction="in"/> - </method> - - <method name="getIp2IpDetails"> - <!--* Specific call to get configuration settings of the - IP2IP_PROFILE. Which are sligthly different since no VoIP - Account parameters are envolved. - - ACCOUNT_ID - SRTP_KEY_EXCHANGE - SRTP_ENABLE - SRTP_RTP_FALLBACK - ZRTP_DISPLAY_SAS - ZRTP_HELLO_HASH - ZRTP_NOT_SUPP_WARNING - ZRTP_DISPLAY_SAS_ONCE - LOCAL_INTERFACE - LOCAL_PORT - - TLS_LISTENER_PORT - TLS_CA_LIST_FILE - TLS_CERTIFICATE_FILE - TLS_PRIVATE_KEY_FILE - TLS_PASSWORD - TLS_METHOD - TLS_CIPHERS - TLS_SERVER_NAME - TLS_VERIFY_SERVER - TLS_VERIFY_CLIENT - TLS_REQUIRE_CLIENT_CERTIFICATE - TLS_NEGOTIATION_TIMEOUT_SEC - TLS_NEGOTIATION_TIMEOUT_MSEC - - @param[in] input accountID - @param[out] output details - --> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setIp2IpDetails"> - <!--* Modify the IP2IP_PROFILE parameter settings a hash table - containing the parameters to update. The hash table is not required to be complete, - only the parameters to be modified may be specified. Also, - only the running configuration is updated dynamically, - settings are stored in the configuration file when - SFLphone-daemon quit. - - For a complete list of account settings refer to getAccountDetails - - @param[in] input accountID - @param[in] input details - --> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="getCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="index" direction="in"/> - <arg type="a{ss}" name="credentialInformation" direction="out"/> - </method> - - <method name="getNumberOfCredential"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="numberOfCredential" direction="out"/> - </method> - - <method name="addAccount"> - <!--* Add a new account to the SFLphone-daemon list. If no - details are specified, default parameters are used. - A REGISTER is automatically sent and configuration is - saved if account created successfully. - - @param[in] input details - @param[out] output accountID - --> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="in"/> - <arg type="s" name="createdAccountId" direction="out"/> - </method> - - <method name="setAccountsOrder"> - <!--* Update the account list given a new list of accountID. If no account is specified - for a call, the first one in the list will be used. - - @param[in] input order - --> - <arg type="s" name="order" direction="in"/> - </method> - - <method name="removeAccount"> - <!--* Delete an account from SFLphone-daemon list and erase - account parameters from configuration file. - - @param[in] input accountID - --> - <arg type="s" name="accoundID" direction="in"/> - </method> - - <method name="getAccountList"> - <!--* Get teh accountlist as stored in SFLphone-daemon. - - @param[in] input accountID - --> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="sendRegister"> - <!--* Send accout registration request to PBX server. Register - the account if expire=1, unregister if expire=0. - - @param[in] input accountID - --> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="expire" direction="in"/> - </method> - - <!-- /////////////////////// --> + +<node name="/configurationmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.ConfigurationManager"> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + </tp:docstring> + + <method name="getAccountDetails" tp:name-for-bindings="getAccountDetails"> + <!--* Method that returns a hashtable containing the current + account configuration setting. + + CONFIG_ACCOUNT_ENABLE + CONFIG_ACCOUNT_RESOLVE_ONCE + CONFIG_ACCOUNT_TYPE + HOSTNAME + USERNAME + PASSWORD + REALM + AUTHENTICATION_USERNAME + CONFIG_ACCOUNT_MAILBOX + CONFIG_ACCOUNT_REGISTRATION_EXPIRE + LOCAL_INTERFACE + PUBLISHED_SAMEAS_LOCAL + PUBLISHED_ADDRESS + LOCAL_PORT + PUBLISHED_PORT + DISPLAY_NAME + STUN_ENABLE + STUN_SERVER + + REGISTRATION_STATUS + REGISTRATION_STATE_CODE + REGISTRATION_STATE_DESCRIPTION + SRTP_KEY_EXCHANGE + SRTP_ENABLE + + SRTP_RTP_FALLBACK + ZRTP_DISPLAY_SAS + ZRTP_DISPLAY_SAS_ONCE + ZRTP_HELLO_HASH + ZRTP_NOT_SUPP_WARNING + + TLS_LISTENER_PORT + TLS_ENABLE + TLS_CA_LIST_FILE + TLS_CERTIFICATE_FILE + TLS_PRIVATE_KEY_FILE + + TLS_METHOD + TLS_CIPHERS + TLS_SERVER_NAME + TLS_VERIFY_SERVER + TLS_VERIFY_CLIENT + TLS_REQUIRE_CLIENT_CERTIFICATE + TLS_NEGOTIATION_TIMEOUT_SEC + TLS_NEGOTIATION_TIMEOUT_MSEC + + + @param[in] input accountID + @param[out] output details + --> + <arg type="s" name="accountID" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"/> + </method> + + <method name="setAccountDetails" tp:name-for-bindings="setAccountDetails"> + <!--* Modify the current accout parameter settings given an + accountID and a hash table containing the parameters to + update. The hash table is not required to be complete, + only the parameter to change may be specified. Only the + running parameters are updated dynamically, configuration + settings are stored in the configuration file when + SFLphone-daemon quit. + + For a complete list of account settings refer to getAccountDetails + + @param[in] input accountID + @param[in] input details + --> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"/> + <arg type="a{ss}" name="details" direction="in"/> + </method> + + <method name="setCredential" tp:name-for-bindings="setCredential"> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="index" direction="in"/> + <arg type="a{ss}" name="credentialInformation" direction="in"/> + </method> + + <method name="setNumberOfCredential" tp:name-for-bindings="setNumberOfCredential"> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="number" direction="in"/> + </method> + + <method name="deleteAllCredential" tp:name-for-bindings="deleteAllCredential"> + <arg type="s" name="accountID" direction="in"/> + </method> + + <method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails"> + <!--* Specific call to get configuration settings of the + IP2IP_PROFILE. Which are sligthly different since no VoIP + Account parameters are envolved. + + ACCOUNT_ID + SRTP_KEY_EXCHANGE + SRTP_ENABLE + SRTP_RTP_FALLBACK + ZRTP_DISPLAY_SAS + ZRTP_HELLO_HASH + ZRTP_NOT_SUPP_WARNING + ZRTP_DISPLAY_SAS_ONCE + LOCAL_INTERFACE + LOCAL_PORT + + TLS_LISTENER_PORT + TLS_CA_LIST_FILE + TLS_CERTIFICATE_FILE + TLS_PRIVATE_KEY_FILE + TLS_PASSWORD + TLS_METHOD + TLS_CIPHERS + TLS_SERVER_NAME + TLS_VERIFY_SERVER + TLS_VERIFY_CLIENT + TLS_REQUIRE_CLIENT_CERTIFICATE + TLS_NEGOTIATION_TIMEOUT_SEC + TLS_NEGOTIATION_TIMEOUT_MSEC + + @param[in] input accountID + @param[out] output details + --> + <arg type="a{ss}" name="details" direction="out"/> + </method> + + <method name="setIp2IpDetails" tp:name-for-bindings="setIp2IpDetails"> + <!--* Modify the IP2IP_PROFILE parameter settings a hash table + containing the parameters to update. The hash table is not required to be complete, + only the parameters to be modified may be specified. Also, + only the running configuration is updated dynamically, + settings are stored in the configuration file when + SFLphone-daemon quit. + + For a complete list of account settings refer to getAccountDetails + + @param[in] input accountID + @param[in] input details + --> + <arg type="a{ss}" name="details" direction="in"/> + </method> + + <method name="getCredential" tp:name-for-bindings="getCredential"> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="index" direction="in"/> + <arg type="a{ss}" name="credentialInformation" direction="out"/> + </method> + + <method name="getNumberOfCredential" tp:name-for-bindings="getNumberOfCredential"> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="numberOfCredential" direction="out"/> + </method> + + <method name="addAccount" tp:name-for-bindings="addAccount"> + <!--* Add a new account to the SFLphone-daemon list. If no + details are specified, default parameters are used. + A REGISTER is automatically sent and configuration is + saved if account created successfully. + + @param[in] input details + @param[out] output accountID + --> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="in"/> + <arg type="s" name="createdAccountId" direction="out"/> + </method> + + <method name="setAccountsOrder" tp:name-for-bindings="setAccountsOrder"> + <!--* Update the account list given a new list of accountID. If no account is specified + for a call, the first one in the list will be used. + + @param[in] input order + --> + <arg type="s" name="order" direction="in"/> + </method> + + <method name="removeAccount" tp:name-for-bindings="removeAccount"> + <!--* Delete an account from SFLphone-daemon list and erase + account parameters from configuration file. + + @param[in] input accountID + --> + <arg type="s" name="accoundID" direction="in"/> + </method> + + <method name="getAccountList" tp:name-for-bindings="getAccountList"> + <!--* Get teh accountlist as stored in SFLphone-daemon. + + @param[in] input accountID + --> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="sendRegister" tp:name-for-bindings="sendRegister"> + <!--* Send accout registration request to PBX server. Register + the account if expire=1, unregister if expire=0. + + @param[in] input accountID + --> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="expire" direction="in"/> + </method> + + <!-- /////////////////////// --> <!-- Various audio-related methods --> - - <method name="getToneLocaleList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getVersion"> - <arg type="s" name="version" direction="out"/> - </method> - - <method name="getRingtoneList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getPlaybackDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getRecordDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="isRingtoneEnabled"> - <arg type="i" name="bool" direction="out"/> - </method> - - <method name="ringtoneEnabled"> - </method> - - <method name="getRingtoneChoice"> - <arg type="s" name="tone" direction="out"/> - </method> - - <method name="setRingtoneChoice"> - <arg type="s" name="tone" direction="in"/> - </method> - - <method name="getAudioManager"> - <arg type="i" name="api" direction="out"/> - </method> - - <method name="setAudioManager"> - <arg type="i" name="api" direction="in"/> - </method> - - <method name="getRecordPath"> - <arg type="s" name="rec" direction="out"/> - </method> - - <method name="setRecordPath"> - <arg type="s" name="rec" direction="in"/> - </method> - - <!-- /////////////////////// --> - - <!-- Codecs-related methods --> - - <method name="getCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCodecDetails"> - <arg type="i" name="payload" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="details" direction="out"/> - </method> - - <method name="getActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + + <method name="getToneLocaleList" tp:name-for-bindings="getToneLocaleList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getVersion" tp:name-for-bindings="getVersion"> + <arg type="s" name="version" direction="out"/> + </method> + + <method name="getRingtoneList" tp:name-for-bindings="getRingtoneList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getPlaybackDeviceList" tp:name-for-bindings="getPlaybackDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getRecordDeviceList" tp:name-for-bindings="getRecordDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="isRingtoneEnabled" tp:name-for-bindings="isRingtoneEnabled"> + <arg type="i" name="bool" direction="out"/> + </method> + + <method name="ringtoneEnabled" tp:name-for-bindings="ringtoneEnabled"> + </method> + + <method name="getRingtoneChoice" tp:name-for-bindings="getRingtoneChoice"> + <arg type="s" name="tone" direction="out"/> + </method> + + <method name="setRingtoneChoice" tp:name-for-bindings="setRingtoneChoice"> + <arg type="s" name="tone" direction="in"/> + </method> + + <method name="getAudioManager" tp:name-for-bindings="getAudioManager"> + <arg type="i" name="api" direction="out"/> + </method> + + <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> + <arg type="i" name="api" direction="in"/> + </method> + + <method name="getRecordPath" tp:name-for-bindings="getRecordPath"> + <arg type="s" name="rec" direction="out"/> + </method> + + <method name="setRecordPath" tp:name-for-bindings="setRecordPath"> + <arg type="s" name="rec" direction="in"/> + </method> + + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + + <method name="getCodecList" tp:name-for-bindings="getCodecList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getCodecDetails" tp:name-for-bindings="getCodecDetails"> + <arg type="i" name="payload" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="details" direction="out"/> + </method> + + <method name="getActiveCodecList" tp:name-for-bindings="getActiveCodecList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="s" name="accountID" direction="in"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="list" direction="in"/> - <arg type="s" name="accountID" direction="in"/> - </method> - - - <!-- Audio devices methods --> - - <method name="getInputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getOutputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setInputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="setOutputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="getAudioOutputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioOutputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getAudioInputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioInputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getCurrentAudioDevicesIndex"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getAudioDeviceIndex"> - <arg type="s" name="name" direction="in"/> - <arg type="i" name="index" direction="out"/> - </method> - - <method name="getCurrentAudioOutputPlugin"> - <arg type="s" name="plugin" direction="out"/> - </method> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="setActiveCodecList" tp:name-for-bindings="setActiveCodecList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="list" direction="in"/> + <arg type="s" name="accountID" direction="in"/> + </method> + + + <!-- Audio devices methods --> + + <method name="getInputAudioPluginList" tp:name-for-bindings="getInputAudioPluginList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getOutputAudioPluginList" tp:name-for-bindings="getOutputAudioPluginList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="setInputAudioPlugin" tp:name-for-bindings="setInputAudioPlugin"> + <arg type="s" name="audioPlugin" direction="in"/> + </method> + + <method name="setOutputAudioPlugin" tp:name-for-bindings="setOutputAudioPlugin"> + <arg type="s" name="audioPlugin" direction="in"/> + </method> + + <method name="getAudioOutputDeviceList" tp:name-for-bindings="getAudioOutputDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="setAudioOutputDevice" tp:name-for-bindings="setAudioOutputDevice"> + <arg type="i" name="index" direction="in"/> + </method> + + <method name="getAudioInputDeviceList" tp:name-for-bindings="getAudioInputDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="setAudioInputDevice" tp:name-for-bindings="setAudioInputDevice"> + <arg type="i" name="index" direction="in"/> + </method> + + <method name="getCurrentAudioDevicesIndex" tp:name-for-bindings="getCurrentAudioDevicesIndex"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getAudioDeviceIndex" tp:name-for-bindings="getAudioDeviceIndex"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="index" direction="out"/> + </method> + + <method name="getCurrentAudioOutputPlugin" tp:name-for-bindings="getCurrentAudioOutputPlugin"> + <arg type="s" name="plugin" direction="out"/> + </method> <!-- General Settings Panel --> - <method name="isMd5CredentialHashing"> - <arg type="b" name="res" direction="out"/> - </method> - - <method name="setMd5CredentialHashing"> - <arg type="b" name="enabled" direction="in"/> - </method> - - <method name="isIax2Enabled"> - <arg type="i" name="res" direction="out"/> - </method> - - <method name="setNotify"> - </method> - - <method name="getNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="setMailNotify"> - </method> - - <method name="getMailNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="getDialpad"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setDialpad"> - <arg type="b" name="display" direction="in"/> - </method> - - <method name="getSearchbar"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setSearchbar"> - </method> - - <method name="setHistoryEnabled"> - </method> - - <method name="getHistoryEnabled"> - <arg type="s" name="state" direction="out"/> - </method> - - <method name="getVolumeControls"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setVolumeControls"> - <arg type="b" name="display" direction="in"/> - </method> - - <method name="getHistoryLimit"> - <arg type="i" name="days" direction="out"/> - </method> - - <method name="setHistoryLimit"> - <arg type="i" name="days" direction="in"/> - </method> - - <method name="startHidden"> - </method> - - <method name="isStartHidden"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="popupMode"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="switchPopupMode"> - </method> - - <method name="getWindowWidth"> - <arg type="i" name="width" direction="out"/> - </method> - - <method name="getWindowHeight"> - <arg type="i" name="height" direction="out"/> - </method> - - <method name="setWindowWidth"> - <arg type="i" name="width" direction="in"/> - </method> - - <method name="setWindowHeight"> - <arg type="i" name="height" direction="in"/> - </method> - - <method name="getWindowPositionX"> - <arg type="i" name="posX" direction="out"/> - </method> - - <method name="setWindowPositionX"> - <arg type="i" name="posX" direction="in"/> - </method> - - <method name="getWindowPositionY"> - <arg type="i" name="posY" direction="out"/> - </method> - - <method name="setWindowPositionY"> - <arg type="i" name="posY" direction="in"/> - </method> - - <method name="enableStatusIcon"> - <arg type="s" name="value" direction="in"/> - </method> - - <method name="isStatusIconEnabled"> - <arg type="s" name="value" direction="out"/> - </method> - - - <!-- Addressbook configuration --> - <method name="getAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="out"/> - </method> - - <method name="setAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="in"/> - </method> - - <!-- Addressbook list --> - <method name="getAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="settings" direction="out"/> - </method> - - <method name="setAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="settings" direction="in"/> - </method> - - <!-- Hook configuration --> - <method name="getHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="out"/> - </method> - - <method name="setHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="in"/> - </method> - - <method name="getHistory"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="out"/> - </method> - - <method name="setHistory"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="in"/> - </method> - - <signal name="accountsChanged"> - </signal> - - <signal name="errorAlert"> - <arg type="i" name="code" direction="out"/> - </signal> - - <!-- TLS Methods --> - <method name="getSupportedTlsMethod"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getTlsSettingsDefault"> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="getTlsSettings"> - <arg type="s" name="accountID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setTlsSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="getAddrFromInterfaceName"> - <arg type="s" name="interface" direction="in"/> - <arg type="s" name="address" direction="out"/> - </method> - - <method name="getAllIpInterface"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getAllIpInterfaceByName"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getShortcuts"> - <arg type="a{si}" name="shortcutsMap" direction="out"/> - </method> - - <method name="setShortcuts"> - <arg type="a{si}" name="shortcutsMap" direction="in"/> - </method> + <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing"> + <arg type="b" name="res" direction="out"/> + </method> + + <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing"> + <arg type="b" name="enabled" direction="in"/> + </method> + + <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled"> + <arg type="i" name="res" direction="out"/> + </method> + + <method name="setNotify" tp:name-for-bindings="setNotify"> + </method> + + <method name="getNotify" tp:name-for-bindings="getNotify"> + <arg type="i" name="level" direction="out"/> + </method> + + <method name="setMailNotify" tp:name-for-bindings="setMailNotify"> + </method> + + <method name="getMailNotify" tp:name-for-bindings="getMailNotify"> + <arg type="i" name="level" direction="out"/> + </method> + + <method name="getDialpad" tp:name-for-bindings="getDialpad"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="setDialpad" tp:name-for-bindings="setDialpad"> + <arg type="b" name="display" direction="in"/> + </method> + + <method name="getSearchbar" tp:name-for-bindings="getSearchbar"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="setSearchbar" tp:name-for-bindings="setSearchbar"> + </method> + + <method name="setHistoryEnabled" tp:name-for-bindings="setHistoryEnabled"> + </method> + + <method name="getHistoryEnabled" tp:name-for-bindings="getHistoryEnabled"> + <arg type="s" name="state" direction="out"/> + </method> + + <method name="getVolumeControls" tp:name-for-bindings="getVolumeControls"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="setVolumeControls" tp:name-for-bindings="setVolumeControls"> + <arg type="b" name="display" direction="in"/> + </method> + + <method name="getHistoryLimit" tp:name-for-bindings="getHistoryLimit"> + <arg type="i" name="days" direction="out"/> + </method> + + <method name="setHistoryLimit" tp:name-for-bindings="setHistoryLimit"> + <arg type="i" name="days" direction="in"/> + </method> + + <method name="startHidden" tp:name-for-bindings="startHidden"> + </method> + + <method name="isStartHidden" tp:name-for-bindings="isStartHidden"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="popupMode" tp:name-for-bindings="popupMode"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="switchPopupMode" tp:name-for-bindings="switchPopupMode"> + </method> + + <method name="getWindowWidth" tp:name-for-bindings="getWindowWidth"> + <arg type="i" name="width" direction="out"/> + </method> + + <method name="getWindowHeight" tp:name-for-bindings="getWindowHeight"> + <arg type="i" name="height" direction="out"/> + </method> + + <method name="setWindowWidth" tp:name-for-bindings="setWindowWidth"> + <arg type="i" name="width" direction="in"/> + </method> + + <method name="setWindowHeight" tp:name-for-bindings="setWindowHeight"> + <arg type="i" name="height" direction="in"/> + </method> + + <method name="getWindowPositionX" tp:name-for-bindings="getWindowPositionX"> + <arg type="i" name="posX" direction="out"/> + </method> + + <method name="setWindowPositionX" tp:name-for-bindings="setWindowPositionX"> + <arg type="i" name="posX" direction="in"/> + </method> + + <method name="getWindowPositionY" tp:name-for-bindings="getWindowPositionY"> + <arg type="i" name="posY" direction="out"/> + </method> + + <method name="setWindowPositionY" tp:name-for-bindings="setWindowPositionY"> + <arg type="i" name="posY" direction="in"/> + </method> + + <method name="enableStatusIcon" tp:name-for-bindings="enableStatusIcon"> + <arg type="s" name="value" direction="in"/> + </method> + + <method name="isStatusIconEnabled" tp:name-for-bindings="isStatusIconEnabled"> + <arg type="s" name="value" direction="out"/> + </method> + + + <!-- Addressbook configuration --> + <method name="getAddressbookSettings" tp:name-for-bindings="getAddressbookSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="out"/> + </method> + + <method name="setAddressbookSettings" tp:name-for-bindings="setAddressbookSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="in"/> + </method> + + <!-- Addressbook list --> + <method name="getAddressbookList" tp:name-for-bindings="getAddressbookList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="settings" direction="out"/> + </method> + + <method name="setAddressbookList" tp:name-for-bindings="setAddressbookList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="settings" direction="in"/> + </method> + + <!-- Hook configuration --> + <method name="getHookSettings" tp:name-for-bindings="getHookSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="out"/> + </method> + + <method name="setHookSettings" tp:name-for-bindings="setHookSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="in"/> + </method> + + <method name="getHistory" tp:name-for-bindings="getHistory"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="out"/> + </method> + + <method name="setHistory" tp:name-for-bindings="setHistory"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="in"/> + </method> + + <signal name="accountsChanged" tp:name-for-bindings="accountsChanged"> + </signal> + + <signal name="errorAlert" tp:name-for-bindings="errorAlert"> + <arg type="i" name="code"/> + </signal> + + <!-- TLS Methods --> + <method name="getSupportedTlsMethod" tp:name-for-bindings="getSupportedTlsMethod"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getTlsSettingsDefault" tp:name-for-bindings="getTlsSettingsDefault"> + <arg type="a{ss}" name="details" direction="out"/> + </method> + + <method name="getTlsSettings" tp:name-for-bindings="getTlsSettings"> + <arg type="s" name="accountID" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"/> + </method> + + <method name="setTlsSettings" tp:name-for-bindings="setTlsSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"/> + <arg type="a{ss}" name="details" direction="in"/> + </method> + + <method name="getAddrFromInterfaceName" tp:name-for-bindings="getAddrFromInterfaceName"> + <arg type="s" name="interface" direction="in"/> + <arg type="s" name="address" direction="out"/> + </method> + + <method name="getAllIpInterface" tp:name-for-bindings="getAllIpInterface"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getAllIpInterfaceByName" tp:name-for-bindings="getAllIpInterfaceByName"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getShortcuts" tp:name-for-bindings="getShortcuts"> + <arg type="a{si}" name="shortcutsMap" direction="out"/> + </method> + + <method name="setShortcuts" tp:name-for-bindings="setShortcuts"> + <arg type="a{si}" name="shortcutsMap" direction="in"/> + </method> </interface> </node> diff --git a/sflphone-common/src/dbus/instance-introspec.xml b/sflphone-common/src/dbus/instance-introspec.xml index 90a60d632d04ca83039efcadcfa2f4981bfda39e..6d8879e622cb5dc2cfdc23c4333e29f89870df5e 100644 --- a/sflphone-common/src/dbus/instance-introspec.xml +++ b/sflphone-common/src/dbus/instance-introspec.xml @@ -1,18 +1,46 @@ <?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.Instance"> - - <method name="Register"> - <arg type="i" name="pid" direction="in"/> - <arg type="s" name="name" direction="in"/> - </method> - - <method name="Unregister"> - <arg type="i" name="pid" direction="in"/> - </method> - - <method name="getRegistrationCount"> - <arg type="i" name="count" direction="out"/> - </method> - </interface> +<node name="/instance-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.Instance"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Instances Manager to handle multiple client connections to the core.</p> + </tp:docstring> + <method name="Register" tp:name-for-bindings="Register"> + <tp:docstring> + Register a new client to the core. Increments the registration count. + </tp:docstring> + <arg type="i" name="pid" direction="in"> + <tp:docstring> + The pid of the client process + </tp:docstring> + </arg> + <arg type="s" name="name" direction="in"> + <tp:docstring> + The name of the client + </tp:docstring> + </arg> + </method> + <method name="Unregister" tp:name-for-bindings="Unregister"> + <tp:docstring> + Unregister a connected client from the core. Decrements the registration count. If no more clients are connected, ie the registration count equals 0, the core properly quits. + </tp:docstring> + <arg type="i" name="pid" direction="in"> + <tp:docstring> + The pid of the client process + </tp:docstring> + </arg> + </method> + + <method name="getRegistrationCount" tp:name-for-bindings="getRegistrationCount"> + <tp:docstring> + Get the number of connected clients. + </tp:docstring> + <arg type="i" name="count" direction="out"> + <tp:docstring> + The number of client currently connected to the core + </tp:docstring> + </arg> + </method> + + + </interface> </node>