gwenhywfar  4.3.3
fox16/cppgui.hpp
Go to the documentation of this file.
1 /***************************************************************************
2  copyright : (C) 2004 by Martin Preuss
3  email : martin@libchipcard.de
4 
5  ***************************************************************************
6  * Please see toplevel file COPYING for license details *
7  ***************************************************************************/
8 
9 #ifndef CPPGUI_HPP
10 #define CPPGUI_HPP
11 
12 
13 #include <gwen-gui-fox16/api.h>
14 
15 
16 #include <gwenhywfar/gui_be.h>
17 #include <gwenhywfar/i18n.h>
18 
19 #define I18N(msg) GWEN_I18N_Translate(PACKAGE, msg)
20 #define I18S(msg) msg
21 
22 #include <list>
23 #include <string>
24 
25 class CppGui;
26 
27 #include <gwen-gui-fox16/cppdialog.hpp>
28 
29 
39 class FOX16GUI_API CppGui {
40  friend class CppGuiLinker;
41 
42 private:
43  GWEN_GUI_CHECKCERT_FN _checkCertFn;
44 
45  GWEN_DB_NODE *_dbPasswords;
46  std::list<std::string> _badPasswords;
47 
48  GWEN_GUI_PRINT_FN _printFn;
49  GWEN_GUI_GETPASSWORD_FN _getPasswordFn;
50  GWEN_GUI_SETPASSWORDSTATUS_FN _setPasswordStatusFn;
51  GWEN_GUI_EXEC_DIALOG_FN _execDialogFn;
52  GWEN_GUI_OPEN_DIALOG_FN _openDialogFn;
53  GWEN_GUI_CLOSE_DIALOG_FN _closeDialogFn;
54  GWEN_GUI_RUN_DIALOG_FN _runDialogFn;
55 
56  GWEN_GUI_GET_FILENAME_FN _getFileNameFn;
57 
58 
59  std::string _getPasswordHash(const char *token, const char *pin);
60 
61 public:
62  CppGui();
63  virtual ~CppGui();
64 
65  static FOX16GUI_API CppGui *getCppGui();
66 
67  GWEN_GUI *getCInterface();
68 
69 protected:
70  GWEN_GUI *_gui;
71 
76 
80  virtual int print(const char *docTitle,
81  const char *docType,
82  const char *descr,
83  const char *text,
84  uint32_t guiid);
85 
86  virtual int getPassword(uint32_t flags,
87  const char *token,
88  const char *title,
89  const char *text,
90  char *buffer,
91  int minLen,
92  int maxLen,
93  uint32_t guiid);
94 
95  virtual int setPasswordStatus(const char *token,
96  const char *pin,
98  uint32_t guiid);
99 
100  virtual int checkCert(const GWEN_SSLCERTDESCR *cert,
101  GWEN_SYNCIO *sio,
102  uint32_t guiid);
103 
104  virtual int logHook(const char *logDomain,
105  GWEN_LOGGER_LEVEL priority, const char *s);
106 
107  virtual int execDialog(GWEN_DIALOG *dlg, uint32_t guiid);
108 
109  virtual int openDialog(GWEN_DIALOG *dlg, uint32_t guiid);
110  virtual int closeDialog(GWEN_DIALOG *dlg);
111  virtual int runDialog(GWEN_DIALOG *dlg, int untilEnd);
112 
113  virtual int getFileName(const char *caption,
115  uint32_t flags,
116  const char *patterns,
117  GWEN_BUFFER *pathBuffer,
118  uint32_t guiid);
119 
120 
121  int checkCertBuiltIn(const GWEN_SSLCERTDESCR *cert,
122  GWEN_SYNCIO *sio,
123  uint32_t guiid);
124 
125  };
126 
127 
128 
129 
130 #endif /* CPPGUI_HPP */
131 
132