summaryrefslogtreecommitdiffstats
path: root/common/canvas_base.h
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2010-03-02 16:25:22 +0100
committerAlexander Larsson <alexl@redhat.com>2010-03-08 19:45:28 +0100
commit05697e502d709974f9b94feca5d9bdde20b993be (patch)
tree4b048e1a6b305ab18402edb01383fc77a367398c /common/canvas_base.h
parentf7a77f9881d5cd1d360b043d6b619216603941dd (diff)
downloadspice-05697e502d709974f9b94feca5d9bdde20b993be.tar.gz
spice-05697e502d709974f9b94feca5d9bdde20b993be.tar.xz
spice-05697e502d709974f9b94feca5d9bdde20b993be.zip
Make virt mapping an interface
Diffstat (limited to 'common/canvas_base.h')
-rw-r--r--common/canvas_base.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/common/canvas_base.h b/common/canvas_base.h
index 7796245c..4c286547 100644
--- a/common/canvas_base.h
+++ b/common/canvas_base.h
@@ -27,6 +27,7 @@
typedef struct _SpiceImageCache SpiceImageCache;
typedef struct _SpicePaletteCache SpicePaletteCache;
typedef struct _SpiceGlzDecoder SpiceGlzDecoder;
+typedef struct _SpiceVirtMapping SpiceVirtMapping;
typedef struct {
void (*put)(SpiceImageCache *cache,
@@ -64,11 +65,15 @@ struct _SpiceGlzDecoder {
SpiceGlzDecoderOps *ops;
};
-#ifndef CAIRO_CANVAS_NO_CHUNKS
-typedef void *(*get_virt_fn_t)(void *get_virt_opaque, unsigned long addr, uint32_t add_size);
-typedef void (*validate_virt_fn_t)(void *validate_virt_opaque, unsigned long virt,
- unsigned long from_addr, uint32_t add_size);
-#endif
+typedef struct {
+ void *(*get_virt)(SpiceVirtMapping *mapping, unsigned long addr, uint32_t add_size);
+ void (*validate_virt)(SpiceVirtMapping *mapping, unsigned long virt,
+ unsigned long from_addr, uint32_t add_size);
+} SpiceVirtMappingOps;
+
+struct _SpiceVirtMapping {
+ SpiceVirtMappingOps *ops;
+};
#endif