diff --git a/src/lib/dbus/Types.hxx b/src/lib/dbus/Types.hxx index fc1db3440..f3bcae6b8 100644 --- a/src/lib/dbus/Types.hxx +++ b/src/lib/dbus/Types.hxx @@ -69,6 +69,16 @@ struct ArrayTypeTraits { typedef TemplateString::InsertBefore<TYPE, typename ContainedTraits::TypeAsString> TypeAsString; }; +template<typename KeyT, typename ValueT> +struct DictEntryTypeTraits { + static constexpr int TYPE = DBUS_TYPE_DICT_ENTRY; + + typedef TemplateString::Concat<TemplateString::CharAsString<DBUS_DICT_ENTRY_BEGIN_CHAR>, + typename KeyT::TypeAsString, + typename ValueT::TypeAsString, + TemplateString::CharAsString<DBUS_DICT_ENTRY_END_CHAR>> TypeAsString; +}; + using VariantTypeTraits = BasicTypeTraits<DBUS_TYPE_VARIANT>; template<typename T, typename... ContainedTraits>