summaryrefslogtreecommitdiffstats
path: root/client/red_client.h
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2010-07-19 09:36:07 +0300
committerYonit Halperin <yhalperi@redhat.com>2010-07-19 09:40:11 +0300
commit9877e7ae8405965463a67171b7408871f949f66f (patch)
tree4733494cfeb3e5e3fe625d9b1e53dd24523875cb /client/red_client.h
parent7df548358ca44b2c2194b4ee0bfada04475f4e49 (diff)
downloadspice-9877e7ae8405965463a67171b7408871f949f66f.tar.gz
spice-9877e7ae8405965463a67171b7408871f949f66f.tar.xz
spice-9877e7ae8405965463a67171b7408871f949f66f.zip
client: command line arguments for setting windows guest monitors'
color depth and disabling some display options (helpful on WAN)
Diffstat (limited to 'client/red_client.h')
-rw-r--r--client/red_client.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/client/red_client.h b/client/red_client.h
index 52a3456b..9603bfe7 100644
--- a/client/red_client.h
+++ b/client/red_client.h
@@ -125,6 +125,25 @@ public:
virtual bool operator() (RedChannel& channel) = 0;
};
+class DisplaySetting {
+public:
+ DisplaySetting() : _disable_wallpaper (false)
+ , _disable_font_smooth (false)
+ , _disable_animation (false)
+ , _set_color_depth (false)
+ {}
+
+ bool is_empty() {return !(_disable_wallpaper || _disable_font_smooth ||
+ _disable_animation || _set_color_depth);}
+
+public:
+ bool _disable_wallpaper;
+ bool _disable_font_smooth;
+ bool _disable_animation;
+ bool _set_color_depth;
+ uint32_t _color_depth;
+};
+
class RedClient: public RedChannel {
public:
friend class RedChannel;
@@ -148,6 +167,7 @@ public:
void set_target(const std::string&, int port, int sport);
void set_password(const std::string& password) { _password = password;}
void set_auto_display_res(bool auto_display_res) { _auto_display_res = auto_display_res;}
+ void set_display_setting(DisplaySetting& setting) { _display_setting = setting;}
const std::string& get_password() { return _password;}
const std::string& get_host() { return _host;}
int get_port() { return _port;}
@@ -184,6 +204,7 @@ private:
void on_channel_disconnected(RedChannel& channel);
void migrate_channel(RedChannel& channel);
void send_agent_monitors_config();
+ void send_agent_display_config();
void calc_pixmap_cach_and_glz_window_size(uint32_t display_channels_hint,
uint32_t pci_mem_hint);
void set_mouse_mode(uint32_t supported_modes, uint32_t current_mode);
@@ -221,10 +242,14 @@ private:
Mutex _notify_lock;
bool _notify_disconnect;
bool _auto_display_res;
+ DisplaySetting _display_setting;
+ int _agent_reply_wait_type;
+
bool _aborting;
bool _agent_connected;
bool _agent_mon_config_sent;
+ bool _agent_disp_config_sent;
VDAgentMessage* _agent_msg;
uint8_t* _agent_msg_data;
uint32_t _agent_msg_pos;