xref: /aosp_15_r20/external/dynamic_depth/internal/xmpmeta/xmp_data.cc (revision a62be0856e8e1158f43b03e41bbad10f4d005fde)
1*a62be085SSadaf Ebrahimi #include "xmpmeta/xmp_data.h"
2*a62be085SSadaf Ebrahimi 
3*a62be085SSadaf Ebrahimi namespace dynamic_depth {
4*a62be085SSadaf Ebrahimi namespace xmpmeta {
5*a62be085SSadaf Ebrahimi 
XmpData()6*a62be085SSadaf Ebrahimi XmpData::XmpData() : xmp_(nullptr), xmp_extended_(nullptr) {}
7*a62be085SSadaf Ebrahimi 
~XmpData()8*a62be085SSadaf Ebrahimi XmpData::~XmpData() { Reset(); }
9*a62be085SSadaf Ebrahimi 
Reset()10*a62be085SSadaf Ebrahimi void XmpData::Reset() {
11*a62be085SSadaf Ebrahimi   if (xmp_) {
12*a62be085SSadaf Ebrahimi     xmlFreeDoc(xmp_);
13*a62be085SSadaf Ebrahimi     xmp_ = nullptr;
14*a62be085SSadaf Ebrahimi   }
15*a62be085SSadaf Ebrahimi   if (xmp_extended_) {
16*a62be085SSadaf Ebrahimi     xmlFreeDoc(xmp_extended_);
17*a62be085SSadaf Ebrahimi     xmp_extended_ = nullptr;
18*a62be085SSadaf Ebrahimi   }
19*a62be085SSadaf Ebrahimi }
20*a62be085SSadaf Ebrahimi 
StandardSection() const21*a62be085SSadaf Ebrahimi const xmlDocPtr XmpData::StandardSection() const { return xmp_; }
22*a62be085SSadaf Ebrahimi 
MutableStandardSection()23*a62be085SSadaf Ebrahimi xmlDocPtr* XmpData::MutableStandardSection() { return &xmp_; }
24*a62be085SSadaf Ebrahimi 
ExtendedSection() const25*a62be085SSadaf Ebrahimi const xmlDocPtr XmpData::ExtendedSection() const { return xmp_extended_; }
26*a62be085SSadaf Ebrahimi 
MutableExtendedSection()27*a62be085SSadaf Ebrahimi xmlDocPtr* XmpData::MutableExtendedSection() { return &xmp_extended_; }
28*a62be085SSadaf Ebrahimi 
29*a62be085SSadaf Ebrahimi }  // namespace xmpmeta
30*a62be085SSadaf Ebrahimi }  // namespace dynamic_depth
31