api: added Modem.Voice and Call interfaces for voice call handling

This commit is contained in:
Riccardo Vangelisti
2015-08-02 10:39:12 +02:00
committed by Aleksander Morgado
parent 0337781ba7
commit 0feb4acef4
4 changed files with 234 additions and 0 deletions
+2
View File
@@ -6,7 +6,9 @@
<xi:include href="org.freedesktop.ModemManager1.Sim.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Bearer.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Sms.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Call.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Modem.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Modem.Voice.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Modem.Modem3gpp.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Modem.ModemCdma.xml"/>
@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
ModemManager 1.0 Interface Specification
Copyright (C) 2015 Marco Bascetta <marco.bascetta@sadel.it>
Copyright (C) 2015 Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
-->
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<!--
org.freedesktop.ModemManager1.Call:
@short_description: The ModemManager Call interface.
The Call interface Defines operations and properties of a single Call.
-->
<interface name="org.freedesktop.ModemManager1.Call">
<!--
Start:
If the outgoing call has not yet been started, start it.
Applicable only if state is MM_CALL_STATE_UNKNOWN and direction is MM_CALL_DIRECTION_OUTGOING.
-->
<method name="Start" />
<!--
Accept:
Accept incoming call (answer).
Applicable only if state is MM_CALL_STATE_RINGING and direction is MM_CALL_DIRECTION_INCOMING
-->
<method name="Accept" />
<!--
Hangup:
Hangup the active call.
Applicable only if states are MM_CALL_STATE_RINGING and MM_CALL_STATE_ACCEPTED
-->
<method name="Hangup"/>
<!--
StateChanged:
@old: Old state MMCallState
@new: New state MMCallState
@reason: A <link linkend="MMCallStateReason">MMCallStateReason</link> value, specifying the reason for this state change.
Emitted when call changes state
-->
<signal name="StateChanged">
<arg name="old" type="i" />
<arg name="new" type="i" />
<arg name="reason" type="u" />
</signal>
<!--
State:
A <link linkend="MMCallState">MMCallState</link> value,
describing the state of the call.
-->
<property name="State" type="i" access="read" />
<!--
StateReason:
A <link linkend="MMCallStateReason">MMCallStateReason</link> value, describing why the state is changed.
-->
<property name="StateReason" type="i" access="read" />
<!--
Direction:
A <link linkend="MMCallDirection">MMCallDirection</link> value,
describing the direction of the call.
-->
<property name="Direction" type="i" access="read" />
<!--
Number:
The remote phone number.
-->
<property name="Number" type="s" access="read" />
</interface>
</node>
@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
ModemManager 1.0 Interface Specification
Copyright (C) 2015 Marco Bascetta <marco.bascetta@sadel.it>
Copyright (C) 2015 Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
-->
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<!--
org.freedesktop.ModemManager1.Modem.Voice:
@short_description: The ModemManager Voice interface.
The Voice interface handles Calls.
-->
<interface name="org.freedesktop.ModemManager1.Modem.Voice">
<!--
ListCalls:
@result: The list of call object paths.
Retrieve all Calls.
This method should only be used once and subsequent information
retrieved either by listening for the
#org.freedesktop.ModemManager1.Modem.Voice::Added signal,
or by querying the specific Call object of interest.
-->
<method name="ListCalls">
<arg name="result" type="ao" direction="out" />
</method>
<!--
DeleteCall:
@path: The object path of the Call to delete.
Delete a Call from lists of calls.
If it is still active, Call.Hangup method is performed
-->
<method name="DeleteCall">
<arg name="path" type="o" direction="in" />
</method>
<!--
CreateCall:
@properties: Call properties from the <link linkend="gdbus-org.freedesktop.ModemManager1.Call">Call D-Bus interface</link>.
@path: The object path of the new call object.
Creates a new call object.
The '<link linkend="gdbus-property-org-freedesktop-ModemManager1-Call.Number">Number</link>' is mandatory
-->
<method name="CreateCall">
<arg name="properties" type="a{sv}" direction="in" />
<arg name="path" type="o" direction="out" />
</method>
<!--
CallAdded:
@path: Object path of the new call.
Emitted when any part of a Call has been received or added.
-->
<signal name="CallAdded">
<arg name="path" type="o" />
</signal>
<!--
CallDeleted:
@path: Object path of the now deleted Call.
Emitted when a call has been deleted.
-->
<signal name="CallDeleted">
<arg name="path" type="o" />
</signal>
<!--
Calls:
The list of calls object paths.
-->
<property name="Calls" type="ao" access="read" />
</interface>
</node>