Commit Graph

57 Commits

Author SHA1 Message Date
Aleksander Morgado
86dd0816b5 api,dbus: new `Storage' property in the SMS interface 2012-03-15 14:15:03 +01:00
Aleksander Morgado
b61c94016a api,dbus: remove the option to send the SMS in the Create() call
An SMS must be first created with the Messaging interface, and then sent using the
Send() method from the SMS-specific interface.
2012-03-15 14:15:02 +01:00
Aleksander Morgado
e07e26c6e1 api,dbus: new method to request storing a SMS messages 2012-03-15 14:15:01 +01:00
Aleksander Morgado
14baeff88d api,dbus: renamed To' to Number' in the SMS interface 2012-03-15 14:15:01 +01:00
Aleksander Morgado
69b8742ca3 api,header: renamed MMModemSmsState' to MMSmsState' 2012-03-15 14:15:01 +01:00
Aleksander Morgado
6432c54d70 api,dbus: return just the list of SMS object paths, not a dictionary 2012-03-15 14:14:59 +01:00
Aleksander Morgado
c29f06f1e5 api,dbus: just notify SMS object paths, not their properties
When notifying added or completed SMS objects, don't return their properties as
they can be retrieved by looking at the specific objects in DBus.
2012-03-15 14:14:59 +01:00
Aleksander Morgado
ad37101c0d api,dbus: don't allow for an SMS object to delete itself
Managing existence of the SMS objects better done only via the Messaging
interface.
2012-03-15 14:14:58 +01:00
Aleksander Morgado
f0bbe7aa11 api,dbus: USSD session state is given as a `MMModem3gppUssdSessionState' 2012-03-15 14:14:57 +01:00
Aleksander Morgado
009582b6fd api,dbus: remove optional 'number' in bearer Connect() call
We can already give the number as a parameter in the dictionary when creating
the Bearer object.
2012-03-15 14:14:53 +01:00
Aleksander Morgado
8d25f46292 build: we no longer need to have the DBus.Properties introspection XML
Not needed in gdbus-based code.
2012-03-15 14:14:53 +01:00
Aleksander Morgado
f94d8ce30a api: include '3gpp' prefix for LAC/CI location, instead of 'gsm' 2012-03-15 14:14:52 +01:00
Aleksander Morgado
1b45b6a015 api,dbus: we won't enable the modem if we're enabling location 2012-03-15 14:14:51 +01:00
Aleksander Morgado
4bf03a24a1 api,header: treat CDMA activation errors as any other error 2012-03-15 14:14:51 +01:00
Aleksander Morgado
6238ba8568 api,dbus: don't return immediate CDMA activation errors
Seems like an unnecessary complication, as the client anyway needs to handle
asynchronously reported errors.
2012-03-15 14:14:51 +01:00
Aleksander Morgado
9324c9cbb7 api,dbus: include CDMA-specific properties in the simple status query 2012-03-15 14:14:50 +01:00
Aleksander Morgado
71fbd2248c api,dbus: prefix with 'm3gpp' the 3GPP-specific entries returned in the simple status
Note that we cannot have properties starting with a digit :-/
2012-03-15 14:14:50 +01:00
Aleksander Morgado
e7e1a4d156 api,dbus: MCCMNC identifies the operator (country+network), not just the network
MCCMNC = MCC (Mobile Country Code) + MNC (Mobile Network Code)
2012-03-15 14:14:49 +01:00
Aleksander Morgado
fa0dba6a6e api,dbus: expect 'rm-protocol' in Simple Connect() and CreateBearer() 2012-03-15 14:14:47 +01:00
Aleksander Morgado
ba1a448717 api,dbus: improve GetStatus() documentation in the Simple interface
* We will also return 'registration-state' in 3GPP networks
* Specified that 'operator-code' and 'operator-name' are only set if
  registered in a 3GPP network.
2012-03-15 14:14:39 +01:00
Aleksander Morgado
9d7e3de4cd api: MMModemBand is now an enum, not flags
We don't want to handle bands as flags, in order to avoid the need of 64-bits
for the enum. This change implies that setting allowed bands will be done by
giving an array of uint32 values, signature "au".
2012-03-15 14:14:37 +01:00
Aleksander Morgado
0cb3be0618 api,dbus: let Connect() return just the bearer path
Also renamed some of the properties that can be passed, trying to consolidate a
common set of names.
2012-03-15 14:14:36 +01:00
Aleksander Morgado
e385b5b079 api,core: new 'allow-roaming' property to be set when creating a bearer
This new boolean property, applicable to 3GPP bearers, will specify whether 3GPP
bearers are allowed to get connected when registered in a roaming network.
2012-03-15 14:14:35 +01:00
Aleksander Morgado
516b097331 api,enums: renamed MMModemAccessTech' to MMModemAccessTechnology'
This one was the last enum without full name.
2012-03-15 14:14:35 +01:00
Aleksander Morgado
e2e0812272 api,dbus: renamed AccessTechnology' to AccessTechnologies'
We are reporting a bitmask of flags, not just one value.
2012-03-15 14:14:35 +01:00
Aleksander Morgado
473f45cc99 api: expose in the Bearer the dict of properties used when creating it 2012-03-15 14:14:33 +01:00
Aleksander Morgado
838f38ec8c api: minor fixes in OperatorCode' and OperatorName' documentation 2012-03-15 14:14:32 +01:00
Aleksander Morgado
a181b152a1 api: when creating new bearer, use dict of strings
Changed the signature of the 'properties' input argument in the CreateBearer()
DBus call from a{sv} to a{ss}. We'll only expect string values.
2012-03-15 14:14:32 +01:00
Aleksander Morgado
a265798e0d api: rename key in dictionary returned by Scan()
We'll keep on using 'code' to refer to the Operator MCC/MNC.
2012-03-15 14:14:30 +01:00
Aleksander Morgado
a58f95121a api: rename 3GPP and CDMA interface paths
Elements in a DBus interface name cannot start with a digit, so
"org.freedesktop.ModemManager1.Modem.3gpp" is an invalid interface name.

Renamed here all relevant interfaces so that they have an additional "Modem"
prefix in the element, so we get now:
 "org.freedesktop.ModemManager1.Modem.Modem3gpp"
 "org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd"
 "org.freedesktop.ModemManager1.Modem.ModemCdma"

Objects generated with gdbus-codegen maintain the previous names.
2012-03-15 14:14:28 +01:00
Aleksander Morgado
ff5ea7b76a build: setup autogeneration of names header for the new API
The `include/ModemManager-names.h' autogenerated header includes the list of
Interface, Method, Signal and Property names defined in the DBus API.
2012-03-15 14:14:18 +01:00
Aleksander Morgado
4643dca4a2 api,errors: implement all errors from the new API
Errors that will/may be reported via DBus are defined in the public interface
header.
2012-03-15 14:14:18 +01:00
Aleksander Morgado
4cdbaa5de3 api,enums: implement all enums and flags from the new API 2012-03-15 14:14:17 +01:00
Aleksander Morgado
8763576a34 api,dbus: rewrite Methods, Properties and Signals for gdbus-codegen 2012-03-15 14:14:17 +01:00
Aleksander Morgado
793c65705f api,dbus: Bearer interface not implemented by modems
Keep the Bearer interface out of the 'Modem' subtree in the interface hierarchy,
as it will be specific for Bearer objects, not implemented by Modem objects.
2012-03-15 14:14:17 +01:00
Aleksander Morgado
3599e396b9 api,dbus: SMS interface not implemented by modems
Keep the SMS interface out of the 'Modem' subtree in the interface hierarchy,
as it will be specific for SMS objects, not implemented by Modem objects.
2012-03-15 14:14:17 +01:00
Aleksander Morgado
592cd21f61 api,dbus: fix SignalQuality property signature so that it's a (ub) tuple 2012-03-15 14:14:17 +01:00
Aleksander Morgado
4fbe13a73f api,dbus: simplified the Manager API, as we will use the standard ObjectManager
The recent `org.freedesktop.DBus.ObjectManager' standard API defines a common
way to handle a list of objects in the interface. It allows getting all objects,
interfaces and properties in a single method call.

See:
http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager
2012-03-15 14:14:17 +01:00
Aleksander Morgado
89090013f2 api,dbus: let IMSI, OperatorIdentifier and OperatorName be properties in the SIM interface 2012-03-15 14:14:17 +01:00
Aleksander Morgado
35abbd6dd5 api,dbus: use long property names in the 3GPP DBus interface 2012-03-15 14:14:17 +01:00
Aleksander Morgado
432df3349f api,dbus: fix signature of the Scan() method in the 3GPP DBus interface
The Scan() method returns an array of dictionaries, where each dictionary is
defined by a string key plus a variant data (not a string data). This is to
handle the "status" and "access-tech" entries, which are given as unsigned
integers.
2012-03-15 14:14:17 +01:00
Aleksander Morgado
f7390c328b api,dbus: use long property names in the CDMA DBus interface 2012-03-15 14:14:17 +01:00
Aleksander Morgado
60e824bd59 api,dbus: let UnlockRequired property be an enum instead of a string
We were already working with a fixed set of possible strings, so better to have
an enumeration for that.
2012-03-15 14:14:17 +01:00
Aleksander Morgado
022ceae0d8 api,dbus: new `Plugin' property in the Modem interface
Will hold the name of the plugin managing the modem.
2012-03-15 14:14:17 +01:00
Aleksander Morgado
3bcbc7b644 api: Let MM_MODEM_MODE be a bitfield, and new PreferredMode property
Supported and Allowed modes are modified to be bitmasks of MM_MODEM_MODE values,
and preference of a specific mode is now given in the new PreferredMode
property and as an extra argument to the SetAllowedModes() call.

 * Supported Modes: bitmask specifying which modes are supported by the specific
hardware. For example, a modem may only support 1G/2G/3G connections (not 4G).

 * Allowed Modes: bitmask specifying which modes, of the ones Supported by the
modem, are allowed to use. For example, a modem may support 1G/2G/3G connections
but only 1G and 2G connections are allowed by the user as 3G involves more
expensive data rates.

 [Allowed] ⊆ [Supported]

 * Preferred Mode: specific mode which is preferred among the ones defined in
the Allowed modes bitmask. For example, a modem may allow 1G/2G/3G connections
but the user would like that if possible 2G be used, as 3G consumes too much
battery. If 2G is not possible, 3G can be used.

 [Preferred] ∈ [Allowed]
2011-10-17 12:50:44 +02:00
Aleksander Morgado
a9f4ea9f81 api: rename MM_MODEM_ALLOWED_MODE to MM_MODEM_MODE
Makes more sense to have the enum named just as 'mode', as it applies to both
Supported and Allowed.
2011-10-01 15:23:11 +02:00
Aleksander Morgado
40406693b6 api: new SetAllowedBands() to be able to modify the allowed bands in the modem
Changing the allowed bands in a modem may fail, for example if trying to set a
frequency band which is not in the bands mask reported as Supported by the modem.
Therefore, we need an explicit SetAllowedBands() method with proper error
reporting instead of making the property writable.
2011-10-01 15:23:09 +02:00
Aleksander Morgado
b5393091de api: new SetAllowedModes() to be able to modify the allowed mode in the modem
Changing the allowed mode of a modem may fail, for example if trying to set a
mode which is not in the modes reported as Supported by the modem. Therefore, we
need an explicit SetAllowedModes() method with proper error reporting instead of
making the property writable.
2011-10-01 15:23:08 +02:00
Aleksander Morgado
dbc64d83ba api: let SignalQuality say if the given value was recently taken
Modems which only expose a single port will not be able to update the signal
quality value while in connected mode. The signal quality value reported in this
case, while the modem is connected, will be the last signal quality value read
before the connection.

The additional boolean value proposed here in the SignalQuality property will
just say if the given signal quality was recently taken (if TRUE) or cached
some time ago (if FALSE). The time to assume the value was recently taken or not
could depend on different things, for example:

 * If the modem always has an AT port, even if connected, we could directly
   query the current signal quality and report the value as being fresh.

 * If the modem has a single port, we could report the value as not being fresh
   as soon as the modem gets in connected state.

 * For modems which report the signal quality updates in unsolicited messages,
   we could report the value as being fresh if the update was received in the
   last minute or so.
2011-10-01 15:23:06 +02:00
Aleksander Morgado
e9743f4b49 api: let the Modem expose a 'Sim' property to link to a specific SIM object
SIM objects will be listed as independent objects in the DBus API, and the 'Sim'
property in a given modem object will specify which SIM object is in use.
2011-10-01 15:23:05 +02:00