qdict.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * Special QDict functions used by the block layer
  3. *
  4. * Copyright (c) 2013-2018 Red Hat, Inc.
  5. *
  6. * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
  7. * See the COPYING.LIB file in the top-level directory.
  8. */
  9. #ifndef BLOCK_QDICT_H
  10. #define BLOCK_QDICT_H
  11. #include "qobject/qdict.h"
  12. QObject *qdict_crumple(const QDict *src, Error **errp);
  13. void qdict_flatten(QDict *qdict);
  14. void qdict_copy_default(QDict *dst, QDict *src, const char *key);
  15. void qdict_set_default_str(QDict *dst, const char *key, const char *val);
  16. void qdict_join(QDict *dest, QDict *src, bool overwrite);
  17. void qdict_extract_subqdict(QDict *src, QDict **dst, const char *start);
  18. void qdict_array_split(QDict *src, QList **dst);
  19. int qdict_array_entries(QDict *src, const char *subqdict);
  20. typedef struct QDictRenames {
  21. const char *from;
  22. const char *to;
  23. } QDictRenames;
  24. bool qdict_rename_keys(QDict *qdict, const QDictRenames *renames, Error **errp);
  25. Visitor *qobject_input_visitor_new_flat_confused(QDict *qdict,
  26. Error **errp);
  27. #endif