From e20b0f0201543834f15c5d50cd3b2ece69a35d70 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 23 Aug 2016 19:50:01 +0200 Subject: 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 --- lang/cpp/src/context.cpp | 62 +++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 27 deletions(-) (limited to 'lang/cpp/src/context.cpp') 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 #include #include -#include #include #include #include @@ -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(new DefaultAssuanTransaction)); } -AssuanResult Context::assuanTransact(const char *command, std::unique_ptr transaction) +Error Context::assuanTransact(const char *command, std::unique_ptr 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 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 -- cgit v1.2.3