connectivity/source/commontools/dbtools.cxx | 10 +- desktop/source/deployment/registry/component/dp_component.cxx | 34 ++++---- include/comphelper/propertysequence.hxx | 40 ++++++++++ 3 files changed, 64 insertions(+), 20 deletions(-)
New commits: commit f9632ab04288909c9ff4de56171c31acb7f2c573 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Mon Feb 23 02:38:18 2015 +0100 use init lists for property sequences Change-Id: I8b3b2b839c37b584e1a4036e49af7ff2737ea7f6 diff --git a/connectivity/source/commontools/dbtools.cxx b/connectivity/source/commontools/dbtools.cxx index b385eb7..f5d564c 100644 --- a/connectivity/source/commontools/dbtools.cxx +++ b/connectivity/source/commontools/dbtools.cxx @@ -68,6 +68,7 @@ #include <comphelper/interaction.hxx> #include <comphelper/processfactory.hxx> #include <comphelper/property.hxx> +#include <comphelper/propertysequence.hxx> #include <connectivity/conncleanup.hxx> #include <connectivity/dbconversion.hxx> #include <connectivity/dbexception.hxx> @@ -410,11 +411,10 @@ SharedConnection lcl_connectRowSet(const Reference< XRowSet>& _rxRowSet, const R xRowSetProps->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PASSWORD)) >>= sPwd; if (!sUser.isEmpty()) { // use user and pwd together with the url - Sequence< PropertyValue> aInfo(2); - aInfo.getArray()[0].Name = "user"; - aInfo.getArray()[0].Value <<= sUser; - aInfo.getArray()[1].Name = "password"; - aInfo.getArray()[1].Value <<= sPwd; + auto aInfo(::comphelper::InitPropertySequence({ + { "user", makeAny(sUser) }, + { "password", makeAny(sPwd) } + })); xPureConnection = xDriverManager->getConnectionWithInfo( sURL, aInfo ); } else diff --git a/include/comphelper/propertysequence.hxx b/include/comphelper/propertysequence.hxx new file mode 100644 index 0000000..ce28e4f --- /dev/null +++ b/include/comphelper/propertysequence.hxx @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef INCLUDED_COMPHELPER_PROPERTYSEQUENCE_HXX +#define INCLUDED_COMPHELPER_PROPERTYSEQUENCE_HXX + +#include <utility> +#include <initializer_list> +#include <com/sun/star/uno/Any.hxx> +#include <com/sun/star/uno/Sequence.hxx> +#include <com/sun/star/beans/PropertyValue.hpp> + +namespace comphelper +{ + ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > InitPropertySequence( + ::std::initializer_list< ::std::pair< OUString, ::com::sun::star::uno::Any > > vInit) + { + ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue> vResult{static_cast<sal_Int32>(vInit.size())}; + size_t nCount{0}; + for(auto aEntry : vInit) + { + vResult[nCount].Name = std::move(aEntry.first); + vResult[nCount].Value = std::move(aEntry.second); + ++nCount; + } + return std::move(vResult); + } +} // namespace comphelper + + + +#endif // INCLUDED_COMPHELPER_PROPERTYSEQUENCE_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit caebcd5d12f8d2798f32f72fd0bcfdc12f9f2c4f Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Fri Feb 20 01:55:12 2015 +0100 related lp#1419836: provide decent error message Change-Id: I95387ae6b2ca8f49af87945954e4c418322860be diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index b3ee90f..d859d04 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -1101,8 +1101,17 @@ Reference<XComponentContext> raise_uno_process( ::std::vector<OUString> bootvars = getCmdBootstrapVariables(); args.insert(args.end(), bootvars.begin(), bootvars.end()); - oslProcess hProcess = raiseProcess( - url, comphelper::containerToSequence(args) ); + oslProcess hProcess; + try { + hProcess = raiseProcess( + url, comphelper::containerToSequence(args) ); + } + catch (...) { + OUString sMsg = "error starting process: " + url; + for(auto arg : args) + sMsg += " " + arg; + throw uno::RuntimeException(sMsg); + } try { return Reference<XComponentContext>( resolveUnoURL( connectStr, xContext, abortChannel.get() ), commit d30b8f9357e9eb505ebff133b24a3d1ce0bdd58f Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Fri Feb 20 01:42:29 2015 +0100 use initializer list Change-Id: Ie15b08a3bc08760d602f6b71ff30234aa4a03dca diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index 5502e43..b3ee90f 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -1087,15 +1087,15 @@ Reference<XComponentContext> raise_uno_process( // javavm service uses unorc next to executable to retrieve deployed // jar typelibs - ::std::vector<OUString> args; + ::std::vector<OUString> args{ #if OSL_DEBUG_LEVEL == 0 - args.push_back( "--quiet" ); + "--quiet", #endif - args.push_back( "--singleaccept" ); - args.push_back( "-u" ); - args.push_back( connectStr ); - // don't inherit from unorc: - args.push_back( "-env:INIFILENAME=" ); + "--singleaccept", + "-u", + connectStr, + // don't inherit from unorc: + "-env:INIFILENAME=" }; //now add the bootstrap variables which were supplied on the command line ::std::vector<OUString> bootvars = getCmdBootstrapVariables(); commit f8c745d1c060312c03fa020e52acd1337b6e81d9 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Fri Feb 20 01:32:54 2015 +0100 fdo#57950: skip verbose OUStringBuffer Change-Id: I151da82d4a7b3d2f00108bfcea444915d6b8e1da diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index 5a3cce3..5502e43 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -1081,12 +1081,7 @@ Reference<XComponentContext> raise_uno_process( OUString url( util::theMacroExpander::get(xContext)->expandMacros( "$URE_BIN_DIR/uno" ) ); - OUStringBuffer buf; - buf.appendAscii( "uno:pipe,name=" ); - OUString pipeId( generateRandomPipeId() ); - buf.append( pipeId ); - buf.appendAscii( ";urp;uno.ComponentContext" ); - const OUString connectStr( buf.makeStringAndClear() ); + const OUString connectStr = "uno:pipe,name=" + generateRandomPipeId() + ";urp;uno.ComponentContext"; // raise core UNO process to register/run a component, // javavm service uses unorc next to executable to retrieve deployed _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits