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

Annotation of /trunk/Include/wptFileManager.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 195 - (hide annotations)
Mon Apr 3 17:10:47 2006 UTC (18 years, 11 months ago) by twoaday
File MIME type: text/plain
File size: 4758 byte(s)
Prepare new release.


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 werner 37 gpgme_data_t dat;
94     unsigned long size;
95     unsigned long off;
96     void *cb_value;
97 twoaday 119 char *name;
98 werner 37 };
99     typedef struct file_data_s *file_data_t;
100    
101     /*-- wptFileCBS.cpp --*/
102 twoaday 119 gpgme_error_t gpg_file_data_new (const char *fname, int flags,
103 werner 37 file_data_t *r_cb);
104     void gpg_file_data_release (file_data_t cb);
105     void gpg_file_data_set_cb (file_data_t ctx,
106     struct progress_filter_s *pfx);
107    
108     /*-- wptFileManager.cpp --*/
109     char * fm_quote_file (const char * name);
110     int fm_parse_command_line (char * cmdl);
111     int fm_parse_files (listview_ctrl_t lv, HWND dlg, int cmd);
112     int fm_state_new (fm_state_t *ctx);
113     void fm_state_release (fm_state_t ctx);
114     int fm_build (listview_ctrl_t *lv, HWND ctrl);
115     void fm_delete (listview_ctrl_t lv);
116     int fm_add_dropped_files (listview_ctrl_t lv, HDROP dd_files);
117     int fm_add_opened_files (listview_ctrl_t lv, HWND dlg);
118     void fm_remove_crit_file_attrs (const char *fname, int force);
119     int fm_get_current_pos (listview_ctrl_t lv);
120     int fm_sort (listview_ctrl_t lv, int sortby);
121     void fm_print_md (listview_ctrl_t lv, HWND dlg, int mdalgo);
122     int fm_assume_onepass_sig (const char * fname);
123     int fm_check_file_type (listview_ctrl_t lv, int pos, int fm_cmd);
124     int fm_send_file (listview_ctrl_t lv);
125    
126 twoaday 195 /*-- wptFileVerifyDlg.cpp --*/
127     void file_verify_add_state (file_sig_ctx_t c);
128     void file_verify_wait (void);
129    
130 werner 37 /*-- ccommands --*/
131 twoaday 77 int fm_encrypt_into_zip (fm_state_t ctx, listview_ctrl_t lv);
132 werner 37 int fm_encrypt (fm_state_t c, const char * name, int sign);
133     int fm_sym_encrypt (fm_state_t c, const char * name);
134     int fm_decrypt (fm_state_t c, const char * name);
135     int fm_sign (fm_state_t c, const char * name);
136     int fm_verify (fm_state_t c, int detached, const char * name);
137     int fm_import(fm_state_t c, const char *name);
138     int fm_wipe (const char * name);
139     int fm_list (const char * name, HWND dlg);
140     int fm_encrypt_directory (fm_state_t c, const char * name);
141     int fm_verify_pasted_detsig (listview_ctrl_t lv, HWND dlg);
142     int fm_assume_onepass_sig (const char * fname);
143    
144     #endif /* WPT_FILE_MANAGER_H */

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26