aboutsummaryrefslogtreecommitdiffstats
path: root/build-aux
Commit message (Collapse)AuthorAgeFilesLines
...
* message: renamed `qmi_message_tlv_get()' to `qmi_message_get_raw_tlv()'Aleksander Morgado2012-09-262-16/+16
| | | | Also made it return directly a pointer to the raw data buffer.
* libqmi-glib,utils: use constant buffer pointer when reading variablesAleksander Morgado2012-09-262-3/+3
| | | | | | | | The contents of the input buffer are never modified when reading variables from it, so better use a constant pointer in the methods doing it. What it does change is the pointer to the current position in the constant buffer.
* qmi-codegen: fix error reporting when failed parsing JSONAleksander Morgado2012-09-241-1/+3
| | | | | | | If we get an error parsing a JSON file we really want to have the exact line number where the error happened, so don't just skip the comment lines and substitute them with an empty line instead so that the line numbers don't change.
* qmi-codegen: ensure helper methods get always generatedAleksander Morgado2012-09-243-0/+20
| | | | | | | | | For those variables which are containers of other variables (struct, sequence and array), ensure we call `emit_helper_methods()' in order to generate variable specific dispose() helpers and such. This fixes the case of nested arrays of structs (arrays of structs with arrays of structs whithin).
* qmi-codegen: for strings, use 'size-prefix-format' instead of ↵Aleksander Morgado2012-09-191-4/+7
| | | | | | | | | | | | | | | | 'length-prefix-size' Use the new 'size-prefix-format' property to specify whether the length prefix variable is a 'guint8' or a 'guint16'. We therefore consolidate the way how this length prefix variable is specified in both arrays and strings. So, instead of: "length-prefix-size" : "16" We now just do: "size-prefix-format" : "guint16"
* qmi-codegen: for arrays, use a new 'size-prefix-format' instead of 'array-size'Aleksander Morgado2012-09-191-5/+6
| | | | | | | | | | | | | | | | | | The 'array-size' property was used to define an implicit variable to be found at the beginning of every array. This property expected a dictionary with one single 'format' key. Instead of this setup, create a new 'size-prefix-format' property which directly expects the format string of the variable to be used as array-length indicator. So, instead of: "array-size" : { "format" : "guint16" } We can now just use: "size-prefix-format" : "guint16" Also, remove the explicit size definitions when the format is "guint8", as that is the default already when none specified and the array is not of fixed size.
* qmi-codegen: fix invalid `g_array_unref()' calls in generated codeAleksander Morgado2012-09-191-1/+2
|
* qmi-codegen: fix printable indicationsAleksander Morgado2012-09-181-24/+29
|
* qmi-codegen: fix memleak in generated codeAleksander Morgado2012-09-181-2/+1
| | | | The contents of the containers were not being freed properly.
* pds: setup generation of the PDS service supportAleksander Morgado2012-09-181-2/+2
| | | | Including "PDS Reset".
* qmi-codegen: allow nesting arraysAleksander Morgado2012-09-181-24/+30
|
* qmi-codegen: handle string arraysDan Williams2012-09-081-2/+15
| | | | | | | | | | | | Like these: struct { uint8 num_instances; struct { uint8 length; char data[]; }; };
* qmi-codegen: handle fixed-size arraysDan Williams2012-09-081-19/+54
| | | | Like IPv6 addresses.
* qmi-codegen: handle variable-sized string length prefix fieldsDan Williams2012-09-081-8/+16
| | | | | Most string lengths are UINT8, but some (WDS Get Current Settings PCSCF Domain Name List, for example) are UINT16.
* wms: setup generation of the WMS service supportAleksander Morgado2012-09-061-2/+2
| | | | Including "WMS Reset".
* qmi-codegen: allow 'max-size' in output string variablesAleksander Morgado2012-09-041-0/+4
| | | | | | | If 'max-size' is given for an output string variable, we will read up to the specified number of bytes from the buffer. This will help us handle cases where the firmware of the device doesn't match what it sends with what it wanted to send (e.g. IMEI longer than 15 characters).
* libqmi-glib: register errors in DBusAleksander Morgado2012-08-272-5/+43
|
* build: cleanup dependenciesAleksander Morgado2012-08-022-15/+27
| | | | | | The service-specific implementation header needs to include only the raw enums/flags headers; while the source needs to include the enum/flags types headers.
* build: autogenerate 64bit flags helpersAleksander Morgado2012-07-264-1/+92
|
* qmi-codegen: allow indications without output TLVsAleksander Morgado2012-07-232-144/+198
|
* qmi-codegen: convert indication messages received into `QmiClient' signalsAleksander Morgado2012-07-234-68/+239
|
* qmi-codegen: create new boxed types for the input/output bundlesAleksander Morgado2012-07-232-0/+35
|
* qmi-codegen: trivial fix, renamed internal methodAleksander Morgado2012-07-233-4/+4
| | | | TLVs are either input or output, not always output.
* qmi-codegen: support a new 'version' tag in the messagesAleksander Morgado2012-07-232-0/+49
| | | | | | If the 'version' tag is given in the messages and the `QmiDevice' is opened with a explicit version info check, we will return an error if we're trying to send a message which was introduced in a newer version of a service we support.
* qmi-codegen: fix indentation in service-specific get_printable()Aleksander Morgado2012-07-231-2/+2
|
* qmi-codegen: mark variable as set only after really having setAleksander Morgado2012-07-171-1/+1
| | | | | The Variable-specific setter implementation may include some validity checks, so it may happen that instead of setting the variable an error is emitted.
* qmi-codegen: implement writing array variablesAleksander Morgado2012-07-161-1/+28
|
* qmi-codegen: fix gtk-doc comment for GArray variablesAleksander Morgado2012-07-161-1/+1
|
* qmi-codegen: allow specifying a 'array-size' property in 'array' variablesAleksander Morgado2012-07-161-11/+29
| | | | | This property specifies how the size prefix of the array is read; it will be 'guint8' by default if none explicit given.
* qmi-codegen: allow specifying a 'max-size' for the string variablesAleksander Morgado2012-07-061-1/+18
| | | | | They will still be read into a new heap-allocated string, but we now control whether the user gives a proper size.
* qmi-codegen: allow specifying a 'fixed-size' for the string variablesAleksander Morgado2012-07-061-48/+127
| | | | | | String variables with the 'fixed-size' configuration will not require additional heap allocations, they will be included directly in the input/output bundle structure.
* qmi-codegen: fix including message name on error stringAleksander Morgado2012-07-051-1/+2
|
* qmi-codegen: handle uints of arbitrary sizesAleksander Morgado2012-07-042-19/+65
| | | | | The code generator can now handle uints of arbitrary sizes (<= guint64), which are read into guint64 variables.
* qmi-codegen: handle 64-bit signed/unsigned integersAleksander Morgado2012-07-042-10/+25
|
* qmi-codegen: don't generate enums for the TLV idsAleksander Morgado2012-07-031-27/+4
|
* qmi-codegen: use `g_array_set_clear_func()' to clear array contentsAleksander Morgado2012-07-034-23/+52
| | | | | | | Bumped required glib version to 2.32. Actually... there is no real issue with keeping 2.28 as minimum required version, as for now there's no array element which requires clearing, but anyway, given that QMI is to be used in quite recent kernels, it shouldn't be a big issue to require a recent glib as well.
* qmi-codegen: new `sequence' variable typeAleksander Morgado2012-07-033-0/+199
| | | | | | | | | | | | | The `sequence' variable types are defined in the same way as `struct' types, but the generated implementation is completely different: * Struct TLVs will generate public struct types, and the getter/setter methods will pass a single variable of that new struct type. * Sequence TLVs will not generate any new public nor private type. The getter and setter methods will pass N items, one for each member of the sequence. It should be safe to do so and maintain API/ABI compatibility afterwards, as existing TLVs are not expected to change.
* qmi-codegen: let variables decide how the getter/setter methods pass themAleksander Morgado2012-07-037-78/+451
| | | | And change the structs to be passed by reference.
* qmi-codegen: refactor, don't use internal packed structs to match TLVsAleksander Morgado2012-07-0321-974/+1272
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* qmi-codegen: properly print a gsizeAleksander Morgado2012-07-031-1/+1
|
* qmi-codegen: pretty-print the structsAleksander Morgado2012-07-037-20/+48
|
* qmi-codegen: include struct-array TLV contents in printable stringsAleksander Morgado2012-07-031-0/+60
|
* qmi-codegen: include integer TLV contents in printable stringsAleksander Morgado2012-07-031-0/+38
|
* qmi-codegen: include string TLV contents in printable stringsAleksander Morgado2012-07-031-0/+22
|
* qmi-codegen: include struct TLV contents in printable stringsAleksander Morgado2012-07-034-4/+130
|
* qmi-codegen: improve message/TLV printabilityAleksander Morgado2012-07-033-2/+158
|
* qmi-codegen: require a `Service' object in the JSON listAleksander Morgado2012-07-031-0/+7
|
* qmi-codegen: fix check for mandatory TLVs in the output bundleAleksander Morgado2012-07-033-3/+3
|
* qmi-codegen: use constant strings in interfaceAleksander Morgado2012-07-031-0/+1
|
* qmi-codegen: pretty print the getter arguments when returning pointersAleksander Morgado2012-07-031-3/+5
|