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