23 #ifndef _FIREVISION_FVWIDGETS_FUSE_IMAGE_LIST_WIDGET_H_ 24 #define _FIREVISION_FVWIDGETS_FUSE_IMAGE_LIST_WIDGET_H_ 26 #include <core/threading/mutex.h> 27 #include <core/utils/lock_list.h> 28 #include <core/utils/lock_queue.h> 29 #include <fvutils/net/fuse_client.h> 30 #include <fvutils/net/fuse_client_handler.h> 34 namespace firevision {
55 std::string & image_id,
66 class ImageRecord :
public Gtk::TreeModelColumnRecord
82 Gtk::TreeModelColumn<Glib::ustring> display_text;
83 Gtk::TreeModelColumn<Glib::ustring> service_name;
84 Gtk::TreeModelColumn<Glib::ustring> host_name;
85 Gtk::TreeModelColumn<unsigned int> port;
86 Gtk::TreeModelColumn<Glib::ustring> image_id;
87 Gtk::TreeModelColumn<unsigned int> colorspace;
88 Gtk::TreeModelColumn<unsigned int> width;
89 Gtk::TreeModelColumn<unsigned int> height;
90 Gtk::TreeModelColumn<unsigned int> buffer_size;
96 std::string service_name;
97 std::string host_name;
103 bool on_image_event(GdkEvent *event);
104 void on_add_host_manually();
105 void on_image_selected();
106 void on_auto_update_toggled();
107 void on_compression_toggled();
108 void get_image_list();
109 void delete_clients();
110 void update_image_list();
111 bool on_update_timeout();
116 ClientData m_cur_client;
118 #if GTK_VERSION_LT(3, 0) 119 Gtk::Menu *m_popup_menu;
121 Gtk::CheckButton * m_chk_auto_update;
122 Gtk::CheckButton * m_chk_compression;
123 Gtk::TreeView * m_trv_image_list;
124 Glib::RefPtr<Gtk::TreeStore> m_image_list;
127 ImageRecord m_image_record;
129 Glib::Dispatcher m_signal_get_image_list;
130 Glib::Dispatcher m_signal_delete_clients;
131 Glib::Dispatcher m_signal_image_selected;
132 Glib::Dispatcher m_signal_update_image_l;
135 unsigned int m_interval_sec;
136 sigc::connection m_timeout_conn;
138 Glib::ustring m_cur_image_id;
Mutex mutual exclusion lock.