[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:35:57 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=4e81bbf
The following commit has been merged in the master branch:
commit 4e81bbf99e060107695bbbf6b03d58983efe7ef6
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Tue Jan 27 04:24:59 2004 +0000
Improved doc, added Value::toString and Metadatum::toString
---
src/exif.cpp | 16 ++++++++++------
src/exif.hpp | 47 +++++++++++++++++++++++++++++++++++++++++------
2 files changed, 51 insertions(+), 12 deletions(-)
diff --git a/src/exif.cpp b/src/exif.cpp
index 619659b..71f79b4 100644
--- a/src/exif.cpp
+++ b/src/exif.cpp
@@ -19,13 +19,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/*
+ File: exif.cpp
+ Version: $Name: $ $Revision: 1.10 $
Author(s): Andreas Huggel (ahu) <ahuggel at gmx.net>
- History:
- 13-Jan-04, ahu: created
-
- RCS information
- $Name: $
- $Revision: 1.9 $
+ History: 26-Jan-04, ahu: created
*/
// *****************************************************************************
// included header files
@@ -224,6 +221,13 @@ namespace Exif {
return value;
} // Value::create
+ std::string Value::toString() const
+ {
+ std::ostringstream os;
+ write(os);
+ return os.str();
+ }
+
void DataValue::read(const char* buf, long len, ByteOrder byteOrder)
{
// byteOrder not needed
diff --git a/src/exif.hpp b/src/exif.hpp
index c7a0051..e4fd0f4 100644
--- a/src/exif.hpp
+++ b/src/exif.hpp
@@ -21,7 +21,7 @@
/*!
@file exif.hpp
@brief Encoding and decoding of %Exif data
- @version $Name: $ $Revision: 1.10 $
+ @version $Name: $ $Revision: 1.11 $
@author Andreas Huggel (ahu)
<a href="mailto:ahuggel at gmx.net">ahuggel at gmx.net</a>
@date 09-Jan-04, ahu: created
@@ -228,6 +228,8 @@ namespace Exif {
@return The converted value.
*/
virtual long toLong(long n =0) const =0;
+ //! Return the value as a string
+ std::string toString() const;
//! Return the type identifier (Exif data format type).
TypeId typeId() const { return TypeId(type_); }
@@ -235,6 +237,23 @@ namespace Exif {
/*!
@brief A (simple) factory to create a Value type.
+ The following Value subclasses are created depending on typeId:<BR><BR>
+ <TABLE>
+ <TR><TD><B>typeId</B></TD><TD><B>%Value subclass</B></TD></TR>
+ <TR><TD>invalid</TD><TD>%DataValue(invalid)</TD></TR>
+ <TR><TD>unsignedByte</TD><TD>%DataValue(unsignedByte)</TD></TR>
+ <TR><TD>asciiString</TD><TD>%AsciiValue</TD></TR>
+ <TR><TD>unsignedShort</TD><TD>%ValueType < uint16 ></TD></TR>
+ <TR><TD>unsignedLong</TD><TD>%ValueType < uint32 ></TD></TR>
+ <TR><TD>unsignedRational</TD><TD>%ValueType < URational ></TD></TR>
+ <TR><TD>invalid6</TD><TD>%DataValue(invalid6)</TD></TR>
+ <TR><TD>undefined</TD><TD>%DataValue</TD></TR>
+ <TR><TD>signedShort</TD><TD>%ValueType < int16 ></TD></TR>
+ <TR><TD>signedLong</TD><TD>%ValueType < int32 ></TD></TR>
+ <TR><TD>signedRational</TD><TD>%ValueType < Rational ></TD></TR>
+ <TR><TD><EM>default:</EM></TD><TD>%DataValue(typeId)</TD></TR>
+ </TABLE>
+
@param typeId Type of the value.
@return Pointer to the newly created Value.
The caller owns this copy and is responsible to delete it!
@@ -429,6 +448,18 @@ namespace Exif {
not have a value yet, then an AsciiValue is created.
*/
void setValue(const std::string& buf);
+ /*!
+ @brief Return a pointer to a copy (clone) of the value. The caller
+ is responsible to delete this copy when it's no longer needed.
+
+ This method is provided for users who need full control over the
+ value. A caller may, e.g., downcast the pointer to the appropriate
+ subclass of Value to make use of the interface of the subclass to set
+ or modify its contents.
+
+ @return A pointer to a copy (clone) of the value.
+ */
+ Value* getValue() const { return value_->clone(); }
//! Return the name of the tag
const char* tagName() const { return ExifTags::tagName(tag_, ifdId_); }
//! Return the name of the type
@@ -459,6 +490,9 @@ namespace Exif {
*/
long toLong(long n =0) const
{ return value_ == 0 ? -1 : value_->toLong(n); }
+ //! Return the value as a string.
+ std::string toString() const
+ { return value_ == 0 ? "" : value_->toString(); }
//! Return the IFD id
IfdId ifdId() const { return ifdId_; }
//! Return the position in the IFD (-1: not set)
@@ -466,18 +500,19 @@ namespace Exif {
/*!
@brief Return a constant reference to the value.
- This method is provided mostly for convenient and versatile output
- of the value, for example
+ This method is provided mostly for convenient and versatile output of
+ the value which can (to some extent) be formatted through standard
+ stream manipulators. Do not attempt to write to the value through
+ this reference. The behaviour of the method is undefined if value is
+ not set.
+ <b>Example:</b> <br>
@code
ExifData::const_iterator i = exifData.findKey(key);
if (i != exifData.end()) {
std::cout << i->key() << " " << std::hex << i->value() << "
";
}
@endcode
-
- Do not attempt to write to the value through this reference.
- The behaviour of the method is undefined if value is not set.
*/
const Value& value() const { return *value_; }
/*!
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list