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

Diff of /trunk/Include/wptKeylist.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.25  
changed lines
  Added in v.273

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26