summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-09-13 21:16:22 +0200
committerFrediano Ziglio <fziglio@redhat.com>2015-11-05 12:40:55 +0000
commite603e96837d882174c55dc8e01750d0116881077 (patch)
treef72c6f9e0c1a0830baf1c4412b4bc7d6feedf6ef
parent81cf3997db6590a9f52f86307ac5f836ab5e03b2 (diff)
downloadspice-e603e96837d882174c55dc8e01750d0116881077.tar.gz
spice-e603e96837d882174c55dc8e01750d0116881077.tar.xz
spice-e603e96837d882174c55dc8e01750d0116881077.zip
worker: move MonitorsConfig to display channel
Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
-rw-r--r--server/display-channel.c40
-rw-r--r--server/display-channel.h1
-rw-r--r--server/red_worker.c41
3 files changed, 41 insertions, 41 deletions
diff --git a/server/display-channel.c b/server/display-channel.c
index c7cb3dff..3dc5a940 100644
--- a/server/display-channel.c
+++ b/server/display-channel.c
@@ -81,3 +81,43 @@ MonitorsConfig* monitors_config_new(QXLHead *heads, ssize_t nheads, ssize_t max)
return mc;
}
+
+static MonitorsConfigItem *monitors_config_item_new(RedChannel* channel,
+ MonitorsConfig *monitors_config)
+{
+ MonitorsConfigItem *mci;
+
+ mci = (MonitorsConfigItem *)spice_malloc(sizeof(*mci));
+ mci->monitors_config = monitors_config;
+
+ red_channel_pipe_item_init(channel,
+ &mci->pipe_item, PIPE_ITEM_TYPE_MONITORS_CONFIG);
+ return mci;
+}
+
+static inline void red_monitors_config_item_add(DisplayChannelClient *dcc)
+{
+ DisplayChannel *dc = DCC_TO_DC(dcc);
+ MonitorsConfigItem *mci;
+
+ mci = monitors_config_item_new(dcc->common.base.channel,
+ monitors_config_ref(dc->monitors_config));
+ red_channel_client_pipe_add(&dcc->common.base, &mci->pipe_item);
+}
+
+void dcc_push_monitors_config(DisplayChannelClient *dcc)
+{
+ MonitorsConfig *monitors_config = DCC_TO_DC(dcc)->monitors_config;
+
+ if (monitors_config == NULL) {
+ spice_warning("monitors_config is NULL");
+ return;
+ }
+
+ if (!red_channel_client_test_remote_cap(&dcc->common.base,
+ SPICE_DISPLAY_CAP_MONITORS_CONFIG)) {
+ return;
+ }
+ red_monitors_config_item_add(dcc);
+ red_channel_client_push(&dcc->common.base);
+}
diff --git a/server/display-channel.h b/server/display-channel.h
index 48e28a62..d6d65e02 100644
--- a/server/display-channel.h
+++ b/server/display-channel.h
@@ -296,6 +296,7 @@ DisplayChannelClient* dcc_new (DisplayCha
int num_common_caps,
uint32_t *caps,
int num_caps);
+void dcc_push_monitors_config (DisplayChannelClient *dcc);
typedef struct DrawablePipeItem {
RingItem base; /* link for a list of pipe items held by Drawable */
diff --git a/server/red_worker.c b/server/red_worker.c
index 4a431542..2ba18960 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -539,7 +539,6 @@ static void display_channel_client_release_item_before_push(DisplayChannelClient
PipeItem *item);
static void display_channel_client_release_item_after_push(DisplayChannelClient *dcc,
PipeItem *item);
-static void dcc_push_monitors_config(DisplayChannelClient *dcc);
/*
* Macros to make iterating over stuff easier
@@ -9523,29 +9522,6 @@ void handle_dev_destroy_surfaces(void *opaque, void *payload)
dev_destroy_surfaces(worker);
}
-static MonitorsConfigItem *monitors_config_item_new(
- RedChannel* channel, MonitorsConfig *monitors_config)
-{
- MonitorsConfigItem *mci;
-
- mci = (MonitorsConfigItem *)spice_malloc(sizeof(*mci));
- mci->monitors_config = monitors_config;
-
- red_channel_pipe_item_init(channel,
- &mci->pipe_item, PIPE_ITEM_TYPE_MONITORS_CONFIG);
- return mci;
-}
-
-static inline void red_monitors_config_item_add(DisplayChannelClient *dcc)
-{
- DisplayChannel *dc = DCC_TO_DC(dcc);
- MonitorsConfigItem *mci;
-
- mci = monitors_config_item_new(dcc->common.base.channel,
- monitors_config_ref(dc->monitors_config));
- red_channel_client_pipe_add(&dcc->common.base, &mci->pipe_item);
-}
-
static void display_update_monitors_config(DisplayChannel *display,
QXLMonitorsConfig *config,
uint16_t count, uint16_t max_allowed)
@@ -9558,23 +9534,6 @@ static void display_update_monitors_config(DisplayChannel *display,
monitors_config_new(config->heads, count, max_allowed);
}
-static void dcc_push_monitors_config(DisplayChannelClient *dcc)
-{
- MonitorsConfig *monitors_config = DCC_TO_DC(dcc)->monitors_config;
-
- if (monitors_config == NULL) {
- spice_warning("monitors_config is NULL");
- return;
- }
-
- if (!red_channel_client_test_remote_cap(&dcc->common.base,
- SPICE_DISPLAY_CAP_MONITORS_CONFIG)) {
- return;
- }
- red_monitors_config_item_add(dcc);
- red_channel_client_push(&dcc->common.base);
-}
-
static void red_worker_push_monitors_config(RedWorker *worker)
{
DisplayChannelClient *dcc;