Fiuu... ;)
I've attach'd the previuosly patch with CallLog renamed to Voice as you
want :)
Let me know what's the next step.
Thanks,
Riccardo Vangelisti - Sadel SpA
Software Development
Via Serenari 1, Castel Maggiore (BO)
Il 21/04/2015 11:15, Aleksander Morgado ha scritto:
On Tue, Apr 21, 2015 at 10:30 AM, Riccardo Vangelisti
<[email protected]> wrote:
In spite of the last proposal was very similar, for my opinion, to
Messaging/SMS style, I've attach'd
a new patch with your last suggestions.
And you're right; your previous proposal was actually more inline to
what I originally asked, making it equivalent to what Messaging/SMS
does, because the Start, Accept, Reject actions are applicable to one
single Call object. So, yes, I personally like your previous proposal
more, just the "CallLog" name hits me, I'd use "Voice" for that. Could
you update your previous proposal with the CallLog->Voice rename?
If you think I don't understand what
you said yet, send me your
modified patch.
Looks like it was me the one who didn't understand; sorry for that.
>From 6f4606ea57208d96d7a1e0b3e973ed434d1f97cb Mon Sep 17 00:00:00 2001
From: Riccardo Vangelisti <[email protected]>
Date: Tue, 21 Apr 2015 11:34:38 +0200
Subject: [PATCH] Added Modem.Voice and Call interfaces for voice call handling
---
include/ModemManager-enums.h | 30 ++++++++
introspection/all.xml | 2 +
.../org.freedesktop.ModemManager1.Call.xml | 84 ++++++++++++++++++++++
.../org.freedesktop.ModemManager1.Modem.Voice.xml | 82 +++++++++++++++++++++
4 files changed, 198 insertions(+)
create mode 100644 introspection/org.freedesktop.ModemManager1.Call.xml
create mode 100644 introspection/org.freedesktop.ModemManager1.Modem.Voice.xml
diff --git a/include/ModemManager-enums.h b/include/ModemManager-enums.h
index 57a2b27..aa61325 100644
--- a/include/ModemManager-enums.h
+++ b/include/ModemManager-enums.h
@@ -1168,4 +1168,34 @@ typedef enum { /*< underscore_name=mm_oma_session_state_failed_reason >*/
MM_OMA_SESSION_STATE_FAILED_REASON_SESSION_CANCELLED = 5
} MMOmaSessionStateFailedReason;
+/**
+ * MMCallState:
+ * MM_CALL_STATE_UNKNOWN: default state for a new outgoing call
+ * MM_CALL_STATE_RINGING: call is waiting for an answer
+ * @MM_CALL_STATE_ACCEPTED: call is active between two peers
+ * @MM_CALL_STATE_TERMINATED: call is terminated
+ * @MM_CALL_STATE_REFUSED: call is refused or busy
+ * @MM_CALL_STATE_ERROR: call in error (wrong number, network unavailable, etc..)
+ *
+ * State of Call
+ */
+typedef enum { /*< underscore_name=mm_call_state >*/
+ MM_CALL_STATE_UNKNOWN = 0,
+ MM_CALL_STATE_RINGING = 1,
+ MM_CALL_STATE_ACCEPTED = 2,
+ MM_CALL_STATE_TERMINATED = 3,
+ MM_CALL_STATE_REFUSED = 4,
+ MM_CALL_STATE_ERROR = 5
+} MMCallState;
+
+/**
+ * MMCallDirection:
+ * @MM_CALL_DIRECTION_INCOMING : call from network
+ * @MM_CALL_DIRECTION_OUTGOING : call to network
+ */
+typedef enum { /*< underscore_name=mm_call_direction >*/
+ MM_CALL_DIRECTION_INCOMING = 0,
+ MM_CALL_DIRECTION_OUTGOING = 1
+} MMCallDirection;
+
#endif /* _MODEMMANAGER_ENUMS_H_ */
diff --git a/introspection/all.xml b/introspection/all.xml
index 4d277e3..57c28d0 100644
--- a/introspection/all.xml
+++ b/introspection/all.xml
@@ -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"/>
diff --git a/introspection/org.freedesktop.ModemManager1.Call.xml b/introspection/org.freedesktop.ModemManager1.Call.xml
new file mode 100644
index 0000000..766a0f3
--- /dev/null
+++ b/introspection/org.freedesktop.ModemManager1.Call.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<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
+
+ Emitted when call changes state
+ -->
+ <signal name="StateChanged">
+ <arg name="old" type="i" />
+ <arg name="new" type="i" />
+ </signal>
+
+ <!--
+ State:
+
+ A <link linkend="MMCallState">MMCallState</link> value,
+ describing the state of the call.
+ -->
+ <property name="State" 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" />
+
+ <!--
+ Audio:
+
+ The audio device.
+
+ Example list:
+ - "analog" (PCM analog)
+ - "/dev/ttyUSB2" (sound device)
+ - "others?"
+ -->
+ <property name="Audio" type="s" access="read" />
+ </interface>
+</node>
diff --git a/introspection/org.freedesktop.ModemManager1.Modem.Voice.xml b/introspection/org.freedesktop.ModemManager1.Modem.Voice.xml
new file mode 100644
index 0000000..94ef5ed
--- /dev/null
+++ b/introspection/org.freedesktop.ModemManager1.Modem.Voice.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<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">
+
+ <!--
+ List:
+ @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="List">
+ <arg name="result" type="ao" direction="out" />
+ </method>
+
+ <!--
+ Delete:
+ @path: The object path of the Call to delete.
+
+ Delete a Call.
+ -->
+ <method name="Delete">
+ <arg name="path" type="o" direction="in" />
+ </method>
+
+ <!--
+ Create:
+ @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="Create">
+ <arg name="properties" type="a{sv}" direction="in" />
+ <arg name="path" type="o" direction="out" />
+ </method>
+
+ <!--
+ Added:
+ @path: Object path of the new call.
+ @received: %TRUE if the call was received from the network (incoming call), as opposed to being added locally (outgoing call).
+
+ Emitted when any part of a Call has been received or added.
+ -->
+ <signal name="Added">
+ <arg name="path" type="o" />
+ <arg name="received" type="b" />
+ </signal>
+
+ <!--
+ Deleted:
+ @path: Object path of the now deleted Call.
+
+ Emitted when a call has been deleted.
+ -->
+ <signal name="Deleted">
+ <arg name="path" type="o" />
+ </signal>
+
+ <!--
+ Calls:
+
+ The list of calls object paths.
+ -->
+ <property name="Calls" type="ao" access="read" />
+
+ </interface>
+</node>
--
2.1.4
_______________________________________________
ModemManager-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/modemmanager-devel