summaryrefslogtreecommitdiffstats
path: root/server/dispatcher.h
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2012-06-06 11:52:53 +0300
committerFrediano Ziglio <fziglio@redhat.com>2015-08-20 17:47:24 +0100
commit865455cf321ba7a1d2a7d32065bf40c601cfd494 (patch)
treef9925801f9a0cd90caaaf4df10fe7ce8b0dfc2ac /server/dispatcher.h
parentf3179ef7913192d7b928cdba3a48bd2b9923cbb6 (diff)
downloadspice-865455cf321ba7a1d2a7d32065bf40c601cfd494.tar.gz
spice-865455cf321ba7a1d2a7d32065bf40c601cfd494.tar.xz
spice-865455cf321ba7a1d2a7d32065bf40c601cfd494.zip
server/dispatcher: add extra_dispatcher, hack for red_record
Signed-off-by: Alon Levy <alon@pobox.com>
Diffstat (limited to 'server/dispatcher.h')
-rw-r--r--server/dispatcher.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/server/dispatcher.h b/server/dispatcher.h
index 1b389bde..8cfa1d47 100644
--- a/server/dispatcher.h
+++ b/server/dispatcher.h
@@ -8,6 +8,10 @@ typedef struct Dispatcher Dispatcher;
typedef void (*dispatcher_handle_message)(void *opaque,
void *payload);
+typedef void (*dispatcher_handle_any_message)(void *opaque,
+ uint32_t message_type,
+ void *payload);
+
typedef void (*dispatcher_handle_async_done)(void *opaque,
uint32_t message_type,
void *payload);
@@ -32,6 +36,7 @@ struct Dispatcher {
size_t payload_size; /* used to track realloc calls */
void *opaque;
dispatcher_handle_async_done handle_async_done;
+ dispatcher_handle_any_message any_handler;
};
/*
@@ -85,6 +90,13 @@ void dispatcher_register_async_done_callback(
dispatcher_handle_async_done handler);
/*
+ * Hack to allow red_record to see the message being sent so it can record
+ * it to file.
+ */
+void dispatcher_register_universal_handler(Dispatcher *dispatcher,
+ dispatcher_handle_any_message handler);
+
+/*
* dispatcher_handle_recv_read
* @dispatcher: Dispatcher instance
*/