diff --git a/lang/cpp/src/interfaces/dataprovider.h b/lang/cpp/src/interfaces/dataprovider.h index c8f387d6..ad69e705 100644 --- a/lang/cpp/src/interfaces/dataprovider.h +++ b/lang/cpp/src/interfaces/dataprovider.h @@ -26,6 +26,7 @@ #define __GPGMEPP_INTERFACES_DATAPROVIDER_H__ #include +#include #include "gpgmepp_export.h" @@ -40,7 +41,7 @@ public: virtual ~DataProvider() {} enum Operation { - Read, Write, Seek, Release + Read, Write, Seek, Release, Seek64 }; virtual bool isSupported(Operation op) const = 0; @@ -48,6 +49,9 @@ public: virtual ssize_t write(const void *buffer, size_t bufSize) = 0; virtual off_t seek(off_t offset, int whence) = 0; virtual void release() = 0; + virtual uint64_t seek64(uint64_t offset, int whence) { + return seek((off_t)offset, whence); + } }; } // namespace GpgME