shill: No need to clone modem.xml now that dbus-c++ is patched to process it.
BUG=none
TEST=unit tests
Change-Id: I32e8fbf6b28671280a2488587753d334cfd652dd
Reviewed-on: http://gerrit.chromium.org/gerrit/5146
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/Makefile b/Makefile
index 332598e..ccbf5c4 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@
CXX ?= g++
CXXFLAGS ?= -fno-strict-aliasing
CXXFLAGS += -Wall -Wextra -Werror -Wuninitialized
-# disable some errors, which occur repeateadly the dbus-c++ headers.
+# Disable some errors, which occur repeatedly in the dbus-c++ headers.
CXXFLAGS += -Wno-ignored-qualifiers -Wno-unused
CPPFLAGS ?= -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
PKG_CONFIG ?= pkg-config
@@ -37,7 +37,6 @@
DBUS_PROXY_HEADERS = \
dhcpcd.h \
- modem.h \
supplicant-bss.h \
supplicant-interface.h \
supplicant-network.h \
@@ -47,6 +46,7 @@
# dependencies.
DBUS_BINDINGS_XML_SYSROOT = \
org.freedesktop.ModemManager>modem_manager \
+ org.freedesktop.ModemManager.Modem>modem \
org.freedesktop.ModemManager.Modem.Cdma>modem-cdma \
org.freedesktop.ModemManager.Modem.Gsm.Card>modem-gsm-card \
org.freedesktop.ModemManager.Modem.Gsm.Network>modem-gsm-network \
diff --git a/dbus_bindings/modem.xml b/dbus_bindings/modem.xml
deleted file mode 100644
index c57002c..0000000
--- a/dbus_bindings/modem.xml
+++ /dev/null
@@ -1,250 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- This file is identical to ModemManager's
- org.freedesktop.ModemManager.Modem.xml except that the StateChanged
- arguments have been renamed (e.g., "new" -> "new_state") to avoid
- compilation errors in dbusxx-xml2cpp-generated code. -->
-
-<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-
- <interface name="org.freedesktop.ModemManager.Modem">
- <method name="Enable">
- <tp:docstring>
- Enable the device. Initializes the modem.
- </tp:docstring>
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_enable"/>
- <arg name="enable" type="b" direction="in">
- <tp:docstring>
- True to enable the device, False to disable.
- </tp:docstring>
- </arg>
- </method>
-
- <method name="Connect">
- <tp:docstring>
- Dial in.
- </tp:docstring>
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_connect"/>
- <arg name="number" type="s" direction="in">
- <tp:docstring>
- The number to use for dialing.
- </tp:docstring>
- </arg>
- </method>
-
- <method name="Disconnect">
- <tp:docstring>
- Disconnect modem.
- </tp:docstring>
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_disconnect"/>
- </method>
-
- <method name="GetIP4Config">
- <tp:docstring>
- Request the IP4 configuration from the device.
- Note that it'll only be supported for IPMethod MM_MODEM_IP_METHOD_STATIC.
- </tp:docstring>
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_get_ip4_config"/>
- <arg name="address" type="(uuuu)" direction="out">
- Structure containing IP4 address, DNS1, DNS2, DNS3.
- The DNS list is padded with 0's if there's less than 3 DNS servers.
- </arg>
- </method>
-
- <method name="GetInfo">
- <tp:docstring>
- Get the card information (manufacturer, modem, version).
- </tp:docstring>
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_get_info"/>
- <arg name="info" type="(sss)" direction="out">
- <tp:docstring>
- Structure containing manufacturer, model, and version (revision) of the card.
- </tp:docstring>
- </arg>
- </method>
-
- <method name="Reset">
- <tp:docstring>
- Clear non-persistent configuration and state, and return the device to
- a newly-powered-on state. This command may power-cycle the device.
- </tp:docstring>
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_reset"/>
- </method>
-
- <method name="FactoryReset">
- <tp:docstring>
- Clear the modem's configuration (including persistent configuration and
- state), and return the device to a factory-default state. This command
- may or may not power-cycle the device.
- </tp:docstring>
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_factory_reset"/>
- <arg name="code" type="s" direction="in">
- Carrier-supplied code required to reset the modem. Ignored if not required.
- </arg>
- </method>
-
- <signal name="StateChanged">
- <tp:docstring>
- The modem's state (see the State property) changed.
- </tp:docstring>
- <arg name="old_state" type="u">
- <tp:docstring>
- Old state.
- </tp:docstring>
- </arg>
- <arg name="new_state" type="u">
- <tp:docstring>
- New state.
- </tp:docstring>
- </arg>
- <arg name="reason" type="u" tp:type="MM_MODEM_STATE_CHANGED_REASON">
- <tp:docstring>
- Reason for this state change.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="Device" type="s" access="read">
- <tp:docstring>
- The modem port to use for IP configuration and traffic.
- </tp:docstring>
- </property>
-
- <property name="DeviceIdentifier" type="s" access="read">
- <tp:docstring>
- A best-effort device identifier based on various device information like
- model name, firmware revision, USB/PCI/PCMCIA IDs, and other properties.
- This ID is not guaranteed to be unique and may be shared between
- identical devices with the same firmware, but is intended to be
- "unique enough" for use as a casual device identifier for various
- user experience operations. This is not the device's IMEI or ESN since
- those may not be available before unlocking the device via a PIN.
- </tp:docstring>
- </property>
-
- <property name="MasterDevice" type="s" access="read">
- <tp:docstring>
- The physical modem device reference (ie, USB, PCI, PCMCIA device), which
- may be dependent upon the operating system. In Linux for example, this
- points to a sysfs path of the usb_device object.
- </tp:docstring>
- </property>
-
- <property name="Driver" type="s" access="read">
- <tp:docstring>
- The driver handling the device.
- </tp:docstring>
- </property>
-
- <property name="Type" type="u" access="read" tp:type="MM_MODEM_TYPE">
- <tp:docstring>
- The modem type.
- </tp:docstring>
- </property>
-
- <property name="Enabled" type="b" access="read">
- <tp:docstring>
- TRUE if the modem is enabled (ie, powered and usable), FALSE if it is disabled.
- </tp:docstring>
- </property>
-
- <property name="EquipmentIdentifier" type="s" access="read">
- <tp:docstring>
- The identity of the device. This will be the IMEI number for
- GSM devices and the hex-format ESN/MEID for CDMA devices.
- </tp:docstring>
- </property>
-
- <property name="UnlockRequired" type="s" access="read">
- <tp:docstring>
- Empty if the device is usable without an unlock code or has already
- been unlocked. If the device needs to be unlocked before becoming usable this
- property contains the specific unlock code required. Valid unlock code values
- are "" (blank), "sim-pin", "sim-puk", "ph-sim-pin", "ph-fsim-pin",
- "ph-fsim-puk", "sim-pin2", "sim-puk2", "ph-net-pin", "ph-net-puk",
- "ph-netsub-pin", "ph-netsub-puk", "ph-sp-pin", "ph-sp-puk", "ph-corp-pin", and
- "ph-corp-puk".
- </tp:docstring>
- </property>
-
- <property name="UnlockRetries" type="u" access="read">
- <tp:docstring>
- The number of unlock retries remaining for the unlock code given by the property UnlockRequired, or 999 if
- the device does not support reporting unlock retries.
- </tp:docstring>
- </property>
-
- <property name="IpMethod" type="u" access="read" tp:type="MM_MODEM_IP_METHOD">
- <tp:docstring>
- The IP configuration method.
- </tp:docstring>
- </property>
-
- <!-- This ought to be of tp:type="MM_MODEM_STATE" but there are a couple
- more wrinkles to be sorted out before we can export that here.
- Also, Enabled should be folded into this. -->
- <property name="State" type="u" access="read">
- <tp:docstring>
- State of the modem.
- </tp:docstring>
- </property>
-
- <tp:enum name="MM_MODEM_TYPE" type="u">
- <tp:enumvalue suffix="GSM" value="1">
- <tp:docstring>
- A GSM device.
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="CDMA" value="2">
- <tp:docstring>
- A CDMA device.
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <tp:enum name="MM_MODEM_IP_METHOD" type="u">
- <tp:enumvalue suffix="PPP" value="0">
- <tp:docstring>
- Use PPP to get the address.
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="STATIC" value="1">
- <tp:docstring>
- Static configuration, the modem will provide IP information.
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="DHCP" value="2">
- <tp:docstring>
- Use DHCP
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <tp:enum name="MM_MODEM_STATE_CHANGED_REASON" type="u">
- <tp:enumvalue suffix="UNKNOWN" value="0">
- <tp:docstring>
- Reason unknown or not reportable.
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="USER_REQUESTED" value="1">
- <tp:docstring>
- State change was requested by an interface user.
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="SUSPEND" value="2">
- <tp:docstring>
- State change was caused by a system suspend.
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
-
- </interface>
-</node>
diff --git a/modem_proxy.cc b/modem_proxy.cc
index cef28a5..3328667 100644
--- a/modem_proxy.cc
+++ b/modem_proxy.cc
@@ -32,10 +32,12 @@
ModemProxy::Proxy::~Proxy() {}
-void ModemProxy::Proxy::StateChanged(const uint32 &old_state,
- const uint32 &new_state,
+void ModemProxy::Proxy::StateChanged(const uint32 &old,
+ const uint32 &_new,
const uint32 &reason) {
VLOG(2) << __func__;
+ // TODO(petkov): Implement this.
+ NOTIMPLEMENTED();
}
} // namespace shill
diff --git a/modem_proxy.h b/modem_proxy.h
index b9c588c..a1300b8 100644
--- a/modem_proxy.h
+++ b/modem_proxy.h
@@ -36,8 +36,8 @@
private:
// Signal callbacks inherited from ModemManager::Modem_proxy.
- virtual void StateChanged(const uint32 &old_state,
- const uint32 &new_state,
+ virtual void StateChanged(const uint32 &old,
+ const uint32 &_new,
const uint32 &reason);
DISALLOW_COPY_AND_ASSIGN(Proxy);