1/*
2 gpgsignkeyeditinteractor.h - Edit Interactor to change the owner trust of an OpenPGP key
3 Copyright (C) 2008 Klarälvdalens Datakonsult AB
4
5 This file is part of GPGME++.
6
7 GPGME++ is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
11
12 GPGME++ 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 Library General Public License for more details.
16
17 You should have received a copy of the GNU Library General Public License
18 along with GPGME++; see the file COPYING.LIB. If not, write to the
19 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
21*/
22
23#ifndef __GPGMEPP_GPGSIGNKEYEDITINTERACTOR_H__
24#define __GPGMEPP_GPGSIGNKEYEDITINTERACTOR_H__
25
26#include <gpgme++/editinteractor.h>
27
28#include <string>
29#include <vector>
30
31namespace GpgME {
32
33 class Key;
34 class UserID;
35
36 class GPGMEPP_EXPORT GpgSignKeyEditInteractor : public EditInteractor {
37 public:
38 enum SignOption {
39 Exportable=0x1,
40 NonRevocable=0x2,
41 Trust=0x4
42 };
43
44 GpgSignKeyEditInteractor();
45 ~GpgSignKeyEditInteractor();
46
47 void setCheckLevel( unsigned int checkLevel );
48 void setUserIDsToSign( const std::vector<unsigned int> & userIDsToSign );
49 void setSigningOptions( int options );
50
51 private:
52 /* reimp */ const char * action( Error & err ) const;
53 /* reimp */ unsigned int nextState( unsigned int statusCode, const char * args, Error & err ) const;
54
55 private:
56 class Private;
57 Private * const d;
58 };
59
60} // namespace GpgME
61
62#endif // __GPGMEPP_GPGSIGNKEYEDITINTERACTOR_H__
63