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

Annotation of /trunk/Include/wptFileManager.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 197 - (hide annotations)
Mon Apr 10 07:38:06 2006 UTC (18 years, 10 months ago) by twoaday
File MIME type: text/plain
File size: 4779 byte(s)
2006-04-09  Timo Schulz  <ts@g10code.de>
 
        * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Only return true
        if the homedir value was changed.
        * wptGPG.cpp (default_key_from_cache): Only return secret key
        if public part is available.
        (set_gnupg_default_key): Fix NULL problem.
        * wptKeyEditDlgs.cpp (do_editkey_clean): Set update flag.
        * wptFileCBS.cpp (write_cb, read_cb): Better error handling.
        * wptFileManagerDlg.cpp (file_manager_dlg_proc): Handle
        'always-on-top' correctly.
        * wptKeylist.cpp (keylist_get_recipients): Allocate enough
        mem to hold all possible keys.
        (keylist_enum_keys): Likewise.


1 werner 37 /* wptFileManager.h - File manager routines
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    
21     #ifndef WPT_FILE_MANAGER_H
22     #define WPT_FILE_MANAGER_H
23    
24     /* File manager commands. */
25     enum fm_cmd_t {
26     FM_NONE = 0,
27     FM_ENCRYPT = 1,
28     FM_SYMENC = 2,
29     FM_DECRYPT = 3,
30     FM_SIGN = 4,
31     FM_SIGNENCRYPT = 5,
32     FM_VERIFY = 6,
33     FM_IMPORT = 7,
34     FM_LIST = 8,
35     FM_WIPE = 9,
36     FM_ENCRYPT_DIR = 10,
37 twoaday 77 FM_ENCRYPT_ZIP = 11
38 werner 37 };
39    
40     /* Sort by constants. */
41     enum fm_sort_t {
42     FM_SORT_NONE = 0,
43     FM_SORT_STAT = 1,
44     FM_SORT_NAME = 2,
45     FM_SORT_OP = 3
46     };
47    
48     /* File manager handle. */
49     struct fm_state_s {
50     gpgme_ctx_t ctx; /* currently used gpgme context. */
51     gpgme_key_t *recp; /* selected recipients. */
52     int n_recp;
53     char *output; /* output file name. */
54     char *opaque;
55     int cancel; /* 1=if user cancelled operation. */
56     HWND dlg; /* handle to the calling dialog. */
57     struct passphrase_cb_s pass_cb;
58     struct progress_filter_s *prog_cb;
59     int init_cb;
60     int cache_cb;
61     gpgme_sig_mode_t sigmode; /* used signature mode. */
62     struct {
63 twoaday 165 unsigned int is_clip:1; /* 1=if clipboard operation. */
64 werner 37 unsigned int revcert:1;
65     unsigned int has_seckey:1;
66     } import;
67     unsigned int wipe:1; /* 1=if original file should be wiped. */
68     unsigned int req_signer:1; /* 1=if user wants to select a signer. */
69     };
70     typedef struct fm_state_s * fm_state_t;
71    
72 twoaday 119
73 twoaday 195 /* Signature verification context for a file. */
74     struct file_sig_ctx_s {
75     char *file; /* plaintext file name */
76     gpgme_signature_t sig; /* the actual signature */
77     unsigned use_uid:1; /* 1=if the user id from context should be used. */
78     const char *user_id;
79     };
80     typedef struct file_sig_ctx_s *file_sig_ctx_t;
81    
82    
83 twoaday 105 enum file_data_flag_t {
84     F_DATA_WRITE = 0,
85 twoaday 119 F_DATA_READ = 1,
86     F_DATA_NOMAP = 2
87 twoaday 105 };
88 twoaday 119
89 werner 37 /* Gpg file handle. */
90     struct file_data_s {
91 twoaday 119 struct gpgme_data_cbs cbs;
92     HANDLE handle;
93 twoaday 197 int error;
94 werner 37 gpgme_data_t dat;
95     unsigned long size;
96     unsigned long off;
97     void *cb_value;
98 twoaday 119 char *name;
99 werner 37 };
100     typedef struct file_data_s *file_data_t;
101    
102     /*-- wptFileCBS.cpp --*/
103 twoaday 119 gpgme_error_t gpg_file_data_new (const char *fname, int flags,
104 werner 37 file_data_t *r_cb);
105     void gpg_file_data_release (file_data_t cb);
106     void gpg_file_data_set_cb (file_data_t ctx,
107     struct progress_filter_s *pfx);
108    
109     /*-- wptFileManager.cpp --*/
110     char * fm_quote_file (const char * name);
111     int fm_parse_command_line (char * cmdl);
112     int fm_parse_files (listview_ctrl_t lv, HWND dlg, int cmd);
113     int fm_state_new (fm_state_t *ctx);
114     void fm_state_release (fm_state_t ctx);
115     int fm_build (listview_ctrl_t *lv, HWND ctrl);
116     void fm_delete (listview_ctrl_t lv);
117     int fm_add_dropped_files (listview_ctrl_t lv, HDROP dd_files);
118     int fm_add_opened_files (listview_ctrl_t lv, HWND dlg);
119     void fm_remove_crit_file_attrs (const char *fname, int force);
120     int fm_get_current_pos (listview_ctrl_t lv);
121     int fm_sort (listview_ctrl_t lv, int sortby);
122     void fm_print_md (listview_ctrl_t lv, HWND dlg, int mdalgo);
123     int fm_assume_onepass_sig (const char * fname);
124     int fm_check_file_type (listview_ctrl_t lv, int pos, int fm_cmd);
125     int fm_send_file (listview_ctrl_t lv);
126    
127 twoaday 195 /*-- wptFileVerifyDlg.cpp --*/
128     void file_verify_add_state (file_sig_ctx_t c);
129     void file_verify_wait (void);
130    
131 werner 37 /*-- ccommands --*/
132 twoaday 77 int fm_encrypt_into_zip (fm_state_t ctx, listview_ctrl_t lv);
133 werner 37 int fm_encrypt (fm_state_t c, const char * name, int sign);
134     int fm_sym_encrypt (fm_state_t c, const char * name);
135     int fm_decrypt (fm_state_t c, const char * name);
136     int fm_sign (fm_state_t c, const char * name);
137     int fm_verify (fm_state_t c, int detached, const char * name);
138     int fm_import(fm_state_t c, const char *name);
139     int fm_wipe (const char * name);
140     int fm_list (const char * name, HWND dlg);
141     int fm_encrypt_directory (fm_state_t c, const char * name);
142     int fm_verify_pasted_detsig (listview_ctrl_t lv, HWND dlg);
143     int fm_assume_onepass_sig (const char * fname);
144    
145     #endif /* WPT_FILE_MANAGER_H */

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26