refinery
RAW file processor

include/licensed/gpl/refinery/exif_exiv2.h

00001 /*
00002  * Copyright (c) 2010 Adam Hooper
00003  *
00004  * This file is part of refinery (GPL portion).
00005  *
00006  * refinery (GPL portion) is free software: you can redistribute it and/or
00007  * modify it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation, either version 3 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * refinery (GPL portion) is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with refinery (GPL portion).  If not, see
00018  * <http://www.gnu.org/licenses/>.
00019  */
00020 
00021 #ifndef _REFINERY_EXIF_EXIV2_H
00022 #define _REFINERY_EXIF_EXIV2_H
00023 
00024 #include <refinery/exif.h>
00025 
00026 namespace Exiv2 {
00027   class ExifData;
00028 }
00029 
00030 namespace refinery {
00031 
00055 class Exiv2ExifData : public ExifData {
00056   class Impl;
00057   Impl* impl;
00058 
00059 public:
00065   Exiv2ExifData(Exiv2::ExifData& exiv2ExifData);
00066   ~Exiv2ExifData(); 
00068   virtual bool hasKey(const char* key) const;
00069   virtual std::string getString(const char* key) const;
00070   virtual void getBytes(const char* key, std::vector<byte>& outBytes) const;
00071   virtual int getInt(const char* key) const;
00072   virtual float getFloat(const char* key) const;
00073 };
00074 
00075 }
00076 
00077 #endif /* _REFINERY_EXIF_EXIV2_H */
 All Classes Functions Variables Typedefs Enumerations Enumerator