diff options
author | Alon Levy <alevy@redhat.com> | 2012-06-06 11:47:25 +0300 |
---|---|---|
committer | Jonathon Jongsma <jjongsma@redhat.com> | 2015-01-09 14:21:13 -0600 |
commit | b3b499c5eb1ca211f0ec10f03ef2ebe230e3970a (patch) | |
tree | 94151c7d45518edbfa23e547872d574ec2ac9e45 | |
parent | 6a6dc2836198a4e514140d084e377d5f0b599c7f (diff) | |
download | spice-b3b499c5eb1ca211f0ec10f03ef2ebe230e3970a.tar.gz spice-b3b499c5eb1ca211f0ec10f03ef2ebe230e3970a.tar.xz spice-b3b499c5eb1ca211f0ec10f03ef2ebe230e3970a.zip |
server/dispatcher: pass message_type to callbacks for consistency
-rw-r--r-- | server/dispatcher.c | 2 | ||||
-rw-r--r-- | server/dispatcher.h | 1 | ||||
-rw-r--r-- | server/main_dispatcher.c | 4 | ||||
-rw-r--r-- | server/red_worker.c | 74 |
4 files changed, 44 insertions, 37 deletions
diff --git a/server/dispatcher.c b/server/dispatcher.c index 298f5f90..ad9726b2 100644 --- a/server/dispatcher.c +++ b/server/dispatcher.c @@ -136,7 +136,7 @@ static int dispatcher_handle_single_read(Dispatcher *dispatcher) return 0; } if (msg->handler) { - msg->handler(dispatcher->opaque, (void *)payload); + msg->handler(dispatcher->opaque, type, (void *)payload); } else { spice_printerr("error: no handler for message type %d", type); } diff --git a/server/dispatcher.h b/server/dispatcher.h index 1b389bde..85cbd26a 100644 --- a/server/dispatcher.h +++ b/server/dispatcher.h @@ -6,6 +6,7 @@ typedef struct Dispatcher Dispatcher; typedef void (*dispatcher_handle_message)(void *opaque, + uint32_t message_type, void *payload); typedef void (*dispatcher_handle_async_done)(void *opaque, diff --git a/server/main_dispatcher.c b/server/main_dispatcher.c index dbe10374..ad81e424 100644 --- a/server/main_dispatcher.c +++ b/server/main_dispatcher.c @@ -73,6 +73,7 @@ static void main_dispatcher_self_handle_channel_event( } static void main_dispatcher_handle_channel_event(void *opaque, + uint32_t message_type, void *payload) { MainDispatcherChannelEventMessage *channel_event = payload; @@ -97,6 +98,7 @@ void main_dispatcher_channel_event(int event, SpiceChannelEventInfo *info) static void main_dispatcher_handle_migrate_complete(void *opaque, + uint32_t message_type, void *payload) { MainDispatcherMigrateSeamlessDstCompleteMessage *mig_complete = payload; @@ -106,6 +108,7 @@ static void main_dispatcher_handle_migrate_complete(void *opaque, } static void main_dispatcher_handle_mm_time_latency(void *opaque, + uint32_t message_type, void *payload) { MainDispatcherMmTimeLatencyMessage *msg = payload; @@ -114,6 +117,7 @@ static void main_dispatcher_handle_mm_time_latency(void *opaque, } static void main_dispatcher_handle_client_disconnect(void *opaque, + uint32_t message_type, void *payload) { MainDispatcherClientDisconnectMessage *msg = payload; diff --git a/server/red_worker.c b/server/red_worker.c index d1465ff9..2d6defb7 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -11018,7 +11018,7 @@ static void surface_dirty_region_to_rects(RedSurface *surface, free(dirty_rects); } -void handle_dev_update_async(void *opaque, void *payload) +void handle_dev_update_async(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; RedWorkerMessageUpdateAsync *msg = payload; @@ -11053,7 +11053,7 @@ void handle_dev_update_async(void *opaque, void *payload) free(qxl_dirty_rects); } -void handle_dev_update(void *opaque, void *payload) +void handle_dev_update(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; RedWorkerMessageUpdate *msg = payload; @@ -11089,7 +11089,7 @@ static void dev_add_memslot(RedWorker *worker, QXLDevMemSlot mem_slot) mem_slot.generation); } -void handle_dev_add_memslot(void *opaque, void *payload) +void handle_dev_add_memslot(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; RedWorkerMessageAddMemslot *msg = payload; @@ -11100,7 +11100,7 @@ void handle_dev_add_memslot(void *opaque, void *payload) mem_slot.generation); } -void handle_dev_del_memslot(void *opaque, void *payload) +void handle_dev_del_memslot(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; RedWorkerMessageDelMemslot *msg = payload; @@ -11137,7 +11137,7 @@ static void dev_destroy_surface_wait(RedWorker *worker, uint32_t surface_id) } } -void handle_dev_destroy_surface_wait(void *opaque, void *payload) +void handle_dev_destroy_surface_wait(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageDestroySurfaceWait *msg = payload; RedWorker *worker = opaque; @@ -11212,7 +11212,7 @@ static inline void dev_destroy_surfaces(RedWorker *worker) red_cursor_reset(worker); } -void handle_dev_destroy_surfaces(void *opaque, void *payload) +void handle_dev_destroy_surfaces(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; @@ -11367,7 +11367,7 @@ static void dev_create_primary_surface(RedWorker *worker, uint32_t surface_id, } } -void handle_dev_create_primary_surface(void *opaque, void *payload) +void handle_dev_create_primary_surface(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageCreatePrimarySurface *msg = payload; RedWorker *worker = opaque; @@ -11395,7 +11395,7 @@ static void dev_destroy_primary_surface(RedWorker *worker, uint32_t surface_id) red_cursor_reset(worker); } -void handle_dev_destroy_primary_surface(void *opaque, void *payload) +void handle_dev_destroy_primary_surface(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageDestroyPrimarySurface *msg = payload; RedWorker *worker = opaque; @@ -11404,7 +11404,7 @@ void handle_dev_destroy_primary_surface(void *opaque, void *payload) dev_destroy_primary_surface(worker, surface_id); } -void handle_dev_destroy_primary_surface_async(void *opaque, void *payload) +void handle_dev_destroy_primary_surface_async(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageDestroyPrimarySurfaceAsync *msg = payload; RedWorker *worker = opaque; @@ -11430,21 +11430,21 @@ static void dev_flush_surfaces(RedWorker *worker) flush_all_surfaces(worker); } -void handle_dev_flush_surfaces(void *opaque, void *payload) +void handle_dev_flush_surfaces(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; dev_flush_surfaces(worker); } -void handle_dev_flush_surfaces_async(void *opaque, void *payload) +void handle_dev_flush_surfaces_async(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; dev_flush_surfaces(worker); } -void handle_dev_stop(void *opaque, void *payload) +void handle_dev_stop(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; @@ -11501,7 +11501,7 @@ static int display_channel_wait_for_migrate_data(DisplayChannel *display) return FALSE; } -void handle_dev_start(void *opaque, void *payload) +void handle_dev_start(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; @@ -11519,7 +11519,7 @@ void handle_dev_start(void *opaque, void *payload) guest_set_client_capabilities(worker); } -void handle_dev_wakeup(void *opaque, void *payload) +void handle_dev_wakeup(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; @@ -11527,7 +11527,7 @@ void handle_dev_wakeup(void *opaque, void *payload) stat_inc_counter(worker->wakeup_counter, 1); } -void handle_dev_oom(void *opaque, void *payload) +void handle_dev_oom(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; @@ -11560,17 +11560,17 @@ void handle_dev_oom(void *opaque, void *payload) clear_bit(RED_WORKER_PENDING_OOM, worker->pending); } -void handle_dev_reset_cursor(void *opaque, void *payload) +void handle_dev_reset_cursor(void *opaque, uint32_t message_type, void *payload) { red_cursor_reset((RedWorker *)opaque); } -void handle_dev_reset_image_cache(void *opaque, void *payload) +void handle_dev_reset_image_cache(void *opaque, uint32_t message_type, void *payload) { image_cache_reset(&((RedWorker *)opaque)->image_cache); } -void handle_dev_destroy_surface_wait_async(void *opaque, void *payload) +void handle_dev_destroy_surface_wait_async(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageDestroySurfaceWaitAsync *msg = payload; RedWorker *worker = opaque; @@ -11578,14 +11578,14 @@ void handle_dev_destroy_surface_wait_async(void *opaque, void *payload) dev_destroy_surface_wait(worker, msg->surface_id); } -void handle_dev_destroy_surfaces_async(void *opaque, void *payload) +void handle_dev_destroy_surfaces_async(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; dev_destroy_surfaces(worker); } -void handle_dev_create_primary_surface_async(void *opaque, void *payload) +void handle_dev_create_primary_surface_async(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageCreatePrimarySurfaceAsync *msg = payload; RedWorker *worker = opaque; @@ -11599,7 +11599,7 @@ void handle_dev_create_primary_surface_async(void *opaque, void *payload) * pthread is created, since the channel duration is the lifetime of the spice * server. */ -void handle_dev_display_channel_create(void *opaque, void *payload) +void handle_dev_display_channel_create(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; @@ -11610,7 +11610,7 @@ void handle_dev_display_channel_create(void *opaque, void *payload) xwrite(worker->channel, &red_channel, sizeof(RedChannel *)); } -void handle_dev_display_connect(void *opaque, void *payload) +void handle_dev_display_connect(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageDisplayConnect *msg = payload; RedWorker *worker = opaque; @@ -11626,7 +11626,7 @@ void handle_dev_display_connect(void *opaque, void *payload) free(msg->common_caps); } -void handle_dev_display_disconnect(void *opaque, void *payload) +void handle_dev_display_disconnect(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageDisplayDisconnect *msg = payload; RedChannelClient *rcc = msg->rcc; @@ -11640,7 +11640,7 @@ void handle_dev_display_disconnect(void *opaque, void *payload) red_channel_client_disconnect(rcc); } -void handle_dev_display_migrate(void *opaque, void *payload) +void handle_dev_display_migrate(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageDisplayMigrate *msg = payload; RedWorker *worker = opaque; @@ -11651,7 +11651,9 @@ void handle_dev_display_migrate(void *opaque, void *payload) red_migrate_display(worker, rcc); } -static void handle_dev_monitors_config_async(void *opaque, void *payload) +static void handle_dev_monitors_config_async(void *opaque, + uint32_t message_type, + void *payload) { RedWorkerMessageMonitorsConfigAsync *msg = payload; RedWorker *worker = opaque; @@ -11682,7 +11684,7 @@ static void handle_dev_monitors_config_async(void *opaque, void *payload) } /* TODO: special, perhaps use another dispatcher? */ -void handle_dev_cursor_channel_create(void *opaque, void *payload) +void handle_dev_cursor_channel_create(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; RedChannel *red_channel; @@ -11693,7 +11695,7 @@ void handle_dev_cursor_channel_create(void *opaque, void *payload) xwrite(worker->channel, &red_channel, sizeof(RedChannel *)); } -void handle_dev_cursor_connect(void *opaque, void *payload) +void handle_dev_cursor_connect(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageCursorConnect *msg = payload; RedWorker *worker = opaque; @@ -11709,7 +11711,7 @@ void handle_dev_cursor_connect(void *opaque, void *payload) free(msg->common_caps); } -void handle_dev_cursor_disconnect(void *opaque, void *payload) +void handle_dev_cursor_disconnect(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageCursorDisconnect *msg = payload; RedChannelClient *rcc = msg->rcc; @@ -11719,7 +11721,7 @@ void handle_dev_cursor_disconnect(void *opaque, void *payload) red_channel_client_disconnect(rcc); } -void handle_dev_cursor_migrate(void *opaque, void *payload) +void handle_dev_cursor_migrate(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageCursorMigrate *msg = payload; RedWorker *worker = opaque; @@ -11730,7 +11732,7 @@ void handle_dev_cursor_migrate(void *opaque, void *payload) red_migrate_cursor(worker, rcc); } -void handle_dev_set_compression(void *opaque, void *payload) +void handle_dev_set_compression(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageSetCompression *msg = payload; RedWorker *worker = opaque; @@ -11777,7 +11779,7 @@ void handle_dev_set_compression(void *opaque, void *payload) #endif } -void handle_dev_set_streaming_video(void *opaque, void *payload) +void handle_dev_set_streaming_video(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageSetStreamingVideo *msg = payload; RedWorker *worker = opaque; @@ -11799,7 +11801,7 @@ void handle_dev_set_streaming_video(void *opaque, void *payload) } } -void handle_dev_set_mouse_mode(void *opaque, void *payload) +void handle_dev_set_mouse_mode(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageSetMouseMode *msg = payload; RedWorker *worker = opaque; @@ -11808,7 +11810,7 @@ void handle_dev_set_mouse_mode(void *opaque, void *payload) spice_info("mouse mode %u", worker->mouse_mode); } -void handle_dev_add_memslot_async(void *opaque, void *payload) +void handle_dev_add_memslot_async(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageAddMemslotAsync *msg = payload; RedWorker *worker = opaque; @@ -11816,14 +11818,14 @@ void handle_dev_add_memslot_async(void *opaque, void *payload) dev_add_memslot(worker, msg->mem_slot); } -void handle_dev_reset_memslots(void *opaque, void *payload) +void handle_dev_reset_memslots(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; red_memslot_info_reset(&worker->mem_slots); } -void handle_dev_driver_unload(void *opaque, void *payload) +void handle_dev_driver_unload(void *opaque, uint32_t message_type, void *payload) { RedWorker *worker = opaque; @@ -11859,7 +11861,7 @@ static int loadvm_command(RedWorker *worker, QXLCommandExt *ext) return TRUE; } -void handle_dev_loadvm_commands(void *opaque, void *payload) +void handle_dev_loadvm_commands(void *opaque, uint32_t message_type, void *payload) { RedWorkerMessageLoadvmCommands *msg = payload; RedWorker *worker = opaque; |