00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
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