Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef CPPGUI_HPP
00010 #define CPPGUI_HPP
00011
00012
00013 #include <gwen-gui-fox16/api.h>
00014
00015
00016 #include <gwenhywfar/gui_be.h>
00017 #include <gwenhywfar/i18n.h>
00018
00019 #define I18N(msg) GWEN_I18N_Translate(PACKAGE, msg)
00020 #define I18S(msg) msg
00021
00022 #include <list>
00023 #include <string>
00024
00025 class CppGui;
00026
00027 #include <gwen-gui-fox16/cppdialog.hpp>
00028
00029
00039 class FOX16GUI_API CppGui {
00040 friend class CppGuiLinker;
00041
00042 private:
00043 GWEN_GUI_CHECKCERT_FN _checkCertFn;
00044
00045 GWEN_DB_NODE *_dbPasswords;
00046 std::list<std::string> _badPasswords;
00047
00048 GWEN_GUI_PRINT_FN _printFn;
00049 GWEN_GUI_GETPASSWORD_FN _getPasswordFn;
00050 GWEN_GUI_SETPASSWORDSTATUS_FN _setPasswordStatusFn;
00051 GWEN_GUI_EXEC_DIALOG_FN _execDialogFn;
00052 GWEN_GUI_OPEN_DIALOG_FN _openDialogFn;
00053 GWEN_GUI_CLOSE_DIALOG_FN _closeDialogFn;
00054 GWEN_GUI_RUN_DIALOG_FN _runDialogFn;
00055
00056 GWEN_GUI_GET_FILENAME_FN _getFileNameFn;
00057
00058
00059 std::string _getPasswordHash(const char *token, const char *pin);
00060
00061 public:
00062 CppGui();
00063 virtual ~CppGui();
00064
00065 static FOX16GUI_API CppGui *getCppGui();
00066
00067 GWEN_GUI *getCInterface();
00068
00069 protected:
00070 GWEN_GUI *_gui;
00071
00076
00080 virtual int print(const char *docTitle,
00081 const char *docType,
00082 const char *descr,
00083 const char *text,
00084 uint32_t guiid);
00085
00086 virtual int getPassword(uint32_t flags,
00087 const char *token,
00088 const char *title,
00089 const char *text,
00090 char *buffer,
00091 int minLen,
00092 int maxLen,
00093 uint32_t guiid);
00094
00095 virtual int setPasswordStatus(const char *token,
00096 const char *pin,
00097 GWEN_GUI_PASSWORD_STATUS status,
00098 uint32_t guiid);
00099
00100 virtual int checkCert(const GWEN_SSLCERTDESCR *cert,
00101 GWEN_SYNCIO *sio,
00102 uint32_t guiid);
00103
00104 virtual int logHook(const char *logDomain,
00105 GWEN_LOGGER_LEVEL priority, const char *s);
00106
00107 virtual int execDialog(GWEN_DIALOG *dlg, uint32_t guiid);
00108
00109 virtual int openDialog(GWEN_DIALOG *dlg, uint32_t guiid);
00110 virtual int closeDialog(GWEN_DIALOG *dlg);
00111 virtual int runDialog(GWEN_DIALOG *dlg, int untilEnd);
00112
00113 virtual int getFileName(const char *caption,
00114 GWEN_GUI_FILENAME_TYPE fnt,
00115 uint32_t flags,
00116 const char *patterns,
00117 GWEN_BUFFER *pathBuffer,
00118 uint32_t guiid);
00119
00120
00121 int checkCertBuiltIn(const GWEN_SSLCERTDESCR *cert,
00122 GWEN_SYNCIO *sio,
00123 uint32_t guiid);
00124
00125 };
00126
00127
00128
00129
00130 #endif
00131
00132