From 6adf964c818dff459cfd8b812deaaa62823e6288 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Wed, 20 Feb 2019 22:34:34 +0100
Subject: [PATCH] lib/dbus/ReadIter: add dbus_message_iter_get_fixed_array()
 wrapper

---
 src/lib/dbus/ReadIter.hxx | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/lib/dbus/ReadIter.hxx b/src/lib/dbus/ReadIter.hxx
index 9284f2baa..4d549a253 100644
--- a/src/lib/dbus/ReadIter.hxx
+++ b/src/lib/dbus/ReadIter.hxx
@@ -35,6 +35,7 @@
 
 #include "Iter.hxx"
 #include "util/Compiler.h"
+#include "util/ConstBuffer.hxx"
 
 #if GCC_OLDER_THAN(8,0)
 /* switch off completely bogus shadow warnings in older GCC
@@ -81,6 +82,14 @@ public:
 		return value;
 	}
 
+	template<typename T>
+	ConstBuffer<T> GetFixedArray() noexcept {
+		void *value;
+		int n_elements;
+		dbus_message_iter_get_fixed_array(&iter, &value, &n_elements);
+		return {(const T *)value, size_t(n_elements)};
+	}
+
 	/**
 	 * Create a new iterator which recurses into a container
 	 * value.