summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2021-09-10 11:38:52 +0200
committerAleksander Morgado <aleksander@aleksander.es>2021-09-10 09:53:57 +0000
commita07a43366ab71da808f5f325c4e306b86da641b3 (patch)
tree06ecc4e674f94fdd79bab3427b0d814619ba5580
parent80f274b37159777a462d7584fb4fc82876229ac2 (diff)
downloadModemManager-a07a43366ab71da808f5f325c4e306b86da641b3.tar.gz
Revert "api: remove Modem.Sar interface"
This reverts commit 686e37ff84daca6096fe18781ad9ba6f29cd4063.
-rw-r--r--docs/reference/api/Makefile.am1
-rw-r--r--docs/reference/api/ModemManager-dbus-reference.xml1
-rw-r--r--docs/reference/libmm-glib/libmm-glib-docs.xml4
-rw-r--r--docs/reference/libmm-glib/libmm-glib-sections.txt74
-rw-r--r--introspection/Makefile.am1
-rw-r--r--introspection/all.xml1
-rw-r--r--introspection/org.freedesktop.ModemManager1.Modem.Sar.xml102
-rw-r--r--libmm-glib/generated/Makefile.am3
8 files changed, 187 insertions, 0 deletions
diff --git a/docs/reference/api/Makefile.am b/docs/reference/api/Makefile.am
index ab474ea63..a641eadfd 100644
--- a/docs/reference/api/Makefile.am
+++ b/docs/reference/api/Makefile.am
@@ -75,6 +75,7 @@ expand_content_files = \
$(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
$(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml \
$(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Sar.xml \
$(NULL)
extra_files = \
diff --git a/docs/reference/api/ModemManager-dbus-reference.xml b/docs/reference/api/ModemManager-dbus-reference.xml
index 6685fd559..6d9ef43f0 100644
--- a/docs/reference/api/ModemManager-dbus-reference.xml
+++ b/docs/reference/api/ModemManager-dbus-reference.xml
@@ -138,6 +138,7 @@
<xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml"/>
<xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Voice.xml"/>
<xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml"/>
+ <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Sar.xml"/>
<xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml"/>
<xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Oma.xml"/>
<!--xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Contacts.xml"/-->
diff --git a/docs/reference/libmm-glib/libmm-glib-docs.xml b/docs/reference/libmm-glib/libmm-glib-docs.xml
index c0495e44b..92e105f08 100644
--- a/docs/reference/libmm-glib/libmm-glib-docs.xml
+++ b/docs/reference/libmm-glib/libmm-glib-docs.xml
@@ -238,6 +238,10 @@
<xi:include href="xml/MmGdbusModemVoiceProxy.xml"/>
<xi:include href="xml/MmGdbusModemVoiceSkeleton.xml"/>
+ <xi:include href="xml/MmGdbusModemSar.xml"/>
+ <xi:include href="xml/MmGdbusModemSarProxy.xml"/>
+ <xi:include href="xml/MmGdbusModemSarSkeleton.xml"/>
+
<!--xi:include href="xml/MmGdbusModemContacts.xml"/>
<xi:include href="xml/MmGdbusModemContactsProxy.xml"/>
<xi:include href="xml/MmGdbusModemContactsSkeleton.xml"/-->
diff --git a/docs/reference/libmm-glib/libmm-glib-sections.txt b/docs/reference/libmm-glib/libmm-glib-sections.txt
index 2d0b38e41..1b7fc52a8 100644
--- a/docs/reference/libmm-glib/libmm-glib-sections.txt
+++ b/docs/reference/libmm-glib/libmm-glib-sections.txt
@@ -3227,6 +3227,77 @@ mm_gdbus_modem_voice_skeleton_get_type
</SECTION>
<SECTION>
+<FILE>MmGdbusModemSar</FILE>
+<TITLE>MmGdbusModemSar</TITLE>
+MmGdbusModemSar
+MmGdbusModemSarIface
+<SUBSECTION Getters>
+mm_gdbus_modem_sar_get_power_level
+mm_gdbus_modem_sar_get_state
+<SUBSECTION Methods>
+mm_gdbus_modem_sar_call_enable
+mm_gdbus_modem_sar_call_enable_finish
+mm_gdbus_modem_sar_call_enable_sync
+mm_gdbus_modem_sar_call_set_power_level
+mm_gdbus_modem_sar_call_set_power_level_finish
+mm_gdbus_modem_sar_call_set_power_level_sync
+<SUBSECTION Private>
+mm_gdbus_modem_sar_set_power_level
+mm_gdbus_modem_sar_set_state
+mm_gdbus_modem_sar_interface_info
+mm_gdbus_modem_sar_override_properties
+mm_gdbus_modem_sar_complete_enable
+mm_gdbus_modem_sar_complete_set_power_level
+<SUBSECTION Standard>
+MM_GDBUS_IS_MODEM_SAR
+MM_GDBUS_MODEM_SAR
+MM_GDBUS_MODEM_SAR_GET_IFACE
+MM_GDBUS_TYPE_MODEM_SAR
+mm_gdbus_modem_sar_get_type
+</SECTION>
+
+<SECTION>
+<FILE>MmGdbusModemSarProxy</FILE>
+<TITLE>MmGdbusModemSarProxy</TITLE>
+MmGdbusModemSarProxy
+<SUBSECTION New>
+mm_gdbus_modem_sar_proxy_new
+mm_gdbus_modem_sar_proxy_new_finish
+mm_gdbus_modem_sar_proxy_new_for_bus
+mm_gdbus_modem_sar_proxy_new_for_bus_finish
+mm_gdbus_modem_sar_proxy_new_for_bus_sync
+mm_gdbus_modem_sar_proxy_new_sync
+<SUBSECTION Standard>
+MmGdbusModemSarProxyClass
+MM_GDBUS_IS_MODEM_SAR_PROXY
+MM_GDBUS_IS_MODEM_SAR_PROXY_CLASS
+MM_GDBUS_MODEM_SAR_PROXY
+MM_GDBUS_MODEM_SAR_PROXY_CLASS
+MM_GDBUS_MODEM_SAR_PROXY_GET_CLASS
+MM_GDBUS_TYPE_MODEM_SAR_PROXY
+MmGdbusModemSarProxyPrivate
+mm_gdbus_modem_sar_proxy_get_type
+</SECTION>
+
+<SECTION>
+<FILE>MmGdbusModemSarSkeleton</FILE>
+<TITLE>MmGdbusModemSarSkeleton</TITLE>
+MmGdbusModemSarSkeleton
+<SUBSECTION New>
+mm_gdbus_modem_sar_skeleton_new
+<SUBSECTION Standard>
+MmGdbusModemSarSkeletonClass
+MM_GDBUS_IS_MODEM_SAR_SKELETON
+MM_GDBUS_IS_MODEM_SAR_SKELETON_CLASS
+MM_GDBUS_MODEM_SAR_SKELETON
+MM_GDBUS_MODEM_SAR_SKELETON_CLASS
+MM_GDBUS_MODEM_SAR_SKELETON_GET_CLASS
+MM_GDBUS_TYPE_MODEM_SAR_SKELETON
+MmGdbusModemSarSkeletonPrivate
+mm_gdbus_modem_sar_skeleton_get_type
+</SECTION>
+
+<SECTION>
<FILE>MmGdbusObject</FILE>
<TITLE>MmGdbusObject</TITLE>
MmGdbusObject
@@ -3258,6 +3329,8 @@ mm_gdbus_object_peek_modem_signal
mm_gdbus_object_get_modem_signal
mm_gdbus_object_peek_modem_voice
mm_gdbus_object_get_modem_voice
+mm_gdbus_object_peek_modem_sar
+mm_gdbus_object_get_modem_sar
<SUBSECTION Methods>
<SUBSECTION Private>
<SUBSECTION Standard>
@@ -3306,6 +3379,7 @@ mm_gdbus_object_skeleton_set_modem_simple
mm_gdbus_object_skeleton_set_modem_time
mm_gdbus_object_skeleton_set_modem_signal
mm_gdbus_object_skeleton_set_modem_voice
+mm_gdbus_object_skeleton_set_modem_sar
<SUBSECTION Standard>
MmGdbusObjectSkeletonClass
MM_GDBUS_IS_OBJECT_SKELETON
diff --git a/introspection/Makefile.am b/introspection/Makefile.am
index fccf3b8f7..c75157739 100644
--- a/introspection/Makefile.am
+++ b/introspection/Makefile.am
@@ -21,6 +21,7 @@ xml_DATA = \
org.freedesktop.ModemManager1.Modem.Time.xml \
org.freedesktop.ModemManager1.Modem.Voice.xml \
org.freedesktop.ModemManager1.Call.xml \
+ org.freedesktop.ModemManager1.Modem.Sar.xml \
org.freedesktop.ModemManager1.Modem.Modem3gpp.ProfileManager.xml \
$(NULL)
diff --git a/introspection/all.xml b/introspection/all.xml
index fabf2dd91..dda64dd53 100644
--- a/introspection/all.xml
+++ b/introspection/all.xml
@@ -17,6 +17,7 @@
<xi:include href="org.freedesktop.ModemManager1.Modem.Location.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Modem.Time.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Modem.Firmware.xml"/>
+ <xi:include href="org.freedesktop.ModemManager1.Modem.Sar.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Modem.Signal.xml"/>
<xi:include href="org.freedesktop.ModemManager1.Modem.Oma.xml"/>
diff --git a/introspection/org.freedesktop.ModemManager1.Modem.Sar.xml b/introspection/org.freedesktop.ModemManager1.Modem.Sar.xml
new file mode 100644
index 000000000..773cd5710
--- /dev/null
+++ b/introspection/org.freedesktop.ModemManager1.Modem.Sar.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+ ModemManager 1.0 Interface Specification
+
+ Copyright (C) 2020 Google, Inc.
+-->
+
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+
+ <!--
+ org.freedesktop.ModemManager1.Modem.Sar:
+ @short_description: The ModemManager dynamic SAR interface.
+
+ The SAR interface defines operations and properties for dynamic SAR, so
+ that user applications can control the output power level dynamically.
+
+ Using the SAR interface is not trivial, and it requires prior knowledge of
+ the internal SAR mapping table configured in each device.
+
+ The SAR mapping table is defined by the manufacturer of the device, and is
+ usually setup to match a specific hardware setup (e.g. a specific laptop or
+ hardware configuration). This table may provide different power levels for
+ different frequency bands and/or antennas.
+
+ An example SAR mapping table, where all bands and antennas share the same
+ level, could look like this:
+ <table>
+ <tr><td>Power Level</td><td>LTE B3</td> <td>LTE B7</td> <td>LTE B20</td></tr>
+ <tr><td>0</td> <td>26.0 dBm</td> <td>26.5 dBm</td> <td>27.0 dBm</td></tr>
+ <tr><td>1</td> <td>26.5 dBm</td> <td>27.0 dBm</td> <td>27.5 dBm</td></tr>
+ <tr><td>2</td> <td>27.0 dBm</td> <td>27.5 dBm</td> <td>28.0 dBm</td></tr>
+ <tr><td>3</td> <td>27.5 dBm</td> <td>28.0 dBm</td> <td>28.5 dBm</td></tr>
+ <tr><td>4</td> <td>28.0 dBm</td> <td>28.5 dBm</td> <td>28.5 dBm</td></tr>
+ <tr><td>5</td> <td>28.5 dBm</td> <td>28.5 dBm</td> <td>28.5 dBm</td></tr>
+ </table>
+
+ In this example, the SAR mapping table has 6 different levels (0 to 5),
+ and it's applied exclusively for LTE bands B3, B7 and B20 in all available
+ antennas. None of this information is exposed to the user in the SAR
+ interface, not even the amount of levels available.
+ -->
+ <interface name="org.freedesktop.ModemManager1.Modem.Sar">
+
+ <!--
+ Enable:
+ @enable: %TRUE to enable dynamic SAR and %FALSE to disable it.
+
+ Enable or disable dynamic SAR.
+
+ When enabled, the modem's output power level can be dynamically updated
+ by the host.
+
+ When disabled, the modem's output power level is dynamically updated
+ exclusively by the device.
+
+ Since: 1.18
+ -->
+ <method name="Enable">
+ <arg name="enable" type="b" direction="in" />
+ </method>
+
+ <!--
+ SetPowerLevel:
+ @level: Index of the SAR power level mapping table.
+
+ Set current dynamic SAR power level for all antennas on the device.
+
+ Please check with your modem vendor for detailed description on the
+ number of levels and corresponding power output for each level.
+
+ The index set here will apply to all antennas on the system.
+
+ Since: 1.18
+ -->
+ <method name="SetPowerLevel">
+ <arg name="level" type="u" direction="in" />
+ </method>
+
+ <!--
+ State:
+
+ Boolean indicating whether dynamic SAR is currently enabled.
+
+ Since: 1.18
+ -->
+ <property name="State" type="b" access="read" />
+
+ <!--
+ PowerLevel:
+
+ Current index of the SAR power level mapping table that is being used
+ for setting the output power of all antennas on the system.
+
+ This value is only applicable when dynamic SAR is enabled.
+
+ Since: 1.18
+ -->
+ <property name="PowerLevel" type="u" access="read" />
+
+ </interface>
+</node>
diff --git a/libmm-glib/generated/Makefile.am b/libmm-glib/generated/Makefile.am
index 3eff4897b..5e171238f 100644
--- a/libmm-glib/generated/Makefile.am
+++ b/libmm-glib/generated/Makefile.am
@@ -46,6 +46,7 @@ GENERATED_DOC = \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.ProfileManager.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Sar.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml \
$(NULL)
@@ -121,6 +122,7 @@ mm_gdbus_modem_generated = \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.ProfileManager.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Sar.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml \
$(NULL)
@@ -136,6 +138,7 @@ mm_gdbus_modem_deps = \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.ProfileManager.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Sar.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Signal.xml \
$(NULL)