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.