[Pkg-gnupg-commit] [gpgme] 63/412: Cpp: Add support for gpgme_data_identify
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Thu Sep 22 21:26:16 UTC 2016
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch master
in repository gpgme.
commit d949d711dc1d944a9d627d39a89af74943a5a8c1
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Tue Apr 12 16:05:31 2016 +0200
Cpp: Add support for gpgme_data_identify
* lang/cpp/src/data.cpp (Data::type): New.
* lang/cpp/src/data.h (Data::Type): New enum mapping.
---
lang/cpp/src/data.cpp | 20 ++++++++++++++++++++
lang/cpp/src/data.h | 14 ++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/lang/cpp/src/data.cpp b/lang/cpp/src/data.cpp
index b07406c..bf9a629 100644
--- a/lang/cpp/src/data.cpp
+++ b/lang/cpp/src/data.cpp
@@ -162,6 +162,26 @@ GpgME::Error GpgME::Data::setEncoding(Encoding enc)
return Error(gpgme_data_set_encoding(d->data, ge));
}
+GpgME::Data::Type GpgME::Data::type() const
+{
+ if (isNull()) {
+ return Invalid;
+ }
+ switch (gpgme_data_identify(d->data, 0)) {
+ case GPGME_DATA_TYPE_INVALID: return Invalid;
+ case GPGME_DATA_TYPE_UNKNOWN: return Unknown;
+ case GPGME_DATA_TYPE_PGP_SIGNED: return PGPSigned;
+ case GPGME_DATA_TYPE_PGP_OTHER: return PGPOther;
+ case GPGME_DATA_TYPE_PGP_KEY: return PGPKey;
+ case GPGME_DATA_TYPE_CMS_SIGNED: return CMSSigned;
+ case GPGME_DATA_TYPE_CMS_ENCRYPTED: return CMSEncrypted;
+ case GPGME_DATA_TYPE_CMS_OTHER: return CMSOther;
+ case GPGME_DATA_TYPE_X509_CERT: return X509Cert;
+ case GPGME_DATA_TYPE_PKCS12: return PKCS12;
+ }
+ return Invalid;
+}
+
char *GpgME::Data::fileName() const
{
return gpgme_data_get_file_name(d->data);
diff --git a/lang/cpp/src/data.h b/lang/cpp/src/data.h
index 97e4202..efb1e79 100644
--- a/lang/cpp/src/data.h
+++ b/lang/cpp/src/data.h
@@ -82,6 +82,20 @@ public:
Encoding encoding() const;
Error setEncoding(Encoding encoding);
+ enum Type {
+ Invalid,
+ Unknown,
+ PGPSigned,
+ PGPOther,
+ PGPKey,
+ CMSSigned,
+ CMSEncrypted,
+ CMSOther,
+ X509Cert,
+ PKCS12
+ };
+ Type type() const;
+
char *fileName() const;
Error setFileName(const char *name);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gpgme.git
More information about the Pkg-gnupg-commit
mailing list