Aleksander Morgado
5ee73a0f3e
core: use new autogenerated code for the WDS service
2012-07-03 16:08:54 +02:00
Aleksander Morgado
39de72d0b2
data: add database of WDS messages
2012-07-03 16:08:54 +02:00
Aleksander Morgado
f01a927934
qmi-codegen: improve input bundles
...
Simplify the field-type-specific TLV adding, as well as the mandatory field
checkings.
2012-07-03 16:08:54 +02:00
Aleksander Morgado
02d2ba6471
qmi-codegen: strings are copied when set
2012-07-03 16:08:54 +02:00
Aleksander Morgado
cdf2e190b3
qmi-codegen: allow prerequisites to be more than one
2012-07-03 16:08:54 +02:00
Aleksander Morgado
cb730a57be
qmi-codegen: if a copy() operation is given in the Field, use it when setting
2012-07-03 16:08:54 +02:00
Aleksander Morgado
f0c6b93408
qmi-codegen: always transfer-none when reading parameters from bundles
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
536a589678
qmi-codegen: support new 'string' TLV fields
2012-07-03 16:08:54 +02:00
Aleksander Morgado
86670ea3e9
qmi-codegen: ensure containers get created with ref_count = 1
2012-07-03 16:08:54 +02:00
Aleksander Morgado
911858cbb7
qmi-codegen: ensure fields with prerequisites are handled after the prerequisites
...
Currently we only support:
* fields without prerequisites and which are not prerequisite of another field.
* fields without prerequisites and which are prerequisite of another field.
* fields with 1 prerequisite and which are not prerequisite of another field
We'll add more support whenever needed.
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
16f5dc0e8e
qmi-codegen: allow specifying files with common types
...
Some times, e.g. the Result TLV, are the same in every message defined, so
instead of re-defining them over and over, just provide a reference to a
common predefined type.
2012-07-03 16:08:53 +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
9182c49222
data: add database of CTL messages
2012-07-03 16:08:53 +02:00
Aleksander Morgado
4c17c33edd
codegen: new `qmi-codegen' build utility
...
It will try to generate message creator/parsers from a manually maintained
JSON-encoded database.
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
388abc8da6
build: by default compile with most warnings enabled and -Werror
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
116e0ee886
cli: fix warning, remove unused variables
2012-07-03 16:08:53 +02:00
Aleksander Morgado
92c9e1e896
cli: include missing `glib/gprintf.h' header
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
55d8f1b0b8
core: fix warning, always provide a return value if returning non-void
2012-07-03 16:08:52 +02:00
Aleksander Morgado
7e4f4380ab
qmi-network: avoid double brackets on if statements
2012-07-03 16:08:52 +02:00
Aleksander Morgado
a5bf4b74d5
qmi-network: don't issue error if clearing already cleared state
2012-07-03 16:08:52 +02:00
Aleksander Morgado
674a242bdc
qmi-network: if network start fails, release CID
2012-07-03 16:08:52 +02:00
Aleksander Morgado
be46ed88d6
qmi-network: stopping while already stopped won't issue an error
2012-07-03 16:08:52 +02:00
Aleksander Morgado
611c5a7737
cli: new `--wds-noop' and `--dms-noop' which help to just allocate/release a CID
...
E.g.: If I want to allocate a WDS client with a NEW CID, without performing any
other operation, and keeping the CID unreleased; I would run:
$> qmicli -d /dev/cdc-wdm0 --dms-noop --client-no-release-cid
[/dev/cdc-wdm0] Client ID not released:
Service: 'dms'
CID: '1'
Then, if I just want to release that previously allocated client:
$> qmicli -d /dev/cdc-wdm0 --dms-noop --client-cid=1
2012-07-03 16:08:52 +02:00
Aleksander Morgado
e2ce1ab21d
utils,qmi-network: try to use /bin/sh instead of /bin/bash
2012-07-03 16:08:52 +02:00
Aleksander Morgado
f0758c3b10
utils,qmi-network: always compare strings in if() conditions
2012-07-03 16:08:52 +02:00
Aleksander Morgado
20d40a528b
cli,wds: fix reporting packet data handle on `--wds-stop-network'
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
15a8cd9566
utils: new `qmi-network' script which helps starting/stopping the network
2012-07-03 16:08:52 +02:00
Aleksander Morgado
48a984f0a8
cli: ensure we release clients even on error conditions
...
Do not just exit() on errors, instead let the program flow do a clean shutdown,
which involves client ID releasing.
2012-07-03 16:08:52 +02:00
Aleksander Morgado
81c1b94300
qmicli: new `--silent' option
...
We will avoid every log in the `--silent' option, even the error and warning
ones.
2012-07-03 16:08:52 +02:00