[Development] Add glue code for -SecurityTypes option and GUI Security dialog.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4216 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/win/vncviewer/CConn.cxx b/win/vncviewer/CConn.cxx
index f289d38..6a6561d 100644
--- a/win/vncviewer/CConn.cxx
+++ b/win/vncviewer/CConn.cxx
@@ -16,6 +16,10 @@
  * USA.
  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <winsock2.h>
 #include <vncviewer/UserPasswdDialog.h>
 #include <vncviewer/CConn.h>
@@ -25,6 +29,9 @@
 #include <rfb/Security.h>
 #include <rfb/CMsgWriter.h>
 #include <rfb/Configuration.h>
+#ifdef HAVE_GNUTLS
+#include <rfb/CSecurityTLS.h>
+#endif
 #include <rfb/LogWriter.h>
 #include <rfb_win32/AboutDialog.h>
 
@@ -97,6 +104,9 @@
   applyOptions(options);
 
   CSecurity::upg = this;
+#ifdef HAVE_GNUTLS
+  CSecurityTLS::msg = this;
+#endif
 
   // Start the RFB protocol
   sock = s;
@@ -473,6 +483,34 @@
   sock->shutdown();
 }
 
+bool CConn::showMsgBox(int flags, const char* title, const char* text)
+{
+  UINT winflags = 0;
+  int ret;
+
+  /* Translate flags */
+  if ((flags & M_OK) != 0)
+    winflags |= MB_OK;
+  if ((flags & M_OKCANCEL) != 0)
+    winflags |= MB_OKCANCEL;
+  if ((flags & M_YESNO) != 0)
+    winflags |= MB_YESNO;
+  if ((flags & M_ICONERROR) != 0)
+    winflags |= MB_ICONERROR;
+  if ((flags & M_ICONQUESTION) != 0)
+    winflags |= MB_ICONQUESTION;
+  if ((flags & M_ICONWARNING) != 0)
+    winflags |= MB_ICONWARNING;
+  if ((flags & M_ICONINFORMATION) != 0)
+    winflags |= MB_ICONINFORMATION;
+  if ((flags & M_DEFBUTTON1) != 0)
+    winflags |= MB_DEFBUTTON1;
+  if ((flags & M_DEFBUTTON2) != 0)
+    winflags |= MB_DEFBUTTON2;
+
+  ret = MessageBox(NULL, text, title, flags);
+  return (ret == IDOK || ret == IDYES) ? true : false;
+}
 
 void
 CConn::showOptionsDialog() {