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

Contents of /trunk/Include/wptKeylist.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 77 - (show annotations)
Mon Nov 14 15:01:01 2005 UTC (19 years, 3 months ago) by twoaday
File MIME type: text/plain
File size: 4621 byte(s)
2005-11-12  Timo Schulz  <ts@g10code.com>
 
        Fix more GCC warnings.
 
2005-11-10  Timo Schulz  <ts@g10code.com>
 
        * wptClipSignDlg.cpp (one_key_proc): Use
        release_gpg_passphrase_cb() to free the context.
        * wptListView.cpp (listview_deselect_all): New.
        * wptMAPI.cpp (mapi_send_pubkey): Works again.
        * wptFileManagerDlg.cpp (file_manager_dlg_proc): Support encrypt &
        zip.
        * wptPassphraseCB.cpp (passphrase_callback_proc): Fix passphrase
        caching for signing operations.
        * wptKeyManager.cpp (km_send_to_mail_recipient): Works again.
        * wptFileManager.cpp (fm_send_file): Likewise.
        (fm_encrypt_into_zip): New.
         

1 /* wptKeylist.h - Keylist element
2 * Copyright (C) 2001-2005 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 /* Available sort-by modes. */
24 enum key_sort_t {
25 KEY_SORT_USERID = 0,
26 KEY_SORT_KEYID = 1,
27 KEY_SORT_IS_SECRET = 2,
28 KEY_SORT_LEN = 3,
29 KEY_SORT_VALIDITY = 5,
30 KEY_SORT_OTRUST = 6,
31 KEY_SORT_CREATED = 7,
32 KEY_SORT_ALGO = 8
33 };
34
35 /* Valid keylist modes. */
36 enum keylist_mode_t {
37 KEYLIST_ALL = 0,
38 KEYLIST_LIST = 1,
39 KEYLIST_ENCRYPT = 2,
40 KEYLIST_ENCRYPT_MIN = 4,
41 KEYLIST_SIGN = 8,
42 KEYLIST_FLAG_FILE = 16,
43 KEYLIST_FLAG_SHORT = 32
44 };
45
46 /* All possible key flags. */
47 enum key_flag_t {
48 KEYFLAG_NONE = 0,
49 KEYFLAG_EXPIRED = 1,
50 KEYFLAG_REVOKED = 2,
51 KEYFLAG_DISABLED = 4
52 };
53
54 /* Symbolic column IDs. */
55 enum km_col_t {
56 KM_COL_UID = 0,
57 KM_COL_KEYID = 1,
58 KM_COL_TYPE = 2,
59 KM_COL_SIZE = 3,
60 KM_COL_CIPHER = 4,
61 KM_COL_VALID = 5,
62 KM_COL_TRUST = 6,
63 KM_COL_CREAT = 7
64 };
65
66
67 /* Signature verification context for a file. */
68 struct file_sig_ctx_s {
69 char *file; /* plaintext file name */
70 gpgme_signature_t sig; /* the actual signature */
71 unsigned use_uid:1; /* 1=if the user id from context should be used. */
72 const char *user_id;
73 };
74 typedef struct file_sig_ctx_s *file_sig_ctx_t;
75
76 /*-- keylist.c --*/
77 const char* get_key_pubalgo (gpgme_pubkey_algo_t alg);
78 const char * get_key_algo( gpgme_key_t key, int keyidx );
79 const char * get_key_created( long timestamp );
80 const char * get_key_expire_date( long timestamp );
81 const char * get_key_type( gpgme_key_t key );
82 const char * get_key_size( gpgme_key_t key, int keyidx );
83 const char * get_key_fpr( gpgme_key_t key );
84 const char * get_key_trust (gpgme_key_t key, int uididx, int listmode);
85 const char * get_key_trust2 (gpgme_key_t key, int val, int uididx, int listmode);
86 const char * get_key_trust_str (int val);
87
88 gpgme_user_id_t get_nth_userid (gpgme_key_t key, int idx);
89 int count_userids (gpgme_key_t key);
90 gpgme_subkey_t get_nth_key (gpgme_key_t key, int idx);
91 int count_subkeys (gpgme_key_t key);
92 gpgme_key_sig_t get_selfsig (gpgme_user_id_t uid, const char *keyid, int first);
93
94 listview_ctrl_t keylist_load( HWND ctrl, gpg_keycache_t pubkc, gpg_keycache_t seckc,
95 int mode, int sortby );
96 int keylist_reload( listview_ctrl_t lv, gpg_keycache_t c, int mode, int sortby );
97 void keylist_delete( listview_ctrl_t lv );
98 int keylist_add_key (listview_ctrl_t lv, int mode, gpgme_key_t key);
99 void keylist_upd_key (listview_ctrl_t lv, int pos, gpgme_key_t key);
100 gpgme_key_t* keylist_get_recipients( listview_ctrl_t lv,
101 int *r_force_trust, int *r_count );
102 gpgme_key_t* keylist_enum_recipients( listview_ctrl_t lv, int listype, int *r_count );
103 int keylist_sort( listview_ctrl_t lv, int sortby );
104
105 /*-- wptImportList.cpp --*/
106 int implist_build( listview_ctrl_t *lv, HWND ctrl );
107 int implist_load( listview_ctrl_t lv, const char *file,
108 int *r_revcerts, int *r_seckeys );
109 void implist_delete( listview_ctrl_t lv );
110
111 /*-- wptSigList.cpp --*/
112 listview_ctrl_t siglist_load( HWND ctrl, const char *keyid );
113 void siglist_delete( listview_ctrl_t lv );
114
115 /*-- wptVerifyList.cpp --*/
116 int verlist_build (listview_ctrl_t *lv, HWND ctrl, int fm_mode);
117 void verlist_delete (listview_ctrl_t lv);
118 void verlist_alloc (listview_ctrl_t lv, int nentries );
119 int verlist_add_sig (listview_ctrl_t lv, gpgme_signature_t sig);
120 int verlist_add_sig_log (listview_ctrl_t lv, file_sig_ctx_t log);
121
122 /*-- seclist --*/
123 struct keylist_s {
124 struct keylist_s * next;
125 gpgme_key_t key;
126 };
127 typedef struct keylist_s *keylist_t;
128
129 void seclist_destroy (keylist_t * list);
130 void seclist_init (HWND dlg, int ctlid, int flags, keylist_t * ret_list);
131 int seclist_select_key (HWND dlg, int ctlid, gpgme_key_t * ret_key);
132
133 #endif /* WPT_KEYLIST_H */

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26