gwenhywfar 4.0.3

gui_be.h

Go to the documentation of this file.
00001 /***************************************************************************
00002     begin       : Tue Oct 02 2002
00003     copyright   : (C) 2002-2010 by Martin Preuss
00004     email       : martin@libchipcard.de
00005 
00006  ***************************************************************************
00007  *                                                                         *
00008  *   This library is free software; you can redistribute it and/or         *
00009  *   modify it under the terms of the GNU Lesser General Public            *
00010  *   License as published by the Free Software Foundation; either          *
00011  *   version 2.1 of the License, or (at your option) any later version.    *
00012  *                                                                         *
00013  *   This library is distributed in the hope that it will be useful,       *
00014  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00015  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00016  *   Lesser General Public License for more details.                       *
00017  *                                                                         *
00018  *   You should have received a copy of the GNU Lesser General Public      *
00019  *   License along with this library; if not, write to the Free Software   *
00020  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00021  *   MA  02111-1307  USA                                                   *
00022  *                                                                         *
00023  ***************************************************************************/
00024 
00025 #ifndef GWENHYWFAR_GUI_GUI_BE_H
00026 #define GWENHYWFAR_GUI_GUI_BE_H
00027 
00028 
00029 #include <gwenhywfar/gui.h>
00030 
00031 
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035 
00036 
00037 
00038 GWENHYWFAR_API
00039 void GWEN_Gui_SetName(GWEN_GUI *gui, const char *name);
00040 
00041 
00046 GWENHYWFAR_API
00047 int GWEN_Gui_ConvertFromUtf8(const GWEN_GUI *gui,
00048                              const char *text,
00049                              int len,
00050                              GWEN_BUFFER *tbuf);
00051 
00056 GWENHYWFAR_API
00057 void GWEN_Gui_GetRawText(const GWEN_GUI *gui, const char *text, GWEN_BUFFER *tbuf);
00058 
00059 
00060 
00061 
00066 
00067 
00074 typedef int GWENHYWFAR_CB (*GWEN_GUI_PRINT_FN)(GWEN_GUI *gui,
00075                                  const char *docTitle,
00076                                  const char *docType,
00077                                  const char *descr,
00078                                  const char *text,
00079                                  uint32_t guiid);
00080 
00084 typedef int GWENHYWFAR_CB (*GWEN_GUI_GETPASSWORD_FN)(GWEN_GUI *gui,
00085                                        uint32_t flags,
00086                                        const char *token,
00087                                        const char *title,
00088                                        const char *text,
00089                                        char *buffer,
00090                                        int minLen,
00091                                        int maxLen,
00092                                        uint32_t guiid);
00093 
00097 typedef int GWENHYWFAR_CB (*GWEN_GUI_SETPASSWORDSTATUS_FN)(GWEN_GUI *gui,
00098                                              const char *token,
00099                                              const char *pin,
00100                                              GWEN_GUI_PASSWORD_STATUS status,
00101                                              uint32_t guiid);
00102 
00103 
00116 typedef int GWENHYWFAR_CB (*GWEN_GUI_LOG_HOOK_FN)(GWEN_GUI *gui,
00117                                     const char *logDomain,
00118                                     GWEN_LOGGER_LEVEL priority, const char *s);
00119 
00120 typedef int GWENHYWFAR_CB (*GWEN_GUI_WAITFORSOCKETS_FN)(GWEN_GUI *gui,
00121                                           GWEN_SOCKET_LIST2 *readSockets,
00122                                           GWEN_SOCKET_LIST2 *writeSockets,
00123                                           int msecs,
00124                                           uint32_t guiid);
00125 
00126 typedef int GWENHYWFAR_CB (*GWEN_GUI_CHECKCERT_FN)(GWEN_GUI *gui,
00127                                      const GWEN_SSLCERTDESCR *cert,
00128                                      GWEN_SYNCIO *sio,
00129                                      uint32_t guiid);
00130 
00131 typedef int GWENHYWFAR_CB (*GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN)(GWEN_GUI *gui,
00132                                                    const char *text,
00133                                                    unsigned char *buffer,
00134                                                    unsigned int bufLength);
00135 
00136 typedef int GWENHYWFAR_CB (*GWEN_GUI_EXEC_DIALOG_FN)(GWEN_GUI *gui,
00137                                        GWEN_DIALOG *dlg,
00138                                        uint32_t guiid);
00139 
00140 
00141 typedef int GWENHYWFAR_CB (*GWEN_GUI_OPEN_DIALOG_FN)(GWEN_GUI *gui,
00142                                        GWEN_DIALOG *dlg,
00143                                        uint32_t guiid);
00144 
00145 typedef int GWENHYWFAR_CB (*GWEN_GUI_CLOSE_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg);
00146 
00147 typedef int GWENHYWFAR_CB (*GWEN_GUI_RUN_DIALOG_FN)(GWEN_GUI *gui, GWEN_DIALOG *dlg, int timeout);
00148 
00149 
00150 typedef int GWENHYWFAR_CB (*GWEN_GUI_READ_DIALOG_PREFS_FN)(GWEN_GUI *gui, const char *groupName, const char *altName,
00151                                              GWEN_DB_NODE **pDb);
00152 
00153 typedef int GWENHYWFAR_CB (*GWEN_GUI_WRITE_DIALOG_PREFS_FN)(GWEN_GUI *gui, const char *groupName,
00154                                               GWEN_DB_NODE *db);
00155 
00156 
00157 typedef int GWENHYWFAR_CB (*GWEN_GUI_GET_FILENAME_FN)(GWEN_GUI *gui,
00158                                         const char *caption,
00159                                         GWEN_GUI_FILENAME_TYPE fnt,
00160                                         uint32_t flags,
00161                                         const char *patterns,
00162                                         GWEN_BUFFER *pathBuffer,
00163                                         uint32_t guiid);
00164 
00165 typedef int GWENHYWFAR_CB (*GWEN_GUI_GETSYNCIO_FN)(GWEN_GUI *gui, const char *url,
00166                                      const char *defaultProto,
00167                                      int defaultPort,
00168                                      GWEN_SYNCIO **pSio);
00169 
00170 
00183 
00184 
00185 GWENHYWFAR_API
00186 GWEN_GUI_PRINT_FN GWEN_Gui_SetPrintFn(GWEN_GUI *gui, GWEN_GUI_PRINT_FN f);
00187 
00188 GWENHYWFAR_API 
00189 GWEN_GUI_GETPASSWORD_FN GWEN_Gui_SetGetPasswordFn(GWEN_GUI *gui, GWEN_GUI_GETPASSWORD_FN f);
00190 
00191 GWENHYWFAR_API
00192 GWEN_GUI_SETPASSWORDSTATUS_FN
00193 GWEN_Gui_SetSetPasswordStatusFn(GWEN_GUI *gui, GWEN_GUI_SETPASSWORDSTATUS_FN f);
00194 
00195 
00196 GWENHYWFAR_API
00197 GWEN_GUI_LOG_HOOK_FN GWEN_Gui_SetLogHookFn(GWEN_GUI *gui, GWEN_GUI_LOG_HOOK_FN f);
00198 
00199 
00200 GWENHYWFAR_API
00201 GWEN_GUI_WAITFORSOCKETS_FN GWEN_Gui_SetWaitForSocketsFn(GWEN_GUI *gui, GWEN_GUI_WAITFORSOCKETS_FN f);
00202 
00203 GWENHYWFAR_API
00204 GWEN_GUI_CHECKCERT_FN GWEN_Gui_SetCheckCertFn(GWEN_GUI *gui, GWEN_GUI_CHECKCERT_FN f);
00205 
00206 GWENHYWFAR_API
00207   GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN
00208   GWEN_Gui_SetKeyDataFromTextOpenSslFn(GWEN_GUI *gui,
00209                                        GWEN_GUI_KEYDATAFROMTEXT_OPENSSL_FN f);
00210 
00211 GWENHYWFAR_API
00212 GWEN_GUI_EXEC_DIALOG_FN GWEN_Gui_SetExecDialogFn(GWEN_GUI *gui, GWEN_GUI_EXEC_DIALOG_FN f);
00213 
00214 
00215 GWENHYWFAR_API
00216 GWEN_GUI_OPEN_DIALOG_FN GWEN_Gui_SetOpenDialogFn(GWEN_GUI *gui, GWEN_GUI_OPEN_DIALOG_FN f);
00217 
00218 GWENHYWFAR_API
00219 GWEN_GUI_CLOSE_DIALOG_FN GWEN_Gui_SetCloseDialogFn(GWEN_GUI *gui, GWEN_GUI_CLOSE_DIALOG_FN f);
00220 
00221 GWENHYWFAR_API
00222 GWEN_GUI_RUN_DIALOG_FN GWEN_Gui_SetRunDialogFn(GWEN_GUI *gui, GWEN_GUI_RUN_DIALOG_FN f);
00223 
00224 
00225 GWENHYWFAR_API
00226 GWEN_GUI_READ_DIALOG_PREFS_FN
00227   GWEN_Gui_SetReadDialogPrefsFn(GWEN_GUI *gui, GWEN_GUI_READ_DIALOG_PREFS_FN f);
00228 
00229 GWENHYWFAR_API
00230 GWEN_GUI_WRITE_DIALOG_PREFS_FN
00231   GWEN_Gui_SetWriteDialogPrefsFn(GWEN_GUI *gui, GWEN_GUI_WRITE_DIALOG_PREFS_FN f);
00232 
00233 
00234 GWENHYWFAR_API
00235 GWEN_GUI_GET_FILENAME_FN GWEN_Gui_SetGetFileNameFn(GWEN_GUI *gui, GWEN_GUI_GET_FILENAME_FN f);
00236 
00237 
00238 GWENHYWFAR_API
00239 GWEN_GUI_GETSYNCIO_FN GWEN_Gui_SetGetSyncIoFn(GWEN_GUI *gui, GWEN_GUI_GETSYNCIO_FN f);
00240 
00241 
00252 
00257 GWENHYWFAR_API
00258 void GWEN_Gui_UseDialogs(GWEN_GUI *gui);
00259 
00260 
00276 GWENHYWFAR_API
00277 int GWEN_Gui_ReadDialogPrefs(const char *groupName,
00278                              const char *altName,
00279                              GWEN_DB_NODE **pDb);
00280 
00291 GWENHYWFAR_API
00292 int GWEN_Gui_WriteDialogPrefs(const char *groupName,
00293                               GWEN_DB_NODE *db);
00294 
00295 
00314 typedef int (*GWEN_GUI_MESSAGEBOX_FN)(GWEN_GUI *gui,
00315                                       uint32_t flags,
00316                                       const char *title,
00317                                       const char *text,
00318                                       const char *b1,
00319                                       const char *b2,
00320                                       const char *b3,
00321                                       uint32_t guiid);
00322 
00327 typedef int (*GWEN_GUI_INPUTBOX_FN)(GWEN_GUI *gui,
00328                                     uint32_t flags,
00329                                     const char *title,
00330                                     const char *text,
00331                                     char *buffer,
00332                                     int minLen,
00333                                     int maxLen,
00334                                     uint32_t guiid);
00335 
00340 typedef uint32_t (*GWEN_GUI_SHOWBOX_FN)(GWEN_GUI *gui, 
00341                                         uint32_t flags,
00342                                         const char *title,
00343                                         const char *text,
00344                                         uint32_t guiid);
00345 
00350 typedef void (*GWEN_GUI_HIDEBOX_FN)(GWEN_GUI *gui, uint32_t id);
00351 
00356 typedef uint32_t
00357   (*GWEN_GUI_PROGRESS_START_FN)(GWEN_GUI *gui, 
00358                                 uint32_t progressFlags,
00359                                 const char *title,
00360                                 const char *text,
00361                                 uint64_t total,
00362                                 uint32_t guiid);
00363 
00368 typedef int (*GWEN_GUI_PROGRESS_ADVANCE_FN)(GWEN_GUI *gui, 
00369                                             uint32_t id,
00370                                             uint64_t progress);
00371 
00376 typedef int (*GWEN_GUI_PROGRESS_LOG_FN)(GWEN_GUI *gui, 
00377                                         uint32_t id,
00378                                         GWEN_LOGGER_LEVEL level,
00379                                         const char *text);
00384 typedef int (*GWEN_GUI_PROGRESS_END_FN)(GWEN_GUI *gui, uint32_t id);
00399 
00400 GWENHYWFAR_API 
00401 GWEN_GUI_MESSAGEBOX_FN GWEN_Gui_SetMessageBoxFn(GWEN_GUI *gui,
00402                                                 GWEN_GUI_MESSAGEBOX_FN f);
00403 GWENHYWFAR_API 
00404 GWEN_GUI_INPUTBOX_FN GWEN_Gui_SetInputBoxFn(GWEN_GUI *gui,
00405                                             GWEN_GUI_INPUTBOX_FN f);
00406 GWENHYWFAR_API 
00407 GWEN_GUI_SHOWBOX_FN GWEN_Gui_SetShowBoxFn(GWEN_GUI *gui,
00408                                           GWEN_GUI_SHOWBOX_FN f);
00409 GWENHYWFAR_API
00410 GWEN_GUI_HIDEBOX_FN GWEN_Gui_SetHideBoxFn(GWEN_GUI *gui,
00411                                           GWEN_GUI_HIDEBOX_FN f);
00412 
00413 GWENHYWFAR_API 
00414 GWEN_GUI_PROGRESS_START_FN
00415 GWEN_Gui_SetProgressStartFn(GWEN_GUI *gui, GWEN_GUI_PROGRESS_START_FN f);
00416 
00417 GWENHYWFAR_API
00418 GWEN_GUI_PROGRESS_ADVANCE_FN
00419 GWEN_Gui_SetProgressAdvanceFn(GWEN_GUI *gui, GWEN_GUI_PROGRESS_ADVANCE_FN f);
00420 
00421 GWENHYWFAR_API
00422 GWEN_GUI_PROGRESS_LOG_FN
00423 GWEN_Gui_SetProgressLogFn(GWEN_GUI *gui, GWEN_GUI_PROGRESS_LOG_FN f);
00424 
00425 GWENHYWFAR_API 
00426 GWEN_GUI_PROGRESS_END_FN
00427 GWEN_Gui_SetProgressEndFn(GWEN_GUI *gui, GWEN_GUI_PROGRESS_END_FN f);
00428 
00429 
00433 #ifdef __cplusplus
00434 }
00435 #endif
00436 
00437 
00438 #endif
00439