diff options
author | Tor Lillqvist <tml@collabora.com> | 2018-01-19 17:44:52 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-04-03 13:50:22 +0200 |
commit | 5c06f1eb53f818bbf1d25eeac10201168a67e52e (patch) | |
tree | 301aab3577e4d946e6d59d5766486d4b35b1923b | |
parent | a8ba30a54c6005de746c09fe19ded72c8bfebc6e (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>
-rw-r--r-- | desktop/source/lib/init.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 25b66ab08480..a3b77270aaa9 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -291,6 +291,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 |