Fix/add exceptions for BMFF based files (#2364)

* Fix BmffImage::writeMetadata() error id/message

* Add exceptions setting Exif/IPTC/XMP in BMFF

* Add missing header for new functions
main
Peter 3 years ago committed by GitHub
parent a8a35345c8
commit a2cb06a28e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -99,6 +99,9 @@ class EXIV2API BmffImage : public Image {
//@{
void readMetadata() override;
void writeMetadata() override;
void setExifData(const ExifData&) override;
void setIptcData(const IptcData&) override;
void setXmpData(const XmpData&) override;
void setComment(const std::string& comment) override;
void printStructure(std::ostream& out, Exiv2::PrintStructureOption option, size_t depth) override;
//@}

@ -577,6 +577,18 @@ void BmffImage::parseCr3Preview(DataBuf& data, std::ostream& out, bool bTrace, u
}
}
void BmffImage::setExifData(const ExifData& /*exifData*/) {
throw(Error(ErrorCode::kerInvalidSettingForImage, "Exif metadata", "BMFF"));
}
void BmffImage::setIptcData(const IptcData& /*iptcData*/) {
throw(Error(ErrorCode::kerInvalidSettingForImage, "IPTC metadata", "BMFF"));
}
void BmffImage::setXmpData(const XmpData& /*xmpData*/) {
throw(Error(ErrorCode::kerInvalidSettingForImage, "XMP metadata", "BMFF"));
}
void BmffImage::setComment(const std::string&) {
// bmff files are read-only
throw(Error(ErrorCode::kerInvalidSettingForImage, "Image comment", "BMFF"));
@ -652,7 +664,7 @@ void BmffImage::printStructure(std::ostream& out, Exiv2::PrintStructureOption op
void BmffImage::writeMetadata() {
// bmff files are read-only
throw(Error(ErrorCode::kerInvalidSettingForImage, "Image comment", "BMFF"));
throw(Error(ErrorCode::kerWritingImageFormatUnsupported, "BMFF"));
} // BmffImage::writeMetadata
// *************************************************************************

Loading…
Cancel
Save