Alexander Larsson
9c504f23ef
spice.proto: No need for @ptr32 as that is now the default
2010-06-23 16:35:09 +02:00
Alexander Larsson
054c88b125
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.
2010-06-23 16:33:07 +02:00
Alexander Larsson
0c0b4f9e84
Don't send zero data item for clips with no data
2010-06-23 16:33:07 +02:00
Alexander Larsson
dc8625c7e1
Make pointers 32bit in new protocol format
2010-06-23 16:33:07 +02:00
Alexander Larsson
929245bacd
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.
2010-06-23 16:33:07 +02:00
Alexander Larsson
06fe6a91c2
Fix handling of @ptr32 network size
2010-06-23 16:33:07 +02:00
Alexander Larsson
10c16b3c82
Remove minor markup in unstable protocol as we're resetting minor to 0
2010-06-23 16:33:07 +02:00
Gerd Hoffmann
899a9df0e6
fix use-after-free in spice_marshaller_reset
2010-06-23 13:49:21 +02:00
Gerd Hoffmann
b6efc72001
drop bogous get_virt_delta calls
2010-06-23 13:49:21 +02:00
Alexander Larsson
eb3fe11d94
Fix version mismatch error on connect
...
Protocol is 0 (auto), 1 (old), or 2 (new). This is (apart from 0) the
same as the major number for the stable protocol. However, the current major
is ~(-1) to signify it being unstable, so don't use the major number as source
for setting or comparing protocol.
2010-06-23 12:18:41 +02:00
Alexander Larsson
f35ac2049a
Fix screen resolution changes on old servers
...
* Correctly check for existing canvas 0
* Don't try to unlock the screen size if there is no active screen
2010-06-23 11:37:01 +02:00
Alexander Larsson
72cf104c28
client: Support connecting to a major==1 server
2010-06-22 17:34:45 +02:00
Alexander Larsson
652c13e71b
Implement display_mode message needed for backwards compat
2010-06-22 17:34:45 +02:00
Alexander Larsson
2788b2ec46
Generate marshaller/demarshallers for old protocol
2010-06-22 17:34:39 +02:00
Alexander Larsson
ededfd7ebb
Add spice1.proto describing the 0.4 version of the network protocolx
2010-06-22 16:31:40 +02:00
Alexander Larsson
381025b1c3
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.
2010-06-22 16:03:34 +02:00
Alexander Larsson
759a3d5446
Make internal generated marshaller functions static
2010-06-22 16:03:02 +02:00
Alexander Larsson
c621b2bdf1
Support extra prefix in code generators
...
This is require when we add a new spice.proto for the old (major 1)
protocol description.
2010-06-22 16:01:57 +02:00
Alexander Larsson
36fd22a9db
Add more emacs mode headers
2010-06-22 12:03:21 +02:00
Alexander Larsson
5c05a24ba1
Convert client to use indirect calls for message marshalling
...
This is required to support multiple versions
2010-06-22 10:54:59 +02:00
Alexander Larsson
5341b632e2
Support creating marshallers that are called indirectly
...
This is needed if we want to switch marshallers depending on what
major version the remote side has.
2010-06-22 10:54:59 +02:00
Alexander Larsson
9123e24e7b
Add destructor for demarshalled messages
...
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.
2010-06-22 10:53:24 +02:00
Yonit Halperin
ae1de849ac
fix for not reseting client palette caches on migration
2010-06-21 15:18:46 +02:00
Yonit Halperin
537280f183
Lossy compression of RGBA images (on WAN connection)
...
The RGB channels are compressed using JPEG.
The alpha channel is compressed using LZ.
2010-06-21 15:18:26 +02:00
Yonit Halperin
25bb38f643
applying zlib compression over glz on WAN connection
2010-06-21 15:05:37 +02:00
Alexander Larsson
cfc1e95bda
Make opengl optional, disabled by default
...
The OpenGL renderer isn't really useful right now, its not quite up
to date, its not really faster than software and it only supports a limited
subset of drivers. So, lets disable it for now.
Long term opengl rendering of the 2d part of spice is important if we want
to combine 2d and 3d rendering (say if spice adds opengl support in the
protocol). But until then this is isn't useful for normal use.
2010-06-21 14:50:18 +02:00
Alexander Larsson
ae4436215c
Make generated marshallers build on win32
2010-06-18 21:10:25 +02:00
Alexander Larsson
0f2e037834
Add server/demarshaller.h
2010-06-18 20:27:32 +02:00
Alexander Larsson
972951dbb7
Make sound data @as_ptr to avoid copying data
2010-06-18 20:27:32 +02:00
Alexander Larsson
4ce4364f84
Make ping data @as_ptr to avoid copying data
2010-06-18 20:27:32 +02:00
Alexander Larsson
3c8cb83af5
Make cursor data @as_ptr to avoid copying data
2010-06-18 20:27:32 +02:00
Alexander Larsson
7fa29ea67e
Support @as_ptr in demarshaller to avoid copying data unnecessary
2010-06-18 20:27:32 +02:00
Alexander Larsson
0b82006733
Make pointer types in messages be 64bit in memory
...
Right now we always assume pointers are stored as SPICE_ADDRESS,
i.e. 64bit, independent on the size sent on the network.
This is required for 64bit architectures of course, but slightly overkill
on 32bit architectures, so needs fixing when all SPICE_ADDRESS elements
can be made internal.
2010-06-18 20:27:32 +02:00
Alexander Larsson
3a07edb4af
Don't pack the message structures
2010-06-18 20:27:32 +02:00
Alexander Larsson
4c1094acce
Make all message structs internal to spice
...
We move all message structs from spice-protocol to spice as
we want to be able to change these as needed internally. The
on-network format is no longer defined by these structures anyway,
but rather by the spice protocol description.
2010-06-18 20:27:32 +02:00
Alexander Larsson
185a320c9b
Allow multiple --include args
2010-06-18 20:27:32 +02:00
Alexander Larsson
c553fafe4b
Use generated demarshallers in server
2010-06-18 20:27:32 +02:00
Alexander Larsson
ec10a1662f
Generate demarshallers on server side
2010-06-18 20:27:32 +02:00
Alexander Larsson
4e44b7cf95
Make tunnel_service_add members be of cstring array size
2010-06-18 20:27:32 +02:00
Alexander Larsson
ee91ed475d
Switch client to use generated marshallers
2010-06-18 20:27:32 +02:00
Alexander Larsson
1302667662
Generate and link marshallers into client
2010-06-18 20:27:32 +02:00
Alexander Larsson
d9772344e6
Re-enable cache freeing
...
I don't know why this was disabled but it seems like a bad idea
2010-06-18 20:27:32 +02:00
Alexander Larsson
04e0c6e5b2
Convert reds.c to use SpiceMarshaller
2010-06-18 20:27:31 +02:00
Alexander Larsson
8418da7ab2
Convert snd_worker.c to use SpiceMarshaller and generated marshallers
2010-06-18 20:27:31 +02:00
Alexander Larsson
cfc86f3340
Convert red_worker.c to use SpiceMarshaller for marshalling
2010-06-18 20:27:31 +02:00
Alexander Larsson
e2728082d0
Generate marshallers in server
2010-06-18 20:27:27 +02:00
Alexander Larsson
c36efa5950
Use @ptr32 for 32bit offsets in spice.proto
2010-06-18 16:32:11 +02:00
Alexander Larsson
635ad37ee9
Add @nomarshal in a few places where we're marshalling manually
2010-06-18 16:32:11 +02:00
Alexander Larsson
a7284761be
spice.proto: add @outvar markup
...
With this we can reference pointer member with no naming conflicts
2010-06-18 16:32:11 +02:00
Alexander Larsson
936b3f01f9
Add support for generating message and structure marshallers
2010-06-18 16:32:11 +02:00