libkipi from trunk (KDE 4.3) : add support of kipi host settings "file timestamp...
[kdegraphics.git] / gwenview / lib / exiv2imageloader.h
blob46bc00a3cf2d1bc88fb37fcb2f61c935f3a76a43
1 // vim: set tabstop=4 shiftwidth=4 noexpandtab:
2 /*
3 Gwenview: an image viewer
4 Copyright 2007 Aurélien Gâteau <aurelien.gateau@free.fr>
6 This program is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License
8 as published by the Free Software Foundation; either version 2
9 of the License, or (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 #ifndef EXIV2IMAGELOADER_H
22 #define EXIV2IMAGELOADER_H
24 // Qt
26 // KDE
28 // Exiv2
29 #include <string.h>
30 #include <exiv2/image.hpp>
32 // Local
34 class QByteArray;
35 class QString;
37 namespace Gwenview {
40 class Exiv2ImageLoaderPrivate;
42 /**
43 * This helper class loads image using libexiv2, and takes care of exception
44 * handling for the different versions of libexiv2.
46 class Exiv2ImageLoader {
47 public:
48 Exiv2ImageLoader();
49 ~Exiv2ImageLoader();
51 bool load(const QByteArray&);
52 QString errorMessage() const;
53 Exiv2::Image::AutoPtr popImage();
55 private:
56 Exiv2ImageLoaderPrivate* const d;
60 } // namespace
62 #endif /* EXIV2IMAGELOADER_H */