OlympusMakerNote* OlympusMakerNote::create_(bool alloc) const { AutoPtr makerNote = AutoPtr(new OlympusMakerNote(alloc)); assert(makerNote.get() != 0); makerNote->readHeader(header_.pData_, header_.size_, byteOrder_); return makerNote.release(); }
LangAltValue::AutoPtr LangAltValue::clone() const { return AutoPtr(clone_()); }
XmpArrayValue::AutoPtr XmpArrayValue::clone() const { return AutoPtr(clone_()); }
Value::AutoPtr Value::create(TypeId typeId) { AutoPtr value; switch (typeId) { case invalidTypeId: case signedByte: case unsignedByte: value = AutoPtr(new DataValue(typeId)); break; case asciiString: value = AutoPtr(new AsciiValue); break; case unsignedShort: value = AutoPtr(new ValueType<uint16_t>); break; case unsignedLong: case tiffIfd: value = AutoPtr(new ValueType<uint32_t>(typeId)); break; case unsignedRational: value = AutoPtr(new ValueType<URational>); break; case undefined: value = AutoPtr(new DataValue); break; case signedShort: value = AutoPtr(new ValueType<int16_t>); break; case signedLong: value = AutoPtr(new ValueType<int32_t>); break; case signedRational: value = AutoPtr(new ValueType<Rational>); break; case tiffFloat: value = AutoPtr(new ValueType<float>); break; case tiffDouble: value = AutoPtr(new ValueType<double>); break; case string: value = AutoPtr(new StringValue); break; case date: value = AutoPtr(new DateValue); break; case time: value = AutoPtr(new TimeValue); break; case comment: value = AutoPtr(new CommentValue); break; case xmpText: value = AutoPtr(new XmpTextValue); break; case xmpBag: case xmpSeq: case xmpAlt: value = AutoPtr(new XmpArrayValue(typeId)); break; case langAlt: value = AutoPtr(new LangAltValue); break; default: value = AutoPtr(new DataValue(typeId)); break; } return value; } // Value::create
XmpTextValue::AutoPtr XmpTextValue::clone() const { return AutoPtr(clone_()); }
Key::AutoPtr Key::clone() const { return AutoPtr(clone_()); }
OlympusMakerNote::AutoPtr OlympusMakerNote::clone() const { return AutoPtr(clone_()); }
OlympusMakerNote::AutoPtr OlympusMakerNote::create(bool alloc) const { return AutoPtr(create_(alloc)); }
FujiMakerNote::AutoPtr FujiMakerNote::clone() const { return AutoPtr(clone_()); }
FujiMakerNote::AutoPtr FujiMakerNote::clone(bool alloc) const { return AutoPtr(clone_(alloc)); }
FujiMakerNote::AutoPtr FujiMakerNote::create(bool alloc) const { return AutoPtr(create_(alloc)); }
Nikon3MakerNote::AutoPtr Nikon3MakerNote::clone() const { return AutoPtr(clone_()); }
SonyMakerNote::AutoPtr SonyMakerNote::clone() const { return AutoPtr(clone_()); }
PanasonicMakerNote::AutoPtr PanasonicMakerNote::clone() const { return AutoPtr(clone_()); }
PanasonicMakerNote::AutoPtr PanasonicMakerNote::create(bool alloc) const { return AutoPtr(create_(alloc)); }