diff options
| author | Andre Heinecke <[email protected]> | 2016-04-12 14:05:31 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2016-04-12 14:05:31 +0000 | 
| commit | d949d711dc1d944a9d627d39a89af74943a5a8c1 (patch) | |
| tree | ed4d43ae992d7e1a45c28b2435e9f2330ab9c639 /lang/cpp/src/data.cpp | |
| parent | Fix configuration without Qt language (diff) | |
| download | gpgme-d949d711dc1d944a9d627d39a89af74943a5a8c1.tar.gz gpgme-d949d711dc1d944a9d627d39a89af74943a5a8c1.zip  | |
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.
Diffstat (limited to 'lang/cpp/src/data.cpp')
| -rw-r--r-- | lang/cpp/src/data.cpp | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/lang/cpp/src/data.cpp b/lang/cpp/src/data.cpp index b07406cf..bf9a629f 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);  | 
