summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Store SpicePath segment count rather than sizeAlexander Larsson2012-03-205-16/+37
| | | | | | | | | | | | | | | | | | | 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
* Update client and protocol to support the new SpiceClipRectsAlexander Larsson2012-03-202-2/+2
|
* demarshaller: Support @c_ptr attributes for pointersAlexander Larsson2012-03-201-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 membersAlexander Larsson2012-03-201-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.
* qxl abi: parse QXLCopy + QXLBlend.Gerd Hoffmann2012-03-202-4/+4
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLOpaque.Gerd Hoffmann2012-03-202-2/+2
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLFill.Gerd Hoffmann2012-03-202-2/+2
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* Fix build error due to member "SpiceMsgEmpty" same name as typeAlexander Larsson2012-03-201-0/+2
|
* spice.proto: surface_create.format is of type surface_fmtAlexander Larsson2012-03-201-1/+1
|
* Use smaller size for enums and flags on the networkAlexander Larsson2012-03-201-16/+16
| | | | | This makes the protocol more compact. This was mainly done for the commonly used types. Some seldom used ones are still 32bit for future compatibility.
* Remove support for clip by pathAlexander Larsson2012-03-202-11/+5
| | | | This is not supported currently anyway and was not generated before.
* spice.proto: No need for @ptr32 as that is now the defaultAlexander Larsson2012-03-201-2/+2
|
* spice.proto: Don't use @fixedsize for BrushAlexander Larsson2012-03-201-1/+1
| | | | | There is no reason to send the maximum size on the network, that is just a waste of space most of the time.
* Don't send zero data item for clips with no dataAlexander Larsson2012-03-201-3/+1
|
* Make pointers 32bit in new protocol formatAlexander Larsson2012-03-204-12/+15
|
* marshaller: Correctly determine if switches are fixed sizeAlexander Larsson2012-03-201-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 sizeAlexander Larsson2012-03-201-4/+10
|
* Remove minor markup in unstable protocol as we're resetting minor to 0Alexander Larsson2012-03-201-4/+4
|
* Add spice1.proto describing the 0.4 version of the network protocolxAlexander Larsson2012-03-201-0/+934
|
* Add support for @virtual markup in spice protocolAlexander Larsson2012-03-203-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 staticAlexander Larsson2012-03-202-4/+4
|
* Support extra prefix in code generatorsAlexander Larsson2012-03-204-6/+11
| | | | | This is require when we add a new spice.proto for the old (major 1) protocol description.
* Support creating marshallers that are called indirectlyAlexander Larsson2012-03-202-8/+30
| | | | | This is needed if we want to switch marshallers depending on what major version the remote side has.
* Add destructor for demarshalled messagesAlexander Larsson2012-03-201-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.
* Lossy compression of RGBA images (on WAN connection)Yonit Halperin2012-03-201-0/+14
| | | | | The RGB channels are compressed using JPEG. The alpha channel is compressed using LZ.
* applying zlib compression over glz on WAN connectionYonit Halperin2012-03-201-0/+9
|
* Make generated marshallers build on win32Alexander Larsson2012-03-201-0/+1
|
* Make sound data @as_ptr to avoid copying dataAlexander Larsson2012-03-201-4/+4
|
* Make ping data @as_ptr to avoid copying dataAlexander Larsson2012-03-201-1/+1
|
* Make cursor data @as_ptr to avoid copying dataAlexander Larsson2012-03-201-1/+1
|
* Support @as_ptr in demarshaller to avoid copying data unnecessaryAlexander Larsson2012-03-201-1/+13
|
* Allow multiple --include argsAlexander Larsson2012-03-201-3/+4
|
* Make tunnel_service_add members be of cstring array sizeAlexander Larsson2012-03-201-2/+2
|
* Use @ptr32 for 32bit offsets in spice.protoAlexander Larsson2012-03-201-2/+2
|
* Add @nomarshal in a few places where we're marshalling manuallyAlexander Larsson2012-03-201-11/+11
|
* spice.proto: add @outvar markupAlexander Larsson2012-03-201-15/+15
| | | | With this we can reference pointer member with no naming conflicts
* Add support for generating message and structure marshallersAlexander Larsson2012-03-202-1/+392
|
* Add python code to automake systemAlexander Larsson2012-03-202-0/+171
|
* Initial import of spice protocol description and demarshall generatorAlexander Larsson2012-03-206-0/+3595
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.