blob: e146094a4d1751c260e356075fd36b322b1db849 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/**
2 * Copyright (C) ARM Limited 2010-2014. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef SESSION_XML_H
10#define SESSION_XML_H
11
12#include "mxml/mxml.h"
13
14struct ImageLinkList;
15
16struct ConfigParameters {
17 char buffer_mode[64]; // buffer mode, "streaming", "low", "normal", "high" defines oneshot and buffer size
18 char sample_rate[64]; // capture mode, "high", "normal", or "low"
19 int duration; // length of profile in seconds
20 bool call_stack_unwinding; // whether stack unwinding is performed
21 int live_rate;
22 struct ImageLinkList *images; // linked list of image strings
23};
24
25class SessionXML {
26public:
27 SessionXML(const char *str);
28 ~SessionXML();
29 void parse();
30 ConfigParameters parameters;
31private:
32 const char *mSessionXML;
33 const char *mPath;
34 void sessionTag(mxml_node_t *tree, mxml_node_t *node);
35 void sessionImage(mxml_node_t *node);
36
37 // Intentionally unimplemented
38 SessionXML(const SessionXML &);
39 SessionXML &operator=(const SessionXML &);
40};
41
42#endif // SESSION_XML_H