qgpgme
dataprovider.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __QGPGME_DATAPROVIDER_H__
00023 #define __QGPGME_DATAPROVIDER_H__
00024
00025 #include "qgpgme_export.h"
00026 #include <gpgme++/interfaces/dataprovider.h>
00027
00028 #include <QtCore/QByteArray>
00029 #include <QtCore/QPointer>
00030 #include <QtCore/QIODevice>
00031
00032 namespace QGpgME {
00033
00034 class QGPGME_EXPORT QByteArrayDataProvider : public GpgME::DataProvider {
00035 public:
00036 QByteArrayDataProvider();
00037 explicit QByteArrayDataProvider( const QByteArray & initialData );
00038 ~QByteArrayDataProvider();
00039
00040 const QByteArray & data() const { return mArray; }
00041
00042 private:
00043
00044
00046 bool isSupported( Operation ) const { return true; }
00048 ssize_t read( void * buffer, size_t bufSize );
00050 ssize_t write( const void * buffer, size_t bufSize );
00052 off_t seek( off_t offset, int whence );
00054 void release();
00055
00056 private:
00057 QByteArray mArray;
00058 off_t mOff;
00059 };
00060
00061 class QGPGME_EXPORT QIODeviceDataProvider : public GpgME::DataProvider {
00062 public:
00063 explicit QIODeviceDataProvider( QIODevice * initialData );
00064 ~QIODeviceDataProvider();
00065
00066 void setOwnsDevice( bool ownz );
00067 bool ownsDevice() const;
00068
00069 QIODevice * ioDevice() const { return mIO; }
00070
00071 private:
00072
00073
00075 bool isSupported( Operation ) const;
00077 ssize_t read( void * buffer, size_t bufSize );
00079 ssize_t write( const void * buffer, size_t bufSize );
00081 off_t seek( off_t offset, int whence );
00083 void release();
00084
00085 private:
00086 QPointer<QIODevice> mIO;
00087 bool mOwnsDevice : 1;
00088 unsigned int reserved : 31;
00089 };
00090
00091 }
00092
00093 #endif // __QGPGME_EVENTLOOPINTERACTOR_H__
00094
00095