data.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __GPGMEPP_DATA_H__
00022 #define __GPGMEPP_DATA_H__
00023
00024 #include <gpgmepp/gpgmefw.h>
00025
00026 #include <sys/types.h>
00027 #include <cstdio>
00028
00029 namespace GpgME {
00030
00031 class DataProvider;
00032 class Error;
00033
00034 class Data {
00035 public:
00036 Data();
00037 Data( gpgme_data_t data );
00038 Data( const Data & other );
00039
00040
00041 Data( const char * buffer, size_t size, bool copy=true );
00042 Data( const char * filename );
00043 Data( const char * filename, off_t offset, size_t length );
00044 Data( FILE * fp, off_t offset, size_t length );
00045
00046 Data( FILE * fp );
00047 Data( int fd );
00048
00049 Data( DataProvider * provider );
00050
00051 virtual ~Data();
00052
00053 static Data null;
00054
00055 const Data & operator=( const Data & other );
00056
00057 bool isNull() const;
00058
00059 ssize_t read( void * buffer, size_t length );
00060 ssize_t write( const void * buffer, size_t length );
00061 off_t seek( off_t offset, int whence );
00062
00063 class Private;
00064 Private * impl() const { return d; }
00065 private:
00066 Private * d;
00067 };
00068
00069 }
00070
00071 #endif // __GPGMEPP_DATA_H__
This file is part of the documentation for libkdenetwork Library Version 3.3.0.