1 |
/* wptContext.h - Internal file to store private contexts |
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 modify |
7 |
* it under the terms of the GNU General Public License as published by |
8 |
* the Free Software Foundation; either version 2 of the License, or |
9 |
* (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 |
14 |
* GNU 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 |
#ifndef WPT_CONTEXT_H |
21 |
#define WPT_CONTEXT_H |
22 |
|
23 |
/* Window subclassing context. */ |
24 |
struct subclass_s { |
25 |
HWND dlg; |
26 |
WNDPROC old; /* old window procedure */ |
27 |
WNDPROC current; /* the subclass window procedure */ |
28 |
void * opaque; |
29 |
}; |
30 |
|
31 |
/* Container for a gpgme key. */ |
32 |
struct winpt_key_s { |
33 |
const char *uid; /* pointer to the first uid */ |
34 |
const char *keyid; /* pointer to the first keyid */ |
35 |
unsigned int key_pair:1; /* is a complete key. */ |
36 |
unsigned int is_protected:1; /* secret key is protected. */ |
37 |
unsigned int update:1; /* 1=need to reload key. */ |
38 |
unsigned int is_v3:1; /* key is version 3 (RSA/MD5) */ |
39 |
unsigned int has_photo:1; /* 1=contains photo-id. */ |
40 |
unsigned int flags; |
41 |
gpgme_key_t ctx; /* if not NULL, the actualy gpgme key */ |
42 |
struct keycache_s *ext; /* extended key attributes or NULL. */ |
43 |
/* Callback structure if a listview needs to be updated. */ |
44 |
struct { |
45 |
listview_ctrl_t ctl; /* the listview control. */ |
46 |
int idx; /* selected index. */ |
47 |
int new_val; /* new value */ |
48 |
} callback; |
49 |
}; |
50 |
typedef struct winpt_key_s * winpt_key_t; |
51 |
|
52 |
/* Text input context for detached sigs. */ |
53 |
struct text_input_s { |
54 |
char *data; /* input data. */ |
55 |
size_t length; /* length of input data. */ |
56 |
int type; /* type of data (0=text data for signature) */ |
57 |
}; |
58 |
|
59 |
/* Date context for the date selection dialog. */ |
60 |
struct date_s { |
61 |
int cancel; /* cancel was hit. */ |
62 |
const char *text; /* text used as the title. */ |
63 |
SYSTEMTIME st; /* selected time by the user. */ |
64 |
}; |
65 |
|
66 |
struct md_file_s { |
67 |
int mdalgo; |
68 |
listview_ctrl_t lv; |
69 |
}; |
70 |
|
71 |
struct secdel_confirm_s { |
72 |
unsigned int yes:1; /* if yes=1 user confirmed delete. */ |
73 |
listview_ctrl_t lv_files;/* listview control with the files to delete. */ |
74 |
}; |
75 |
|
76 |
|
77 |
/* Progress filter context. */ |
78 |
struct progress_filter_s { |
79 |
HWND hwnd; |
80 |
HWND dlg; |
81 |
HANDLE thread_hd; |
82 |
int error; |
83 |
const char *what; |
84 |
int type; |
85 |
unsigned curr; |
86 |
unsigned total; |
87 |
}; |
88 |
|
89 |
/* URL context. */ |
90 |
struct URL_ctx_s { |
91 |
const char *title; /* title for the dialog. */ |
92 |
const char *desc; /* description of what to do. */ |
93 |
char url[256]; /* the selected URL. */ |
94 |
char proxy[64]; |
95 |
int port; /* the port to use. */ |
96 |
int cancel; /* user cancelled operation. */ |
97 |
int check; /* use strict URL checking. */ |
98 |
}; |
99 |
|
100 |
struct first_start_s { |
101 |
int choice; |
102 |
}; |
103 |
|
104 |
/* Key generation context */ |
105 |
struct genkey_s { |
106 |
gpgme_key_t newkey; /* handle to the new key */ |
107 |
int interactive; |
108 |
unsigned int first_start:1; |
109 |
}; |
110 |
|
111 |
#endif /* WPT_CONTEXT_H */ |