aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src/context.cpp
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-08-23 17:50:01 +0000
committerAndre Heinecke <[email protected]>2016-08-24 12:15:58 +0000
commite20b0f0201543834f15c5d50cd3b2ece69a35d70 (patch)
treef302e7257752d117d534df052186b22fc18743c8 /lang/cpp/src/context.cpp
parentQt: Adapt (disabled) tofuinfo test to new API (diff)
downloadgpgme-e20b0f0201543834f15c5d50cd3b2ece69a35d70.tar.gz
gpgme-e20b0f0201543834f15c5d50cd3b2ece69a35d70.zip
cpp: Get rid of AssuanResult due to its deprecation.
* lang/cpp/src/assuanresult.cpp: Remove. * lang/cpp/src/assuanresult.h: Remove. * lang/cpp/src/Makefile.am: Remove these files. * lang/cpp/src/context.cpp: Remove header assuanresult.h (assuanTransact): Change return type to Error. Use gpgme_op_assuan_transact_ext. (startAssuanTransaction): Change return type to Error. (assuanResult): Remove * lang/cpp/src/context.h (assuanResult): Adjust for changes. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'lang/cpp/src/context.cpp')
-rw-r--r--lang/cpp/src/context.cpp62
1 files changed, 35 insertions, 27 deletions
diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp
index 11080cfa..4e66d3b9 100644
--- a/lang/cpp/src/context.cpp
+++ b/lang/cpp/src/context.cpp
@@ -23,7 +23,6 @@
#include <context.h>
#include <eventloopinteractor.h>
#include <trustitem.h>
-#include <assuanresult.h>
#include <keylistresult.h>
#include <keygenerationresult.h>
#include <importresult.h>
@@ -801,26 +800,36 @@ static gpgme_error_t assuan_transaction_status_callback(void *opaque, const char
return t->status(status, a.c_str()).encodedError();
}
-AssuanResult Context::assuanTransact(const char *command)
+Error Context::assuanTransact(const char *command)
{
return assuanTransact(command, std::unique_ptr<AssuanTransaction>(new DefaultAssuanTransaction));
}
-AssuanResult Context::assuanTransact(const char *command, std::unique_ptr<AssuanTransaction> transaction)
+Error Context::assuanTransact(const char *command, std::unique_ptr<AssuanTransaction> transaction)
{
+ gpgme_error_t err, operr;
+
d->lastop = Private::AssuanTransact;
d->lastAssuanTransaction = std::move(transaction);
if (!d->lastAssuanTransaction.get()) {
- return AssuanResult(Error(d->lasterr = make_error(GPG_ERR_INV_ARG)));
+ return Error(d->lasterr = make_error(GPG_ERR_INV_ARG));
}
- d->lasterr = gpgme_op_assuan_transact(d->ctx, command,
- assuan_transaction_data_callback,
- d->lastAssuanTransaction.get(),
- assuan_transaction_inquire_callback,
- d, // sic!
- assuan_transaction_status_callback,
- d->lastAssuanTransaction.get());
- return AssuanResult(d->ctx, d->lasterr);
+ err = gpgme_op_assuan_transact_ext
+ (d->ctx,
+ command,
+ assuan_transaction_data_callback,
+ d->lastAssuanTransaction.get(),
+ assuan_transaction_inquire_callback,
+ d,
+ assuan_transaction_status_callback,
+ d->lastAssuanTransaction.get(),
+ &operr);
+
+ if (!err)
+ err = operr;
+ d->lasterr = err;
+
+ return Error(d->lasterr);
}
Error Context::startAssuanTransaction(const char *command)
@@ -830,27 +839,26 @@ Error Context::startAssuanTransaction(const char *command)
Error Context::startAssuanTransaction(const char *command, std::unique_ptr<AssuanTransaction> transaction)
{
+ gpgme_error_t err;
+
d->lastop = Private::AssuanTransact;
d->lastAssuanTransaction = std::move(transaction);
if (!d->lastAssuanTransaction.get()) {
return Error(d->lasterr = make_error(GPG_ERR_INV_ARG));
}
- return Error(d->lasterr = gpgme_op_assuan_transact_start(d->ctx, command,
- assuan_transaction_data_callback,
- d->lastAssuanTransaction.get(),
- assuan_transaction_inquire_callback,
- d, // sic!
- assuan_transaction_status_callback,
- d->lastAssuanTransaction.get()));
-}
+ err = gpgme_op_assuan_transact_start
+ (d->ctx,
+ command,
+ assuan_transaction_data_callback,
+ d->lastAssuanTransaction.get(),
+ assuan_transaction_inquire_callback,
+ d,
+ assuan_transaction_status_callback,
+ d->lastAssuanTransaction.get());
-AssuanResult Context::assuanResult() const
-{
- if (d->lastop & Private::AssuanTransact) {
- return AssuanResult(d->ctx, d->lasterr);
- } else {
- return AssuanResult();
- }
+ d->lasterr = err;
+
+ return Error(d->lasterr);
}
AssuanTransaction *Context::lastAssuanTransaction() const