/usr/include/gpgme++/data.h is in kdepimlibs5-dev 4:4.14.10-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | /*
data.h - wraps a gpgme data object
Copyright (C) 2003,2004 Klarälvdalens Datakonsult AB
This file is part of GPGME++.
GPGME++ is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
GPGME++ is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with GPGME++; see the file COPYING.LIB. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef __GPGMEPP_DATA_H__
#define __GPGMEPP_DATA_H__
#include <gpgme++/global.h>
#include <boost/shared_ptr.hpp>
#include <sys/types.h> // for size_t, off_t
#include <cstdio> // FILE
#include <algorithm>
namespace GpgME {
class DataProvider;
class Error;
class GPGMEPP_EXPORT Data {
struct Null {};
public:
/* implicit */ Data( const Null & );
Data();
explicit Data( gpgme_data_t data );
// Memory-Based Data Buffers:
Data( const char * buffer, size_t size, bool copy=true );
explicit Data( const char * filename );
Data( const char * filename, off_t offset, size_t length );
Data( std::FILE * fp, off_t offset, size_t length );
// File-Based Data Buffers:
explicit Data( std::FILE * fp );
explicit Data( int fd );
// Callback-Based Data Buffers:
explicit Data( DataProvider * provider );
static Null null;
const Data & operator=( Data other ) {
swap( other );
return *this;
}
void swap( Data & other ) {
using std::swap;
swap( this->d, other.d );
}
bool isNull() const;
enum Encoding {
AutoEncoding,
BinaryEncoding,
Base64Encoding,
ArmorEncoding
};
Encoding encoding() const;
Error setEncoding( Encoding encoding );
char * fileName() const;
Error setFileName( const char * name );
ssize_t read( void * buffer, size_t length );
ssize_t write( const void * buffer, size_t length );
off_t seek( off_t offset, int whence );
class Private;
Private * impl() { return d.get(); }
const Private * impl() const { return d.get(); }
private:
boost::shared_ptr<Private> d;
};
}
GPGMEPP_MAKE_STD_SWAP_SPECIALIZATION( Data )
#endif // __GPGMEPP_DATA_H__
|