Commit Graph

347 Commits

Author SHA1 Message Date
Aleksander Morgado 4d6f38dcdd libqmi-glib,proxy: forward indications to remote clients 2013-09-05 15:39:00 +02:00
Aleksander Morgado 4cfe6c2985 libqmi-glib,device: emit signal for every indication received 2013-09-05 15:39:00 +02:00
Aleksander Morgado 8cde8a0f94 libqmi-glib,proxy: keep track of clients allocated/released
We will need this info to forward indications to the correct client.
2013-09-05 15:39:00 +02:00
Aleksander Morgado cf4738b790 qmi-proxy: automatically stop proxy if no clients around for 30s 2013-09-05 15:39:00 +02:00
Aleksander Morgado f2b6a4f606 libqmi-glib,proxy: cleanup 'QmiDevice' when no longer used 2013-09-05 15:39:00 +02:00
Aleksander Morgado 4878c5647b libqmi-glib,proxy: new property exposing the current number of connected clients 2013-09-05 15:39:00 +02:00
Aleksander Morgado f22e42f7af libqmi-glib: spawn qmi-proxy if not running 2013-09-05 15:39:00 +02:00
Aleksander Morgado 792729700d libqmi-glib,proxy: allow multiple remote 'QmiClientCtl'
Need to share the same underlying 'QmiClientCtl' in the proxy, so interleave
messages from different remote 'QmiClientCtl's and sync the transaction IDs
properly.
2013-09-05 15:39:00 +02:00
Aleksander Morgado 100be13c6e libqmi-glib,device: gather a proper transaction id for CTL if none given 2013-09-05 15:39:00 +02:00
Aleksander Morgado c431f1796b libqmi-glib,message: allow overwriting the transaction id 2013-09-05 15:39:00 +02:00
Aleksander Morgado 600f429ab6 qmicli: new '--device-open-proxy' option to request to use the qmi-proxy 2013-09-05 15:39:00 +02:00
Aleksander Morgado d456d6821f libqmi-glib,device: let it connect to the qmi-proxy 2013-09-05 15:36:35 +02:00
Aleksander Morgado 852783f222 qmi-proxy: initial implementation 2013-09-05 15:36:35 +02:00
Aleksander Morgado 4f10b4ed23 libqmi-glib,message: new response message creator 2013-09-05 15:36:35 +02:00
Aleksander Morgado d674617cc0 libqmi-glib,device: use gio i/o streams instead of glib i/o channels 2013-09-05 15:36:35 +02:00
Aleksander Morgado 7caf41491b build: consolidate the glib requirements
Don't split requirements per product built, but per actual requirement.
2013-09-05 15:36:34 +02:00
Aleksander Morgado dd71f8404b build: move source code under src/ 2013-09-05 15:36:34 +02:00
Aleksander Morgado cb6985816b build: prepare sources to treat `libqmi-glib' not as the only library
Instead of keeping the libqmi-glib sources under `src', we'll have a more
specific `libqmi-glib' directory instead.

Also, update autotools to reflect as `libqmi' the name of the project.
2012-07-03 16:08:59 +02:00
Aleksander Morgado 2ee78ed503 ctl: use the new `sequence' type for struct TLVs 2012-07-03 16:08:58 +02:00
Aleksander Morgado 4130a72091 qmi-codegen: let variables decide how the getter/setter methods pass them
And change the structs to be passed by reference.
2012-07-03 16:08:58 +02:00
Aleksander Morgado 0844c016c6 dms: include 'UIM' prefix for the UIM-related actions 2012-07-03 16:08:58 +02:00
Aleksander Morgado b39e738800 device: when opening, run several version checks if requested
When early requests arrive to the modem, when it is still internally
initializing, the modem may completely discard the requests and our
actions get timed out.

In order to try to avoid that, instead of a single version-check with
N seconds timeout, we'll try N version-check requests with 1s timeout.
2012-07-03 16:08:58 +02:00
Aleksander Morgado f69785ff78 device: ensure we remove the watch when closing the channel 2012-07-03 16:08:58 +02:00
Aleksander Morgado 0a07f3d4ea dms: implement "Set Operating Mode" request/response 2012-07-03 16:08:58 +02:00
Aleksander Morgado e984436653 dms: implement "Get Operating Mode" request/response 2012-07-03 16:08:57 +02:00
Aleksander Morgado 72000ab975 dms: implement "Get PIN Status" request/response 2012-07-03 16:08:57 +02:00
Aleksander Morgado eafe89920d build: distribute qmi-ctl.h 2012-07-03 16:08:57 +02:00
Aleksander Morgado 0aa65b2b8e dms: implement "Set PIN Protection" request/response 2012-07-03 16:08:56 +02:00
Aleksander Morgado 95d94f7a8b dms: implement "Get Power State" request/response 2012-07-03 16:08:56 +02:00
Aleksander Morgado b98b20ede7 dms: implement "Get Capabilities" request/response 2012-07-03 16:08:56 +02:00
Aleksander Morgado 2a511da7d3 qmi-codegen: refactor, don't use internal packed structs to match TLVs
This is a huge refactor to avoid using internal packed structs to match TLVs
from a raw byte buffer. There are cases where packed structs do not help, for
example when two variable-length fields (like strings) are found in the same
TLV.

Instead of packed structs, we'll read basic types one by one directly from the
raw byte buffer. With this new logic, struct and array variables are no more
than containers of other basic types. Each basic type, implemented as objects
inheriting from a base Variable type, knows how to read/write from/to the
raw buffer. Therefore, reading a struct is just about reading one by one each
of the fields in the struct; and reading an array is just about providing a
loop to read all the array elements one by one.

This greatly simplifies reading basic types like integers, as the implementation
is kept in a single place, regardless of having the integer as the only field
in the TLV or as a field of a struct TLV or as an element of an array TLV.

Strings are treated a bit differently. In string TLVs, the string is to be
considered to be as long as the TLV value itself. In struct TLVs with string
fields, the string is assumed to have a 1-byte length prefix which specifies
the length of the string field within the TLV.
2012-07-03 16:08:56 +02:00
Aleksander Morgado d84e3eeb0a build: include missing headers to get installed 2012-07-03 16:08:56 +02:00
Aleksander Morgado df06a31b01 message: properly print a gsize 2012-07-03 16:08:56 +02:00
Aleksander Morgado 347cbc1f4c build: add stamps as prerequisite for `qmi-enum-types.h' 2012-07-03 16:08:55 +02:00
Aleksander Morgado cbfac5dadf qmi-codegen: improve message/TLV printability 2012-07-03 16:08:55 +02:00
Aleksander Morgado 8df91a78c1 message: re-enable generic message printing
By default, we won't try to decode any service-specific values.
2012-07-03 16:08:55 +02:00
Aleksander Morgado 6c1512619b message: remove generic response result getter
Not needed any more as we already provide this per-message.
2012-07-03 16:08:55 +02:00
Aleksander Morgado 7e5cdc9b78 core: new types to handle the `Get Data Bearer Technology' response
Also, make the 'last' TLV optional.
2012-07-03 16:08:55 +02:00
Aleksander Morgado 6fb803907a core: new types to handle the `Get Current Data Bearer Technology' response
We define new enums and flags to easier handle the response to the
`Get Current Data Bearer Technology' request.
2012-07-03 16:08:55 +02:00
Aleksander Morgado d762d77607 core: new `QmiWdsConnectionStatus' type
This new type is the `public-format' of the guint8 status given in the Get
Packet Service Status response.
2012-07-03 16:08:55 +02:00
Aleksander Morgado 5ee73a0f3e core: use new autogenerated code for the WDS service 2012-07-03 16:08:54 +02:00
Aleksander Morgado 4e21e3991f core: use new autogenerated code for the DMS service 2012-07-03 16:08:54 +02:00
Aleksander Morgado 18e6cc52c1 device: the array returned is not fully transferred, so keep a ref around 2012-07-03 16:08:54 +02:00
Aleksander Morgado fe3d7e34cc data: let the `Result' TLV be a common type 2012-07-03 16:08:54 +02:00
Aleksander Morgado b97d32fd32 qmi-codegen: pass input and output files with command line options 2012-07-03 16:08:53 +02:00
Aleksander Morgado ac2a3802fa codegen: special treatment for the common `Result' output TLV
Instead of making the Result struct public, just provide a new method for each
OutputContainer, like:

gboolean
qmi_messate_ctl_something_output_get_result (
    QmiMessageCtlSomethingOutput *self,
    GError **error);

This method will return special `QMI_PROTOCOL_ERROR' GErrors with the specific
error code returned in the QMI Response message.
2012-07-03 16:08:53 +02:00
Aleksander Morgado 64b944badc core: use new autogenerated code for the CTL service 2012-07-03 16:08:53 +02:00
Aleksander Morgado 716b0c15ea build: use `qmi-codegen' to build CTL-specific message handling 2012-07-03 16:08:53 +02:00
Aleksander Morgado c04af51eb2 build-aux: move header/source templates to its own `template' directory 2012-07-03 16:08:53 +02:00
Aleksander Morgado a586f30867 ctl,message: properly print `gsize' variable 2012-07-03 16:08:53 +02:00
Aleksander Morgado 7548d79c73 message: properly print `gsize' and `size_t' variables 2012-07-03 16:08:53 +02:00
Aleksander Morgado 1c047c2ef4 message: include missing interface methods 2012-07-03 16:08:53 +02:00
Aleksander Morgado 900b33af3d ctl: include missing interface methods 2012-07-03 16:08:53 +02:00
Aleksander Morgado 341b5aeee2 core: avoid `QmiClient' typedef redefinition
Another option would have been to provide a qmi-types.h header with all typedefs
and struct forward declarations and let the qmi_client_get/peek_device() methods
return a proper QmiDevice. Not a big deal I guess.
2012-07-03 16:08:53 +02:00
Aleksander Morgado fe1c920942 core: we'll consider `qmi-message.h' a public header
We do want to provide users the capabilities to read and write raw QMI messages
themselves.
2012-07-03 16:08:53 +02:00
Aleksander Morgado be9cbb6873 device: method `device_store_transaction()' should return void 2012-07-03 16:08:53 +02:00
Aleksander Morgado 298aa5c439 core: avoid unnecessary semicolons out of functions 2012-07-03 16:08:53 +02:00
Aleksander Morgado 512a553325 device: fix warning, let the buffer be a gchar buffer 2012-07-03 16:08:52 +02:00
Aleksander Morgado cd4acbfe45 device: don't include device path when setting the GErrors 2012-07-03 16:08:52 +02:00
Aleksander Morgado c00e534eef message: include missing interface methods 2012-07-03 16:08:52 +02:00
Aleksander Morgado dc421a9d7b core: fix warning, avoid comma after last enum value 2012-07-03 16:08:52 +02:00
Aleksander Morgado 5ea07589b7 core: fix warning, remove unused variables 2012-07-03 16:08:52 +02:00
Aleksander Morgado 7c798009a7 wds: fail if invalid packet data handle is set when stopping network 2012-07-03 16:08:52 +02:00
Aleksander Morgado e9d11119ba wds: convert uint32 handle to/from proper host endianness 2012-07-03 16:08:51 +02:00
Aleksander Morgado 4e2cfbf5ea device: allow skipping cid allocation/release
Sometimes we may want to be able to create clients with already allocated CIDs,
or to be able to destroy a client without releasing the CID. This is specially
useful when using the `qmicli' in a script, so that once the script allocates
the CID, it doesn't need to do it again each time the cli is executed.
2012-07-03 16:08:51 +02:00
Aleksander Morgado cf2de54421 message: fix endianness issues when reading error status/code 2012-07-03 16:08:51 +02:00
Aleksander Morgado 847dd47136 wds: the info about the last access technology comes only if error was out-of-call 2012-07-03 16:08:51 +02:00
Aleksander Morgado 6b93f91dc5 wds: new `qmi_client_wds_get_current_data_bearer_technology()' async operation
The similar method `qmi_client_wds_get_data_bearer_technology()' is available
only in newer devices; for the older ones,
`qmi_client_wds_get_current_data_bearer_technology()' should be used instead.
2012-07-03 16:08:51 +02:00
Aleksander Morgado 21086c1a6b wds: `last' data bearer technology is only available if out-of-call error
When we try to get the data bearer technology and we're not within a valid data
session, instead of the `current' TLV, we'll get an out-of-call error plus the
optional `last' TLV.
2012-07-03 16:08:51 +02:00
Aleksander Morgado a40ecc4fb0 wds: don't look for result TLVs if QMI protocol error reported 2012-07-03 16:08:51 +02:00
Aleksander Morgado 8c4a83cf67 wds: new `qmi_client_wds_get_data_bearer_technology()' async operation
Helps to query the current and last data bearer technologies.
2012-07-03 16:08:51 +02:00
Aleksander Morgado 3fa63669db message: include error nick string in error message 2012-07-03 16:08:51 +02:00
Aleksander Morgado c721acaf97 device: plug memleak, ensure timeout context gets freed 2012-07-03 16:08:51 +02:00
Aleksander Morgado ef1547431a ctl,dms,wds: ensure ref-counted structs get the ref count initialized to 1 2012-07-03 16:08:51 +02:00
Aleksander Morgado 449a9d20ef ctl,dms,wds: plug memleaks; QmiMessage replies need to be unref-ed 2012-07-03 16:08:51 +02:00
Aleksander Morgado 0ce7249d4d device: new set of flags to specify actions to run when opening the device
The version-info check is no longer mandatory during the device open; it can now
be explicitly requested with the `QMI_DEVICE_OPEN_FLAGS_VERSION_CHECK' flag. In
the same way, we can also request a sync operation (which is supposed to release
every allocated client ID) with the `QMI_DEVICE_OPEN_FLAGS_SYNC' flag.

The `qmicli' utility includes now also two new service-independent options to
enable each of these new flags: `--device-open-version-check' and
`--device-open-sync'.
2012-07-03 16:08:50 +02:00
Aleksander Morgado 04d7ed5bbb message: include cid in decimal format when printing message traces 2012-07-03 16:08:50 +02:00
Aleksander Morgado 34aa43ff7d message: include WDS when printing message traces 2012-07-03 16:08:50 +02:00
Aleksander Morgado ea91ac2365 device: log client registrations and unregistrations 2012-07-03 16:08:50 +02:00
Aleksander Morgado ccaca3460d ctl: log cid allocations and releases 2012-07-03 16:08:50 +02:00
Aleksander Morgado 4152ba955d message: include at least QMI protocol error number for now 2012-07-03 16:08:50 +02:00
Aleksander Morgado 3aa475c758 wds: fix getting verbose call end reason from the `QmiWdsStartNetworkOutput' 2012-07-03 16:08:50 +02:00
Aleksander Morgado 1cf137e417 wds: new `qmi_client_wds_get_packet_service_status()' async operation
The new `QmiWdsStopNetworkOutput' type handles all possible output arguments
received in a Get Packet Service Status response.
2012-07-03 16:08:50 +02:00
Aleksander Morgado 8a691656e7 wds: new types to handle all input and output arguments of Stop Network
The new `QmiWdsStopNetworkInput' type handles all possible input arguments
passed to the Stop Network request. Currently just the packet data handle.

The new `QmiWdsStopNetworkOutput' type handles all possible output arguments
received in a Stop Network response.
2012-07-03 16:08:50 +02:00
Aleksander Morgado a43919271b wds: new types to handle all input and output arguments of Start Network
The new `QmiWdsStartNetworkInput' type handles all possible input arguments
passed to the Start Network request. Currently just APN, username and password
are used.

The new `QmiWdsStartNetworkOutput' type handles all possible output arguments
received in a Start Network response. This includes call end reason and verbose
call end reason, when applicable.
2012-07-03 16:08:50 +02:00
Aleksander Morgado cab9be9084 dms: QMI protocol error codes are not fatal, they are propagated to the output 2012-07-03 16:08:50 +02:00
Aleksander Morgado addde11c34 dms: fix gtk-doc documentation in message interface 2012-07-03 16:08:50 +02:00
Aleksander Morgado 779ddd3504 dms: rename `QmiDmsGetIdsResult' to `QmiDmsGetIdsOutput'
We'll use `QmiServiceMessageInput' for the structs handling the input arguments
of the action, and `QmiServiceMessageOutput' for the structs handling the output
ones.
2012-07-03 16:08:50 +02:00
Aleksander Morgado d4651aa5a6 api: remove the CTL client from the API, and include the new WDS one 2012-07-03 16:08:49 +02:00
Aleksander Morgado ea12790f1d wds: new operations to start and stop the network
Currently not using any of the optional parameters in the messages.
2012-07-03 16:08:49 +02:00
Aleksander Morgado 3185e9553c device: don't detect generic QMI errors, let the message parsers notify them
Message response parsers may want to get additional TLVs when specific QMI
errors are reported.
2012-07-03 16:08:49 +02:00
Aleksander Morgado 13c12cde7f device: let the `QmiDevice' allocate new `QmiClientWds' objects 2012-07-03 16:08:49 +02:00
Aleksander Morgado 9edf521adb wds: new `QmiClientWds' 2012-07-03 16:08:49 +02:00
Aleksander Morgado a458580df7 message: `qmi_message_get_message_id()' should be in the header 2012-07-03 16:08:49 +02:00
Aleksander Morgado 52f11cc4b4 ctl: remove extra semicolon 2012-07-03 16:08:49 +02:00
Aleksander Morgado a4347d4d22 device: handle EAGAIN errors when writing to the channel
If the non-blocking socket's write buffers are full, the non-blocking write may
fail with EAGAIN errors, which we should just treat as a request to retry the
write.
2012-07-03 16:08:49 +02:00
Aleksander Morgado a580711cdf message: fix endianness when reading/writing tvl->length
We need convert from/to host-endianness before using it.
2012-07-03 16:08:49 +02:00
Aleksander Morgado da2ff333ae message: include exact failure results when checking validity
We'll print the exact conditions that made the check fail.
2012-07-03 16:08:49 +02:00
Aleksander Morgado 30c6aff6be ctl: avoid using `g_ptr_array_new_full()' as that came in glib 2.30 2012-07-03 16:08:49 +02:00
Aleksander Morgado 3e88934c42 build: include several missing headers
If not included in SOURCES, the wouldn't end up in the dist tarball.
2012-07-03 16:08:49 +02:00
Aleksander Morgado 22772b3b53 device: don't try to allocate a CID for an unsupported service 2012-07-03 16:08:49 +02:00
Aleksander Morgado 08c76d411c core: let the `QmiDevice' control the creation and handling of `QmiClient' objects
Instead of treating the QmiClient objects as being independent to the device,
we'll make them instead owned by the QmiDevice. This means that the QmiDevice is
reponsible for allocationg and releasing the CIDs, and that a QmiClient doesn't
need to keep a reference to the QmiDevice around.

This simplification allows us to treat the `QmiClientCtl' as completely internal
to the library. Uses of the library shouldn't need to interface directly with
this object.
2012-07-03 16:08:49 +02:00
Aleksander Morgado c689b969e1 ctl: new opaque type to return the results of the VERSION_INFO request
We do not want to explicitly list every possible return value in the
`qmi_client_ctl_get_version_info_finish()' method, as that would break
compatibility if we ever need to add a new value being returned. Instead, we
will create opaque types for the return of each operation, with specific getters
for the values returned.
2012-07-03 16:08:49 +02:00
Aleksander Morgado 6e6094bc55 ctl: setup all CTL-related types in its own `qmi-ctl.h' header 2012-07-03 16:08:49 +02:00
Aleksander Morgado ea4210b093 dms: new opaque type to return the results of the GET_IDS request
We do not want to explicitly list every possible return value in the
`qmi_client_dms_get_ids_finish()', as that would break compatibility if we ever
need to add a new value being returned. Instead, we will create opaque types for
the return of each operation, with specific getters for the values returned.
2012-07-03 16:08:49 +02:00
Aleksander Morgado 8e8ac33e2e dms: setup all DMS-related types in its own `qmi-dms.h' header 2012-07-03 16:08:49 +02:00
Aleksander Morgado 4159e0499d device: rely on unix-fd based GIOChannels
We don't want any file based GIOChannel specific behaviour.
2012-07-03 16:08:48 +02:00
Aleksander Morgado 5e81d2ca3b client-ctl: new method to perform SYNC operations 2012-07-03 16:08:48 +02:00
Aleksander Morgado 3acf5ce303 device: allow clients to get registered if they want to receive indication messages 2012-07-03 16:08:48 +02:00
Aleksander Morgado d3d9360d49 message: improve printable string
The user can now pass a prefix to be used in every printed string; and we also
decode some of the values from the message into human-readable strings.
2012-07-03 16:08:48 +02:00
Aleksander Morgado 82b7961893 message: new helpers to check whether a given message is a response or an indication 2012-07-03 16:08:48 +02:00
Aleksander Morgado b1c7ec249b qmi-message-ctl: explicitly include `endian.h'
We're using le16toh().
2012-07-03 16:08:48 +02:00
Aleksander Morgado d1af06e435 qmi-device: avoid warnings when putting the guint32 into a gpointer 2012-07-03 16:08:48 +02:00
Aleksander Morgado f150ec1449 message-dms: only fail get_ids_finish() if none of the expected outputs was retrieved
Not every device will report all three ESN, IMEI and MEID.
2012-07-03 16:08:48 +02:00
Aleksander Morgado b77ae5efaa client-dms: new method to get IDs asynchronously 2012-07-03 16:08:48 +02:00
Aleksander Morgado 25ee869bc7 enums: new enum for DMS commands, even if unused currently 2012-07-03 16:08:48 +02:00
Aleksander Morgado 67acd1de23 message-dms: new helper to build/parse messages to get IDs 2012-07-03 16:08:48 +02:00
Aleksander Morgado af1c73e955 message: new method to retrieve a newly allocated string from a message TLV 2012-07-03 16:08:48 +02:00
Aleksander Morgado 7dd4d5d926 enums: add additional known CTL commands, even if unused currently 2012-07-03 16:08:48 +02:00
Aleksander Morgado d116505b8e message: ensure only responses are used to match transactions 2012-07-03 15:47:22 +02:00
Aleksander Morgado c049a7c91a device: detect broadcast messages and avoid trying to match transactions on them 2012-07-03 15:47:22 +02:00
Aleksander Morgado 085270afd8 client: use new `QMI_CID_NONE' 2012-07-03 15:47:22 +02:00
Aleksander Morgado 3d7795440c device: report QMI protocol errors up the stack 2012-07-03 15:47:22 +02:00
Aleksander Morgado 1aa8f46cfe message: new method to parse the operation status from the QMI response 2012-07-03 15:47:22 +02:00
Aleksander Morgado c82811caaa enums: new `QmiProtocolError' enum
Define the known set of QMI protocol errors that may be reported in QMI
responses.
2012-07-03 15:47:22 +02:00
Aleksander Morgado f643254159 device: don't allow sending messages without a proper CID 2012-07-03 15:47:22 +02:00
Aleksander Morgado 2e3ea8da3e client: allow users to explicitly release the CID 2012-07-03 15:47:22 +02:00
Aleksander Morgado 14858a9913 device: skip implicit channel buffering from GLib 2012-07-03 15:47:22 +02:00
Aleksander Morgado 4cc620bda9 client: fix first transaction number in the sequence 2012-07-03 15:47:22 +02:00
Aleksander Morgado b168d34223 client-dms: new `QmiClientDms' to handle the DMS service 2012-07-03 15:47:22 +02:00
Aleksander Morgado 75d3232d6e client: when the object gets disposed, launch CID release 2012-07-03 15:47:22 +02:00
Aleksander Morgado f5085dc992 client: ensure the services match in the CID allocation reply 2012-07-03 15:47:22 +02:00
Aleksander Morgado 83afa8dcbc client: allocate a new CID when the `QmiClient' is created. 2012-07-03 15:47:21 +02:00
Aleksander Morgado 6d8225abd2 client-ctl: new `QmiClientCtl' to handle the CTL service
The `QmiDevice' will create one of these objects and keep it around, to be
used as the generic client in the CTL service.
2012-07-03 15:47:21 +02:00
Aleksander Morgado 02467a15bd client: new base generic client 2012-07-03 15:47:21 +02:00
Aleksander Morgado 3e44d71641 device: allow commands to time out if no reply is received 2012-07-03 15:47:21 +02:00
Aleksander Morgado 73a956d48d device: check version info of the device when it gets opened
If the device doesn't reply properly to the version info request, the open
operation will get failed.
2012-07-03 15:47:21 +02:00
Aleksander Morgado 58dab61d7a message-ctl: new utilities to use QMI-CTL operations
Just the version info request for now
2012-07-03 15:47:21 +02:00
Aleksander Morgado 142a26cc3e device: new async method to send a `QmiMessage' request and receive a reply
The `QmiDevice' will keep track of each transaction, so that whenever the proper
reply is received, the async operation gets finished.
2012-07-03 15:47:21 +02:00
Aleksander Morgado 9b4414d869 message: new `QmiMessage' type 2012-07-03 15:47:21 +02:00
Aleksander Morgado 1f87a0de25 message: include original sources from Chromium's libqmi
These two files are BSD-licensed. Further changes in these files will be under
LGPLv2+.
2012-07-03 15:47:21 +02:00
Aleksander Morgado 8a812bcb15 utils: new helper method to get a printable string from a binary stream 2012-07-03 15:47:21 +02:00
Aleksander Morgado 616e497ca1 enums: new `QmiService' enumeration 2012-07-03 15:47:21 +02:00
Aleksander Morgado 18d63856c0 device: new methods to open/close the port
When the port is opened, we create a GIOChannel for R/W, with a proper callback
to read the data as soon as it is available.
2012-07-03 15:47:21 +02:00
Aleksander Morgado b4a6861c82 device: new `QmiDevice' object
Will take care of synchronizing the access to the underlying QMI device file.
2012-07-03 15:47:21 +02:00
Aleksander Morgado 6ab3b7c32a errors: setup a new QMI core error domain 2012-07-03 15:47:21 +02:00
Aleksander Morgado 5520616c9d build: setup autotools 2012-07-03 15:47:13 +02:00