/[winpt]/trunk/Src/wptCardManager.cpp
ViewVC logotype

Annotation of /trunk/Src/wptCardManager.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 278 - (hide annotations)
Mon Jan 15 22:02:04 2007 UTC (18 years, 1 month ago) by twoaday
File size: 2122 byte(s)
See ChangeLog.


1 werner 36 /* wptCardManager.cpp
2     * Copyright (C) 2003, 2005 Timo Schulz
3     * Copyright (C) 2005 g10 Code GmbH
4     *
5     * This file is part of WinPT.
6     *
7     * WinPT is free software; you can redistribute it and/or modify
8     * it under the terms of the GNU General Public License as published by
9     * the Free Software Foundation; either version 2 of the License, or
10     * (at your option) any later version.
11     *
12     * WinPT is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     */
17     #ifdef HAVE_CONFIG_H
18     #include <config.h>
19     #endif
20    
21     #include <stdio.h>
22     #include <windows.h>
23    
24     #include "wptTypes.h"
25     #include "wptW32API.h"
26     #include "wptVersion.h"
27     #include "wptNLS.h"
28     #include "wptGPG.h"
29     #include "wptCard.h"
30 werner 47 #include "resource.h"
31 werner 36
32    
33     /* Dialog box procedure for the card callback. */
34     static BOOL CALLBACK
35     card_cb_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
36     {
37     static card_cb_s * ctx;
38    
39     switch( msg ) {
40     case WM_INITDIALOG:
41     ctx = (struct card_cb_s *)lparam;
42 twoaday 185 if (!ctx)
43     BUG (NULL);
44 werner 36 switch (ctx->code) {
45     case CARD_CTL_INSERT:
46     ShowWindow (GetDlgItem (dlg, IDC_CCTRL_VAL), FALSE);
47     SetDlgItemText (dlg, IDC_CCTRL_MSG,
48     _("Please insert the OpenPGP smart card\n"
49     "Press OK to continue or Cancel"));
50     break;
51     }
52     center_window (dlg, NULL);
53     SetForegroundWindow (dlg);
54     break;
55    
56     case WM_COMMAND:
57     switch (LOWORD (wparam)) {
58     case IDOK:
59     strcpy (ctx->val, "\r\n");
60     EndDialog( dlg, TRUE );
61     break;
62    
63     case IDCANCEL:
64     strcpy (ctx->val, "c");
65     ctx->cancel = 1;
66     EndDialog (dlg, FALSE);
67     break;
68     }
69     break;
70     }
71    
72     return FALSE;
73     }
74    
75    
76     const char*
77     card_callback (int code, void *opaque)
78     {
79     struct card_cb_s *ctx = (struct card_cb_s *)opaque;
80    
81     if (!ctx)
82     return NULL;
83    
84     if (!ctx->init) {
85     memset (ctx->val, 0, sizeof (ctx->val));
86     ctx->code = code;
87     DialogBoxParam (glob_hinst, (LPCTSTR)IDD_WINPT_CARD_CTRL, glob_hwnd,
88     card_cb_dlg_proc, (LPARAM)ctx);
89     ctx->init = 0;
90     }
91    
92     return ctx->val;
93     }

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26