Revision e0c64d08 ui/spice-display.h

b/ui/spice-display.h
19 19
#include <spice/enums.h>
20 20
#include <spice/qxl_dev.h>
21 21

  
22
#include "qemu-thread.h"
22 23
#include "pflib.h"
23 24

  
24 25
#define NUM_MEMSLOTS 8
......
31 32

  
32 33
#define NUM_SURFACES 1024
33 34

  
34
typedef struct SimpleSpiceDisplay {
35
typedef struct SimpleSpiceDisplay SimpleSpiceDisplay;
36
typedef struct SimpleSpiceUpdate SimpleSpiceUpdate;
37

  
38
struct SimpleSpiceDisplay {
35 39
    DisplayState *ds;
36 40
    void *buf;
37 41
    int bufsize;
......
43 47
    QXLRect dirty;
44 48
    int notify;
45 49
    int running;
46
} SimpleSpiceDisplay;
47 50

  
48
typedef struct SimpleSpiceUpdate {
51
    /*
52
     * All struct members below this comment can be accessed from
53
     * both spice server and qemu (iothread) context and any access
54
     * to them must be protected by the lock.
55
     */
56
    QemuMutex lock;
57
    SimpleSpiceUpdate *update;
58
};
59

  
60
struct SimpleSpiceUpdate {
49 61
    QXLDrawable drawable;
50 62
    QXLImage image;
51 63
    QXLCommandExt ext;
52 64
    uint8_t *bitmap;
53
} SimpleSpiceUpdate;
65
};
54 66

  
55 67
int qemu_spice_rect_is_empty(const QXLRect* r);
56 68
void qemu_spice_rect_union(QXLRect *dest, const QXLRect *r);
57 69

  
58
SimpleSpiceUpdate *qemu_spice_create_update(SimpleSpiceDisplay *sdpy);
59 70
void qemu_spice_destroy_update(SimpleSpiceDisplay *sdpy, SimpleSpiceUpdate *update);
60 71
void qemu_spice_create_host_memslot(SimpleSpiceDisplay *ssd);
61 72
void qemu_spice_create_host_primary(SimpleSpiceDisplay *ssd);

Also available in: Unified diff