libkdenetwork Library API Documentation

gpgmepp/interfaces/dataprovider.h

00001 /* interface/dataprovider.h - Interface for data sources
00002    Copyright (C) 2003 Klarälvdalens Datakonsult AB
00003 
00004    This file is part of GPGME++.
00005  
00006    GPGME++ is free software; you can redistribute it and/or modify it
00007    under the terms of the GNU General Public License as published by
00008    the Free Software Foundation; either version 2 of the License, or
00009    (at your option) any later version.
00010  
00011    GPGME++ is distributed in the hope that it will be useful, but
00012    WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014    General Public License for more details.
00015 
00016    You should have received a copy of the GNU General Public License
00017    along with GPGME; if not, write to the Free Software Foundation,
00018    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA.
00019 */
00020 
00021 #ifndef __GPGMEPP_INTERFACES_DATAPROVIDER_H__
00022 #define __GPGMEPP_INTERFACES_DATAPROVIDER_H__
00023 
00024 #include <sys/types.h>
00025 
00026 namespace GpgME {
00027 
00028   class DataProvider {
00029   public:
00030     virtual ~DataProvider() {}
00031 
00032     enum Operation {
00033       Read, Write, Seek, Release
00034     };
00035     virtual bool isSupported( Operation op ) const = 0;
00036 
00037 
00038     virtual ssize_t read( void  * buffer, size_t bufSize ) = 0;
00039     virtual ssize_t write( const void * buffer, size_t bufSize ) = 0;
00040     virtual off_t seek( off_t offset, int whence ) = 0;
00041     virtual void release() = 0;
00042   };
00043 
00044 } // namespace GpgME
00045 
00046 #endif // __GPGMEPP_INTERFACES_DATAPROVIDER_H__
KDE Logo
This file is part of the documentation for libkdenetwork Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Oct 4 14:39:09 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003