From cadd96b3ea56db02b90a0971bd9cc46a2a883cc1 Mon Sep 17 00:00:00 2001
From: Peter Krempa <pkrempa@redhat.com>
Date: Mon, 26 Jun 2017 11:32:35 +0200
Subject: [PATCH] util: json: Add virJSONValueIsObject

Allows testing whether a virJSONValue is an object.
---
 src/libvirt_private.syms |  1 +
 src/util/virjson.c       | 10 ++++++++++
 src/util/virjson.h       |  2 ++
 3 files changed, 13 insertions(+)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 888412ac78..a2addca9c3 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1907,6 +1907,7 @@ virJSONValueGetString;
 virJSONValueHashFree;
 virJSONValueIsArray;
 virJSONValueIsNull;
+virJSONValueIsObject;
 virJSONValueNewArray;
 virJSONValueNewArrayFromBitmap;
 virJSONValueNewBoolean;
diff --git a/src/util/virjson.c b/src/util/virjson.c
index b49b29b0fb..76d1d36f17 100644
--- a/src/util/virjson.c
+++ b/src/util/virjson.c
@@ -904,6 +904,16 @@ virJSONValueObjectGetValue(virJSONValuePtr object,
 }
 
 
+bool
+virJSONValueIsObject(virJSONValuePtr object)
+{
+    if (object)
+        return object->type == VIR_JSON_TYPE_OBJECT;
+    else
+        return false;
+}
+
+
 bool
 virJSONValueIsArray(virJSONValuePtr array)
 {
diff --git a/src/util/virjson.h b/src/util/virjson.h
index 14b74c0617..c9d9752de1 100644
--- a/src/util/virjson.h
+++ b/src/util/virjson.h
@@ -114,6 +114,8 @@ virJSONValuePtr virJSONValueObjectGet(virJSONValuePtr object, const char *key);
 virJSONValuePtr virJSONValueObjectGetByType(virJSONValuePtr object,
                                             const char *key, virJSONType type);
 
+bool virJSONValueIsObject(virJSONValuePtr object);
+
 bool virJSONValueIsArray(virJSONValuePtr array);
 ssize_t virJSONValueArraySize(const virJSONValue *array);
 virJSONValuePtr virJSONValueArrayGet(virJSONValuePtr object, unsigned int element);
-- 
GitLab