diff options
author | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-12-26 20:56:55 +0000 |
---|---|---|
committer | nils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-12-26 20:56:55 +0000 |
commit | 99ea98bc3aaea7e1d8701f221851ba51db8a979c (patch) | |
tree | d98bec7ac3c9d64fb3f90366aaae3fad23e6dde6 /gpgcontext.cpp | |
parent | show reason for strike out in keyserverimport dialog (diff) | |
download | gpg4usb-99ea98bc3aaea7e1d8701f221851ba51db8a979c.tar.gz gpg4usb-99ea98bc3aaea7e1d8701f221851ba51db8a979c.zip |
added structure for keyimportresult and emit keydbchanged in gpgcontext
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@703 34ebc366-c3a9-4b3c-9f84-69acf7962910
Diffstat (limited to 'gpgcontext.cpp')
-rw-r--r-- | gpgcontext.cpp | 62 |
1 files changed, 54 insertions, 8 deletions
diff --git a/gpgcontext.cpp b/gpgcontext.cpp index 4b33146..a388199 100644 --- a/gpgcontext.cpp +++ b/gpgcontext.cpp @@ -102,18 +102,69 @@ GpgContext::~GpgContext() /** Import Key from QByteArray * */ -gpgme_import_result_t GpgContext::importKey(QByteArray inBuffer) +GpgImportInformation GpgContext::importKey(QByteArray inBuffer) { + GpgImportInformation *importInformation = new GpgImportInformation(); err = gpgme_data_new_from_mem(&in, inBuffer.data(), inBuffer.size(), 1); checkErr(err); err = gpgme_op_import(mCtx, in); gpgme_import_result_t result; - result = gpgme_op_import_result(mCtx); + if (result->unchanged){ + importInformation->unchanged = result->unchanged; + } + if (result->considered){ + importInformation->considered = result->considered; + } + if (result->no_user_id){ + importInformation->no_user_id = result->no_user_id; + } + if (result->imported){ + importInformation->imported = result->imported; + } + if (result->imported_rsa){ + importInformation->imported_rsa = result->imported_rsa; + } + if (result->unchanged){ + importInformation->unchanged = result->unchanged; + } + if (result->new_user_ids){ + importInformation->new_user_ids = result->new_user_ids; + } + if (result->new_sub_keys){ + importInformation->new_sub_keys = result->new_sub_keys; + } + if (result->new_signatures){ + importInformation->new_signatures = result->new_signatures; + } + if (result->new_revocations){ + importInformation->new_revocations =result->new_revocations; + } + if (result->secret_read){ + importInformation->secret_read = result->secret_read; + } + if (result->secret_imported){ + importInformation->secret_imported = result->secret_imported; + } + if (result->secret_unchanged){ + importInformation->secret_unchanged = result->secret_unchanged; + } + if (result->not_imported){ + importInformation->not_imported = result->not_imported; + } + gpgme_import_status_t status = result->imports; + while (status != NULL) { + GpgImportedKey key; + key.importStatus = status->status; + key.fpr = status->fpr; + importInformation->importedKeys.append(key); + status=status->next; + } checkErr(err); + emit keyDBChanged(); gpgme_data_release(in); - return result; + return *importInformation; } /** Generate New Key with values params @@ -169,11 +220,6 @@ gpgme_key_t GpgContext::getKeyDetails(QString uid) return key; } -void GpgContext::sendKeyDBChanged() -{ - emit keyDBChanged(); -} - /** List all availabe Keys (VERY much like kgpgme) */ GpgKeyList GpgContext::listKeys() |