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::symkeyAlgo NEW.
|
||||
cpp: Data::rewind NEW.
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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> ret;
|
||||
|
@ -110,6 +110,9 @@ public:
|
||||
ssize_t write(const void *buffer, size_t length);
|
||||
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
|
||||
* Protocol proto. Returns an empty list on error.*/
|
||||
std::vector<Key> toKeys(const Protocol proto = Protocol::OpenPGP) const;
|
||||
|
@ -98,6 +98,25 @@ private Q_SLOTS:
|
||||
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()
|
||||
{
|
||||
if (GpgME::engineInfo(GpgME::GpgEngine).engineVersion() < "2.1.13") {
|
||||
|
Loading…
Reference in New Issue
Block a user