31#include "exiv2lib_export.h"
34#include "metadatum.hpp"
90 Exifdatum& operator=(
const uint16_t& value);
95 Exifdatum& operator=(
const uint32_t& value);
105 Exifdatum& operator=(
const int16_t& value);
110 Exifdatum& operator=(
const int32_t& value);
120 Exifdatum& operator=(
const std::string& value);
134 int setValue(
const std::string& value);
148 int setDataArea(
const byte* buf,
long len);
154 std::string key()
const;
155 const char* familyName()
const;
157 std::string tagName()
const;
158 std::string tagLabel()
const;
159 uint16_t tag()
const;
177 long copy(
byte* buf,
ByteOrder byteOrder)
const;
178 std::ostream& write(std::ostream& os,
const ExifData* pMetadata =0)
const;
182 const char* typeName()
const;
184 long typeSize()
const;
192 long toLong(
long n =0)
const;
193 float toFloat(
long n =0)
const;
194 Rational toRational(
long n =0)
const;
196 const Value& value()
const;
198 long sizeDataArea()
const;
257 long writeFile(
const std::string& path)
const;
258#ifdef EXV_UNICODE_PATH
263 long writeFile(
const std::wstring& wpath)
const;
269 const char* mimeType()
const;
274 const char* extension()
const;
275#ifdef EXV_UNICODE_PATH
280 const wchar_t* wextension()
const;
328 void setJpegThumbnail(
329 const std::string& path,
334#ifdef EXV_UNICODE_PATH
340 void setJpegThumbnail(
341 const std::wstring& wpath,
364 void setJpegThumbnail(
384 void setJpegThumbnail(
const std::string& path);
385#ifdef EXV_UNICODE_PATH
391 void setJpegThumbnail(
const std::wstring& wpath);
405 void setJpegThumbnail(
const byte* buf,
long size);
451 Exifdatum& operator[](
const std::string& key);
497 iterator findKey(
const ExifKey& key);
510 const_iterator findKey(
const ExifKey& key)
const;
512 bool empty()
const {
return count() == 0; }
514 long count()
const {
return static_cast<long>(exifMetadata_.size()); }
620 encode(blob, 0, 0, byteOrder, exifData);
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition: types.hpp:193
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition: exif.hpp:434
ExifMetadata::iterator iterator
ExifMetadata iterator type.
Definition: exif.hpp:437
bool empty() const
Return true if there is no Exif metadata.
Definition: exif.hpp:512
ExifMetadata::const_iterator const_iterator
ExifMetadata const iterator type.
Definition: exif.hpp:439
long count() const
Get the number of metadata entries.
Definition: exif.hpp:514
iterator begin()
Begin of the metadata.
Definition: exif.hpp:490
const_iterator end() const
End of the metadata.
Definition: exif.hpp:505
iterator end()
End of the metadata.
Definition: exif.hpp:492
const_iterator begin() const
Begin of the metadata.
Definition: exif.hpp:503
Concrete keys for Exif metadata and access to Exif tag reference data.
Definition: tags.hpp:140
std::auto_ptr< ExifKey > AutoPtr
Shortcut for an ExifKey auto pointer.
Definition: tags.hpp:143
Stateless parser class for Exif data. Images use this class to decode and encode binary Exif data.
Definition: exif.hpp:529
static void encode(Blob &blob, ByteOrder byteOrder, const ExifData &exifData)
Encode metadata from the provided metadata to Exif format.
Definition: exif.hpp:614
Access to a Exif thumbnail image. This class provides higher level accessors to the thumbnail image t...
Definition: exif.hpp:232
Access and modify an Exif thumbnail image. This class implements manipulators to set and erase the th...
Definition: exif.hpp:301
An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate these.
Definition: exif.hpp:59
Common interface for all types of values used with metadata.
Definition: value.hpp:51
std::auto_ptr< Value > AutoPtr
Shortcut for a Value auto pointer.
Definition: value.hpp:54
const char * groupName(IfdId ifdId)
Return the group name for a group id.
Definition: tags_int.cpp:2569
const char * ifdName(IfdId ifdId)
Return the name of the IFD.
Definition: tags_int.cpp:2562
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
T getValue(const byte *buf, ByteOrder byteOrder)
Read a value of type T from the data buffer.
TypeId
Exiv2 value type identifiers.
Definition: types.hpp:119
EXIV2API long writeFile(const DataBuf &buf, const std::string &path)
Write DataBuf buf to file path.
Definition: basicio.cpp:2703
std::vector< byte > Blob
Container for binary data.
Definition: types.hpp:151
std::list< Exifdatum > ExifMetadata
Container type to hold all metadata.
Definition: exif.hpp:420
ByteOrder
Type to express the byte order (little or big endian)
Definition: types.hpp:102
std::pair< int32_t, int32_t > Rational
8 byte signed rational type.
Definition: types.hpp:99
WriteMethod
Type to indicate write method used by TIFF parsers.
Definition: types.hpp:105
Exiv2::Exifdatum & setValue(Exiv2::Exifdatum &exifDatum, const T &value)
Set the value of exifDatum to value. If the object already has a value, it is replaced....
Definition: exif.cpp:194
std::string toString(const T &arg)
Utility function to convert the argument of any type to a string.
Definition: types.hpp:510
std::pair< uint32_t, uint32_t > URational
8 byte unsigned rational type.
Definition: types.hpp:97