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 
00108 
00109 #ifdef __cplusplus
00110 extern "C" {
00111 #endif
00112 
00113 
00114 typedef struct GWEN_GUI GWEN_GUI;
00115 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_GUI, GWENHYWFAR_API)
00116 
00117 
00118 #define GWEN_GUI_CPU_TIMEOUT 200
00119 
00120 #define GWEN_GUI_CHECK_PERIOD 750
00121 #define GWEN_GUI_DELAY_SECS   2
00122 
00123 
00130 #define GWEN_GUI_PROGRESS_DELAY            0x00000001
00131 #define GWEN_GUI_PROGRESS_SHOW_LOG         0x00000002
00132 #define GWEN_GUI_PROGRESS_SHOW_ABORT       0x00000004
00133 #define GWEN_GUI_PROGRESS_ALLOW_SUBLEVELS  0x00000008
00134 #define GWEN_GUI_PROGRESS_ALLOW_EMBED      0x00000010
00135 #define GWEN_GUI_PROGRESS_SHOW_PROGRESS    0x00000020
00136 #define GWEN_GUI_PROGRESS_KEEP_OPEN        0x00000040
00137 #define GWEN_GUI_PROGRESS_ALWAYS_SHOW_LOG  0x00000080
00138 
00149 #define GWEN_GUI_INPUT_FLAGS_CONFIRM        0x00000001
00150 
00151 #define GWEN_GUI_INPUT_FLAGS_SHOW           0x00000002
00152 
00153 #define GWEN_GUI_INPUT_FLAGS_NUMERIC        0x00000004
00154 
00155 #define GWEN_GUI_INPUT_FLAGS_RETRY          0x00000008
00156 
00158 #define GWEN_GUI_INPUT_FLAGS_ALLOW_DEFAULT  0x00000010
00159 
00160 #define GWEN_GUI_INPUT_FLAGS_TAN            0x00000020
00161 
00212 #define GWEN_GUI_MSG_FLAGS_TYPE_MASK           0x07
00213 
00214 #define GWEN_GUI_MSG_FLAGS_TYPE_INFO         0
00215 
00216 #define GWEN_GUI_MSG_FLAGS_TYPE_IS_INFO(fl) \
00217   ((fl & GWEN_GUI_MSG_FLAGS_TYPE_MASK)==GWEN_GUI_MSG_FLAGS_TYPE_INFO)
00218 
00220 #define GWEN_GUI_MSG_FLAGS_TYPE_WARN         1
00221 
00222 #define GWEN_GUI_MSG_FLAGS_TYPE_IS_WARN(fl)  \
00223   ((fl & GWEN_GUI_MSG_FLAGS_TYPE_MASK)==GWEN_GUI_MSG_FLAGS_TYPE_WARN)
00224 
00226 #define GWEN_GUI_MSG_FLAGS_TYPE_ERROR        2
00227 
00228 #define GWEN_GUI_MSG_FLAGS_TYPE_IS_ERROR     \
00229   ((fl & GWEN_GUI_MSG_FLAGS_TYPE_MASK)==GWEN_GUI_MSG_FLAGS_TYPE_ERROR)
00230 
00232 #define GWEN_GUI_MSG_FLAGS_CONFIRM_B1         (1<<3)
00233 
00234 #define GWEN_GUI_MSG_FLAGS_CONFIRM_B2         (2<<3)
00235 
00236 #define GWEN_GUI_MSG_FLAGS_CONFIRM_B3         (3<<3)
00237 
00238 #define GWEN_GUI_MSG_FLAGS_CONFIRM_BUTTON(fl) (((fl)>>3) & 0x3)
00239 
00240 
00262 #define GWEN_GUI_MSG_FLAGS_SEVERITY_MASK       (0x7<<5)
00263 
00264 #define GWEN_GUI_MSG_FLAGS_SEVERITY_NORMAL      (0x0<<5)
00265 #define GWEN_GUI_MSG_FLAGS_SEVERITY_IS_NORMAL(fl) \
00266   ((fl & GWEN_GUI_MSG_FLAGS_SEVERITY_MASK)==\
00267   GWEN_GUI_MSG_FLAGS_SEVERITY_NORMAL)
00268 
00270 #define GWEN_GUI_MSG_FLAGS_SEVERITY_DANGEROUS   (0x1<<5)
00271 #define GWEN_GUI_MSG_FLAGS_SEVERITY_IS_DANGEROUS(fl)  \
00272   ((fl & GWEN_GUI_MSG_FLAGS_SEVERITY_MASK)==\
00273   GWEN_GUI_MSG_FLAGS_SEVERITY_DANGEROUS)
00274 
00286 #define GWEN_GUI_SHOWBOX_FLAGS_BEEP 0x00000001
00287 
00301 #define GWEN_GUI_PROGRESS_NONE (0xffffffffUL)
00302 
00309 #define GWEN_GUI_PROGRESS_ONE  (0xfffffffeUL)
00310 
00319 typedef enum {
00320   GWEN_Gui_PasswordStatus_Bad=-1,
00321   GWEN_Gui_PasswordStatus_Unknown,
00322   GWEN_Gui_PasswordStatus_Ok,
00323   GWEN_Gui_PasswordStatus_Used,
00324   GWEN_Gui_PasswordStatus_Unused,
00325   GWEN_Gui_PasswordStatus_Remove
00326 } GWEN_GUI_PASSWORD_STATUS;
00327 
00328 
00329 
00334 GWENHYWFAR_API 
00335 GWEN_GUI *GWEN_Gui_new();
00336 
00337 GWENHYWFAR_API 
00338 void GWEN_Gui_free(GWEN_GUI *gui);
00339 
00340 GWENHYWFAR_API 
00341 void GWEN_Gui_Attach(GWEN_GUI *gui);
00342 
00343 GWENHYWFAR_API 
00344 void GWEN_Gui_SetGui(GWEN_GUI *gui);
00345 
00346 GWENHYWFAR_API 
00347 GWEN_GUI *GWEN_Gui_GetGui();
00348 
00423 GWENHYWFAR_API 
00424 int GWEN_Gui_MessageBox(uint32_t flags,
00425                         const char *title,
00426                         const char *text,
00427                         const char *b1,
00428                         const char *b2,
00429                         const char *b3,
00430                         uint32_t guiid);
00431 
00457 GWENHYWFAR_API 
00458 int GWEN_Gui_InputBox(uint32_t flags,
00459                       const char *title,
00460                       const char *text,
00461                       char *buffer,
00462                       int minLen,
00463                       int maxLen,
00464                       uint32_t guiid);
00465 
00489 GWENHYWFAR_API 
00490 uint32_t GWEN_Gui_ShowBox(uint32_t flags,
00491                           const char *title,
00492                           const char *text,
00493                           uint32_t guiid);
00494 
00504 GWENHYWFAR_API 
00505 void GWEN_Gui_HideBox(uint32_t id);
00506 
00507 
00539 GWENHYWFAR_API 
00540 uint32_t GWEN_Gui_ProgressStart(uint32_t progressFlags,
00541                                 const char *title,
00542                                 const char *text,
00543                                 uint64_t total,
00544                                 uint32_t guiid);
00545 
00566 GWENHYWFAR_API 
00567 int GWEN_Gui_ProgressAdvance(uint32_t id, uint32_t progress);
00568 
00579 GWENHYWFAR_API 
00580 int GWEN_Gui_ProgressLog(uint32_t id,
00581                          GWEN_LOGGER_LEVEL level,
00582                          const char *text);
00583 
00601 GWENHYWFAR_API 
00602 int GWEN_Gui_ProgressEnd(uint32_t id);
00603 
00604 
00618 GWENHYWFAR_API 
00619 int GWEN_Gui_Print(const char *docTitle,
00620                    const char *docType,
00621                    const char *descr,
00622                    const char *text,
00623                    uint32_t guiid);
00624 
00644 GWENHYWFAR_API
00645 int GWEN_Gui_GetPassword(uint32_t flags,
00646                          const char *token,
00647                          const char *title,
00648                          const char *text,
00649                          char *buffer,
00650                          int minLen,
00651                          int maxLen,
00652                          uint32_t guiid);
00653 
00658 GWENHYWFAR_API 
00659 int GWEN_Gui_SetPasswordStatus(const char *token,
00660                                const char *pin,
00661                                GWEN_GUI_PASSWORD_STATUS status,
00662                                uint32_t guiid);
00663 
00674 GWENHYWFAR_API 
00675 int GWEN_Gui_LogHook(const char *logDomain,
00676                      GWEN_LOGGER_LEVEL priority, const char *s);
00677 
00678 
00687 GWENHYWFAR_API 
00688 int GWEN_Gui_WaitForSockets(GWEN_SOCKET_LIST2 *readSockets,
00689                             GWEN_SOCKET_LIST2 *writeSockets,
00690                             uint32_t guiid,
00691                             int msecs);
00692 
00701 GWENHYWFAR_API 
00702 int GWEN_Gui_CheckCert(const GWEN_SSLCERTDESCR *cert,
00703                        GWEN_IO_LAYER *io,
00704                        uint32_t guiid);
00705 
00706 
00717 GWENHYWFAR_API
00718 int GWEN_Gui_KeyDataFromText_OpenSSL(const char *text,
00719                                      unsigned char *buffer,
00720                                      unsigned int bufLength);
00721 
00722 
00733 
00735 #define GWEN_GUI_FLAGS_NONINTERACTIVE     0x00000001
00736 
00737 #define GWEN_GUI_FLAGS_ACCEPTVALIDCERTS   0x00000002
00738 
00739 #define GWEN_GUI_FLAGS_REJECTINVALIDCERTS 0x00000004
00740 
00741 
00742 GWENHYWFAR_API uint32_t GWEN_Gui_GetFlags(const GWEN_GUI *gui);
00743 GWENHYWFAR_API void GWEN_Gui_SetFlags(GWEN_GUI *gui, uint32_t fl);
00744 GWENHYWFAR_API void GWEN_Gui_AddFlags(GWEN_GUI *gui, uint32_t fl);
00745 GWENHYWFAR_API void GWEN_Gui_SubFlags(GWEN_GUI *gui, uint32_t fl);
00750 #ifdef __cplusplus
00751 }
00752 #endif
00753 
00757 #endif
00758 
00759 
00760 
00761 

Generated on Sat Jan 2 09:32:35 2010 for gwenhywfar by  doxygen 1.6.1