cpp: Add gpgme_data_rewind to cpp API
* lang/cpp/src/data.h, lang/cpp/src/data.cpp (Data::rewind): New. * lang/qt/tests/t-various.cpp (testDataRewind): Test it. -- The advantage of this convieniance function in GPGME is that it avoids the messiness that are declarations with off_t. GnuPG-Bug-Id: T3996
This commit is contained in:
parent
77166851f1
commit
618aa7f08d
1
NEWS
1
NEWS
@ -8,6 +8,7 @@ Noteworthy changes in version 1.11.2 (unreleased)
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
cpp: DecryptionResult::sessionKey NEW.
|
cpp: DecryptionResult::sessionKey NEW.
|
||||||
cpp: DecryptionResult::symkeyAlgo NEW.
|
cpp: DecryptionResult::symkeyAlgo NEW.
|
||||||
|
cpp: Data::rewind NEW.
|
||||||
|
|
||||||
Noteworthy changes in version 1.11.1 (2018-04-20)
|
Noteworthy changes in version 1.11.1 (2018-04-20)
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
@ -232,6 +232,11 @@ off_t GpgME::Data::seek(off_t offset, int whence)
|
|||||||
return gpgme_data_seek(d->data, offset, whence);
|
return gpgme_data_seek(d->data, offset, whence);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GpgME::Error GpgME::Data::rewind()
|
||||||
|
{
|
||||||
|
return Error(gpgme_data_rewind(d->data));
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<GpgME::Key> GpgME::Data::toKeys(Protocol proto) const
|
std::vector<GpgME::Key> GpgME::Data::toKeys(Protocol proto) const
|
||||||
{
|
{
|
||||||
std::vector<GpgME::Key> ret;
|
std::vector<GpgME::Key> ret;
|
||||||
|
@ -110,6 +110,9 @@ public:
|
|||||||
ssize_t write(const void *buffer, size_t length);
|
ssize_t write(const void *buffer, size_t length);
|
||||||
off_t seek(off_t offset, int whence);
|
off_t seek(off_t offset, int whence);
|
||||||
|
|
||||||
|
/* Convenience function to do a seek (0, SEEK_SET). */
|
||||||
|
Error rewind();
|
||||||
|
|
||||||
/** Try to parse the data to a key object using the
|
/** Try to parse the data to a key object using the
|
||||||
* Protocol proto. Returns an empty list on error.*/
|
* Protocol proto. Returns an empty list on error.*/
|
||||||
std::vector<Key> toKeys(const Protocol proto = Protocol::OpenPGP) const;
|
std::vector<Key> toKeys(const Protocol proto = Protocol::OpenPGP) const;
|
||||||
|
@ -98,6 +98,25 @@ private Q_SLOTS:
|
|||||||
QVERIFY(key.primaryFingerprint() == QStringLiteral("7A0904B6950DA998020A1AD4BE41C0C3A5FF1F3C"));
|
QVERIFY(key.primaryFingerprint() == QStringLiteral("7A0904B6950DA998020A1AD4BE41C0C3A5FF1F3C"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void testDataRewind()
|
||||||
|
{
|
||||||
|
if (GpgME::engineInfo(GpgME::GpgEngine).engineVersion() < "2.1.14") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QGpgME::QByteArrayDataProvider dp(aKey);
|
||||||
|
Data data(&dp);
|
||||||
|
char buf[20];
|
||||||
|
data.read(buf, 20);
|
||||||
|
|
||||||
|
auto keys = data.toKeys();
|
||||||
|
QVERIFY(keys.size() == 0);
|
||||||
|
|
||||||
|
data.rewind();
|
||||||
|
|
||||||
|
keys = data.toKeys();
|
||||||
|
QVERIFY(keys.size() == 1);
|
||||||
|
}
|
||||||
|
|
||||||
void testQuickUid()
|
void testQuickUid()
|
||||||
{
|
{
|
||||||
if (GpgME::engineInfo(GpgME::GpgEngine).engineVersion() < "2.1.13") {
|
if (GpgME::engineInfo(GpgME::GpgEngine).engineVersion() < "2.1.13") {
|
||||||
|
Loading…
Reference in New Issue
Block a user