gwenhywfar  4.3.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 
00372 
00377 typedef int (*GWEN_GUI_PROGRESS_SETTOTAL_FN)(GWEN_GUI *gui,
00378                                              uint32_t id,
00379                                              uint64_t total);
00380 
00385 typedef int (*GWEN_GUI_PROGRESS_LOG_FN)(GWEN_GUI *gui, 
00386                                         uint32_t id,
00387                                         GWEN_LOGGER_LEVEL level,
00388                                         const char *text);
00393 typedef int (*GWEN_GUI_PROGRESS_END_FN)(GWEN_GUI *gui, uint32_t id);
00408 
00409 GWENHYWFAR_API 
00410 GWEN_GUI_MESSAGEBOX_FN GWEN_Gui_SetMessageBoxFn(GWEN_GUI *gui,
00411                                                 GWEN_GUI_MESSAGEBOX_FN f);
00412 GWENHYWFAR_API 
00413 GWEN_GUI_INPUTBOX_FN GWEN_Gui_SetInputBoxFn(GWEN_GUI *gui,
00414                                             GWEN_GUI_INPUTBOX_FN f);
00415 GWENHYWFAR_API 
00416 GWEN_GUI_SHOWBOX_FN GWEN_Gui_SetShowBoxFn(GWEN_GUI *gui,
00417                                           GWEN_GUI_SHOWBOX_FN f);
00418 GWENHYWFAR_API
00419 GWEN_GUI_HIDEBOX_FN GWEN_Gui_SetHideBoxFn(GWEN_GUI *gui,
00420                                           GWEN_GUI_HIDEBOX_FN f);
00421 
00422 GWENHYWFAR_API 
00423 GWEN_GUI_PROGRESS_START_FN
00424 GWEN_Gui_SetProgressStartFn(GWEN_GUI *gui, GWEN_GUI_PROGRESS_START_FN f);
00425 
00426 GWENHYWFAR_API
00427 GWEN_GUI_PROGRESS_ADVANCE_FN
00428 GWEN_Gui_SetProgressAdvanceFn(GWEN_GUI *gui, GWEN_GUI_PROGRESS_ADVANCE_FN f);
00429 
00430 GWENHYWFAR_API
00431 GWEN_GUI_PROGRESS_SETTOTAL_FN
00432 GWEN_Gui_SetProgressSetTotalFn(GWEN_GUI *gui, GWEN_GUI_PROGRESS_SETTOTAL_FN f);
00433 
00434 GWENHYWFAR_API
00435 GWEN_GUI_PROGRESS_LOG_FN
00436 GWEN_Gui_SetProgressLogFn(GWEN_GUI *gui, GWEN_GUI_PROGRESS_LOG_FN f);
00437 
00438 GWENHYWFAR_API 
00439 GWEN_GUI_PROGRESS_END_FN
00440 GWEN_Gui_SetProgressEndFn(GWEN_GUI *gui, GWEN_GUI_PROGRESS_END_FN f);
00441 
00442 
00446 #ifdef __cplusplus
00447 }
00448 #endif
00449 
00450 
00451 #endif
00452