gwenhywfar  4.9.0beta
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 
61  GWEN_GUI *getCInterface();
62 
63  void setPasswordDb(GWEN_DB_NODE *dbPasswords, int persistent);
64  void setPasswordStore(GWEN_PASSWD_STORE *sto);
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  uint32_t guiid);
91 
92  virtual int setPasswordStatus(const char *token,
93  const char *pin,
95  uint32_t guiid);
96 
97  virtual int checkCert(const GWEN_SSLCERTDESCR *cert,
98  GWEN_SYNCIO *sio,
99  uint32_t guiid);
100 
101  virtual int logHook(const char *logDomain,
102  GWEN_LOGGER_LEVEL priority, const char *s);
103 
104  virtual int execDialog(GWEN_DIALOG *dlg, uint32_t guiid);
105 
106  virtual int openDialog(GWEN_DIALOG *dlg, uint32_t guiid);
107  virtual int closeDialog(GWEN_DIALOG *dlg);
108  virtual int runDialog(GWEN_DIALOG *dlg, int untilEnd);
109 
110  virtual int getFileName(const char *caption,
112  uint32_t flags,
113  const char *patterns,
114  GWEN_BUFFER *pathBuffer,
115  uint32_t guiid);
116 
117 
118  int checkCertBuiltIn(const GWEN_SSLCERTDESCR *cert,
119  GWEN_SYNCIO *sio,
120  uint32_t guiid);
121 
122 
123  };
124 
125 
126 
127 
128 #endif /* CPPGUI_HPP */
129 
130 
struct GWEN_SSLCERTDESCR GWEN_SSLCERTDESCR
struct GWEN_DB_NODE GWEN_DB_NODE
Definition: db.h:228
GWEN_LOGGER_LEVEL
Definition: logger.h:64
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:97
struct GWEN_DIALOG GWEN_DIALOG
Definition: dialog.h:54
int GWENHYWFAR_CB(* GWEN_GUI_CLOSE_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg)
Definition: gui_be.h:145
GWEN_GUI_FILENAME_TYPE
Definition: gui.h:803
GWEN_GUI_PASSWORD_STATUS
Definition: gui.h:323
struct GWEN_SYNCIO GWEN_SYNCIO
Definition: syncio.h:41
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, uint32_t guiid)
Definition: gui_be.h:84
A C++ binding for the C module GWEN_GUI.
Definition: cppgui.hpp:39
int GWENHYWFAR_CB(* GWEN_GUI_EXEC_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg, uint32_t guiid)
Definition: gui_be.h:136
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:157
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
Definition: buffer.h:41
struct GWEN_PASSWD_STORE GWEN_PASSWD_STORE
Definition: passwdstore.h:36
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:74
int GWENHYWFAR_CB(* GWEN_GUI_CHECKCERT_FN)(GWEN_GUI *gui, const GWEN_SSLCERTDESCR *cert, GWEN_SYNCIO *sio, uint32_t guiid)
Definition: gui_be.h:126
struct GWEN_GUI GWEN_GUI
Definition: gui.h:113
int GWENHYWFAR_CB(* GWEN_GUI_RUN_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg, int timeout)
Definition: gui_be.h:147
int GWENHYWFAR_CB(* GWEN_GUI_OPEN_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg, uint32_t guiid)
Definition: gui_be.h:141
GWEN_GUI * _gui
Definition: cppgui.hpp:67