[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:37:14 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=2b55ed4
The following commit has been merged in the master branch:
commit 2b55ed40b60540acaa6190c1563c75ab5d6f96c3
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Sun Sep 11 13:22:52 2005 +0000
Corrected and renamed Ciff parser class hierarchy
---
src/crwimage.cpp | 242 ++++++++++++++++++++++++++++---------------------------
src/crwimage.hpp | 90 ++++++++++++++-------
2 files changed, 184 insertions(+), 148 deletions(-)
diff --git a/src/crwimage.cpp b/src/crwimage.cpp
index a5c7b67..2c8e6f4 100644
--- a/src/crwimage.cpp
+++ b/src/crwimage.cpp
@@ -168,7 +168,7 @@ namespace Exiv2 {
if (io_->error() || io_->eof()) throw Error(14);
// Parse the image
- RawMetadata::AutoPtr parseTree(new CrwHeader);
+ RawMetadata::AutoPtr parseTree(new CiffHeader);
parseTree->read(image.pData_, image.size_, 0, invalidByteOrder);
#ifdef DEBUG
parseTree->print(std::cerr, invalidByteOrder);
@@ -195,41 +195,11 @@ namespace Exiv2 {
return isCrwType(iIo, advance);
}
- TypeId CrwEntry::typeId(uint16_t tag)
- {
- TypeId ti = invalidTypeId;
- switch (tag & 0x3800) {
- case 0x0000: ti = unsignedByte; break;
- case 0x0800: ti = asciiString; break;
- case 0x1000: ti = unsignedShort; break;
- case 0x1800: ti = unsignedLong; break;
- case 0x2000: ti = undefined; break;
- case 0x2800: // fallthrough
- case 0x3000: ti = directory; break;
- }
- return ti;
- } // CrwEntry::typeId
-
- DataLocId CrwEntry::dataLocation(uint16_t tag)
- {
- DataLocId di = invalidDataLocId;
- switch (tag & 0xc000) {
- case 0x0000: di = valueData; break;
- case 0x4000: di = directoryData; break;
- }
- return di;
- } // CrwEntry::dataLocation
-
- void CrwEntry::add(RawMetadata::AutoPtr component)
- {
- throw Error(34, "CrwEntry::add");
- } // CrwEntry::add
-
- void CrwEntry::read(const byte* buf,
- size_t len,
- size_t start,
- ByteOrder byteOrder,
- long /*shift*/)
+ void CiffComponent::read(const byte* buf,
+ size_t len,
+ size_t start,
+ ByteOrder byteOrder,
+ long /*shift*/)
{
if (len < 10) throw Error(33);
tag_ = getUShort(buf + start, byteOrder);
@@ -248,16 +218,11 @@ namespace Exiv2 {
break;
}
pData_ = buf + offset_;
- } // CrwEntry::read
+ } // CiffComponent::read
- void CrwEntry::extract(Image& image, ByteOrder byteOrder) const
- {
- CrwMap::extract(*this, image, byteOrder);
- } // CrwEntry::extract
-
- void CrwEntry::print(std::ostream& os,
- ByteOrder byteOrder,
- const std::string& prefix) const
+ void CiffComponent::print(std::ostream& os,
+ ByteOrder byteOrder,
+ const std::string& prefix) const
{
os << prefix
<< "tag = 0x" << std::setw(4) << std::setfill('0')
@@ -276,10 +241,44 @@ namespace Exiv2 {
os << prefix << *value << "
";
}
}
+ } // CiffComponent::print
- } // CrwEntry::print
+ TypeId CiffComponent::typeId(uint16_t tag)
+ {
+ TypeId ti = invalidTypeId;
+ switch (tag & 0x3800) {
+ case 0x0000: ti = unsignedByte; break;
+ case 0x0800: ti = asciiString; break;
+ case 0x1000: ti = unsignedShort; break;
+ case 0x1800: ti = unsignedLong; break;
+ case 0x2000: ti = undefined; break;
+ case 0x2800: // fallthrough
+ case 0x3000: ti = directory; break;
+ }
+ return ti;
+ } // CiffComponent::typeId
+
+ DataLocId CiffComponent::dataLocation(uint16_t tag)
+ {
+ DataLocId di = invalidDataLocId;
+ switch (tag & 0xc000) {
+ case 0x0000: di = valueData; break;
+ case 0x4000: di = directoryData; break;
+ }
+ return di;
+ } // CiffComponent::dataLocation
+
+ void CiffEntry::extract(Image& image, ByteOrder byteOrder) const
+ {
+ CrwMap::extract(*this, image, byteOrder);
+ } // CiffEntry::extract
+
+ void CiffEntry::add(RawMetadata::AutoPtr component)
+ {
+ throw Error(34, "CiffEntry::add");
+ } // CiffEntry::add
- CrwDirectory::~CrwDirectory()
+ CiffDirectory::~CiffDirectory()
{
RawMetadata::Components::iterator b = components_.begin();
RawMetadata::Components::iterator e = components_.end();
@@ -288,43 +287,43 @@ namespace Exiv2 {
}
}
- void CrwDirectory::add(RawMetadata::AutoPtr component)
+ void CiffDirectory::add(RawMetadata::AutoPtr component)
{
components_.push_back(component.release());
- } // CrwEntry::add
+ } // CiffDirectory::add
- void CrwDirectory::read(const byte* buf,
+ void CiffDirectory::read(const byte* buf,
size_t len,
size_t start,
ByteOrder byteOrder,
long /*shift*/)
{
- CrwEntry::read(buf, len, start, byteOrder);
+ CiffComponent::read(buf, len, start, byteOrder);
readDirectory(buf + offset(), size(), 0, byteOrder, 0);
- } // CrwDirectory::read
+ } // CiffDirectory::read
- void CrwDirectory::extract(Image& image, ByteOrder byteOrder) const
+ void CiffDirectory::extract(Image& image, ByteOrder byteOrder) const
{
RawMetadata::Components::const_iterator b = components_.begin();
RawMetadata::Components::const_iterator e = components_.end();
for (RawMetadata::Components::const_iterator i = b; i != e; ++i) {
(*i)->extract(image, byteOrder);
}
- } // CrwDirectory::extract
+ } // CiffDirectory::extract
- void CrwDirectory::print(std::ostream& os,
+ void CiffDirectory::print(std::ostream& os,
ByteOrder byteOrder,
const std::string& prefix) const
{
- CrwEntry::print(os, byteOrder, prefix);
+ CiffComponent::print(os, byteOrder, prefix);
RawMetadata::Components::const_iterator b = components_.begin();
RawMetadata::Components::const_iterator e = components_.end();
for (RawMetadata::Components::const_iterator i = b; i != e; ++i) {
(*i)->print(os, byteOrder, prefix + " ");
}
- } // CrwDirectory::print
+ } // CiffDirectory::print
- void CrwDirectory::readDirectory(const byte* buf,
+ void CiffDirectory::readDirectory(const byte* buf,
size_t len,
size_t start,
ByteOrder byteOrder,
@@ -338,10 +337,10 @@ namespace Exiv2 {
for (uint16_t i = 0; i < count; ++i) {
if (o + 10 > len) throw Error(33);
uint16_t tag = getUShort(buf + o, byteOrder);
- CrwEntry* p = 0;
- switch (CrwEntry::typeId(tag)) {
- case directory: p = new CrwDirectory; break;
- default: p = new CrwEntry; break;
+ CiffComponent* p = 0;
+ switch (CiffComponent::typeId(tag)) {
+ case directory: p = new CiffDirectory; break;
+ default: p = new CiffEntry; break;
}
p->setDir(this->tag());
RawMetadata::AutoPtr m(p);
@@ -349,21 +348,21 @@ namespace Exiv2 {
add(m);
o += 10;
}
- } // CrwDirectory::readDirectory
+ } // CiffDirectory::readDirectory
- const char CrwHeader::signature_[] = "HEAPCCDR";
+ const char CiffHeader::signature_[] = "HEAPCCDR";
- CrwHeader::~CrwHeader()
+ CiffHeader::~CiffHeader()
{
delete rootDirectory_;
}
- void CrwHeader::add(RawMetadata::AutoPtr component)
+ void CiffHeader::add(RawMetadata::AutoPtr component)
{
- throw Error(34, "CrwHeader::add");
- } // CrwEntry::add
+ throw Error(34, "CiffHeader::add");
+ } // CiffHeader::add
- void CrwHeader::read(const byte* buf,
+ void CiffHeader::read(const byte* buf,
size_t len,
size_t start,
ByteOrder byteOrder,
@@ -385,17 +384,17 @@ namespace Exiv2 {
throw Error(33);
}
- rootDirectory_ = new CrwDirectory;
+ rootDirectory_ = new CiffDirectory;
rootDirectory_->readDirectory(buf + offset_, len - offset_, 0, byteOrder_);
- } // CrwHeader::read
+ } // CiffHeader::read
- void CrwHeader::extract(Image& image, ByteOrder byteOrder) const
+ void CiffHeader::extract(Image& image, ByteOrder byteOrder) const
{
// Nothing to extract from the header itself, just add correct byte order
if (rootDirectory_) rootDirectory_->extract(image, byteOrder_);
- } // CrwHeader::extract
+ } // CiffHeader::extract
- void CrwHeader::print(std::ostream& os,
+ void CiffHeader::print(std::ostream& os,
ByteOrder byteOrder,
const std::string& prefix) const
{
@@ -403,7 +402,7 @@ namespace Exiv2 {
<< "Header, offset = 0x" << std::setw(8) << std::setfill('0')
<< std::hex << std::right << offset_ << "
";
if (rootDirectory_) rootDirectory_->print(os, byteOrder_, prefix);
- } // CrwHeader::print
+ } // CiffHeader::print
const CrwMapInfo CrwMap::crwMapInfos_[] = {
CrwMapInfo(0x0805, 0x300a, 0, 0x9286, exifIfdId, extract0x0805, 0),
@@ -437,13 +436,14 @@ namespace Exiv2 {
CrwMapInfo(0x0000, 0x0000, 0, 0x0000, ifdIdNotSet, extractBasic, 0)
}; // CrwMap::crwMapInfos_[]
- void CrwMap::extract(const CrwEntry& crwEntry,
+ void CrwMap::extract(const CiffComponent& ciffComponent,
Image& image,
ByteOrder byteOrder)
{
- const CrwMapInfo* cmi = crwMapInfo(crwEntry.dir(), crwEntry.tagId());
+ const CrwMapInfo* cmi = crwMapInfo(ciffComponent.dir(),
+ ciffComponent.tagId());
if (cmi && cmi->toExif_) {
- cmi->toExif_(crwEntry, cmi, image, byteOrder);
+ cmi->toExif_(ciffComponent, cmi, image, byteOrder);
}
} // CrwMap::extract
@@ -458,52 +458,54 @@ namespace Exiv2 {
return 0;
} // CrwMap::crwMapInfo
- void CrwMap::extract0x0805(const CrwEntry& crwEntry,
+ void CrwMap::extract0x0805(const CiffComponent& ciffComponent,
const CrwMapInfo* crwMapInfo,
Image& image,
ByteOrder /*byteOrder*/)
{
- std::string s(reinterpret_cast<const char*>(crwEntry.pData()));
+ std::string s(reinterpret_cast<const char*>(ciffComponent.pData()));
image.setComment(s);
} // CrwMap::extract0x0805
- void CrwMap::extract0x080a(const CrwEntry& crwEntry,
+ void CrwMap::extract0x080a(const CiffComponent& ciffComponent,
const CrwMapInfo* crwMapInfo,
Image& image,
ByteOrder byteOrder)
{
- if (crwEntry.typeId() != asciiString) {
- return extractBasic(crwEntry, crwMapInfo, image, byteOrder);
+ if (ciffComponent.typeId() != asciiString) {
+ return extractBasic(ciffComponent, crwMapInfo, image, byteOrder);
}
// Make
ExifKey key1("Exif.Image.Make");
- Value::AutoPtr value1 = Value::create(crwEntry.typeId());
+ Value::AutoPtr value1 = Value::create(ciffComponent.typeId());
uint32_t i = 0;
- for (; i < crwEntry.size() && crwEntry.pData()[i] != '
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list