Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | codegen: Allow @to_ptr to make inline structs demarshal as pointers | Alexander Larsson | 2012-03-20 | 3 | -9/+37 | |
| | ||||||
* | codegen: Various cleanups | Alexander Larsson | 2012-03-20 | 2 | -58/+44 | |
| | | | | | | | | | | | | Remove all uses of @end in the marshaller, instead just using the C struct array-at-end-of-struct. To make this work we also remove all use of @end for switches (making them C unions). We drop the zero member of the notify message so that we can avoid this use of @end for a primitive in the marshaller (plus its useless to send over the wire). We change the offsets and stuff in the migration messages to real pointers. | |||||
* | codegen: Pass member to SubMarshallingSource rather than name | Alexander Larsson | 2012-03-20 | 1 | -9/+10 | |
| | | | | This way we can check attributes on the member. | |||||
* | codegen: Remove unused methos has_pointer() | Alexander Larsson | 2012-03-20 | 1 | -27/+0 | |
| | ||||||
* | Make distcheck work | Alexander Larsson | 2012-03-20 | 1 | -1/+1 | |
| | ||||||
* | Fix inclusion of common files, no need for common/ part | Alexander Larsson | 2012-03-20 | 1 | -1/+1 | |
| | ||||||
* | codegen: No SPICE_ADDRESS types left, drop @c_ptr | Alexander Larsson | 2012-03-20 | 2 | -19/+12 | |
| | ||||||
* | Properly parse QXLImage to the new-world SpiceImage | Gerd Hoffmann | 2012-03-20 | 3 | -10/+27 | |
| | | | | | SpiceImage now replaces RedImage and has all image types in it. All image data are now chunked (and as such not copied when demarshalling). | |||||
* | codegen: support @chunk on non-pointer arrays | Alexander Larsson | 2012-03-20 | 2 | -5/+29 | |
| | | | | This is similar to @as_ptr, but generates a single chunk of data. | |||||
* | Add support for @chunk | Alexander Larsson | 2012-03-20 | 1 | -2/+18 | |
| | ||||||
* | marshaller: Make get_nw_offset() handle deep member references | Alexander Larsson | 2012-03-20 | 1 | -7/+32 | |
| | ||||||
* | Convert SpicePath.segments to a pointer array | Alexander Larsson | 2012-03-20 | 1 | -23/+28 | |
| | ||||||
* | Handle extra size for switch and array the right way | Alexander Larsson | 2012-03-20 | 1 | -23/+20 | |
| | | | | | | Even for is_extra_size() we should calculate the mem_size for arrays, its just that the parent type (in this case switch) should request mem_size if the type is_extra_size. | |||||
* | marshaller: Add some docs describing the types of sizes | Alexander Larsson | 2012-03-20 | 1 | -0/+29 | |
| | ||||||
* | marshaller: Make @nonnull a propagated attribute | Alexander Larsson | 2012-03-20 | 3 | -6/+3 | |
| | | | | This cleans up some stuff | |||||
* | marshaller: Make @c_ptr a propagated attribute | Alexander Larsson | 2012-03-20 | 2 | -17/+18 | |
| | | | | This simplifies some code | |||||
* | marshaller: Add generic way to handle propagating attributes | Alexander Larsson | 2012-03-20 | 3 | -11/+18 | |
| | | | | Also switches @ptr_array to use this | |||||
* | Properly parse and marshall SpiceString | Gerd Hoffmann | 2012-03-20 | 3 | -11/+61 | |
| | ||||||
* | Fix 32bit failure in demarshaller | Alexander Larsson | 2012-03-20 | 1 | -2/+2 | |
| | | | | Due to a typo we always read offsets as pointers, never as SPICE_ADDRESS. | |||||
* | Simplify SpiceLineAttr by removing unsed stuff | Alexander Larsson | 2012-03-20 | 2 | -5/+21 | |
| | | | | Also in new protocol don't send style data if not needed. | |||||
* | Support @marshall to automatically marshall pointers | Alexander Larsson | 2012-03-20 | 2 | -28/+40 | |
| | ||||||
* | Store SpicePath segment count rather than size | Alexander Larsson | 2012-03-20 | 3 | -12/+33 | |
| | | | | | | | | | | | | | | | | | | | Internally and in the network protocol (for the new version) we now store the actual number of segments rather than the size of the full segments array in bytes. This change consists of multiple changes to handle this: * Make the qxl parser calculate num_segments * Make the canvas stroke code handle the new SpicePath layout. * Fix up is_equal_path in red_worker.c for the new layout * replace multiple calls to spice_marshall_PathSegment with a single spice_marshall_Path call * Make the byte_size() array size handling do the conversion from network size to number of elements when marshalling/demarshalling. * Update the current spice protocol to send the segment count rather than the size * Update the old spice protocol to use the new byte_size functionallity to calculate the size sent and the number of elements recieved | |||||
* | demarshaller: Support @c_ptr attributes for pointers | Alexander Larsson | 2012-03-20 | 1 | -7/+16 | |
| | | | | | | A @c_ptr pointer is stored in memory as a real pointer rather than a SPICE_ADDRESS. This is a temporary thing that will be removed again when all SPICE_ADDRESSes have been converted to real pointer. | |||||
* | demarshaller: Don't parse @zero members | Alexander Larsson | 2012-03-20 | 1 | -1/+4 | |
| | | | | | | These just write zeros at the right place in the network protocol typically for old back-compat things. We don't want to read these back in. | |||||
* | Fix build error due to member "SpiceMsgEmpty" same name as type | Alexander Larsson | 2012-03-20 | 1 | -0/+2 | |
| | ||||||
* | Make pointers 32bit in new protocol format | Alexander Larsson | 2012-03-20 | 3 | -12/+11 | |
| | ||||||
* | marshaller: Correctly determine if switches are fixed size | Alexander Larsson | 2012-03-20 | 1 | -1/+9 | |
| | | | | | Switches are fixed size only if all cases have the same size *and* it has a default case or all the valid cases are listed. | |||||
* | Fix handling of @ptr32 network size | Alexander Larsson | 2012-03-20 | 1 | -4/+10 | |
| | ||||||
* | Add support for @virtual markup in spice protocol | Alexander Larsson | 2012-03-20 | 3 | -0/+14 | |
| | | | | | | | This means the member is not sent on the network at all. Instead its initialized to the attribute argument when demarshalled. This is useful for backwards compatibility support. | |||||
* | Make internal generated marshaller functions static | Alexander Larsson | 2012-03-20 | 2 | -4/+4 | |
| | ||||||
* | Support extra prefix in code generators | Alexander Larsson | 2012-03-20 | 3 | -6/+7 | |
| | | | | | This is require when we add a new spice.proto for the old (major 1) protocol description. | |||||
* | Support creating marshallers that are called indirectly | Alexander Larsson | 2012-03-20 | 1 | -6/+25 | |
| | | | | | This is needed if we want to switch marshallers depending on what major version the remote side has. | |||||
* | Add destructor for demarshalled messages | Alexander Larsson | 2012-03-20 | 1 | -7/+18 | |
| | | | | | | | This is required because we don't want to free messages that just refer to the unparsed message (like SpiceMsgData). Also, in the future we might need it for more complex demarshalling. | |||||
* | Make generated marshallers build on win32 | Alexander Larsson | 2012-03-20 | 1 | -0/+1 | |
| | ||||||
* | Support @as_ptr in demarshaller to avoid copying data unnecessary | Alexander Larsson | 2012-03-20 | 1 | -1/+13 | |
| | ||||||
* | Add support for generating message and structure marshallers | Alexander Larsson | 2012-03-20 | 1 | -0/+357 | |
| | ||||||
* | Add python code to automake system | Alexander Larsson | 2012-03-20 | 1 | -0/+6 | |
| | ||||||
* | Initial import of spice protocol description and demarshall generator | Alexander Larsson | 2012-03-20 | 5 | -0/+2509 | |
The "spice.proto" file describes in detail the networking prototcol that spice uses and spice_codegen.py can parse this and generate demarshallers for such network messages. |