Introduce ref_ptr::new_reference
[deliverable/binutils-gdb.git] / gdb / osdata.h
CommitLineData
07e059b5
VP
1/* Routines for handling XML generic OS data provided by target.
2
e2882c85 3 Copyright (C) 2008-2018 Free Software Foundation, Inc.
07e059b5
VP
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20#ifndef OSDATA_H
21#define OSDATA_H
22
479f8de1 23#include <vector>
07e059b5 24
479f8de1 25struct osdata_column
07e059b5 26{
479f8de1
SM
27 osdata_column (std::string &&name_, std::string &&value_)
28 : name (std::move (name_)), value (std::move (value_))
29 {}
07e059b5 30
479f8de1
SM
31 std::string name;
32 std::string value;
33};
34
35struct osdata_item
07e059b5 36{
479f8de1
SM
37 std::vector<osdata_column> columns;
38};
07e059b5
VP
39
40struct osdata
41{
479f8de1
SM
42 osdata (std::string &&type_)
43 : type (std::move (type_))
44 {}
07e059b5 45
479f8de1
SM
46 std::string type;
47 std::vector<osdata_item> items;
07e059b5 48};
479f8de1
SM
49
50std::unique_ptr<osdata> osdata_parse (const char *xml);
51std::unique_ptr<osdata> get_osdata (const char *type);
52const std::string *get_osdata_column (const osdata_item &item,
53 const char *name);
fdf9e36f
PA
54
55/* Dump TYPE info to the current uiout builder. If TYPE is either
56 NULL or empty, then dump the top level table that lists the
57 available types of OS data. */
58void info_osdata (const char *type);
07e059b5
VP
59
60#endif /* OSDATA_H */
This page took 0.997641 seconds and 4 git commands to generate.