gui.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: error.h 1104 2007-01-03 09:21:32Z martin $
00005     begin       : Tue Oct 02 2002
00006     copyright   : (C) 2002 by Martin Preuss
00007     email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *                                                                         *
00011  *   This library is free software; you can redistribute it and/or         *
00012  *   modify it under the terms of the GNU Lesser General Public            *
00013  *   License as published by the Free Software Foundation; either          *
00014  *   version 2.1 of the License, or (at your option) any later version.    *
00015  *                                                                         *
00016  *   This library is distributed in the hope that it will be useful,       *
00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00019  *   Lesser General Public License for more details.                       *
00020  *                                                                         *
00021  *   You should have received a copy of the GNU Lesser General Public      *
00022  *   License along with this library; if not, write to the Free Software   *
00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00024  *   MA  02111-1307  USA                                                   *
00025  *                                                                         *
00026  ***************************************************************************/
00027 
00028 #ifndef GWENHYWFAR_GUI_GUI_H
00029 #define GWENHYWFAR_GUI_GUI_H
00030 
00031 
00032 
00033 #include <gwenhywfar/inherit.h>
00034 #include <gwenhywfar/logger.h>
00035 #include <gwenhywfar/inetsocket.h>
00036 #include <gwenhywfar/ssl_cert_descr.h>
00037 #include <gwenhywfar/iolayer.h>
00038 
00039 #include <inttypes.h>
00040 
00041 
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045 
00046 
00047 typedef struct GWEN_GUI GWEN_GUI;
00048 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_GUI, GWENHYWFAR_API)
00049 
00050 
00051 #define GWEN_GUI_CPU_TIMEOUT 200
00052 
00053 #define GWEN_GUI_CHECK_PERIOD 750
00054 #define GWEN_GUI_DELAY_SECS   2
00055 
00056 
00063 #define GWEN_GUI_PROGRESS_DELAY            0x00000001
00064 #define GWEN_GUI_PROGRESS_SHOW_LOG         0x00000002
00065 #define GWEN_GUI_PROGRESS_SHOW_ABORT       0x00000004
00066 #define GWEN_GUI_PROGRESS_ALLOW_SUBLEVELS  0x00000008
00067 #define GWEN_GUI_PROGRESS_ALLOW_EMBED      0x00000010
00068 #define GWEN_GUI_PROGRESS_SHOW_PROGRESS    0x00000020
00069 #define GWEN_GUI_PROGRESS_KEEP_OPEN        0x00000040
00070 #define GWEN_GUI_PROGRESS_ALWAYS_SHOW_LOG  0x00000080
00071 
00082 #define GWEN_GUI_INPUT_FLAGS_CONFIRM        0x00000001
00083 
00084 #define GWEN_GUI_INPUT_FLAGS_SHOW           0x00000002
00085 
00086 #define GWEN_GUI_INPUT_FLAGS_NUMERIC        0x00000004
00087 
00088 #define GWEN_GUI_INPUT_FLAGS_RETRY          0x00000008
00089 
00091 #define GWEN_GUI_INPUT_FLAGS_ALLOW_DEFAULT  0x00000010
00092 
00093 #define GWEN_GUI_INPUT_FLAGS_TAN            0x00000020
00094 
00145 #define GWEN_GUI_MSG_FLAGS_TYPE_MASK           0x07
00146 
00147 #define GWEN_GUI_MSG_FLAGS_TYPE_INFO         0
00148 
00149 #define GWEN_GUI_MSG_FLAGS_TYPE_IS_INFO(fl) \
00150   ((fl & GWEN_GUI_MSG_FLAGS_TYPE_MASK)==GWEN_GUI_MSG_FLAGS_TYPE_INFO)
00151 
00153 #define GWEN_GUI_MSG_FLAGS_TYPE_WARN         1
00154 
00155 #define GWEN_GUI_MSG_FLAGS_TYPE_IS_WARN(fl)  \
00156   ((fl & GWEN_GUI_MSG_FLAGS_TYPE_MASK)==GWEN_GUI_MSG_FLAGS_TYPE_WARN)
00157 
00159 #define GWEN_GUI_MSG_FLAGS_TYPE_ERROR        2
00160 
00161 #define GWEN_GUI_MSG_FLAGS_TYPE_IS_ERROR     \
00162   ((fl & GWEN_GUI_MSG_FLAGS_TYPE_MASK)==GWEN_GUI_MSG_FLAGS_TYPE_ERROR)
00163 
00165 #define GWEN_GUI_MSG_FLAGS_CONFIRM_B1         (1<<3)
00166 
00167 #define GWEN_GUI_MSG_FLAGS_CONFIRM_B2         (2<<3)
00168 
00169 #define GWEN_GUI_MSG_FLAGS_CONFIRM_B3         (3<<3)
00170 
00171 #define GWEN_GUI_MSG_FLAGS_CONFIRM_BUTTON(fl) ((fl & 0x3)>>3)
00172 
00173 
00195 #define GWEN_GUI_MSG_FLAGS_SEVERITY_MASK       (0x7<<5)
00196 
00197 #define GWEN_GUI_MSG_FLAGS_SEVERITY_NORMAL      (0x0<<5)
00198 #define GWEN_GUI_MSG_FLAGS_SEVERITY_IS_NORMAL(fl) \
00199   ((fl & GWEN_GUI_MSG_FLAGS_SEVERITY_MASK)==\
00200   GWEN_GUI_MSG_FLAGS_SEVERITY_NORMAL)
00201 
00203 #define GWEN_GUI_MSG_FLAGS_SEVERITY_DANGEROUS   (0x1<<5)
00204 #define GWEN_GUI_MSG_FLAGS_SEVERITY_IS_DANGEROUS(fl)  \
00205   ((fl & GWEN_GUI_MSG_FLAGS_SEVERITY_MASK)==\
00206   GWEN_GUI_MSG_FLAGS_SEVERITY_DANGEROUS)
00207 
00219 #define GWEN_GUI_SHOWBOX_FLAGS_BEEP 0x00000001
00220 
00234 #define GWEN_GUI_PROGRESS_NONE (0xffffffffUL)
00235 
00242 #define GWEN_GUI_PROGRESS_ONE  (0xfffffffeUL)
00243 
00252 typedef enum {
00253   GWEN_Gui_PasswordStatus_Bad=-1,
00254   GWEN_Gui_PasswordStatus_Unknown,
00255   GWEN_Gui_PasswordStatus_Ok,
00256   GWEN_Gui_PasswordStatus_Used,
00257   GWEN_Gui_PasswordStatus_Unused,
00258   GWEN_Gui_PasswordStatus_Remove
00259 } GWEN_GUI_PASSWORD_STATUS;
00260 
00261 
00266 GWENHYWFAR_API 
00267 GWEN_GUI *GWEN_Gui_new();
00268 
00269 GWENHYWFAR_API 
00270 void GWEN_Gui_free(GWEN_GUI *gui);
00271 
00272 GWENHYWFAR_API 
00273 void GWEN_Gui_Attach(GWEN_GUI *gui);
00274 
00275 GWENHYWFAR_API 
00276 void GWEN_Gui_SetGui(GWEN_GUI *gui);
00277 
00278 GWENHYWFAR_API 
00279 GWEN_GUI *GWEN_Gui_GetGui();
00280 
00354 GWENHYWFAR_API 
00355 int GWEN_Gui_MessageBox(uint32_t flags,
00356                         const char *title,
00357                         const char *text,
00358                         const char *b1,
00359                         const char *b2,
00360                         const char *b3,
00361                         uint32_t guiid);
00362 
00388 GWENHYWFAR_API 
00389 int GWEN_Gui_InputBox(uint32_t flags,
00390                       const char *title,
00391                       const char *text,
00392                       char *buffer,
00393                       int minLen,
00394                       int maxLen,
00395                       uint32_t guiid);
00396 
00419 GWENHYWFAR_API 
00420 uint32_t GWEN_Gui_ShowBox(uint32_t flags,
00421                           const char *title,
00422                           const char *text,
00423                           uint32_t guiid);
00424 
00434 GWENHYWFAR_API 
00435 void GWEN_Gui_HideBox(uint32_t id);
00436 
00437 
00468 GWENHYWFAR_API 
00469 uint32_t GWEN_Gui_ProgressStart(uint32_t progressFlags,
00470                                 const char *title,
00471                                 const char *text,
00472                                 uint64_t total,
00473                                 uint32_t guiid);
00474 
00495 GWENHYWFAR_API 
00496 int GWEN_Gui_ProgressAdvance(uint32_t id, uint32_t progress);
00497 
00508 GWENHYWFAR_API 
00509 int GWEN_Gui_ProgressLog(uint32_t id,
00510                          GWEN_LOGGER_LEVEL level,
00511                          const char *text);
00512 
00530 GWENHYWFAR_API 
00531 int GWEN_Gui_ProgressEnd(uint32_t id);
00532 
00533 
00546 GWENHYWFAR_API 
00547 int GWEN_Gui_Print(const char *docTitle,
00548                    const char *docType,
00549                    const char *descr,
00550                    const char *text,
00551                    uint32_t guiid);
00552 
00553 
00554 GWENHYWFAR_API
00555 int GWEN_Gui_GetPassword(uint32_t flags,
00556                          const char *token,
00557                          const char *title,
00558                          const char *text,
00559                          char *buffer,
00560                          int minLen,
00561                          int maxLen,
00562                          uint32_t guiid);
00563 
00567 GWENHYWFAR_API 
00568 int GWEN_Gui_SetPasswordStatus(const char *token,
00569                                const char *pin,
00570                                GWEN_GUI_PASSWORD_STATUS status,
00571                                uint32_t guiid);
00572 
00576 GWENHYWFAR_API 
00577 int GWEN_Gui_LogHook(const char *logDomain,
00578                      GWEN_LOGGER_LEVEL priority, const char *s);
00579 
00580 
00585 GWENHYWFAR_API 
00586 int GWEN_Gui_WaitForSockets(GWEN_SOCKET_LIST2 *readSockets,
00587                             GWEN_SOCKET_LIST2 *writeSockets,
00588                             uint32_t guiid,
00589                             int msecs);
00590 
00591 
00592 GWENHYWFAR_API 
00593 int GWEN_Gui_CheckCert(const GWEN_SSLCERTDESCR *cert,
00594                        GWEN_IO_LAYER *io,
00595                        uint32_t guiid);
00596 
00597 
00605 GWENHYWFAR_API
00606 int GWEN_Gui_KeyDataFromText_OpenSSL(const char *text,
00607                                      unsigned char *buffer,
00608                                      unsigned int bufLength);
00609 
00610 
00618 #ifdef __cplusplus
00619 }
00620 #endif
00621 
00622 
00623 #endif
00624 
00625 
00626 
00627 

Generated on Wed Jul 9 13:12:27 2008 for gwenhywfar by  doxygen 1.5.6