/** * Copyright (C) ARM Limited 2010-2014. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef SESSION_XML_H #define SESSION_XML_H #include "mxml/mxml.h" struct ImageLinkList; struct ConfigParameters { char buffer_mode[64]; // buffer mode, "streaming", "low", "normal", "high" defines oneshot and buffer size char sample_rate[64]; // capture mode, "high", "normal", or "low" int duration; // length of profile in seconds bool call_stack_unwinding; // whether stack unwinding is performed int live_rate; struct ImageLinkList *images; // linked list of image strings }; class SessionXML { public: SessionXML(const char *str); ~SessionXML(); void parse(); ConfigParameters parameters; private: const char *mSessionXML; const char *mPath; void sessionTag(mxml_node_t *tree, mxml_node_t *node); void sessionImage(mxml_node_t *node); // Intentionally unimplemented SessionXML(const SessionXML &); SessionXML &operator=(const SessionXML &); }; #endif // SESSION_XML_H