Commit Graph

4808 Commits

Author SHA1 Message Date
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