lib/dbus/ReadIter: add dbus_message_iter_get_fixed_array() wrapper

This commit is contained in:
Max Kellermann 2019-02-20 22:34:34 +01:00
parent b59f37bc0a
commit 6adf964c81
1 changed files with 9 additions and 0 deletions

View File

@ -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.