summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2018-01-19 17:44:52 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2018-04-03 16:36:37 +0200
commit0a61121424458dcd6fabba3c95e26d54aed1f132 (patch)
tree93319945ce54a0ae0c381c89c9b661c43f88e915
parentdfd437bef970478f1683be2abf7e0ad55f3cf5ab (diff)
Handle also []any in unoAnyToPropertyTree()
We add it as a subtree where each element in the sequence has as its name its number. Change-Id: I9422777d887d899f76ad6d259631d15c2db53f03 Reviewed-on: https://gerrit.libreoffice.org/51967 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 1bf2ed44a18666843d6c1b4a92966fd78cda07bf) Reviewed-on: https://gerrit.libreoffice.org/52091 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/52314
-rw-r--r--desktop/source/lib/init.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 032db627d7d6..9c337990aebe 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -276,6 +276,20 @@ static boost::property_tree::ptree unoAnyToPropertyTree(const uno::Any& anyItem)
aTree.put("value", OString::number(anyItem.get<sal_uInt32>()).getStr());
else if (aType == "long")
aTree.put("value", OString::number(anyItem.get<sal_Int32>()).getStr());
+ else if (aType == "[]any")
+ {
+ uno::Sequence<uno::Any> aSeq;
+ if (anyItem >>= aSeq)
+ {
+ boost::property_tree::ptree aSubTree;
+
+ for (auto i = 0; i < aSeq.getLength(); ++i)
+ {
+ aSubTree.add_child(OString::number(i).getStr(), unoAnyToPropertyTree(aSeq[i]));
+ }
+ aTree.add_child("value", aSubTree);
+ }
+ }
// TODO: Add more as required