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

Diff of /trunk/Include/wptKeyEdit.h

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

revision 2 by twoaday, Mon Jan 31 11:02:21 2005 UTC revision 24 by twoaday, Sat Oct 8 10:43:08 2005 UTC
# Line 21  Line 21 
21  #ifndef WPT_KEY_EDIT_H  #ifndef WPT_KEY_EDIT_H
22  #define WPT_KEY_EDIT_H  #define WPT_KEY_EDIT_H
23    
24    /* IDs for all possible gpg edit key commands. */
25    enum {
26        GPG_EDITKEY_SIGN    =  1,
27        GPG_EDITKEY_LSIGN   =  2,
28        GPG_EDITKEY_NRSIGN  = 19,
29        GPG_EDITKEY_NRLSIGN = 22,
30        GPG_EDITKEY_TSIGN   = 20,
31        GPG_EDITKEY_TRUST   =  3,
32        GPG_EDITKEY_ADDUID  =  4,
33        GPG_EDITKEY_DELUID  =  5,
34        GPG_EDITKEY_DELKEY  =  6,
35        GPG_EDITKEY_ADDKEY  =  7,
36        GPG_EDITKEY_PASSWD  =  8,
37        GPG_EDITKEY_PRIMARY =  9,
38        GPG_EDITKEY_EXPIRE  = 10,
39        GPG_EDITKEY_REVSIG  = 11,
40        GPG_EDITKEY_REVKEY  = 12,
41        GPG_EDITKEY_REVOKE  = 13, /* revoke the whole key */
42        GPG_EDITKEY_ADDREV  = 14,
43        GPG_EDITKEY_ADDPHOTO= 15,
44        GPG_EDITKEY_ENABLE  = 16,
45        GPG_EDITKEY_DISABLE = 17,
46        GPG_EDITKEY_SETPREF = 18,
47        GPG_EDITKEY_DELSIG  = 21,
48        GPG_EDITKEY_KEYSERV = 23
49    };
50    
51    /* Reasons for revocations. */
52    enum {
53        GPG_REVOKE_INSECURE   = 1,
54        GPG_REVOKE_SUPERSEDED = 2,
55        GPG_REVOKE_NOUSED     = 3
56    };
57    
58    
59    /* Possible results for the operation. */
60    enum {
61        GPG_EDITRES_ALREADY_SIGNED = 1
62    };
63    
64    /* Contain information about designated revokers. */
65    struct gpg_desig_rev_s {
66        struct gpg_desig_rev_s *next;
67        gpgme_pubkey_algo_t pubkey_algo;
68        char fpr[41];
69    };
70    typedef struct gpg_desig_rev_s *gpg_desig_rev_t;
71    
72    /* Context to hold all user-ID information. */
73    struct gpg_user_id_info_s {
74        struct gpg_user_id_info_s *next;
75        struct {
76            unsigned int revoked:1;
77            unsigned int invalid:1;
78            unsigned int primary:1;
79            unsigned int mdc:1;
80            unsigned int no_ks_modify:1;
81        } flags;
82        int  validity;
83        char *name;
84        char *email;
85        char *prefs;    
86        int  index;
87    };
88    typedef struct gpg_user_id_info_s *gpg_uid_info_t;
89    
90    /* Class to abstract the gpg edit key interface. */
91    class GpgKeyEdit {
92    private:
93        gpgme_key_t key;
94        gpgme_ctx_t ctx;
95        int resval;
96    
97    public:
98        int type;
99        int cnt;
100        int cmd_sent;
101        const char *pass;
102        const char *new_pass;
103        int sig_index;
104        int key_index;
105        int uid_index;
106        const char *url;
107        int trust_id;
108        char *name, *cmt, *email;
109        const char *exp_date; /* XXX */
110        gpgme_pubkey_algo_t pubkey_algo;
111        int pubkey_size;
112        int valid; /* XXX */
113        int flags;
114        int sig_class;
115        int reason;
116    
117    public:
118        GpgKeyEdit (gpgme_key_t key);
119        GpgKeyEdit (const char *keyid);
120        ~GpgKeyEdit (void);
121    
122        bool isValid (void);
123        gpgme_key_t getKey (void);
124        void reset (void);
125    
126        void setPassphrase (const char *pass);
127        void setKey (gpgme_key_t key);
128        void setKeyID (const char *keyid);
129        void setLocalUser (gpgme_key_t locusr);
130        void setCallback (gpgme_progress_cb_t cb, void *cb_value);
131    
132        void setResultValue (int val);
133        int  getResultValue (void);
134    
135        gpgme_error_t signKey (int mode, int sig_class, const char *exp_date);
136        gpgme_error_t setTrust (gpgme_validity_t trust);
137        gpgme_error_t addUserid (const char *name, const char *cmt, const char *email);
138        gpgme_error_t delUserid (int index);
139        gpgme_error_t delKey (int index);
140        gpgme_error_t addSubkey (gpgme_pubkey_algo_t pubkey_algo, unsigned int nbits,
141                                 long valid);
142        gpgme_error_t changePassphrase (const char *new_pass, int allow_empty);
143        gpgme_error_t setPrimaryUserid (int uid_indx);
144        gpgme_error_t setKeyExpireDate (int key_index, long exp_timestamp);
145        gpgme_error_t revokeSignature (int uid_index, int sig_index);
146        gpgme_error_t revokeSubkey (int key_index, int reason, const char *cmt);
147        gpgme_error_t revokeKey (int reason, const char *cmt);
148        gpgme_error_t addDesignatedRevoker (const char *uid);
149        gpgme_error_t addPhotoid (const char *jpg_file);
150        gpgme_error_t enable (void);
151        gpgme_error_t disable (void);
152        gpgme_error_t setUseridPreferences (int uid_index, const char *new_prefs);
153        gpgme_error_t delUseridSignature (int uid_index, int sig_index);
154        gpgme_error_t setPreferredKeyserver (int uid_index, const char *url);
155    
156        gpgme_error_t getUseridInfo (gpg_uid_info_t *r_uinf);
157    
158        gpgme_error_t getDesignatedRevoker (gpg_desig_rev_t *r_rev);
159    };
160    
161  BOOL keyedit_add_subkey (winpt_key_t k, HWND dlg, listview_ctrl_t lv);  BOOL keyedit_add_subkey (winpt_key_t k, HWND dlg, listview_ctrl_t lv);
162  BOOL keyedit_add_userid (winpt_key_t k, HWND dlg, listview_ctrl_t lv);  BOOL keyedit_add_userid (winpt_key_t k, HWND dlg, listview_ctrl_t lv);
163  BOOL keyedit_add_revoker (winpt_key_t k, HWND dlg);  BOOL keyedit_add_revoker (winpt_key_t k, HWND dlg);
164  BOOL keyedit_add_photo (winpt_key_t k, HWND dlg );  BOOL keyedit_add_photo (winpt_key_t k, HWND dlg );
165  BOOL keyedit_change_passwd (winpt_key_t k, HWND dlg);  BOOL keyedit_change_passwd (winpt_key_t k, HWND dlg);
166    BOOL keyedit_set_pref_keyserver (winpt_key_t k, HWND dlg);
167    
168    gpgme_error_t gpg_editkey (gpgme_ctx_t ctx, gpgme_key_t key, GpgKeyEdit *ek);
169    void          gpg_uid_info_release (gpg_uid_info_t inf);
170    void          gpg_desig_rev_release (gpg_desig_rev_t rev);
171    
 #endif /*WPT_KEY_EDIT_H*/  
172    #endif /*WPT_KEY_EDIT_H*/

Legend:
Removed from v.2  
changed lines
  Added in v.24

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26