Alexander Larsson
7861ba0921
Don't send padding over the network with video data
2012-03-20 15:25:49 +01:00
Alexander Larsson
12bc82da5c
Fix uninitialized variable warnings
2012-03-20 15:25:49 +01:00
Alexander Larsson
4702feb5b1
Don't send CursorHeader if cursor_flags is NONE
2012-03-20 15:25:49 +01:00
Alexander Larsson
f3d92c736b
Send Clip.rects inline rather than using a pointer
2012-03-20 15:25:49 +01:00
Alexander Larsson
f008b7605d
codegen: Allow @to_ptr to make inline structs demarshal as pointers
2012-03-20 15:25:49 +01:00
Alexander Larsson
d9629ca4e7
codegen: Various cleanups
...
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.
2012-03-20 15:25:48 +01:00
Alexander Larsson
373993f32c
codegen: Pass member to SubMarshallingSource rather than name
...
This way we can check attributes on the member.
2012-03-20 15:25:48 +01:00
Alexander Larsson
e6240ee0b0
codegen: Remove unused methos has_pointer()
2012-03-20 15:25:48 +01:00
Alexander Larsson
9e2e061bea
Don't marshall bitmap data as pointer, instead send inline
2012-03-20 15:25:48 +01:00
Alexander Larsson
42c5286ca6
Make distcheck work
2012-03-20 15:25:48 +01:00
Alexander Larsson
adce65685f
Fix various misspellings
...
letancy -> latency
compund -> compound
SpicedSubMessage -> SpiceSubMessage
modifaiers -> modifiers
massage -> message
outgoiong -> outgoing
AlphaBlnd -> AlphaBlend
remoth -> remote
modifires -> modifiers
secore -> secure
2012-03-20 15:25:48 +01:00
Alexander Larsson
a09be53ea8
Fix inclusion of common files, no need for common/ part
2012-03-20 15:25:48 +01:00
Alexander Larsson
74f9cd9f73
codegen: No SPICE_ADDRESS types left, drop @c_ptr
2012-03-20 15:25:47 +01:00
Alexander Larsson
2952d5bd9a
Properly parse QXLLineAttrs.style
2012-03-20 15:25:47 +01:00
Gerd Hoffmann
0ed056da99
Properly parse QXLImage to the new-world SpiceImage
...
SpiceImage now replaces RedImage and has all image types in it.
All image data are now chunked (and as such not copied when demarshalling).
2012-03-20 15:25:47 +01:00
Alexander Larsson
4a12b9c0dd
codegen: support @chunk on non-pointer arrays
...
This is similar to @as_ptr, but generates a single chunk of data.
2012-03-20 15:25:47 +01:00
Alexander Larsson
1b432de3b9
Add support for @chunk
2012-03-20 15:25:47 +01:00
Alexander Larsson
5492b3ccae
marshaller: Make get_nw_offset() handle deep member references
2012-03-20 15:25:47 +01:00
Alexander Larsson
6ca5b39e6f
Convert SpicePath.segments to a pointer array
2012-03-20 15:25:47 +01:00
Alexander Larsson
bb1d862989
Handle extra size for switch and array the right way
...
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.
2012-03-20 15:25:47 +01:00
Alexander Larsson
daaf4865d8
marshaller: Add some docs describing the types of sizes
2012-03-20 15:25:47 +01:00
Alexander Larsson
32481bf381
marshaller: Make @nonnull a propagated attribute
...
This cleans up some stuff
2012-03-20 15:25:47 +01:00
Alexander Larsson
f22381505d
marshaller: Make @c_ptr a propagated attribute
...
This simplifies some code
2012-03-20 15:25:47 +01:00
Alexander Larsson
fefc89c6c4
marshaller: Add generic way to handle propagating attributes
...
Also switches @ptr_array to use this
2012-03-20 15:25:47 +01:00
Gerd Hoffmann
6228ae633e
Properly parse and marshall SpiceString
2012-03-20 15:25:46 +01:00
Alexander Larsson
8ec1247dbe
Fix 32bit failure in demarshaller
...
Due to a typo we always read offsets as pointers, never as SPICE_ADDRESS.
2012-03-20 15:25:46 +01:00
Alexander Larsson
6d38c4817f
Simplify SpiceLineAttr by removing unsed stuff
...
Also in new protocol don't send style data if not needed.
2012-03-20 15:25:46 +01:00
Alexander Larsson
68e29d0d19
Automatically marshall SpiceClipRects
2012-03-20 15:25:46 +01:00
Alexander Larsson
e191e47238
Automatically marshall SpicePath
2012-03-20 15:25:46 +01:00
Alexander Larsson
02a429e46e
Support @marshall to automatically marshall pointers
2012-03-20 15:25:46 +01:00
Alexander Larsson
e42c910b5c
Store SpicePath segment count rather than size
...
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
2012-03-20 15:25:46 +01:00
Alexander Larsson
140cf2aa79
Update client and protocol to support the new SpiceClipRects
2012-03-20 15:25:46 +01:00
Alexander Larsson
13f8149daf
demarshaller: Support @c_ptr attributes for pointers
...
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.
2012-03-20 15:25:46 +01:00
Alexander Larsson
dcaba909d3
demarshaller: Don't parse @zero members
...
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.
2012-03-20 15:25:46 +01:00
Gerd Hoffmann
f2d7fbdb19
qxl abi: parse QXLCopy + QXLBlend.
...
Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
2012-03-20 15:25:46 +01:00
Gerd Hoffmann
54fc0642e1
qxl abi: parse QXLOpaque.
...
Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
2012-03-20 15:25:45 +01:00
Gerd Hoffmann
435b1515a7
qxl abi: parse QXLFill.
...
Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
2012-03-20 15:25:45 +01:00
Alexander Larsson
144b2fbd75
Fix build error due to member "SpiceMsgEmpty" same name as type
2012-03-20 15:25:45 +01:00
Alexander Larsson
302788f147
spice.proto: surface_create.format is of type surface_fmt
2012-03-20 15:25:45 +01:00
Alexander Larsson
8b4ab9026d
Use smaller size for enums and flags on the network
...
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.
2012-03-20 15:25:45 +01:00
Alexander Larsson
7578be4a23
Remove support for clip by path
...
This is not supported currently anyway and was not generated before.
2012-03-20 15:25:45 +01:00
Alexander Larsson
fc30c38a94
spice.proto: No need for @ptr32 as that is now the default
2012-03-20 15:25:45 +01:00
Alexander Larsson
baa0718cec
spice.proto: Don't use @fixedsize for Brush
...
There is no reason to send the maximum size on the network, that is just
a waste of space most of the time.
2012-03-20 15:25:45 +01:00
Alexander Larsson
31fd48e773
Don't send zero data item for clips with no data
2012-03-20 15:25:45 +01:00
Alexander Larsson
1d5d5272e2
Make pointers 32bit in new protocol format
2012-03-20 15:25:45 +01:00
Alexander Larsson
db5b8fa673
marshaller: Correctly determine if switches are fixed size
...
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.
2012-03-20 15:25:45 +01:00
Alexander Larsson
32dbd8a6a5
Fix handling of @ptr32 network size
2012-03-20 15:25:45 +01:00
Alexander Larsson
2ef7116925
Remove minor markup in unstable protocol as we're resetting minor to 0
2012-03-20 15:25:45 +01:00
Alexander Larsson
fbf883085f
Add spice1.proto describing the 0.4 version of the network protocolx
2012-03-20 15:25:44 +01:00
Alexander Larsson
ee944c8314
Add support for @virtual markup in spice protocol
...
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.
2012-03-20 15:25:44 +01:00