[Libreoffice-commits] core.git: 4 commits - fpicker/source stoc/Library_stocservices.mk stoc/source
Stephan Bergmann
sbergman at redhat.com
Sun Oct 20 13:54:32 PDT 2013
fpicker/source/aqua/resourceprovider.mm | 1
stoc/Library_stocservices.mk | 1
stoc/source/uriproc/ExternalUriReferenceTranslator.cxx | 6
stoc/source/uriproc/UriReferenceFactory.cxx | 137 +++-------
stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand.cxx | 18 -
stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript.cxx | 17 -
stoc/source/uriproc/VndSunStarPkgUrlReferenceFactory.cxx | 6
stoc/source/uriproc/supportsService.cxx | 43 ---
stoc/source/uriproc/supportsService.hxx | 36 --
9 files changed, 70 insertions(+), 195 deletions(-)
New commits:
commit 212f0e9f0028373fd86ba8a7d7682a0664fccddd
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Sun Oct 20 22:54:08 2013 +0200
Missing include
Change-Id: I5674385df64bb47813f551fb666ffef7d7434728
diff --git a/fpicker/source/aqua/resourceprovider.mm b/fpicker/source/aqua/resourceprovider.mm
index f0a1df8..1b64ffc 100644
--- a/fpicker/source/aqua/resourceprovider.mm
+++ b/fpicker/source/aqua/resourceprovider.mm
@@ -23,6 +23,7 @@
#include <vcl/fpicker.hrc>
#include <vcl/svapp.hxx>
#include <tools/resmgr.hxx>
+#include <tools/string.hxx>
#include <com/sun/star/ui/dialogs/CommonFilePickerElementIds.hpp>
#include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp>
commit a242f53c0435d270ce2297acaf80dba0775dbd92
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Sun Oct 20 22:41:00 2013 +0200
Clean up stoc::uriproc::supportsService
Change-Id: I1f324aae149e766d4755dc06ac5793c218ed5cf7
diff --git a/stoc/Library_stocservices.mk b/stoc/Library_stocservices.mk
index fc39ef6..9c0cb84 100644
--- a/stoc/Library_stocservices.mk
+++ b/stoc/Library_stocservices.mk
@@ -34,7 +34,6 @@ $(eval $(call gb_Library_add_exception_objects,stocservices,\
stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand \
stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript \
stoc/source/uriproc/VndSunStarPkgUrlReferenceFactory \
- stoc/source/uriproc/supportsService \
))
# vim:set noet sw=4 ts=4:
diff --git a/stoc/source/uriproc/ExternalUriReferenceTranslator.cxx b/stoc/source/uriproc/ExternalUriReferenceTranslator.cxx
index fde8219..5f75887 100644
--- a/stoc/source/uriproc/ExternalUriReferenceTranslator.cxx
+++ b/stoc/source/uriproc/ExternalUriReferenceTranslator.cxx
@@ -20,8 +20,6 @@
#include "stocservices.hxx"
-#include "supportsService.hxx"
-
#include "com/sun/star/lang/XServiceInfo.hpp"
#include "com/sun/star/uno/Exception.hpp"
#include "com/sun/star/uno/Reference.hxx"
@@ -31,6 +29,7 @@
#include "com/sun/star/uno/XInterface.hpp"
#include "com/sun/star/uri/XExternalUriReferenceTranslator.hpp"
#include "cppuhelper/implbase2.hxx"
+#include "cppuhelper/supportsservice.hxx"
#include "cppuhelper/weak.hxx"
#include "osl/thread.h"
#include "rtl/string.h"
@@ -89,8 +88,7 @@ OUString Translator::getImplementationName()
sal_Bool Translator::supportsService(OUString const & serviceName)
throw (css::uno::RuntimeException)
{
- return stoc::uriproc::supportsService(
- getSupportedServiceNames(), serviceName);
+ return cppu::supportsService(this, serviceName);
}
css::uno::Sequence< OUString > Translator::getSupportedServiceNames()
diff --git a/stoc/source/uriproc/UriReferenceFactory.cxx b/stoc/source/uriproc/UriReferenceFactory.cxx
index 5088ba1..13e5453 100644
--- a/stoc/source/uriproc/UriReferenceFactory.cxx
+++ b/stoc/source/uriproc/UriReferenceFactory.cxx
@@ -42,6 +42,7 @@
#include "com/sun/star/uri/XUriSchemeParser.hpp"
#include "cppuhelper/implbase1.hxx"
#include "cppuhelper/implbase2.hxx"
+#include "cppuhelper/supportsservice.hxx"
#include "cppuhelper/weak.hxx"
#include "rtl/character.hxx"
#include "rtl/ustrbuf.hxx"
@@ -50,7 +51,6 @@
#include "UriReference.hxx"
#include "stocservices.hxx"
-#include "supportsService.hxx"
namespace {
@@ -320,8 +320,7 @@ OUString Factory::getImplementationName()
sal_Bool Factory::supportsService(OUString const & serviceName)
throw (css::uno::RuntimeException)
{
- return stoc::uriproc::supportsService(
- getSupportedServiceNames(), serviceName);
+ return cppu::supportsService(this, serviceName);
}
css::uno::Sequence< OUString > Factory::getSupportedServiceNames()
diff --git a/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand.cxx b/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand.cxx
index ee95a0c..1b3034e 100644
--- a/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand.cxx
+++ b/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand.cxx
@@ -36,6 +36,7 @@
#include "com/sun/star/util/XMacroExpander.hpp"
#include "cppuhelper/implbase1.hxx"
#include "cppuhelper/implbase2.hxx"
+#include "cppuhelper/supportsservice.hxx"
#include "cppuhelper/weak.hxx"
#include "rtl/textenc.h"
#include "rtl/uri.h"
@@ -45,7 +46,6 @@
#include "sal/types.h"
#include "UriReference.hxx"
-#include "supportsService.hxx"
namespace {
@@ -192,8 +192,7 @@ OUString Parser::getImplementationName()
::sal_Bool Parser::supportsService(OUString const & serviceName)
throw (css::uno::RuntimeException)
{
- return ::stoc::uriproc::supportsService(
- getSupportedServiceNames(), serviceName);
+ return cppu::supportsService(this, serviceName);
}
css::uno::Sequence< OUString > Parser::getSupportedServiceNames()
diff --git a/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript.cxx b/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript.cxx
index 3351390..3ee11ed 100644
--- a/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript.cxx
+++ b/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript.cxx
@@ -21,7 +21,6 @@
#include "stocservices.hxx"
#include "UriReference.hxx"
-#include "supportsService.hxx"
#include "com/sun/star/lang/IllegalArgumentException.hpp"
#include "com/sun/star/lang/XServiceInfo.hpp"
@@ -34,6 +33,7 @@
#include "com/sun/star/uri/XVndSunStarScriptUrlReference.hpp"
#include "cppuhelper/implbase1.hxx"
#include "cppuhelper/implbase2.hxx"
+#include "cppuhelper/supportsservice.hxx"
#include "cppuhelper/weak.hxx"
#include "osl/mutex.hxx"
#include "rtl/uri.hxx"
@@ -414,8 +414,7 @@ OUString Parser::getImplementationName()
sal_Bool Parser::supportsService(OUString const & serviceName)
throw (css::uno::RuntimeException)
{
- return stoc::uriproc::supportsService(
- getSupportedServiceNames(), serviceName);
+ return cppu::supportsService(this, serviceName);
}
css::uno::Sequence< OUString > Parser::getSupportedServiceNames()
diff --git a/stoc/source/uriproc/VndSunStarPkgUrlReferenceFactory.cxx b/stoc/source/uriproc/VndSunStarPkgUrlReferenceFactory.cxx
index 2dd5ac6..88d5883 100644
--- a/stoc/source/uriproc/VndSunStarPkgUrlReferenceFactory.cxx
+++ b/stoc/source/uriproc/VndSunStarPkgUrlReferenceFactory.cxx
@@ -20,8 +20,6 @@
#include "stocservices.hxx"
-#include "supportsService.hxx"
-
#include "com/sun/star/lang/XServiceInfo.hpp"
#include "com/sun/star/uno/Exception.hpp"
#include "com/sun/star/uno/Reference.hxx"
@@ -34,6 +32,7 @@
#include "com/sun/star/uri/XUriReferenceFactory.hpp"
#include "com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.hpp"
#include "cppuhelper/implbase2.hxx"
+#include "cppuhelper/supportsservice.hxx"
#include "cppuhelper/weak.hxx"
#include "rtl/string.h"
#include "rtl/textenc.h"
@@ -89,8 +88,7 @@ OUString Factory::getImplementationName()
sal_Bool Factory::supportsService(OUString const & serviceName)
throw (css::uno::RuntimeException)
{
- return stoc::uriproc::supportsService(
- getSupportedServiceNames(), serviceName);
+ return cppu::supportsService(this, serviceName);
}
css::uno::Sequence< OUString > Factory::getSupportedServiceNames()
diff --git a/stoc/source/uriproc/supportsService.cxx b/stoc/source/uriproc/supportsService.cxx
deleted file mode 100644
index b5a835f..0000000
--- a/stoc/source/uriproc/supportsService.cxx
+++ /dev/null
@@ -1,43 +0,0 @@
-/* -*- 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#include "supportsService.hxx"
-
-#include "com/sun/star/uno/Sequence.hxx"
-#include "rtl/ustring.hxx"
-#include "sal/types.h"
-
-namespace stoc { namespace uriproc {
-
-bool supportsService(
- com::sun::star::uno::Sequence< OUString > const & serviceNames,
- OUString const & serviceName)
-{
- for (sal_Int32 i = 0; i < serviceNames.getLength(); ++i) {
- if (serviceNames[i] == serviceName) {
- return true;
- }
- }
- return false;
-}
-
-} }
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/stoc/source/uriproc/supportsService.hxx b/stoc/source/uriproc/supportsService.hxx
deleted file mode 100644
index ba93837..0000000
--- a/stoc/source/uriproc/supportsService.hxx
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_stoc_source_uriproc_supportsService_hxx
-#define INCLUDED_stoc_source_uriproc_supportsService_hxx
-
-#include "com/sun/star/uno/Sequence.hxx"
-
-
-namespace stoc { namespace uriproc {
-
-bool supportsService(
- com::sun::star::uno::Sequence< OUString > const & serviceNames,
- OUString const & serviceName);
-
-} }
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 68c3efccbee39a036895275e5cc4f483ec6fcff7
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Sun Oct 20 22:36:21 2013 +0200
Some clean-up
Change-Id: Iea0daab5dbabefe119def6b07db73a573b703d32
diff --git a/stoc/source/uriproc/UriReferenceFactory.cxx b/stoc/source/uriproc/UriReferenceFactory.cxx
index 856f5fb..5088ba1 100644
--- a/stoc/source/uriproc/UriReferenceFactory.cxx
+++ b/stoc/source/uriproc/UriReferenceFactory.cxx
@@ -17,11 +17,14 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include "sal/config.h"
-#include "stocservices.hxx"
-
-#include "UriReference.hxx"
-#include "supportsService.hxx"
+#include <algorithm>
+#include <cassert>
+#include <cstdlib>
+#include <exception>
+#include <new>
+#include <vector>
#include "com/sun/star/lang/WrappedTargetRuntimeException.hpp"
#include "com/sun/star/lang/XMultiComponentFactory.hpp"
@@ -40,40 +43,27 @@
#include "cppuhelper/implbase1.hxx"
#include "cppuhelper/implbase2.hxx"
#include "cppuhelper/weak.hxx"
-#include "osl/diagnose.h"
#include "rtl/character.hxx"
-#include "rtl/string.h"
#include "rtl/ustrbuf.hxx"
#include "rtl/ustring.hxx"
#include "sal/types.h"
-#include <algorithm>
-#include /*MSVC trouble: <cstdlib>*/ <stdlib.h>
-#include <exception>
-#include <new>
-#include <vector>
+#include "UriReference.hxx"
+#include "stocservices.hxx"
+#include "supportsService.hxx"
namespace {
-//TODO: move comphelper::string::misc into something like
-//sal/salhelper and use those instead
-
-sal_Unicode toLowerCase(sal_Unicode c) {
- return rtl::isAsciiUpperCase(c) ? c + ('a' - 'A') : c;
-}
-
-bool equalIgnoreCase(sal_Unicode c1, sal_Unicode c2) {
- return toLowerCase(c1) == toLowerCase(c2);
-}
-
bool equalIgnoreEscapeCase(OUString const & s1, OUString const & s2) {
if (s1.getLength() == s2.getLength()) {
for (sal_Int32 i = 0; i < s1.getLength();) {
if (s1[i] == '%' && s2[i] == '%' && s1.getLength() - i > 2
- && rtl::isAsciiHexDigit(s1[i + 1]) && rtl::isAsciiHexDigit(s1[i + 2])
- && rtl::isAsciiHexDigit(s2[i + 1]) && rtl::isAsciiHexDigit(s2[i + 2])
- && equalIgnoreCase(s1[i + 1], s2[i + 1])
- && equalIgnoreCase(s1[i + 2], s2[i + 2]))
+ && rtl::isAsciiHexDigit(s1[i + 1])
+ && rtl::isAsciiHexDigit(s1[i + 2])
+ && rtl::isAsciiHexDigit(s2[i + 1])
+ && rtl::isAsciiHexDigit(s2[i + 2])
+ && rtl::compareIgnoreAsciiCase(s1[i + 1], s2[i + 1]) == 0
+ && rtl::compareIgnoreAsciiCase(s1[i + 2], s2[i + 2]) == 0)
{
i += 3;
} else if (s1[i] != s2[i]) {
@@ -94,8 +84,8 @@ sal_Int32 parseScheme(OUString const & uriReference) {
sal_Unicode c = uriReference[i];
if (c == ':') {
return i;
- } else if (!rtl::isAsciiAlpha(c) && !rtl::isAsciiDigit(c) && c != '+' && c != '-'
- && c != '.')
+ } else if (!rtl::isAsciiAlpha(c) && !rtl::isAsciiDigit(c)
+ && c != '+' && c != '-' && c != '.')
{
break;
}
@@ -248,7 +238,7 @@ void processSegments(
bool base, bool processSpecialSegments)
{
sal_Int32 count = uriReference->getPathSegmentCount() - (base ? 1 : 0);
- OSL_ASSERT(count <= SAL_MAX_INT32 - 1 && -count >= SAL_MIN_INT32 + 1);
+ assert(count <= SAL_MAX_INT32 - 1 && -count >= SAL_MIN_INT32 + 1);
for (sal_Int32 i = 0; i < count; ++i) {
if (processSpecialSegments) {
OUString segment(uriReference->getPathSegment(i));
@@ -258,9 +248,7 @@ void processSegments(
}
continue;
} else if ( segment == ".." ) {
- if (segments.empty()
- || /*MSVC trouble: std::*/abs(segments.back()) == 1)
- {
+ if (segments.empty() || std::abs(segments.back()) == 1) {
segments.push_back(base ? -1 : 1);
} else {
segments.pop_back();
@@ -354,25 +342,24 @@ css::uno::Reference< css::uri::XUriReference > Factory::parse(
OUString schemeSpecificPart;
OUString serviceName;
sal_Int32 n = parseScheme(uriReference);
- OSL_ASSERT(n < fragment);
+ assert(n < fragment);
if (n >= 0) {
scheme = uriReference.copy(0, n);
schemeSpecificPart = uriReference.copy(n + 1, fragment - (n + 1));
OUStringBuffer buf;
- buf.appendAscii(
- RTL_CONSTASCII_STRINGPARAM("com.sun.star.uri.UriSchemeParser_"));
+ buf.append("com.sun.star.uri.UriSchemeParser_");
for (sal_Int32 i = 0; i < scheme.getLength(); ++i) {
sal_Unicode c = scheme[i];
if (rtl::isAsciiUpperCase(c)) {
- buf.append(toLowerCase(c));
+ buf.append(static_cast<sal_Unicode>(rtl::toAsciiLowerCase(c)));
} else if (c == '+') {
- buf.appendAscii(RTL_CONSTASCII_STRINGPARAM("PLUS"));
+ buf.append("PLUS");
} else if (c == '-') {
- buf.appendAscii(RTL_CONSTASCII_STRINGPARAM("HYPHEN"));
+ buf.append("HYPHEN");
} else if (c == '.') {
- buf.appendAscii(RTL_CONSTASCII_STRINGPARAM("DOT"));
+ buf.append("DOT");
} else {
- OSL_ASSERT(rtl::isAsciiLowerCase(c) || rtl::isAsciiDigit(c));
+ assert(rtl::isAsciiLowerCase(c) || rtl::isAsciiDigit(c));
buf.append(c);
}
}
@@ -393,8 +380,7 @@ css::uno::Reference< css::uri::XUriReference > Factory::parse(
throw;
} catch (const css::uno::Exception & e) {
throw css::lang::WrappedTargetRuntimeException(
- OUString("creating service ")
- + serviceName,
+ "creating service " + serviceName,
static_cast< cppu::OWeakObject * >(this),
css::uno::makeAny(e)); //TODO: preserve type of e
}
@@ -441,10 +427,10 @@ css::uno::Reference< css::uri::XUriReference > Factory::makeAbsolute(
OUStringBuffer abs(baseUriReference->getScheme());
abs.append(static_cast< sal_Unicode >(':'));
if (uriReference->hasAuthority()) {
- abs.appendAscii(RTL_CONSTASCII_STRINGPARAM("//"));
+ abs.append("//");
abs.append(uriReference->getAuthority());
} else if (baseUriReference->hasAuthority()) {
- abs.appendAscii(RTL_CONSTASCII_STRINGPARAM("//"));
+ abs.append("//");
abs.append(baseUriReference->getAuthority());
}
if (uriReference->hasRelativePath()) {
@@ -498,7 +484,7 @@ css::uno::Reference< css::uri::XUriReference > Factory::makeAbsolute(
if (!slash) {
abs.append(static_cast< sal_Unicode >('/'));
}
- abs.appendAscii(RTL_CONSTASCII_STRINGPARAM(".."));
+ abs.append("..");
slash = *i < 0;
if (slash) {
abs.append(static_cast< sal_Unicode >('/'));
@@ -509,7 +495,7 @@ css::uno::Reference< css::uri::XUriReference > Factory::makeAbsolute(
break;
default:
- OSL_ASSERT(false);
+ assert(false);
break;
}
}
@@ -553,7 +539,7 @@ css::uno::Reference< css::uri::XUriReference > Factory::makeRelative(
uriReference->getAuthority()))
{
if (uriReference->hasAuthority()) {
- rel.appendAscii(RTL_CONSTASCII_STRINGPARAM("//"));
+ rel.append("//");
rel.append(uriReference->getAuthority());
}
rel.append(uriReference->getPath());
@@ -582,8 +568,7 @@ css::uno::Reference< css::uri::XUriReference > Factory::makeRelative(
}
if (i == 0 && preferAbsoluteOverRelativePath
&& (preferAuthorityOverRelativePath
- || !uriReference->getPath().matchAsciiL(
- RTL_CONSTASCII_STRINGPARAM("//"))))
+ || !uriReference->getPath().startsWith("//")))
{
if (baseUriReference->getPath().getLength() > 1
|| uriReference->getPath().getLength() > 1)
@@ -591,11 +576,10 @@ css::uno::Reference< css::uri::XUriReference > Factory::makeRelative(
if (uriReference->getPath().isEmpty()) {
rel.append(static_cast< sal_Unicode >('/'));
} else {
- OSL_ASSERT(uriReference->getPath()[0] == '/');
- if (uriReference->getPath().matchAsciiL(
- RTL_CONSTASCII_STRINGPARAM("//"))) {
- OSL_ASSERT(uriReference->hasAuthority());
- rel.appendAscii(RTL_CONSTASCII_STRINGPARAM("//"));
+ assert(uriReference->getPath()[0] == '/');
+ if (uriReference->getPath().startsWith("//")) {
+ assert(uriReference->hasAuthority());
+ rel.append("//");
rel.append(uriReference->getAuthority());
}
rel.append(uriReference->getPath());
@@ -607,7 +591,7 @@ css::uno::Reference< css::uri::XUriReference > Factory::makeRelative(
if (segments) {
rel.append(static_cast< sal_Unicode >('/'));
}
- rel.appendAscii(RTL_CONSTASCII_STRINGPARAM(".."));
+ rel.append("..");
segments = true;
}
if (i < count2 - 1
@@ -626,16 +610,10 @@ css::uno::Reference< css::uri::XUriReference > Factory::makeRelative(
rel.append(static_cast< sal_Unicode >('/'));
}
OUString s(uriReference->getPathSegment(i));
- if (encodeRetainedSpecialSegments
- && s.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(".")))
- {
- rel.appendAscii(RTL_CONSTASCII_STRINGPARAM("%2E"));
- } else if (encodeRetainedSpecialSegments
- && s.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM("..")))
- {
- rel.appendAscii(
- RTL_CONSTASCII_STRINGPARAM("%2E%2E"));
+ if (encodeRetainedSpecialSegments && s == ".") {
+ rel.append("%2E");
+ } else if (encodeRetainedSpecialSegments && s == "..") {
+ rel.append("%2E%2E");
} else {
rel.append(s);
}
@@ -667,8 +645,7 @@ css::uno::Reference< css::uno::XInterface > create(
try {
return static_cast< cppu::OWeakObject * >(new Factory(context));
} catch (std::bad_alloc &) {
- throw css::uno::RuntimeException(
- OUString("std::bad_alloc"), 0);
+ throw css::uno::RuntimeException("std::bad_alloc", 0);
}
}
@@ -678,7 +655,7 @@ OUString getImplementationName() {
css::uno::Sequence< OUString > getSupportedServiceNames() {
css::uno::Sequence< OUString > s(1);
- s[0] = OUString("com.sun.star.uri.UriReferenceFactory");
+ s[0] = "com.sun.star.uri.UriReferenceFactory";
return s;
}
commit 79502678d091b90f9b76c37fbd97f8710a075655
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Sun Oct 20 22:22:05 2013 +0200
Clean-up std::bad_alloc handling
...post 0bc89aac4c64bb833e387657f680e194c26aef97 "cppumaker: Allow UNO interface functions to throw std::exception."
Change-Id: I5fede822d279c3c758103192a813447bb4906679
diff --git a/stoc/source/uriproc/UriReferenceFactory.cxx b/stoc/source/uriproc/UriReferenceFactory.cxx
index 6d42c49..856f5fb 100644
--- a/stoc/source/uriproc/UriReferenceFactory.cxx
+++ b/stoc/source/uriproc/UriReferenceFactory.cxx
@@ -49,6 +49,7 @@
#include <algorithm>
#include /*MSVC trouble: <cstdlib>*/ <stdlib.h>
+#include <exception>
#include <new>
#include <vector>
@@ -191,7 +192,6 @@ private:
stoc::uriproc::UriReference m_base;
};
-// throws std::bad_alloc
css::uno::Reference< css::uri::XUriReference > parseGeneric(
OUString const & scheme, OUString const & schemeSpecificPart)
{
@@ -291,7 +291,7 @@ public:
virtual css::uno::Reference< css::uri::XUriReference > SAL_CALL
parse(OUString const & uriReference)
- throw (css::uno::RuntimeException);
+ throw (css::uno::RuntimeException, std::exception);
virtual css::uno::Reference< css::uri::XUriReference > SAL_CALL
makeAbsolute(
@@ -343,7 +343,8 @@ css::uno::Sequence< OUString > Factory::getSupportedServiceNames()
}
css::uno::Reference< css::uri::XUriReference > Factory::parse(
- OUString const & uriReference) throw (css::uno::RuntimeException)
+ OUString const & uriReference)
+ throw (css::uno::RuntimeException, std::exception)
{
sal_Int32 fragment = uriReference.indexOf('#');
if (fragment == -1) {
@@ -403,18 +404,10 @@ css::uno::Reference< css::uri::XUriReference > Factory::parse(
}
}
}
- css::uno::Reference< css::uri::XUriReference > uriRef;
- if (parser.is()) {
- uriRef = parser->parse(scheme, schemeSpecificPart);
- } else {
- try {
- uriRef = parseGeneric(scheme, schemeSpecificPart);
- } catch (std::bad_alloc &) {
- throw css::uno::RuntimeException(
- OUString("std::bad_alloc"),
- static_cast< cppu::OWeakObject * >(this));
- }
- }
+ css::uno::Reference< css::uri::XUriReference > uriRef(
+ parser.is()
+ ? parser->parse(scheme, schemeSpecificPart)
+ : parseGeneric(scheme, schemeSpecificPart));
if (uriRef.is() && fragment != uriReference.getLength()) {
uriRef->setFragment(uriReference.copy(fragment + 1));
}
diff --git a/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand.cxx b/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand.cxx
index d8545d6..ee95a0c 100644
--- a/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand.cxx
+++ b/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTexpand.cxx
@@ -21,6 +21,7 @@
#include "stocservices.hxx"
+#include <exception>
#include <new>
#include "com/sun/star/lang/IllegalArgumentException.hpp"
@@ -172,7 +173,7 @@ public:
parse(
OUString const & scheme,
OUString const & schemeSpecificPart)
- throw (css::uno::RuntimeException);
+ throw (css::uno::RuntimeException, std::exception);
private:
Parser(Parser &); // not defined
@@ -204,18 +205,12 @@ css::uno::Sequence< OUString > Parser::getSupportedServiceNames()
css::uno::Reference< css::uri::XUriReference > Parser::parse(
OUString const & scheme, OUString const & schemeSpecificPart)
- throw (css::uno::RuntimeException)
+ throw (css::uno::RuntimeException, std::exception)
{
if (!parseSchemeSpecificPart(schemeSpecificPart)) {
return css::uno::Reference< css::uri::XUriReference >();
}
- try {
- return new UrlReference(scheme, schemeSpecificPart);
- } catch (::std::bad_alloc &) {
- throw css::uno::RuntimeException(
- OUString("std::bad_alloc"),
- css::uno::Reference< css::uno::XInterface >());
- }
+ return new UrlReference(scheme, schemeSpecificPart);
}
}
diff --git a/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript.cxx b/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript.cxx
index f82178f..3351390 100644
--- a/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript.cxx
+++ b/stoc/source/uriproc/UriSchemeParser_vndDOTsunDOTstarDOTscript.cxx
@@ -41,6 +41,7 @@
#include "rtl/ustring.hxx"
#include "sal/types.h"
+#include <exception>
#include <new>
namespace {
@@ -394,7 +395,7 @@ public:
virtual css::uno::Reference< css::uri::XUriReference > SAL_CALL
parse(
OUString const & scheme, OUString const & schemeSpecificPart)
- throw (css::uno::RuntimeException);
+ throw (css::uno::RuntimeException, std::exception);
private:
Parser(Parser &); // not implemented
@@ -427,17 +428,12 @@ css::uno::Sequence< OUString > Parser::getSupportedServiceNames()
css::uno::Reference< css::uri::XUriReference >
Parser::parse(
OUString const & scheme, OUString const & schemeSpecificPart)
- throw (css::uno::RuntimeException)
+ throw (css::uno::RuntimeException, std::exception)
{
if (!parseSchemeSpecificPart(schemeSpecificPart)) {
return 0;
}
- try {
- return new UrlReference(scheme, schemeSpecificPart);
- } catch (std::bad_alloc &) {
- throw css::uno::RuntimeException(
- OUString("std::bad_alloc"), 0);
- }
+ return new UrlReference(scheme, schemeSpecificPart);
}
}
More information about the Libreoffice-commits
mailing list