gwenhywfar
4.8.0beta
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
gui
gui.h
Go to the documentation of this file.
1
/***************************************************************************
2
begin : Tue Oct 02 2002
3
copyright : (C) 2002-2010 by Martin Preuss
4
email : martin@libchipcard.de
5
6
***************************************************************************
7
* *
8
* This library is free software; you can redistribute it and/or *
9
* modify it under the terms of the GNU Lesser General Public *
10
* License as published by the Free Software Foundation; either *
11
* version 2.1 of the License, or (at your option) any later version. *
12
* *
13
* This library is distributed in the hope that it will be useful, *
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16
* Lesser General Public License for more details. *
17
* *
18
* You should have received a copy of the GNU Lesser General Public *
19
* License along with this library; if not, write to the Free Software *
20
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
21
* MA 02111-1307 USA *
22
* *
23
***************************************************************************/
24
25
#ifndef GWENHYWFAR_GUI_GUI_H
26
#define GWENHYWFAR_GUI_GUI_H
27
28
29
30
#include <gwenhywfar/inherit.h>
31
#include <gwenhywfar/logger.h>
32
#include <gwenhywfar/inetsocket.h>
33
#include <gwenhywfar/ssl_cert_descr.h>
34
#include <gwenhywfar/syncio.h>
35
#include <gwenhywfar/dialog.h>
36
#include <gwenhywfar/passwdstore.h>
37
38
#include <inttypes.h>
39
40
107
108
#ifdef __cplusplus
109
extern
"C"
{
110
#endif
111
112
113
typedef
struct
GWEN_GUI
GWEN_GUI
;
114
GWEN_INHERIT_FUNCTION_LIB_DEFS
(
GWEN_GUI
,
GWENHYWFAR_API
)
115
116
117
#define GWEN_GUI_CPU_TIMEOUT 200
118
119
#define GWEN_GUI_CHECK_PERIOD 750
120
#define GWEN_GUI_DELAY_SECS 2
121
122
129
#define GWEN_GUI_PROGRESS_DELAY 0x00000001
130
#define GWEN_GUI_PROGRESS_SHOW_LOG 0x00000002
131
#define GWEN_GUI_PROGRESS_SHOW_ABORT 0x00000004
132
#define GWEN_GUI_PROGRESS_ALLOW_SUBLEVELS 0x00000008
133
#define GWEN_GUI_PROGRESS_ALLOW_EMBED 0x00000010
134
#define GWEN_GUI_PROGRESS_SHOW_PROGRESS 0x00000020
135
#define GWEN_GUI_PROGRESS_KEEP_OPEN 0x00000040
136
#define GWEN_GUI_PROGRESS_ALWAYS_SHOW_LOG 0x00000080
137
148
#define GWEN_GUI_INPUT_FLAGS_CONFIRM 0x00000001
149
150
#define GWEN_GUI_INPUT_FLAGS_SHOW 0x00000002
151
152
#define GWEN_GUI_INPUT_FLAGS_NUMERIC 0x00000004
153
154
#define GWEN_GUI_INPUT_FLAGS_RETRY 0x00000008
155
157
#define GWEN_GUI_INPUT_FLAGS_ALLOW_DEFAULT 0x00000010
158
159
#define GWEN_GUI_INPUT_FLAGS_TAN 0x00000020
160
161
#define GWEN_GUI_INPUT_FLAGS_OPTICAL 0x00000040
162
163
#define GWEN_GUI_INPUT_FLAGS_DIRECT 0x00000080
164
216
#define GWEN_GUI_MSG_FLAGS_TYPE_MASK 0x07
217
218
#define GWEN_GUI_MSG_FLAGS_TYPE_INFO 0
219
220
#define GWEN_GUI_MSG_FLAGS_TYPE_IS_INFO(fl) \
221
((fl & GWEN_GUI_MSG_FLAGS_TYPE_MASK)==GWEN_GUI_MSG_FLAGS_TYPE_INFO)
222
224
#define GWEN_GUI_MSG_FLAGS_TYPE_WARN 1
225
226
#define GWEN_GUI_MSG_FLAGS_TYPE_IS_WARN(fl) \
227
((fl & GWEN_GUI_MSG_FLAGS_TYPE_MASK)==GWEN_GUI_MSG_FLAGS_TYPE_WARN)
228
230
#define GWEN_GUI_MSG_FLAGS_TYPE_ERROR 2
231
232
#define GWEN_GUI_MSG_FLAGS_TYPE_IS_ERROR \
233
((fl & GWEN_GUI_MSG_FLAGS_TYPE_MASK)==GWEN_GUI_MSG_FLAGS_TYPE_ERROR)
234
236
#define GWEN_GUI_MSG_FLAGS_CONFIRM_B1 (1<<3)
237
238
#define GWEN_GUI_MSG_FLAGS_CONFIRM_B2 (2<<3)
239
240
#define GWEN_GUI_MSG_FLAGS_CONFIRM_B3 (3<<3)
241
242
#define GWEN_GUI_MSG_FLAGS_CONFIRM_BUTTON(fl) (((fl)>>3) & 0x3)
243
244
266
#define GWEN_GUI_MSG_FLAGS_SEVERITY_MASK (0x7<<5)
267
268
#define GWEN_GUI_MSG_FLAGS_SEVERITY_NORMAL (0x0<<5)
269
#define GWEN_GUI_MSG_FLAGS_SEVERITY_IS_NORMAL(fl) \
270
((fl & GWEN_GUI_MSG_FLAGS_SEVERITY_MASK)==\
271
GWEN_GUI_MSG_FLAGS_SEVERITY_NORMAL)
272
274
#define GWEN_GUI_MSG_FLAGS_SEVERITY_DANGEROUS (0x1<<5)
275
#define GWEN_GUI_MSG_FLAGS_SEVERITY_IS_DANGEROUS(fl) \
276
((fl & GWEN_GUI_MSG_FLAGS_SEVERITY_MASK)==\
277
GWEN_GUI_MSG_FLAGS_SEVERITY_DANGEROUS)
278
290
#define GWEN_GUI_SHOWBOX_FLAGS_BEEP 0x00000001
291
305
#define GWEN_GUI_PROGRESS_NONE (0xffffffffUL)
306
313
#define GWEN_GUI_PROGRESS_ONE (0xfffffffeUL)
314
323
typedef
enum
{
324
GWEN_Gui_PasswordStatus_Bad
=-1,
325
GWEN_Gui_PasswordStatus_Unknown
,
326
GWEN_Gui_PasswordStatus_Ok
,
327
GWEN_Gui_PasswordStatus_Used
,
328
GWEN_Gui_PasswordStatus_Unused
,
329
GWEN_Gui_PasswordStatus_Remove
330
}
GWEN_GUI_PASSWORD_STATUS
;
331
332
333
338
GWENHYWFAR_API
339
GWEN_GUI
*
GWEN_Gui_new
(
void
);
340
341
GWENHYWFAR_API
342
void
GWEN_Gui_free
(
GWEN_GUI
*gui);
343
344
GWENHYWFAR_API
345
void
GWEN_Gui_Attach
(
GWEN_GUI
*gui);
346
347
GWENHYWFAR_API
348
void
GWEN_Gui_SetGui
(
GWEN_GUI
*gui);
349
350
GWENHYWFAR_API
351
GWEN_GUI
*
GWEN_Gui_GetGui
(
void
);
352
365
GWENHYWFAR_API
366
const
char
*
GWEN_Gui_GetCharSet
(
const
GWEN_GUI
*gui);
367
368
GWENHYWFAR_API
369
void
GWEN_Gui_SetCharSet
(
GWEN_GUI
*gui,
const
char
*s);
444
GWENHYWFAR_API
445
int
GWEN_Gui_MessageBox
(uint32_t flags,
446
const
char
*title,
447
const
char
*text,
448
const
char
*b1,
449
const
char
*b2,
450
const
char
*b3,
451
uint32_t guiid);
452
458
GWENHYWFAR_API
459
void
GWEN_Gui_ShowError
(
const
char
*title,
const
char
*text, ...);
460
461
489
GWENHYWFAR_API
490
int
GWEN_Gui_InputBox
(uint32_t flags,
491
const
char
*title,
492
const
char
*text,
493
char
*buffer,
494
int
minLen,
495
int
maxLen,
496
uint32_t guiid);
497
521
GWENHYWFAR_API
522
uint32_t
GWEN_Gui_ShowBox
(uint32_t flags,
523
const
char
*title,
524
const
char
*text,
525
uint32_t guiid);
526
536
GWENHYWFAR_API
537
void
GWEN_Gui_HideBox
(uint32_t
id
);
538
539
571
GWENHYWFAR_API
572
uint32_t
GWEN_Gui_ProgressStart
(uint32_t progressFlags,
573
const
char
*title,
574
const
char
*text,
575
uint64_t total,
576
uint32_t guiid);
577
598
GWENHYWFAR_API
599
int
GWEN_Gui_ProgressAdvance
(uint32_t
id
, uint32_t progress);
600
601
GWENHYWFAR_API
602
int
GWEN_Gui_ProgressSetTotal
(uint32_t
id
, uint64_t total);
603
614
GWENHYWFAR_API
615
int
GWEN_Gui_ProgressLog
(uint32_t
id
,
616
GWEN_LOGGER_LEVEL
level,
617
const
char
*text);
618
631
GWENHYWFAR_API
632
int
GWEN_Gui_ProgressLog2
(uint32_t
id
,
633
GWEN_LOGGER_LEVEL
level,
634
const
char
*text, ...);
635
660
GWENHYWFAR_API
661
int
GWEN_Gui_ProgressEnd
(uint32_t
id
);
662
663
677
GWENHYWFAR_API
678
int
GWEN_Gui_Print
(
const
char
*docTitle,
679
const
char
*docType,
680
const
char
*descr,
681
const
char
*text,
682
uint32_t guiid);
683
703
GWENHYWFAR_API
704
int
GWEN_Gui_GetPassword
(uint32_t flags,
705
const
char
*token,
706
const
char
*title,
707
const
char
*text,
708
char
*buffer,
709
int
minLen,
710
int
maxLen,
711
uint32_t guiid);
712
717
GWENHYWFAR_API
718
int
GWEN_Gui_SetPasswordStatus
(
const
char
*token,
719
const
char
*pin,
720
GWEN_GUI_PASSWORD_STATUS
status,
721
uint32_t guiid);
722
733
GWENHYWFAR_API
734
int
GWEN_Gui_LogHook
(
const
char
*logDomain,
735
GWEN_LOGGER_LEVEL
priority,
const
char
*s);
736
737
746
GWENHYWFAR_API
747
int
GWEN_Gui_WaitForSockets
(GWEN_SOCKET_LIST2 *readSockets,
748
GWEN_SOCKET_LIST2 *writeSockets,
749
uint32_t guiid,
750
int
msecs);
751
760
GWENHYWFAR_API
761
int
GWEN_Gui_CheckCert
(
const
GWEN_SSLCERTDESCR
*cert,
762
GWEN_SYNCIO
*sio,
763
uint32_t guiid);
764
765
776
GWENHYWFAR_API
777
int
GWEN_Gui_KeyDataFromText_OpenSSL
(
const
char
*text,
778
unsigned
char
*buffer,
779
unsigned
int
bufLength);
780
788
GWENHYWFAR_API
789
int
GWEN_Gui_ExecDialog
(
GWEN_DIALOG
*dlg, uint32_t guiid);
790
791
792
793
GWENHYWFAR_API
794
int
GWEN_Gui_OpenDialog
(
GWEN_DIALOG
*dlg, uint32_t guiid);
795
796
GWENHYWFAR_API
797
int
GWEN_Gui_CloseDialog
(
GWEN_DIALOG
*dlg);
798
799
GWENHYWFAR_API
800
int
GWEN_Gui_RunDialog
(
GWEN_DIALOG
*dlg,
int
untilEnd);
801
802
803
typedef
enum
{
804
GWEN_Gui_FileNameType_OpenFileName
=0,
805
GWEN_Gui_FileNameType_SaveFileName
,
806
GWEN_Gui_FileNameType_OpenDirectory
807
808
}
GWEN_GUI_FILENAME_TYPE
;
809
810
828
GWENHYWFAR_API
829
int
GWEN_Gui_GetFileName
(
const
char
*caption,
830
GWEN_GUI_FILENAME_TYPE
fnt,
831
uint32_t flags,
832
const
char
*patterns,
833
GWEN_BUFFER
*pathBuffer,
834
uint32_t guiid);
835
845
GWENHYWFAR_API
846
int
GWEN_Gui_GetSyncIo
(
const
char
*url,
847
const
char
*defaultProto,
848
int
defaultPort,
849
GWEN_SYNCIO
**pSio);
850
851
862
864
#define GWEN_GUI_FLAGS_NONINTERACTIVE 0x00000001
865
866
#define GWEN_GUI_FLAGS_ACCEPTVALIDCERTS 0x00000002
867
868
#define GWEN_GUI_FLAGS_REJECTINVALIDCERTS 0x00000004
869
870
#define GWEN_GUI_FLAGS_PERMPASSWORDS 0x00000008
871
873
#define GWEN_GUI_FLAGS_DIALOGSUPPORTED 0x80000000
874
875
GWENHYWFAR_API
uint32_t
GWEN_Gui_GetFlags
(
const
GWEN_GUI
*gui);
876
GWENHYWFAR_API
void
GWEN_Gui_SetFlags
(
GWEN_GUI
*gui, uint32_t fl);
877
GWENHYWFAR_API
void
GWEN_Gui_AddFlags
(
GWEN_GUI
*gui, uint32_t fl);
878
GWENHYWFAR_API
void
GWEN_Gui_SubFlags
(
GWEN_GUI
*gui, uint32_t fl);
882
GWENHYWFAR_API
const
char
*
GWEN_Gui_GetName
(
void
);
883
884
902
GWENHYWFAR_API
903
void
GWEN_Gui_SetPasswordDb
(
GWEN_GUI
*gui,
904
GWEN_DB_NODE
*dbPasswords,
905
int
persistent);
906
911
GWENHYWFAR_API
912
GWEN_DB_NODE
*
GWEN_Gui_GetPasswordDb
(
const
GWEN_GUI
*gui);
916
GWENHYWFAR_API
GWEN_PASSWD_STORE
*
GWEN_Gui_GetPasswdStore
(
const
GWEN_GUI
*gui);
917
GWENHYWFAR_API
void
GWEN_Gui_SetPasswdStore
(
GWEN_GUI
*gui,
GWEN_PASSWD_STORE
*sto);
918
919
921
GWENHYWFAR_API
GWEN_LOGGER_LEVEL
GWEN_Gui_GetMinProgressLogLevel
(
const
GWEN_GUI
*gui);
922
GWENHYWFAR_API
void
GWEN_Gui_SetMinProgressLogLevel
(
GWEN_GUI
*gui,
GWEN_LOGGER_LEVEL
ll);
923
924
925
#ifdef __cplusplus
926
}
927
#endif
928
932
#endif
933
934
935
936
Generated on Sun Oct 27 2013 09:43:37 for gwenhywfar by
1.8.4