Blame lang/cpp/src/context_p.h

Packit d7e8d0
/*
Packit d7e8d0
  context_p.h - wraps a gpgme context (private part)
Packit d7e8d0
  Copyright (C) 2003, 2007 Klarälvdalens Datakonsult AB
Packit d7e8d0
  2016 Bundesamt für Sicherheit in der Informationstechnik
Packit d7e8d0
  Software engineering by Intevation GmbH
Packit d7e8d0
Packit d7e8d0
  This file is part of GPGME++.
Packit d7e8d0
Packit d7e8d0
  GPGME++ is free software; you can redistribute it and/or
Packit d7e8d0
  modify it under the terms of the GNU Library General Public
Packit d7e8d0
  License as published by the Free Software Foundation; either
Packit d7e8d0
  version 2 of the License, or (at your option) any later version.
Packit d7e8d0
Packit d7e8d0
  GPGME++ is distributed in the hope that it will be useful,
Packit d7e8d0
  but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit d7e8d0
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit d7e8d0
  GNU Library General Public License for more details.
Packit d7e8d0
Packit d7e8d0
  You should have received a copy of the GNU Library General Public License
Packit d7e8d0
  along with GPGME++; see the file COPYING.LIB.  If not, write to the
Packit d7e8d0
  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Packit d7e8d0
  Boston, MA 02110-1301, USA.
Packit d7e8d0
*/
Packit d7e8d0
Packit d7e8d0
// -*- c++ -*-
Packit d7e8d0
#ifndef __GPGMEPP_CONTEXT_P_H__
Packit d7e8d0
#define __GPGMEPP_CONTEXT_P_H__
Packit d7e8d0
Packit d7e8d0
#include <context.h>
Packit d7e8d0
#include <data.h>
Packit d7e8d0
Packit d7e8d0
#include <gpgme.h>
Packit d7e8d0
Packit d7e8d0
namespace GpgME
Packit d7e8d0
{
Packit d7e8d0
Packit d7e8d0
class Context::Private
Packit d7e8d0
{
Packit d7e8d0
public:
Packit d7e8d0
    enum Operation {
Packit d7e8d0
        None = 0,
Packit d7e8d0
Packit d7e8d0
        Encrypt   = 0x001,
Packit d7e8d0
        Decrypt   = 0x002,
Packit d7e8d0
        Sign      = 0x004,
Packit d7e8d0
        Verify    = 0x008,
Packit d7e8d0
        DecryptAndVerify = Decrypt | Verify,
Packit d7e8d0
        SignAndEncrypt   = Sign | Encrypt,
Packit d7e8d0
Packit d7e8d0
        Import    = 0x010,
Packit d7e8d0
        Export    = 0x020, // no gpgme_export_result_t, but nevertheless...
Packit d7e8d0
        Delete    = 0x040, // no gpgme_delete_result_t, but nevertheless...
Packit d7e8d0
Packit d7e8d0
        KeyGen    = 0x080,
Packit d7e8d0
        KeyList   = 0x100,
Packit d7e8d0
        TrustList = 0x200, // no gpgme_trustlist_result_t, but nevertheless...
Packit d7e8d0
Packit d7e8d0
        Edit      = 0x400, // no gpgme_edit_result_t, but nevertheless...
Packit d7e8d0
        CardEdit  = 0x800, // no gpgme_card_edit_result_t, but nevertheless...
Packit d7e8d0
Packit d7e8d0
        GetAuditLog = 0x1000, // no gpgme_getauditlog_result_t, but nevertheless...
Packit d7e8d0
Packit d7e8d0
        AssuanTransact = 0x2000,
Packit d7e8d0
        Passwd    = 0x4000, // no gpgme_passwd_result_t, but nevertheless...
Packit d7e8d0
Packit d7e8d0
        CreateVFS = 0x4000,
Packit d7e8d0
        MountVFS = 0x8000,
Packit d7e8d0
Packit d7e8d0
        EndMarker
Packit d7e8d0
    };
Packit d7e8d0
Packit Service 30b792
    Private(gpgme_ctx_t c = nullptr);
Packit d7e8d0
    ~Private();
Packit d7e8d0
Packit d7e8d0
    gpgme_ctx_t ctx;
Packit d7e8d0
    gpgme_io_cbs *iocbs;
Packit d7e8d0
    Operation lastop;
Packit d7e8d0
    gpgme_error_t lasterr;
Packit d7e8d0
    Data lastAssuanInquireData;
Packit d7e8d0
    std::unique_ptr<AssuanTransaction> lastAssuanTransaction;
Packit d7e8d0
    std::unique_ptr<EditInteractor> lastEditInteractor, lastCardEditInteractor;
Packit d7e8d0
    DecryptionFlags decryptFlags;
Packit d7e8d0
};
Packit d7e8d0
Packit d7e8d0
} // namespace GpgME
Packit d7e8d0
Packit d7e8d0
#endif // __GPGMEPP_CONTEXT_P_H__