blob: e146094a4d1751c260e356075fd36b322b1db849 [file] [log] [blame]
/**
* 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