gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / osdata.h
index db96d59e2d55909c9cdd88013cfc79c9f0a56bcb..62075fdf73a138e2d1e1762b5cc44d576dda72ef 100644 (file)
@@ -1,6 +1,6 @@
 /* Routines for handling XML generic OS data provided by target.
 
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef OSDATA_H
 #define OSDATA_H
 
-#include "vec.h"
+#include <vector>
 
-typedef struct osdata_column
+struct osdata_column
 {
-  char *name;
-  char *value;
-} osdata_column_s;
-DEF_VEC_O(osdata_column_s);
+  osdata_column (std::string &&name_, std::string &&value_)
+  : name (std::move (name_)), value (std::move (value_))
+  {}
 
-typedef struct osdata_item
+  std::string name;
+  std::string value;
+};
+
+struct osdata_item
 {
-  VEC(osdata_column_s) *columns;
-} osdata_item_s;
-DEF_VEC_O(osdata_item_s);
+  std::vector<osdata_column> columns;
+};
 
 struct osdata
 {
-  char *type;
+  osdata (std::string &&type_)
+  : type (std::move (type_))
+  {}
 
-  VEC(osdata_item_s) *items;
+  std::string type;
+  std::vector<osdata_item> items;
 };
-typedef struct osdata *osdata_p;
-DEF_VEC_P(osdata_p);
-
-struct osdata *osdata_parse (const char *xml);
-void osdata_free (struct osdata *);
-struct cleanup *make_cleanup_osdata_free (struct osdata *data);
-struct osdata *get_osdata (const char *type);
-const char *get_osdata_column (struct osdata_item *item, const char *name);
-void info_osdata_command (char *type, int from_tty);
+
+std::unique_ptr<osdata> osdata_parse (const char *xml);
+std::unique_ptr<osdata> get_osdata (const char *type);
+const std::string *get_osdata_column (const osdata_item &item,
+                                     const char *name);
+
+/* Dump TYPE info to the current uiout builder.  If TYPE is either
+   NULL or empty, then dump the top level table that lists the
+   available types of OS data.  */
+void info_osdata (const char *type);
 
 #endif /* OSDATA_H */
This page took 0.053329 seconds and 4 git commands to generate.