Add a callback mechanism to the options dialog so that other parts of vncviewer
can pick up on changes.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4421 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/vncviewer/OptionsDialog.h b/vncviewer/OptionsDialog.h
index cb18bcd..ea95859 100644
--- a/vncviewer/OptionsDialog.h
+++ b/vncviewer/OptionsDialog.h
@@ -19,12 +19,16 @@
 #ifndef __OPTIONSDIALOG_H__
 #define __OPTIONSDIALOG_H__
 
+#include <map>
+
 #include <FL/Fl_Window.H>
 #include <FL/Fl_Group.H>
 #include <FL/Fl_Check_Button.H>
 #include <FL/Fl_Round_Button.H>
 #include <FL/Fl_Int_Input.H>
 
+typedef void (OptionsCallback)(void*);
+
 class OptionsDialog : public Fl_Window {
 protected:
   OptionsDialog();
@@ -33,6 +37,9 @@
 public:
   static void showDialog(void);
 
+  static void addCallback(OptionsCallback *cb, void *data = NULL);
+  static void removeCallback(OptionsCallback *cb);
+
   void show(void);
 
 protected:
@@ -55,6 +62,8 @@
   static void handleOK(Fl_Widget *widget, void *data);
 
 protected:
+  static std::map<OptionsCallback*, void*> callbacks;
+
   /* Compression */
   Fl_Check_Button *autoselectCheckbox;