Commit Graph
81 Commits
Author SHA1 Message Date
Aleksander Morgado 0b39bf91ec at-serial-port: new AT port specific flags 2012-03-15 14:15:05 +01:00
Aleksander Morgado 06260cdced build: private enums don't depend on the public ones 2012-03-15 14:15:04 +01:00
Aleksander Morgado 4d3a61d58b build: generate libserial-specific enum types 2012-03-15 14:15:04 +01:00
Aleksander Morgado ffdb034413 build: renamed files holding daemon-specific enum types 2012-03-15 14:15:04 +01:00
Aleksander Morgado fba16a2a2c sms-list: new object to handle SMS objects and SMS parts 2012-03-15 14:14:59 +01:00
Aleksander Morgado ad8fbcd1a6 sms: new object to handle single-part and multi-part messages 2012-03-15 14:14:59 +01:00
Aleksander Morgado d41f4226f4 sms-part: new struct to handle parsed SMS parts 2012-03-15 14:14:59 +01:00
Aleksander Morgado bc0454badf iface-modem-messaging: new interface to handle the Messaging DBus interface 2012-03-15 14:14:58 +01:00
Aleksander Morgado b65f96aec7 iface-modem-3gpp-ussd: new interface for USSD related actions 2012-03-15 14:14:56 +01:00
Aleksander Morgado fa17f90082 bearer-3gpp, bearer-cdma: removed, they were mixed in broadband-bearer 2012-03-15 14:14:53 +01:00
Aleksander Morgado a3b5c9faef broadband-bearer: new generic 3GPP+CDMA bearer 2012-03-15 14:14:53 +01:00
Aleksander Morgado 04fc34fab8 build: autogenerate enum/flags string getter/builders
Each enum will have its own #_get_string (),
and each flags will have its own #_build_string_from_mask ().
2012-03-15 14:14:52 +01:00
Aleksander Morgado d0a845c819 iface-modem-location: new interface for Location-related stuff 2012-03-15 14:14:51 +01:00
Aleksander Morgado 2052b8184f core: new boxed type for 0-terminated array of guint16 values 2012-03-15 14:14:51 +01:00
Aleksander Morgado 06ea25c0d4 bearer-cdma: new bearer to handle connections in CDMA networks 2012-03-15 14:14:47 +01:00
Aleksander Morgado 7f975a30b3 build: remove glib-mkenums generated files during make clean 2012-03-15 14:14:47 +01:00
Aleksander Morgado f5d894f5a2 iface-modem-cdma: new interface to handle CDMA specific actions 2012-03-15 14:14:43 +01:00
Aleksander Morgado 7ea8bf59fb iface-modem-simple: new interface to handle the Simple interface 2012-03-15 14:14:36 +01:00
Aleksander Morgado 9962f5cbde bearer: new `bearer-state' property 2012-03-15 14:14:35 +01:00
Aleksander Morgado 48f0061355 bearer-3gpp: implement 3GPP-specific bearer
Implement basic functionality of a 3GPP based bearer, including connnection and
disconnection.
2012-03-15 14:14:34 +01:00
Aleksander Morgado 776cc66e2c iface-modem: implement all bearer list operations in the interface
Bearer list operations, except for Bearer creation, are so generic that the
interface itself can implement it for every object implementing the interface.
This implementation is based on a new MMBearerList object.
2012-03-15 14:14:33 +01:00
Aleksander Morgado 36fae5564b bearer: new object to handle bearers, implements the Bearer DBus interface 2012-03-15 14:14:31 +01:00
Aleksander Morgado fb90f205d1 core: port to use the new AT command/sequences in the MMBaseModem API 2012-03-15 14:14:31 +01:00
Aleksander Morgado 52db9b9035 base-modem-at: refactor AT sequence/command handling
Make a tight connection between the action of sending AT commands, either single
or in a sequence, with the MMBaseModem object owning the port. This direct
relation allows sending commands without specifying which port to use, so that
the modem object can get the best port at each time, and handling all that in a
single common place.

The original mm-at API has also been modified so that when a single command is
sent, a constant string is returned. We are allowed to return constant strings
in mm_base_modem_at_command_finish() because the string itself is owned by the
GSimpleAsyncResult, and hence, alive enough time. The GSimpleAsyncResult is
completely disposed only after the async call is fully completed.

Same reasoning behind the GVariant returned in the AT sequences; it should not
be owned by the caller, it's a transfer-none in introspection terms.
2012-03-15 14:14:31 +01:00
Aleksander Morgado 1d495c58e6 iface-modem-3gpp: new interface to handle the Modem 3GPP DBus interface 2012-03-15 14:14:28 +01:00
Aleksander Morgado c58db4e015 core: start using our newly defined errors 2012-03-15 14:14:25 +01:00
Aleksander Morgado e4d8c4ace7 core: disable all dbus-glib dependent code 2012-03-15 14:14:24 +01:00
Aleksander Morgado a3a712f32f core: new MMBroadbandModem object, inherits from MMBaseModem
New object to implement broadband modem specific behaviour.
2012-03-15 14:14:24 +01:00
Aleksander Morgado e40d32ac94 core: new MMSim object, inherits from MmGdbusSim 2012-03-15 14:14:23 +01:00
Aleksander Morgado 9e7cd2a345 core: new MMIfaceModem interface
This interface controls the availability of the DBus Modem interface, and
implements the actions that may be performed in the interface.
2012-03-15 14:14:22 +01:00
Aleksander Morgado 9a72ac80d0 core: new MMBaseModem abstract type
Basically, a replacement of the MMModemBase type, being prepared to handle
multimode devices.

This object derives from a MmGdbusObjectSkeleton, which makes it suitable to be
controlled within the GDBusObjectManagerServer.
2012-03-15 14:14:21 +01:00
Aleksander Morgado f15daaf587 core: new AT command and sequence processors
This setup, allows:
 - Running a single command and processing its result.
 - Running a set of N commands, providing a global result after all have
   been executed.
 - Running a set of N commands out of M (N<M), where the global result is
   obtained without having executed all configured commands. This is useful
   when probing, for example.
2012-03-15 14:14:21 +01:00
Aleksander Morgado 27e1d97aca port-probe: new cache of Port Probe results
Whenever a plugin has probed for some information in a given port, that data
should be available for any other plugin wanting it during its own probing
process. This new cache of Port Probe results allows to easily retrieve the
already probed information.
2012-03-15 14:14:20 +01:00
Aleksander Morgado 6816c2e61d port-probe: enable probing for AT support
We will initially probe for AT support in the port.
2012-03-15 14:14:20 +01:00
Aleksander Morgado d7238403c4 port-probe: new type to define commands used during probing
The new `MMPortProbeAtCommand' type defines what command will be sent to the
serial AT port, and also a response processor method to parse the string
returned by the port.

The response processor gets as input either the text reply string or an error,
and it should give as output either a GValue (type depends on the probing kind
being done) or a new error (which will force the whole probing process to be
aborted.
2012-03-15 14:14:20 +01:00
Aleksander Morgado 74145f5af7 port-probe: new MMPortProbe object 2012-03-15 14:14:20 +01:00
Aleksander Morgado 03655fcf9f plugin-manager: new MMPluginManager object 2012-03-15 14:14:19 +01:00
Aleksander Morgado 6b69605633 build: chain up new 0.6 API and link against libmm-common
Also removed the MMSerialError implementation from `src/mm-errors.[h|c]', as it
is now included in the new `include/ModemManager-errors.h' header file. All the
other enums and errors without clashing names will be ported afterwards to the
new base code.
2012-03-15 14:14:19 +01:00
Thomas Tuttle 7f12201494 time: implement MMModemTime boilerplate
Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
2012-01-25 15:54:28 -06:00
Aleksander Morgado 5f24703b12 build: mm-modem-gsm.h no longer exists 2011-10-17 09:39:43 +02:00
Thomas Tuttle 953701a6f8 modem: add firmware interface 2011-09-08 17:20:00 -04:00
Aleksander Morgado ea23851326 api: use common ModemManager.h for API, core and plugins 2011-08-19 22:54:48 +02:00
Nathan Williams e5faa242e9 sms: split SMS parsing out into a separate file
In preparation for adding tests.

Change-Id: If1ebd0fdd6e7470c21538042ab1735357649155c
2011-07-25 01:18:16 -05:00
Dan Williams 16039244bb core: rework logging
Make it more flexible, add logging to a file, and absolute and
relative timestamps.
2011-01-23 20:51:48 -06:00
Elly Jones 245818de33 Install xml files so they can be used by cromo (chromeos modem manager)
Amended: Install the files under their proper DBus names.

Review URL: http://codereview.chromium.org/1618004
(cherry picked from commit 89f7f05f1294485fa8b44cfdd3c9b0d924d45ac1)

Conflicts:

	Makefile.am

Change-Id: I65b2b0c1b5e579bb5b1d5d5b390c3be2ae49543c
2010-12-20 12:23:41 -05:00
Dan Williams d2ce75b57a core: separate PropertiesChanged signal XML
Which requires that we turn it into a GInterface that MMModemBase
can implement, because dbus-glib does not allow attaching more
than one introspection glue structure to an object at a time.

Also implement the standard D-Bus properties changed signal.
2010-12-17 16:27:55 -06:00
Dan Williams 592d71ff76 core: work around udev parallel startup race
Ignore devices that aren't completely configured by udev yet.  If
ModemManager is started in parallel with udev, explicitly requesting
devices may return devices for which not all udev rules have yet been
applied (a bug in udev/gudev).  Since we often need those rules to match
the device to a specific ModemManager driver, we need to ensure that all
rules have been processed before handling a device.

Do this by adding an item to the environment of each device that MM
might possibly be interested in, and ignoring devices that don't
have that.  When the device is fully processed by udev, MM will get
an 'add' event and the device will have all rules applied.
2010-12-08 17:04:59 -06:00
Guido Günther 3c13d9aec8 gsm: add preliminary USSD support (bgo #590798)
We currently convert to and from the modem's set charset and always pass
'15' as the data coding scheme. Passing the correct data coding scheme
as third argument to CUSD only upsets the network. This contradicts 3GPP
TS 23.038. Other tools like gsm-ussd handle it the same way.

Network responses that require further actions are not yet implemented.

(some fixes and cleanups by Dan Williams)
2010-11-05 14:50:50 -05:00
Dan Williams 6921a9f71d core: unconditionally enable the Location Services API
This required dbus-glib 0.86 or later, which was released 2010-03-24.
2010-11-05 14:03:44 -05:00
Dan Williams 1dae103484 build: create convenience serial library
For better unit testing.
2010-10-14 00:10:18 -05:00