1 #ifndef DYNAMIC_DEPTH_INCLUDES_XMPMETA_XMP_DATA_H_ // NOLINT 2 #define DYNAMIC_DEPTH_INCLUDES_XMPMETA_XMP_DATA_H_ // NOLINT 3 4 #include <libxml/tree.h> 5 6 namespace dynamic_depth { 7 namespace xmpmeta { 8 9 // XmpData contains the standard, and optionally extended, XMP metadata from a 10 // JPEG file. See xmp_parser for reading XmpData from a JPEG or reading 11 // attributes from XmpData. 12 class XmpData { 13 public: 14 XmpData(); 15 ~XmpData(); 16 17 // Frees any allocated resources and resets the xmlDocPtrs to null. 18 void Reset(); 19 20 // The standard XMP section. 21 const xmlDocPtr StandardSection() const; 22 xmlDocPtr* MutableStandardSection(); 23 24 // The extended XMP section. 25 const xmlDocPtr ExtendedSection() const; 26 xmlDocPtr* MutableExtendedSection(); 27 28 private: 29 xmlDocPtr xmp_; 30 xmlDocPtr xmp_extended_; 31 }; 32 33 } // namespace xmpmeta 34 } // namespace dynamic_depth 35 36 #endif // DYNAMIC_DEPTH_INCLUDES_XMPMETA_XMP_DATA_H_ // NOLINT 37