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

Annotation of /trunk/Include/wptFileManager.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 329 - (hide annotations)
Fri Sep 25 16:08:14 2009 UTC (15 years, 5 months ago) by twoaday
File MIME type: text/plain
File size: 4948 byte(s)


1 werner 37 /* wptFileManager.h - File manager routines
2 twoaday 329 * Copyright (C) 2001-2006, 2008 Timo Schulz
3 werner 37 *
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_ENCRYPT_DIR = 10,
36 twoaday 77 FM_ENCRYPT_ZIP = 11
37 werner 37 };
38    
39 twoaday 243
40     /* Symbolic column IDs. */
41     enum {
42     FM_COL_STAT = 0,
43     FM_COL_NAME = 1,
44     FM_COL_OP = 2
45 werner 37 };
46    
47 twoaday 243
48     /* File Manager model to represent the list view. */
49     struct fm_model_s {
50     struct fm_model_s *next;
51     char *status;
52     char *name;
53     char *op;
54     };
55     typedef fm_model_s *fm_model_t;
56    
57    
58     /* File Manager dialog handle. */
59     struct fm_info_s {
60     HWND statbar;
61     HMENU menu;
62     listview_ctrl_t lv;
63     fm_model_t model;
64     };
65     typedef struct fm_info_s *fm_info_t;
66    
67 werner 37 /* File manager handle. */
68     struct fm_state_s {
69     gpgme_ctx_t ctx; /* currently used gpgme context. */
70     gpgme_key_t *recp; /* selected recipients. */
71 twoaday 260 size_t n_recp; /* number of recipients. */
72 werner 37 char *output; /* output file name. */
73     char *opaque;
74     int cancel; /* 1=if user cancelled operation. */
75     HWND dlg; /* handle to the calling dialog. */
76     struct passphrase_cb_s pass_cb;
77     struct progress_filter_s *prog_cb;
78     int init_cb;
79     int cache_cb;
80     gpgme_sig_mode_t sigmode; /* used signature mode. */
81     struct {
82 twoaday 165 unsigned int is_clip:1; /* 1=if clipboard operation. */
83 werner 37 unsigned int revcert:1;
84     unsigned int has_seckey:1;
85     } import;
86     unsigned int req_signer:1; /* 1=if user wants to select a signer. */
87     };
88 twoaday 243 typedef struct fm_state_s *fm_state_t;
89 werner 37
90 twoaday 119
91 twoaday 195 /* Signature verification context for a file. */
92     struct file_sig_ctx_s {
93     char *file; /* plaintext file name */
94     gpgme_signature_t sig; /* the actual signature */
95     unsigned use_uid:1; /* 1=if the user id from context should be used. */
96     const char *user_id;
97     };
98     typedef struct file_sig_ctx_s *file_sig_ctx_t;
99    
100    
101 twoaday 273 /* Gpg file handle. */
102 twoaday 105 enum file_data_flag_t {
103     F_DATA_WRITE = 0,
104 twoaday 119 F_DATA_READ = 1,
105     F_DATA_NOMAP = 2
106 twoaday 105 };
107 twoaday 119
108 werner 37 struct file_data_s {
109 twoaday 119 struct gpgme_data_cbs cbs;
110     HANDLE handle;
111 twoaday 197 int error;
112 werner 37 gpgme_data_t dat;
113     unsigned long size;
114     unsigned long off;
115     void *cb_value;
116 twoaday 119 char *name;
117 werner 37 };
118     typedef struct file_data_s *file_data_t;
119    
120     /*-- wptFileCBS.cpp --*/
121 twoaday 119 gpgme_error_t gpg_file_data_new (const char *fname, int flags,
122 werner 37 file_data_t *r_cb);
123 twoaday 271 void gpg_file_data_rewind (file_data_t cb);
124 werner 37 void gpg_file_data_release (file_data_t cb);
125     void gpg_file_data_set_cb (file_data_t ctx,
126     struct progress_filter_s *pfx);
127    
128     /*-- wptFileManager.cpp --*/
129 twoaday 273 char *fm_quote_file (const char *name);
130     int fm_parse_command_line (char *cmdl);
131 werner 37 int fm_parse_files (listview_ctrl_t lv, HWND dlg, int cmd);
132     int fm_state_new (fm_state_t *ctx);
133     void fm_state_release (fm_state_t ctx);
134 twoaday 243 void fm_reset (fm_info_t fm);
135     void fm_build (fm_info_t *r_fm, HWND ctrl);
136     void fm_delete (fm_info_t fm);
137     int fm_add_dropped_files (fm_info_t fm, HDROP dd_files);
138     int fm_add_opened_files (fm_info_t fm, HWND dlg);
139 werner 37 void fm_remove_crit_file_attrs (const char *fname, int force);
140     int fm_get_current_pos (listview_ctrl_t lv);
141     int fm_sort (listview_ctrl_t lv, int sortby);
142     void fm_print_md (listview_ctrl_t lv, HWND dlg, int mdalgo);
143     int fm_assume_onepass_sig (const char * fname);
144     int fm_check_file_type (listview_ctrl_t lv, int pos, int fm_cmd);
145     int fm_send_file (listview_ctrl_t lv);
146    
147 twoaday 195 /*-- wptFileVerifyDlg.cpp --*/
148     void file_verify_add_state (file_sig_ctx_t c);
149     void file_verify_wait (void);
150    
151 werner 37 /*-- ccommands --*/
152     int fm_encrypt (fm_state_t c, const char * name, int sign);
153     int fm_sym_encrypt (fm_state_t c, const char * name);
154     int fm_decrypt (fm_state_t c, const char * name);
155     int fm_sign (fm_state_t c, const char * name);
156     int fm_verify (fm_state_t c, int detached, const char * name);
157     int fm_import(fm_state_t c, const char *name);
158 twoaday 329 void fm_list (const char * name, HWND dlg);
159 werner 37 int fm_verify_pasted_detsig (listview_ctrl_t lv, HWND dlg);
160     int fm_assume_onepass_sig (const char * fname);
161    
162     #endif /* WPT_FILE_MANAGER_H */

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26