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

Reply via email to