From 49d0b428ca19852d49965f35328a314f22d88807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Gehring?= Date: Wed, 17 Jun 2015 05:12:07 -0700 Subject: CommonAPI 3.1.2 --- include/CommonAPI/DBus/DBusTypeOutputStream.hpp | 31 ++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'include/CommonAPI/DBus/DBusTypeOutputStream.hpp') diff --git a/include/CommonAPI/DBus/DBusTypeOutputStream.hpp b/include/CommonAPI/DBus/DBusTypeOutputStream.hpp index 3ba7cf7..928eadc 100644 --- a/include/CommonAPI/DBus/DBusTypeOutputStream.hpp +++ b/include/CommonAPI/DBus/DBusTypeOutputStream.hpp @@ -80,6 +80,11 @@ public: return (*this); } + TypeOutputStream &writeType(const Version &) { + signature_.append("(uu)"); + return (*this); + } + TypeOutputStream &writeVersionType() { signature_.append("(uu)"); return (*this); @@ -87,7 +92,7 @@ public: template TypeOutputStream &writeType(const Struct<_Types...> &_value) { - signature_.append("("); + signature_.append("("); const auto itsSize(std::tuple_size>::value); StructTypeWriter>{} (*this, _value); @@ -97,28 +102,28 @@ public: template TypeOutputStream &writeType(const std::shared_ptr<_PolymorphicStruct> &_value) { - signature_.append("("); - _value->writeType(*this); + signature_.append("("); + _value->template writeType<>((*this)); signature_.append(")"); return (*this); } template TypeOutputStream &writeType(const Variant<_Types...> &_value) { - signature_.append("(yv)"); - return (*this); + signature_.append("(yv)"); + return (*this); } template TypeOutputStream &writeType(const Variant<_Types...> &_value, const _Deployment *_depl) { - if (_depl != nullptr && _depl->isFreeDesktop_) { - signature_.append("v"); - } else { - signature_.append("(yv)"); - } - TypeOutputStreamWriteVisitor typeVisitor(*this); - ApplyVoidVisitor, - Variant<_Types...>, _Types...>::visit(typeVisitor, _value); + if (_depl != nullptr && _depl->isFreeDesktop_) { + signature_.append("v"); + } else { + signature_.append("(yv)"); + } + TypeOutputStreamWriteVisitor typeVisitor(*this); + ApplyVoidVisitor, + Variant<_Types...>, _Types...>::visit(typeVisitor, _value); return (*this); } -- cgit v1.2.1