gwenhywfar 4.0.3
|
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