1*a62be085SSadaf Ebrahimi #ifndef DYNAMIC_DEPTH_INCLUDES_XMPMETA_XMP_PARSER_H_ // NOLINT 2*a62be085SSadaf Ebrahimi #define DYNAMIC_DEPTH_INCLUDES_XMPMETA_XMP_PARSER_H_ // NOLINT 3*a62be085SSadaf Ebrahimi 4*a62be085SSadaf Ebrahimi #include <fstream> 5*a62be085SSadaf Ebrahimi #include <string> 6*a62be085SSadaf Ebrahimi 7*a62be085SSadaf Ebrahimi #include "base/port.h" 8*a62be085SSadaf Ebrahimi #include "xmpmeta/xmp_data.h" 9*a62be085SSadaf Ebrahimi 10*a62be085SSadaf Ebrahimi namespace dynamic_depth { 11*a62be085SSadaf Ebrahimi namespace xmpmeta { 12*a62be085SSadaf Ebrahimi 13*a62be085SSadaf Ebrahimi // Populates a XmpData from the header of the JPEG file. 14*a62be085SSadaf Ebrahimi bool ReadXmpHeader(const string& filename, bool skip_extended, 15*a62be085SSadaf Ebrahimi XmpData* xmp_data); 16*a62be085SSadaf Ebrahimi 17*a62be085SSadaf Ebrahimi // Populates a XmpData from the header of JPEG file that has already been read 18*a62be085SSadaf Ebrahimi // into memory. 19*a62be085SSadaf Ebrahimi bool ReadXmpFromMemory(const string& jpeg_contents, bool skip_extended, 20*a62be085SSadaf Ebrahimi XmpData* xmp_data); 21*a62be085SSadaf Ebrahimi 22*a62be085SSadaf Ebrahimi // Populates a XmpData from the header of the given stream (stream data is 23*a62be085SSadaf Ebrahimi // in JPEG format). 24*a62be085SSadaf Ebrahimi bool ReadXmpHeader(std::istream* input_stream, bool skip_extended, 25*a62be085SSadaf Ebrahimi XmpData* xmp_data); 26*a62be085SSadaf Ebrahimi } // namespace xmpmeta 27*a62be085SSadaf Ebrahimi } // namespace dynamic_depth 28*a62be085SSadaf Ebrahimi 29*a62be085SSadaf Ebrahimi #endif // DYNAMIC_DEPTH_INCLUDES_XMPMETA_XMP_PARSER_H_ // NOLINT 30