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

Contents of /trunk/Include/wptFileManager.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 77 - (show annotations)
Mon Nov 14 15:01:01 2005 UTC (19 years, 3 months ago) by twoaday
File MIME type: text/plain
File size: 4133 byte(s)
2005-11-12  Timo Schulz  <ts@g10code.com>
 
        Fix more GCC warnings.
 
2005-11-10  Timo Schulz  <ts@g10code.com>
 
        * wptClipSignDlg.cpp (one_key_proc): Use
        release_gpg_passphrase_cb() to free the context.
        * wptListView.cpp (listview_deselect_all): New.
        * wptMAPI.cpp (mapi_send_pubkey): Works again.
        * wptFileManagerDlg.cpp (file_manager_dlg_proc): Support encrypt &
        zip.
        * wptPassphraseCB.cpp (passphrase_callback_proc): Fix passphrase
        caching for signing operations.
        * wptKeyManager.cpp (km_send_to_mail_recipient): Works again.
        * wptFileManager.cpp (fm_send_file): Likewise.
        (fm_encrypt_into_zip): New.
         

1 /* 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 FM_ENCRYPT_ZIP = 11
38 };
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 unsigned int revcert:1;
64 unsigned int has_seckey:1;
65 } import;
66 unsigned int wipe:1; /* 1=if original file should be wiped. */
67 unsigned int req_signer:1; /* 1=if user wants to select a signer. */
68 };
69 typedef struct fm_state_s * fm_state_t;
70
71 /* Gpg file handle. */
72 struct file_data_s {
73 struct gpgme_data_cbs cbs;
74 FILE *handle;
75 gpgme_data_t dat;
76 unsigned long size;
77 unsigned long off;
78 void *cb_value;
79 };
80 typedef struct file_data_s *file_data_t;
81
82 /*-- wptFileCBS.cpp --*/
83 gpgme_error_t gpg_file_data_new (const char *fname, int for_read,
84 file_data_t *r_cb);
85 void gpg_file_data_release (file_data_t cb);
86 void gpg_file_data_set_cb (file_data_t ctx,
87 struct progress_filter_s *pfx);
88
89 /*-- wptFileManager.cpp --*/
90 char * fm_quote_file (const char * name);
91 int fm_parse_command_line (char * cmdl);
92 int fm_parse_files (listview_ctrl_t lv, HWND dlg, int cmd);
93 int fm_state_new (fm_state_t *ctx);
94 void fm_state_release (fm_state_t ctx);
95 int fm_build (listview_ctrl_t *lv, HWND ctrl);
96 void fm_delete (listview_ctrl_t lv);
97 int fm_add_dropped_files (listview_ctrl_t lv, HDROP dd_files);
98 int fm_add_opened_files (listview_ctrl_t lv, HWND dlg);
99 void fm_remove_crit_file_attrs (const char *fname, int force);
100 int fm_get_current_pos (listview_ctrl_t lv);
101 int fm_sort (listview_ctrl_t lv, int sortby);
102 void fm_print_md (listview_ctrl_t lv, HWND dlg, int mdalgo);
103 int fm_assume_onepass_sig (const char * fname);
104 int fm_check_file_type (listview_ctrl_t lv, int pos, int fm_cmd);
105 int fm_send_file (listview_ctrl_t lv);
106
107 /*-- ccommands --*/
108 int fm_encrypt_into_zip (fm_state_t ctx, listview_ctrl_t lv);
109 int fm_encrypt (fm_state_t c, const char * name, int sign);
110 int fm_sym_encrypt (fm_state_t c, const char * name);
111 int fm_decrypt (fm_state_t c, const char * name);
112 int fm_sign (fm_state_t c, const char * name);
113 int fm_verify (fm_state_t c, int detached, const char * name);
114 int fm_import(fm_state_t c, const char *name);
115 int fm_wipe (const char * name);
116 int fm_list (const char * name, HWND dlg);
117 int fm_encrypt_directory (fm_state_t c, const char * name);
118 int fm_verify_pasted_detsig (listview_ctrl_t lv, HWND dlg);
119 int fm_assume_onepass_sig (const char * fname);
120
121 #endif /* WPT_FILE_MANAGER_H */

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26