gwenhywfar
4.3.1
|
00001 /*************************************************************************** 00002 copyright : (C) 2004 by Martin Preuss 00003 email : martin@libchipcard.de 00004 00005 *************************************************************************** 00006 * Please see toplevel file COPYING for license details * 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 /* CPPGUI_HPP */ 00131 00132