/[winpt]/trunk/Include/wptKeylist.h
ViewVC logotype

Contents of /trunk/Include/wptKeylist.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 260 - (show annotations)
Wed Aug 16 10:01:30 2006 UTC (18 years, 6 months ago) by twoaday
File MIME type: text/plain
File size: 5410 byte(s)


1 /* wptKeylist.h - Keylist element
2 * Copyright (C) 2001-2006 Timo Schulz
3 *
4 * This file is part of WinPT.
5 *
6 * WinPT is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * WinPT is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with WinPT; if not, write to the Free Software Foundation,
18 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20 #ifndef WPT_KEYLIST_H
21 #define WPT_KEYLIST_H
22
23 #include "wptFileManager.h"
24
25 /* Available sort-by modes. */
26 enum key_sort_t {
27 KEY_SORT_USERID = 0,
28 KEY_SORT_KEYID = 1,
29 KEY_SORT_IS_SECRET = 2,
30 KEY_SORT_LEN = 3,
31 KEY_SORT_VALIDITY = 5,
32 KEY_SORT_OTRUST = 6,
33 KEY_SORT_CREATED = 7,
34 KEY_SORT_ALGO = 8,
35
36 /* special attributes for signatures */
37 SIG_SORT_CLASS = 30,
38 SIG_SORT_EXPIRE = 31
39 };
40
41 /* Valid keylist modes. */
42 enum keylist_mode_t {
43 KEYLIST_ALL = 0,
44 KEYLIST_LIST = 1,
45 KEYLIST_ENCRYPT = 2, /* obsolete */
46 KEYLIST_ENCRYPT_MIN = 4,
47 KEYLIST_SIGN = 8,
48 KEYLIST_FLAG_FILE = 16,
49 KEYLIST_FLAG_SHORT = 32
50 };
51
52 /* All possible key flags. */
53 enum key_flag_t {
54 KEYFLAG_NONE = 0,
55 KEYFLAG_EXPIRED = 1,
56 KEYFLAG_REVOKED = 2,
57 KEYFLAG_DISABLED = 4
58 };
59
60 /* Symbolic column IDs. */
61 enum km_col_t {
62 KM_COL_UID = 0,
63 KM_COL_KEYID = 1,
64 KM_COL_TYPE = 2,
65 KM_COL_SIZE = 3,
66 KM_COL_CIPHER = 4,
67 KM_COL_VALID = 5,
68 KM_COL_TRUST = 6,
69 KM_COL_CREAT = 7,
70 KM_COL_DESC = 8
71 };
72
73 /* Symbolic column IDs for sig lists */
74 enum siglist_col_t {
75 SL_COL_UID = 0,
76 SL_COL_VALID = 1,
77 SL_COL_CLASS = 2,
78 SL_COL_CREATE = 3,
79 SL_COL_KEYID = 4,
80 SL_COL_EXPIRE = 5,
81 SL_COL_ALGO = 6
82 };
83
84 /* Icon for the key types. */
85 enum key_image_t {
86 KEY_IMG_PUB = 0,
87 KEY_IMG_PAIR= 1,
88 KEY_IMG_SORT_DOWN = 2,
89 KEY_IMG_SORT_UP
90 };
91
92 /*-- keylist.c --*/
93 const char* get_key_pubalgo2 (gpgme_pubkey_algo_t alg);
94 const char* get_key_pubalgo (gpgme_pubkey_algo_t alg);
95 const char* get_key_algo( gpgme_key_t key, int keyidx );
96 const char* get_key_created( long timestamp );
97 const char* get_key_expire_date( long timestamp );
98 const char* get_key_type( gpgme_key_t key );
99 const char* get_key_size( gpgme_key_t key, int keyidx );
100 const char* get_key_fpr( gpgme_key_t key );
101 const char* get_key_trust (gpgme_key_t key, int uididx, int listmode);
102 const char* get_key_trust2 (gpgme_key_t key, int val, int uididx, int listmode);
103 const char* get_key_trust_str (int val);
104 const char* get_keyid_from_fpr (const char *fpr);
105
106 char* get_key_desc (gpgme_key_t key);
107
108 gpgme_user_id_t get_nth_userid (gpgme_key_t key, int idx);
109 int count_userids (gpgme_key_t key);
110 gpgme_subkey_t get_nth_key (gpgme_key_t key, int idx);
111 int count_subkeys (gpgme_key_t key);
112 gpgme_key_sig_t get_selfsig (gpgme_key_sig_t sigs, const char *keyid, int first);
113
114 listview_ctrl_t keylist_load( HWND ctrl, gpg_keycache_t pubkc, gpg_keycache_t seckc,
115 int mode, int sortby );
116 int keylist_reload( listview_ctrl_t lv, gpg_keycache_t c, int mode, int sortby );
117 void keylist_delete( listview_ctrl_t lv );
118 int keylist_add_key (listview_ctrl_t lv, int mode,
119 struct keycache_s *ctx, gpgme_key_t key);
120 void keylist_upd_key (listview_ctrl_t lv, int pos,
121 struct keycache_s *ctx, gpgme_key_t key);
122 void keylist_upd_col (listview_ctrl_t lv, int col);
123 gpgme_key_t* keylist_get_recipients (listview_ctrl_t lv,
124 int *r_force_trust, size_t *r_count);
125 gpgme_key_t* keylist_enum_recipients (listview_ctrl_t lv, int listype, size_t *r_count);
126 int keylist_sort( listview_ctrl_t lv, int sortby );
127
128 /*-- wptImportList.cpp --*/
129 int implist_build( listview_ctrl_t *lv, HWND ctrl );
130 int implist_load( listview_ctrl_t lv, const char *file,
131 int *r_revcerts, int *r_seckeys );
132 void implist_delete( listview_ctrl_t lv );
133
134 /*-- wptSigList.cpp --*/
135 listview_ctrl_t siglist_load (HWND ctrl, const char *keyid);
136 void siglist_delete (listview_ctrl_t lv);
137 void siglist_sort (listview_ctrl_t sigl, int sortby);
138
139 /*-- wptVerifyList.cpp --*/
140 /* Verify list control context. */
141 struct verlist_ctrl_s {
142 listview_ctrl_t lv; /* list view control. */
143 HWND infctl; /* handle to the optional sig info control. */
144 };
145 typedef struct verlist_ctrl_s *verlist_ctrl_t;
146
147 void verlist_build (verlist_ctrl_t *vlv, HWND ctrl, int fm_mode);
148 void verlist_delete (verlist_ctrl_t vlv);
149 void verlist_alloc (verlist_ctrl_t vlv, int nentries );
150 void verlist_set_info_control (verlist_ctrl_t vlv, HWND infctl);
151 int verlist_add_sig (verlist_ctrl_t vlv, gpgme_signature_t sig);
152 int verlist_add_sig_log (verlist_ctrl_t vlv, file_sig_ctx_t log);
153
154 /*-- seclist --*/
155 struct keylist_s {
156 struct keylist_s * next;
157 gpgme_key_t key;
158 };
159 typedef struct keylist_s *keylist_t;
160
161 void seclist_destroy (keylist_t * list);
162 void seclist_init (HWND dlg, int ctlid, int flags, keylist_t * ret_list);
163 int seclist_select_key (HWND dlg, int ctlid, gpgme_key_t * ret_key);
164
165 #endif /* WPT_KEYLIST_H */

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26