gwenhywfar  5.11.1beta
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 <gwenhywfar/gui_be.h>
14 #include <gwenhywfar/i18n.h>
15 //#include <gwenhywfar/db.h>
16 //#include <gwenhywfar/passwdstore.h>
17 
18 #define I18N(msg) GWEN_I18N_Translate(PACKAGE, msg)
19 #define I18S(msg) msg
20 
21 #include <list>
22 #include <string>
23 
24 class CppGui;
25 
26 #include <gwen-gui-cpp/api.h>
28 
29 
39 class CPPGUI_API CppGui {
40  friend class CppGuiLinker;
41 
42 private:
43  GWEN_GUI_CHECKCERT_FN _checkCertFn;
44  GWEN_GUI_PRINT_FN _printFn;
45  GWEN_GUI_GETPASSWORD_FN _getPasswordFn;
46  GWEN_GUI_SETPASSWORDSTATUS_FN _setPasswordStatusFn;
47  GWEN_GUI_EXEC_DIALOG_FN _execDialogFn;
48  GWEN_GUI_OPEN_DIALOG_FN _openDialogFn;
49  GWEN_GUI_CLOSE_DIALOG_FN _closeDialogFn;
50  GWEN_GUI_RUN_DIALOG_FN _runDialogFn;
51 
52  GWEN_GUI_GET_FILENAME_FN _getFileNameFn;
53 
54 
55 public:
56  CppGui();
57  virtual ~CppGui();
58 
59  static CPPGUI_API CppGui *getCppGui();
60 
62 
63  void setPasswordDb(GWEN_DB_NODE *dbPasswords, int persistent);
65 
66 protected:
68 
73 
77  virtual int print(const char *docTitle,
78  const char *docType,
79  const char *descr,
80  const char *text,
81  uint32_t guiid);
82 
83  virtual int getPassword(uint32_t flags,
84  const char *token,
85  const char *title,
86  const char *text,
87  char *buffer,
88  int minLen,
89  int maxLen,
90  GWEN_GUI_PASSWORD_METHOD methodId,
91  GWEN_DB_NODE *methodParams,
92  uint32_t guiid);
93 
94  virtual int setPasswordStatus(const char *token,
95  const char *pin,
97  uint32_t guiid);
98 
99  virtual int checkCert(const GWEN_SSLCERTDESCR *cert,
100  GWEN_SYNCIO *sio,
101  uint32_t guiid);
102 
103  virtual int logHook(const char *logDomain,
104  GWEN_LOGGER_LEVEL priority, const char *s);
105 
106  virtual int execDialog(GWEN_DIALOG *dlg, uint32_t guiid);
107 
108  virtual int openDialog(GWEN_DIALOG *dlg, uint32_t guiid);
109  virtual int closeDialog(GWEN_DIALOG *dlg);
110  virtual int runDialog(GWEN_DIALOG *dlg, int untilEnd);
111 
112  virtual int getFileName(const char *caption,
114  uint32_t flags,
115  const char *patterns,
116  GWEN_BUFFER *pathBuffer,
117  uint32_t guiid);
118 
119 
121  GWEN_SYNCIO *sio,
122  uint32_t guiid);
123 
124 
125 };
126 
127 
128 
129 
130 #endif /* CPPGUI_HPP */
131 
132 
A C++ binding for the C module GWEN_GUI.
Definition: cppgui.hpp:39
int checkCertBuiltIn(const GWEN_SSLCERTDESCR *cert, GWEN_SYNCIO *sio, uint32_t guiid)
virtual int openDialog(GWEN_DIALOG *dlg, uint32_t guiid)
void setPasswordStore(GWEN_PASSWD_STORE *sto)
virtual int getPassword(uint32_t flags, const char *token, const char *title, const char *text, char *buffer, int minLen, int maxLen, GWEN_GUI_PASSWORD_METHOD methodId, GWEN_DB_NODE *methodParams, uint32_t guiid)
virtual int print(const char *docTitle, const char *docType, const char *descr, const char *text, uint32_t guiid)
virtual int checkCert(const GWEN_SSLCERTDESCR *cert, GWEN_SYNCIO *sio, uint32_t guiid)
GWEN_GUI * _gui
Definition: cppgui.hpp:67
void setPasswordDb(GWEN_DB_NODE *dbPasswords, int persistent)
static CPPGUI_API CppGui * getCppGui()
GWEN_GUI * getCInterface()
virtual int closeDialog(GWEN_DIALOG *dlg)
virtual int getFileName(const char *caption, GWEN_GUI_FILENAME_TYPE fnt, uint32_t flags, const char *patterns, GWEN_BUFFER *pathBuffer, uint32_t guiid)
virtual int logHook(const char *logDomain, GWEN_LOGGER_LEVEL priority, const char *s)
virtual int setPasswordStatus(const char *token, const char *pin, GWEN_GUI_PASSWORD_STATUS status, uint32_t guiid)
virtual ~CppGui()
virtual int runDialog(GWEN_DIALOG *dlg, int untilEnd)
virtual int execDialog(GWEN_DIALOG *dlg, uint32_t guiid)
struct GWEN_DB_NODE GWEN_DB_NODE
Definition: db.h:228
struct GWEN_DIALOG GWEN_DIALOG
Definition: dialog.h:54
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
Definition: buffer.h:38
GWEN_GUI_PASSWORD_METHOD
Definition: gui.h:163
GWEN_GUI_FILENAME_TYPE
Definition: gui.h:949
GWEN_GUI_PASSWORD_STATUS
Definition: gui.h:386
struct GWEN_GUI GWEN_GUI
Definition: gui.h:176
int GWENHYWFAR_CB(* GWEN_GUI_EXEC_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg, uint32_t guiid)
Definition: gui_be.h:238
int GWENHYWFAR_CB(* GWEN_GUI_SETPASSWORDSTATUS_FN)(GWEN_GUI *gui, const char *token, const char *pin, GWEN_GUI_PASSWORD_STATUS status, uint32_t guiid)
Definition: gui_be.h:166
int GWENHYWFAR_CB(* GWEN_GUI_PRINT_FN)(GWEN_GUI *gui, const char *docTitle, const char *docType, const char *descr, const char *text, uint32_t guiid)
Definition: gui_be.h:141
int GWENHYWFAR_CB(* GWEN_GUI_GET_FILENAME_FN)(GWEN_GUI *gui, const char *caption, GWEN_GUI_FILENAME_TYPE fnt, uint32_t flags, const char *patterns, GWEN_BUFFER *pathBuffer, uint32_t guiid)
Definition: gui_be.h:210
int GWENHYWFAR_CB(* GWEN_GUI_CHECKCERT_FN)(GWEN_GUI *gui, const GWEN_SSLCERTDESCR *cert, GWEN_SYNCIO *sio, uint32_t guiid)
Definition: gui_be.h:204
int GWENHYWFAR_CB(* GWEN_GUI_RUN_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg, int timeout)
Definition: gui_be.h:249
int GWENHYWFAR_CB(* GWEN_GUI_CLOSE_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg)
Definition: gui_be.h:247
int GWENHYWFAR_CB(* GWEN_GUI_OPEN_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg, uint32_t guiid)
Definition: gui_be.h:243
int GWENHYWFAR_CB(* GWEN_GUI_GETPASSWORD_FN)(GWEN_GUI *gui, uint32_t flags, const char *token, const char *title, const char *text, char *buffer, int minLen, int maxLen, GWEN_GUI_PASSWORD_METHOD methodId, GWEN_DB_NODE *methodParams, uint32_t guiid)
Definition: gui_be.h:151
GWEN_LOGGER_LEVEL
Definition: logger.h:64
struct GWEN_PASSWD_STORE GWEN_PASSWD_STORE
Definition: passwdstore.h:37
struct GWEN_SSLCERTDESCR GWEN_SSLCERTDESCR
struct GWEN_SYNCIO GWEN_SYNCIO
Definition: syncio.h:40