Commit Graph
14 Commits
Author SHA1 Message Date
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 592cd21f61 api,dbus: fix SignalQuality property signature so that it's a (ub) tuple 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
Aleksander Morgado 588f9550ed api: remove GetInfo() from the Modem API and use read-only properties instead.
New 'Manufacturer', 'Model' and 'Revision properties are added, all being
read-only strings.
2011-10-01 15:23:02 +02:00
Dan Williams 18231c9f8d api: refine new API based on suggestions from Eric Shienbrood 2011-08-01 17:47:38 -05:00
Dan Williams 7c70ad55bb api: proposed new interface for MM 0.6 and later
Main changes are cleaning up the API and allowing for multi-mode
devices that support two or more of CDMA/EVDO, GSM/UMTS, and LTE
at the same time.  This provides a starting discussion point for
the new MM 0.6 API.
2011-05-18 21:59:42 -05:00