Files
k7/GpgMECWorker.cpp

40 lines
892 B
C++
Raw Normal View History

2019-10-25 20:16:43 +02:00
/*
* File: GpgMECWorker.cpp
2022-11-19 15:56:56 +01:00
* Author: Saleem Edah-Tally - nmset@yandex.com
2019-10-25 20:16:43 +02:00
* License : LGPL v2.1
2022-11-19 15:56:56 +01:00
* Copyright Saleem Edah-Tally - © 2019
2019-10-25 20:16:43 +02:00
*
* Created on 14 octobre 2019, 15:22
*/
#include "GpgMECWorker.h"
2020-11-14 14:46:28 +01:00
GpgMECWorker::GpgMECWorker()
{
2019-10-25 20:16:43 +02:00
gpgme_error_t c_err = gpgme_new(&c_ctx);
}
2020-11-14 14:46:28 +01:00
GpgMECWorker::~GpgMECWorker()
{
2019-10-25 20:16:43 +02:00
gpgme_release(c_ctx);
}
2020-11-14 14:46:28 +01:00
bool GpgMECWorker::DeleteKey(const char * fpr, bool secret, GpgME::Error& e)
{
2019-10-25 20:16:43 +02:00
gpgme_key_t c_key;
gpgme_error_t c_err = gpgme_get_key(c_ctx, fpr, &c_key, secret);
2020-11-14 14:46:28 +01:00
if (c_key == NULL)
{
2019-10-25 20:16:43 +02:00
e = GpgME::Error::fromCode(c_err);
return false;
}
int flags = secret ? GPGME_DELETE_ALLOW_SECRET | GPGME_DELETE_FORCE : GPGME_DELETE_FORCE;
c_err = gpgme_op_delete_ext(c_ctx, c_key, flags);
2020-11-14 14:46:28 +01:00
if (c_err != 0)
{
2019-10-25 20:16:43 +02:00
e = GpgME::Error::fromCode(c_err);
return false;
}
return true;
}