[Libreoffice-commits] .: 11 commits - basctl/source bridges/test chart2/source connectivity/source cui/source dbaccess/source desktop/source editeng/source embeddedobj/source extensions/source filter/source forms/source framework/source io/source offapi/com offapi/type_reference offapi/UnoApi_offapi.mk oox/source reportdesign/source sc/source sd/source sfx2/source svl/source svtools/source svx/source sw/source toolkit/source ucb/source udkapi/com udkapi/UnoApi_udkapi.mk unoxml/source uui/source vbahelper/source xmloff/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Sep 3 06:55:43 PDT 2012


 basctl/source/basicide/moduldl2.cxx                             |    5 
 bridges/test/testoffice.cxx                                     |   16 -
 chart2/source/tools/RegressionCurveCalculator.cxx               |   10 
 connectivity/source/commontools/formattedcolumnvalue.cxx        |    5 
 connectivity/source/commontools/predicateinput.cxx              |   11 
 connectivity/source/drivers/flat/ETable.cxx                     |    7 
 cui/source/customize/acccfg.cxx                                 |   12 
 cui/source/customize/cfg.cxx                                    |   15 -
 cui/source/customize/cfgutil.cxx                                |    5 
 cui/source/customize/selector.cxx                               |   14 -
 cui/source/dialogs/SpellDialog.cxx                              |    9 
 cui/source/dialogs/about.cxx                                    |   10 
 cui/source/options/optlingu.cxx                                 |   13 
 dbaccess/source/core/api/SingleSelectQueryComposer.cxx          |    5 
 dbaccess/source/ui/app/AppDetailView.cxx                        |    9 
 dbaccess/source/ui/browser/brwctrlr.cxx                         |    9 
 dbaccess/source/ui/control/ColumnControlWindow.cxx              |    8 
 dbaccess/source/ui/control/opendoccontrols.cxx                  |   25 -
 dbaccess/source/ui/control/toolboxcontroller.cxx                |    5 
 dbaccess/source/ui/dlg/paramdialog.cxx                          |    7 
 dbaccess/source/ui/misc/UITools.cxx                             |    9 
 dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx            |    7 
 desktop/source/app/app.cxx                                      |   75 ++---
 desktop/source/deployment/gui/dp_gui_dialog2.cxx                |    4 
 desktop/source/deployment/gui/dp_gui_updatedialog.cxx           |   11 
 desktop/source/deployment/misc/dp_descriptioninfoset.cxx        |    8 
 desktop/source/deployment/registry/dp_backenddb.cxx             |    9 
 desktop/source/deployment/registry/package/dp_package.cxx       |    5 
 desktop/source/migration/migration.cxx                          |   13 
 desktop/source/migration/services/oo3extensionmigration.cxx     |  137 ++++------
 editeng/source/xml/xmltxtimp.cxx                                |    8 
 embeddedobj/source/general/docholder.cxx                        |    9 
 embeddedobj/source/msole/oleembed.cxx                           |    9 
 extensions/source/update/check/updatecheck.cxx                  |    9 
 extensions/source/update/feed/updatefeed.cxx                    |    5 
 filter/source/svg/svgreader.cxx                                 |    6 
 filter/source/xsltdialog/xmlfiltertestdialog.cxx                |   10 
 filter/source/xsltfilter/XSLTFilter.cxx                         |   15 -
 forms/source/component/Filter.cxx                               |    6 
 forms/source/helper/commanddescriptionprovider.cxx              |    4 
 forms/source/helper/commandimageprovider.cxx                    |    5 
 forms/source/xforms/submission.cxx                              |    6 
 forms/source/xforms/submission/replace.cxx                      |    6 
 forms/source/xforms/submission/serialization_app_xml.cxx        |    8 
 forms/source/xforms/submission/serialization_app_xml.hxx        |    4 
 forms/source/xforms/submission/serialization_urlencoded.cxx     |    4 
 forms/source/xforms/submission/serialization_urlencoded.hxx     |    5 
 forms/source/xforms/submission/submission_get.cxx               |    5 
 forms/source/xforms/xmlhelper.cxx                               |   10 
 framework/source/lomenubar/FrameHelper.cxx                      |    7 
 framework/source/services/backingwindow.cxx                     |    8 
 io/source/stm/opipe.cxx                                         |    5 
 offapi/UnoApi_offapi.mk                                         |   29 +-
 offapi/com/sun/star/datatransfer/DataFormatTranslator.idl       |   15 -
 offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl     |   18 -
 offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl |    5 
 offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl |    5 
 offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl  |    5 
 offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl          |    5 
 offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl          |    7 
 offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl          |    5 
 offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl          |    5 
 offapi/com/sun/star/presentation/PreviewView.idl                |    1 
 offapi/com/sun/star/security/CertificateContainer.idl           |    1 
 offapi/com/sun/star/security/DocumentDigitalSignatures.idl      |    1 
 offapi/com/sun/star/system/ProxySettings.idl                    |   16 -
 offapi/com/sun/star/system/SOffice52ProxySettings.idl           |    2 
 offapi/com/sun/star/system/SimpleCommandMail.idl                |   16 -
 offapi/com/sun/star/system/SimpleSystemMail.idl                 |   16 -
 offapi/com/sun/star/system/SystemProxySettings.idl              |    2 
 offapi/com/sun/star/system/SystemShellExecute.idl               |   16 -
 offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl |   28 --
 offapi/com/sun/star/ui/UICommandDescription.idl                 |   25 -
 offapi/com/sun/star/ui/dialogs/FilePicker.idl                   |    4 
 offapi/com/sun/star/ui/dialogs/FolderPicker.idl                 |    8 
 offapi/com/sun/star/util/NumberFormatter.idl                    |   21 -
 offapi/com/sun/star/util/XNumberFormatter2.idl                  |   49 +++
 offapi/com/sun/star/xml/dom/DocumentBuilder.idl                 |   10 
 offapi/type_reference/types.rdb                                 |binary
 oox/source/core/xmlfilterbase.cxx                               |    9 
 reportdesign/source/ui/report/ReportController.cxx              |    4 
 sc/source/filter/excel/xltoolbar.cxx                            |   10 
 sc/source/ui/docshell/docsh.cxx                                 |   12 
 sd/source/ui/dlg/dlgass.cxx                                     |   33 --
 sd/source/ui/view/ViewShellBase.cxx                             |   21 -
 sfx2/source/appl/appserv.cxx                                    |   14 -
 sfx2/source/appl/imagemgr.cxx                                   |    9 
 sfx2/source/appl/openuriexternally.cxx                          |    8 
 sfx2/source/appl/sfxhelp.cxx                                    |   13 
 sfx2/source/dialog/recfloat.cxx                                 |    7 
 sfx2/source/dialog/templdlg.cxx                                 |   16 -
 sfx2/source/doc/SfxDocumentMetaData.cxx                         |   17 -
 sfx2/source/view/viewsh.cxx                                     |    5 
 svl/source/numbers/numfmuno.hxx                                 |    7 
 svtools/source/contnr/templwin.cxx                              |   14 -
 svtools/source/misc/acceleratorexecute.cxx                      |    5 
 svtools/source/uno/contextmenuhelper.cxx                        |   43 +--
 svx/source/core/extedit.cxx                                     |    7 
 svx/source/form/formcontroller.cxx                              |    9 
 sw/source/filter/ww8/ww8toolbar.cxx                             |    6 
 sw/source/ui/dbui/dbinsdlg.cxx                                  |   13 
 sw/source/ui/dbui/dbmgr.cxx                                     |   10 
 sw/source/ui/lingu/olmenu.cxx                                   |   39 +-
 toolkit/source/awt/vclxwindows.cxx                              |    9 
 toolkit/source/controls/formattedcontrol.cxx                    |    3 
 ucb/source/core/ucbcmds.cxx                                     |   36 +-
 udkapi/UnoApi_udkapi.mk                                         |    3 
 udkapi/com/sun/star/io/Pipe.idl                                 |   16 -
 udkapi/com/sun/star/io/XPipe.idl                                |   56 ++++
 unoxml/source/dom/saxbuilder.cxx                                |    6 
 uui/source/newerverwarn.cxx                                     |   12 
 vbahelper/source/vbahelper/vbacommandbarhelper.cxx              |    4 
 xmloff/source/core/DomBuilderContext.cxx                        |   15 -
 113 files changed, 634 insertions(+), 804 deletions(-)

New commits:
commit 3a36408b73d8a9be43cd9f4570537ff1d80c0114
Author: Noel Grandin <noel at peralex.com>
Date:   Wed Aug 29 09:32:55 2012 +0200

    fdo#46808, Adapt util::NumberFormatter UNO service to new style
    
    Create a merged XNumberFormatter2 interface for this service to implement.
    Which is backwards-compatible, but does not require creating a new service.
    
    Change-Id: I57f35cde0a9dbbe91c1d2c3d068cb3a97c7245e3

diff --git a/chart2/source/tools/RegressionCurveCalculator.cxx b/chart2/source/tools/RegressionCurveCalculator.cxx
index d19276d..b64b02c 100644
--- a/chart2/source/tools/RegressionCurveCalculator.cxx
+++ b/chart2/source/tools/RegressionCurveCalculator.cxx
@@ -26,6 +26,7 @@
 #include <rtl/math.hxx>
 
 #include <com/sun/star/lang/XServiceName.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 
 using namespace ::com::sun::star;
 
@@ -140,13 +141,8 @@ OUString SAL_CALL RegressionCurveCalculator::getFormattedRepresentation(
     // create and prepare a number formatter
     if( !xNumFmtSupplier.is())
         return getRepresentation();
-    Reference< util::XNumberFormatter > xNumFormatter;
-    Reference< lang::XMultiServiceFactory > xFact( comphelper::getProcessServiceFactory(), uno::UNO_QUERY );
-    if( xFact.is())
-        xNumFormatter.set( xFact->createInstance(
-                               OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.NumberFormatter"))), uno::UNO_QUERY );
-    if( !xNumFormatter.is())
-        return getRepresentation();
+    Reference< uno::XComponentContext > xContext( comphelper::getProcessComponentContext(), uno::UNO_QUERY_THROW );
+    Reference< util::XNumberFormatter > xNumFormatter( util::NumberFormatter::create(xContext), uno::UNO_QUERY_THROW );
     xNumFormatter->attachNumberFormatsSupplier( xNumFmtSupplier );
 
     return ImplGetRepresentation( xNumFormatter, nNumberFormatKey );
diff --git a/connectivity/source/commontools/formattedcolumnvalue.cxx b/connectivity/source/commontools/formattedcolumnvalue.cxx
index ec509e7..3298764 100644
--- a/connectivity/source/commontools/formattedcolumnvalue.cxx
+++ b/connectivity/source/commontools/formattedcolumnvalue.cxx
@@ -22,7 +22,7 @@
 #include "connectivity/dbtools.hxx"
 #include "connectivity/dbconversion.hxx"
 
-#include <com/sun/star/util/XNumberFormatter.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/util/Date.hpp>
 #include <com/sun/star/sdbc/XConnection.hpp>
 #include <com/sun/star/util/XNumberFormatTypes.hpp>
@@ -51,6 +51,7 @@ namespace dbtools
     using ::com::sun::star::uno::makeAny;
     using ::com::sun::star::sdbc::XRowSet;
     using ::com::sun::star::beans::XPropertySet;
+    using ::com::sun::star::util::NumberFormatter;
     using ::com::sun::star::util::XNumberFormatter;
     using ::com::sun::star::util::Date;
     using ::com::sun::star::sdbc::XConnection;
@@ -199,7 +200,7 @@ namespace dbtools
                 Reference< XNumberFormatsSupplier > xSupplier( getNumberFormats( xConnection, sal_True, i_rContext.getLegacyServiceFactory() ), UNO_SET_THROW );
 
                 // create a number formatter for it
-                xNumberFormatter.set( i_rContext.createComponent( "com.sun.star.util.NumberFormatter" ), UNO_QUERY_THROW );
+                xNumberFormatter.set( NumberFormatter::create(i_rContext.getUNOContext()), UNO_QUERY_THROW );
                 xNumberFormatter->attachNumberFormatsSupplier( xSupplier );
             }
             catch( const Exception& )
diff --git a/connectivity/source/commontools/predicateinput.cxx b/connectivity/source/commontools/predicateinput.cxx
index 0fa5443..f72b116 100644
--- a/connectivity/source/commontools/predicateinput.cxx
+++ b/connectivity/source/commontools/predicateinput.cxx
@@ -23,6 +23,7 @@
 #include <connectivity/dbtools.hxx>
 #include <com/sun/star/sdbc/DataType.hpp>
 #include <com/sun/star/sdbc/ColumnValue.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <osl/diagnose.h>
 #include <connectivity/sqlnode.hxx>
 #include <connectivity/PColumn.hxx>
@@ -38,8 +39,10 @@ namespace dbtools
     using ::com::sun::star::sdbc::XConnection;
     using ::com::sun::star::lang::XMultiServiceFactory;
     using ::com::sun::star::util::XNumberFormatsSupplier;
+    using ::com::sun::star::util::NumberFormatter;
     using ::com::sun::star::util::XNumberFormatter;
     using ::com::sun::star::uno::UNO_QUERY;
+    using ::com::sun::star::uno::UNO_QUERY_THROW;
     using ::com::sun::star::beans::XPropertySet;
     using ::com::sun::star::beans::XPropertySetInfo;
     using ::com::sun::star::lang::Locale;
@@ -105,16 +108,16 @@ namespace dbtools
             OSL_ENSURE( m_xORB.is(), "OPredicateInputController::OPredicateInputController: need a service factory!" );
             if ( m_xORB.is() )
             {
-                m_xFormatter = Reference< XNumberFormatter >( m_xORB->createInstance(
-                    ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.NumberFormatter" ) ) ),
-                    UNO_QUERY
+                m_xFormatter = Reference< XNumberFormatter >(
+                    NumberFormatter::create(comphelper::ComponentContext(m_xORB).getUNOContext()),
+                    UNO_QUERY_THROW
                 );
             }
 
             Reference< XNumberFormatsSupplier >  xNumberFormats = ::dbtools::getNumberFormats( m_xConnection, sal_True );
             if ( !xNumberFormats.is() )
                 ::comphelper::disposeComponent( m_xFormatter );
-            else if ( m_xFormatter.is() )
+            else
                 m_xFormatter->attachNumberFormatsSupplier( xNumberFormats );
 
             // create the locale data
diff --git a/connectivity/source/drivers/flat/ETable.cxx b/connectivity/source/drivers/flat/ETable.cxx
index 4d9a603..c874ccf 100644
--- a/connectivity/source/drivers/flat/ETable.cxx
+++ b/connectivity/source/drivers/flat/ETable.cxx
@@ -36,6 +36,7 @@
 #include <comphelper/types.hxx>
 #include "flat/EDriver.hxx"
 #include <com/sun/star/util/NumberFormat.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <unotools/configmgr.hxx>
 #include <i18npool/mslangid.hxx>
 #include "connectivity/dbconversion.hxx"
@@ -49,6 +50,7 @@ using namespace connectivity::flat;
 using namespace connectivity::file;
 using namespace ::cppu;
 using namespace utl;
+using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::ucb;
 using namespace ::com::sun::star::beans;
@@ -420,7 +422,10 @@ void OFlatTable::construct()
     aArg[0] <<= aAppLocale;
 
     Reference< ::com::sun::star::util::XNumberFormatsSupplier >  xSupplier(m_pConnection->getDriver()->getFactory()->createInstanceWithArguments(::rtl::OUString("com.sun.star.util.NumberFormatsSupplier"),aArg),UNO_QUERY);
-    m_xNumberFormatter = Reference< ::com::sun::star::util::XNumberFormatter >(m_pConnection->getDriver()->getFactory()->createInstance(::rtl::OUString("com.sun.star.util.NumberFormatter")),UNO_QUERY);
+    m_xNumberFormatter = Reference< util::XNumberFormatter >(
+          util::NumberFormatter::create(
+             comphelper::ComponentContext(m_pConnection->getDriver()->getFactory()).getUNOContext()),
+          UNO_QUERY_THROW);
     m_xNumberFormatter->attachNumberFormatsSupplier(xSupplier);
     Reference<XPropertySet> xProp(xSupplier->getNumberFormatSettings(),UNO_QUERY);
     xProp->getPropertyValue(::rtl::OUString("NullDate")) >>= m_aNullDate;
diff --git a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
index 854c7f1..da159c3 100644
--- a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
+++ b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
@@ -41,7 +41,7 @@
 #include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
 #include <com/sun/star/sdbc/XParameters.hpp>
 #include <com/sun/star/uno/XAggregation.hpp>
-#include <com/sun/star/util/XNumberFormatter.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 
 #include <comphelper/processfactory.hxx>
 #include <comphelper/sequence.hxx>
@@ -1755,8 +1755,7 @@ Sequence< Sequence< PropertyValue > > OSingleSelectQueryComposer::getStructuredC
             if ( pCondition )
             {
                 ::std::vector< ::std::vector < PropertyValue > > aFilters;
-                Reference< XNumberFormatter > xFormatter;
-                m_aContext.createComponent( "com.sun.star.util.NumberFormatter", xFormatter );
+                Reference< XNumberFormatter > xFormatter( NumberFormatter::create(m_aContext.getUNOContext()), UNO_QUERY_THROW );
                 xFormatter->attachNumberFormatsSupplier( m_xNumberFormatsSupplier );
 
                 if (setORCriteria(pCondition, m_aAdditiveIterator, aFilters, xFormatter))
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index a3c21e9..348d33a 100644
--- a/dbaccess/source/ui/browser/brwctrlr.cxx
+++ b/dbaccess/source/ui/browser/brwctrlr.cxx
@@ -59,6 +59,7 @@
 #include <com/sun/star/sdbcx/XRowLocate.hpp>
 #include <com/sun/star/task/XInteractionHandler.hpp>
 #include <com/sun/star/uno/TypeClass.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/util/XCancellable.hpp>
 
 #include <comphelper/enumhelper.hxx>
@@ -83,6 +84,7 @@
 #include <vcl/msgbox.hxx>
 #include <vcl/waitobj.hxx>
 
+using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::awt;
 using namespace ::com::sun::star::sdb;
@@ -775,10 +777,9 @@ void SbaXDataBrowserController::initFormatter()
     if(xSupplier.is())
     {
         // create a new formatter
-        m_xFormatter = Reference< ::com::sun::star::util::XNumberFormatter > (
-            getORB()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.NumberFormatter"))), UNO_QUERY);
-        if (m_xFormatter.is())
-            m_xFormatter->attachNumberFormatsSupplier(xSupplier);
+        m_xFormatter = Reference< util::XNumberFormatter > (
+            util::NumberFormatter::create(comphelper::ComponentContext(getORB()).getUNOContext()), UNO_QUERY_THROW);
+        m_xFormatter->attachNumberFormatsSupplier(xSupplier);
     }
     else // clear the formatter
         m_xFormatter = NULL;
diff --git a/dbaccess/source/ui/control/ColumnControlWindow.cxx b/dbaccess/source/ui/control/ColumnControlWindow.cxx
index 7363d5e..d96da5c 100644
--- a/dbaccess/source/ui/control/ColumnControlWindow.cxx
+++ b/dbaccess/source/ui/control/ColumnControlWindow.cxx
@@ -23,9 +23,12 @@
 #include <connectivity/dbtools.hxx>
 #include "UITools.hxx"
 #include "dbu_resource.hrc"
+#include <comphelper/componentcontext.hxx>
+#include <com/sun/star/util/NumberFormatter.hpp>
 
 
 using namespace ::dbaui;
+using namespace ::com::sun::star::util;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::beans;
 using namespace ::com::sun::star::container;
@@ -102,9 +105,8 @@ Reference< XNumberFormatter > OColumnControlWindow::GetFormatter() const
             if ( xSupplier.is() )
             {
                 // create a new formatter
-                m_xFormatter.set( m_xORB->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.NumberFormatter"))), UNO_QUERY);
-                if (m_xFormatter.is())
-                    m_xFormatter->attachNumberFormatsSupplier(xSupplier);
+                m_xFormatter.set( NumberFormatter::create(comphelper::ComponentContext(m_xORB).getUNOContext()), UNO_QUERY_THROW);
+                m_xFormatter->attachNumberFormatsSupplier(xSupplier);
             }
         }
         catch(Exception&)
diff --git a/dbaccess/source/ui/dlg/paramdialog.cxx b/dbaccess/source/ui/dlg/paramdialog.cxx
index d5f5acc..a6d48cf 100644
--- a/dbaccess/source/ui/dlg/paramdialog.cxx
+++ b/dbaccess/source/ui/dlg/paramdialog.cxx
@@ -23,7 +23,7 @@
 #include "dbu_dlg.hrc"
 #include "commontypes.hxx"
 #include "moduledbu.hxx"
-#include <com/sun/star/util/XNumberFormatter.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/sdbc/DataType.hpp>
 #include <connectivity/dbtools.hxx>
 #include "dbustrings.hrc"
@@ -81,8 +81,7 @@ DBG_NAME(OParameterDialog)
         DBG_CTOR(OParameterDialog,NULL);
 
         if (_rxORB.is())
-            m_xFormatter = Reference< XNumberFormatter>(_rxORB->createInstance(
-            ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.NumberFormatter"))), UNO_QUERY);
+            m_xFormatter = Reference< XNumberFormatter>( NumberFormatter::create(comphelper::ComponentContext(_rxORB).getUNOContext()), UNO_QUERY_THROW);
         else {
             OSL_FAIL("OParameterDialog::OParameterDialog: need a service factory!");
         }
@@ -90,7 +89,7 @@ DBG_NAME(OParameterDialog)
         Reference< XNumberFormatsSupplier >  xNumberFormats = ::dbtools::getNumberFormats(m_xConnection, sal_True);
         if (!xNumberFormats.is())
             ::comphelper::disposeComponent(m_xFormatter);
-        else if (m_xFormatter.is())
+        else
             m_xFormatter->attachNumberFormatsSupplier(xNumberFormats);
         try
         {
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index e2af63d..6f61a4b 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -86,6 +86,7 @@
 #include "dlgattr.hxx"
 #include <vcl/msgbox.hxx>
 #include <com/sun/star/container/XChild.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
 #include <com/sun/star/util/XNumberFormatter.hpp>
 #include "dbu_misc.hrc"
@@ -114,6 +115,7 @@ namespace dbaui
 // .........................................................................
 using namespace ::dbtools;
 using namespace ::comphelper;
+using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::task;
 using namespace ::com::sun::star::sdbcx;
@@ -1622,10 +1624,9 @@ Reference< XNumberFormatter > getNumberFormatter(const Reference< XConnection >&
         if ( xSupplier.is() )
         {
             // create a new formatter
-            xFormatter = Reference< ::com::sun::star::util::XNumberFormatter > (
-                _rMF->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.NumberFormatter"))), UNO_QUERY);
-            if ( xFormatter.is() )
-                xFormatter->attachNumberFormatsSupplier(xSupplier);
+            xFormatter = Reference< util::XNumberFormatter > (
+                util::NumberFormatter::create(comphelper::ComponentContext(_rMF).getUNOContext()), UNO_QUERY_THROW);
+            xFormatter->attachNumberFormatsSupplier(xSupplier);
         }
     }
     catch(const Exception&)
diff --git a/dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx b/dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx
index fb86ac8..785b31b 100644
--- a/dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx
+++ b/dbaccess/source/ui/misc/dbsubcomponentcontroller.cxx
@@ -33,8 +33,10 @@
 #include <com/sun/star/sdb/XDocumentDataSource.hpp>
 #include <com/sun/star/sdb/XOfficeDatabaseDocument.hpp>
 #include <com/sun/star/sdbc/XDataSource.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/sequence.hxx>
 #include <comphelper/types.hxx>
 #include <connectivity/dbexception.hxx>
@@ -64,6 +66,7 @@ namespace dbaui
     using ::com::sun::star::uno::UNO_QUERY;
     using ::com::sun::star::container::XChild;
     using ::com::sun::star::sdbc::XDataSource;
+    using ::com::sun::star::util::NumberFormatter;
     using ::com::sun::star::util::XNumberFormatter;
     using ::com::sun::star::util::XNumberFormatsSupplier;
     using ::com::sun::star::frame::XFrame;
@@ -294,8 +297,8 @@ namespace dbaui
             Reference< XNumberFormatsSupplier> xSupplier = ::dbtools::getNumberFormats(m_pImpl->m_xConnection);
             if(xSupplier.is())
             {
-                m_pImpl->m_xFormatter = Reference< XNumberFormatter >(getORB()
-                    ->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.NumberFormatter"))), UNO_QUERY);
+                m_pImpl->m_xFormatter = Reference< XNumberFormatter >(
+                    NumberFormatter::create(comphelper::ComponentContext(getORB()).getUNOContext()), UNO_QUERY_THROW);
                 m_pImpl->m_xFormatter->attachNumberFormatsSupplier(xSupplier);
             }
             OSL_ENSURE(m_pImpl->m_xFormatter.is(),"No NumberFormatter!");
diff --git a/forms/source/component/Filter.cxx b/forms/source/component/Filter.cxx
index cb2ac2a..298bf90 100644
--- a/forms/source/component/Filter.cxx
+++ b/forms/source/component/Filter.cxx
@@ -53,6 +53,7 @@
 #include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
 #include <com/sun/star/sdbcx/XTablesSupplier.hpp>
 #include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/awt/XItemList.hpp>
 
 #include <comphelper/numbers.hxx>
@@ -131,9 +132,8 @@ namespace frm
 
             if ( xFormatSupplier.is() )
             {
-                maContext.createComponent( "com.sun.star.util.NumberFormatter", m_xFormatter );
-                if ( m_xFormatter.is() )
-                    m_xFormatter->attachNumberFormatsSupplier( xFormatSupplier );
+                m_xFormatter.set(NumberFormatter::create(maContext.getUNOContext()), UNO_QUERY_THROW );
+                m_xFormatter->attachNumberFormatsSupplier( xFormatSupplier );
             }
         }
         if ( !m_xFormatter.is() )
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index db5c89d..64d1a4d 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -295,6 +295,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/ui/dialogs
 ))
 $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/util,\
 	JobManager \
+	NumberFormatter \
 	PathSubstitution \
 	TextSearch \
 	UriAbbreviation \
@@ -1482,7 +1483,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/util,\
 	NumberFormatSettings \
 	NumberFormats \
 	NumberFormatsSupplier \
-	NumberFormatter \
 	OfficeInstallationDirectories \
 	PathSettings \
 	ReplaceDescriptor \
@@ -4061,6 +4061,7 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,offapi/com/sun/star/util,\
 	XNumberFormats \
 	XNumberFormatsSupplier \
 	XNumberFormatter \
+	XNumberFormatter2 \
 	XOfficeInstallationDirectories \
 	XPropertyReplace \
 	XProtectable \
diff --git a/offapi/com/sun/star/util/NumberFormatter.idl b/offapi/com/sun/star/util/NumberFormatter.idl
index b3cd82c..54c65c3 100644
--- a/offapi/com/sun/star/util/NumberFormatter.idl
+++ b/offapi/com/sun/star/util/NumberFormatter.idl
@@ -19,13 +19,10 @@
 #ifndef __com_sun_star_util_NumberFormatter_idl__
 #define __com_sun_star_util_NumberFormatter_idl__
 
-#include <com/sun/star/util/XNumberFormatter.idl>
+#include <com/sun/star/util/XNumberFormatter2.idl>
 
-#include <com/sun/star/util/XNumberFormatPreviewer.idl>
 
-
-
- module com {  module sun {  module star {  module util {
+module com {  module sun {  module star {  module util {
 
 
 /** represents an object which can format numbers and strings.
@@ -33,19 +30,7 @@
     <p>A NumberFormatter, if available, can be created by the global
     service manager.</p>
  */
-published service NumberFormatter
-{
-    /** is used to format or parse numbers using formats from a
-        <type>NumberFormats</type> object.
-     */
-    interface com::sun::star::util::XNumberFormatter;
-
-    /** is used to format numbers using a number format string
-        that is not inserted into a <type>NumberFormats</type> object.
-     */
-    interface com::sun::star::util::XNumberFormatPreviewer;
-
-};
+published service NumberFormatter : XNumberFormatter2;
 
 
 }; }; }; };
diff --git a/offapi/com/sun/star/util/XNumberFormatter2.idl b/offapi/com/sun/star/util/XNumberFormatter2.idl
new file mode 100644
index 0000000..a173821
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatter2.idl
@@ -0,0 +1,49 @@
+/* -*- 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 __com_sun_star_util_XNumberFormatter2_idl__
+#define __com_sun_star_util_XNumberFormatter2_idl__
+
+#include <com/sun/star/util/XNumberFormatter.idl>
+#include <com/sun/star/util/XNumberFormatPreviewer.idl>
+
+module com {  module sun {  module star {  module util {
+
+/** Provides a unified interface for the NumberFormatter service to implement.
+*/
+published interface XNumberFormatter2
+{
+
+    /** is used to format or parse numbers using formats from a
+        <type>NumberFormats</type> object.
+     */
+    interface com::sun::star::util::XNumberFormatter;
+
+    /** is used to format numbers using a number format string
+        that is not inserted into a <type>NumberFormats</type> object.
+     */
+    interface com::sun::star::util::XNumberFormatPreviewer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/type_reference/types.rdb b/offapi/type_reference/types.rdb
index 1969d25..d36fc05 100644
Binary files a/offapi/type_reference/types.rdb and b/offapi/type_reference/types.rdb differ
diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx
index ea1d04c..ad10745 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -57,6 +57,7 @@
 #include "rptui_slotid.hrc"
 #include "reportformula.hxx"
 
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/documentconstants.hxx>
 #include <comphelper/mediadescriptor.hxx>
 #include <comphelper/property.hxx>
@@ -69,6 +70,7 @@
 #include <com/sun/star/style/XStyle.hpp>
 #include <com/sun/star/style/PageStyleLayout.hpp>
 #include <com/sun/star/style/ParagraphAdjust.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp>
 #include <com/sun/star/ui/dialogs/TemplateDescription.hpp>
 #include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp>
@@ -1699,7 +1701,7 @@ void OReportController::impl_initialize( )
 
             listen(true);
             setEditable( !m_aReportModel->IsReadOnly() );
-            m_xFormatter.set(getORB()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.util.NumberFormatter"))), UNO_QUERY);
+            m_xFormatter.set(util::NumberFormatter::create(comphelper::ComponentContext(getORB()).getUNOContext()), UNO_QUERY_THROW);
             m_xFormatter->attachNumberFormatsSupplier(Reference< XNumberFormatsSupplier>(m_xReportDefinition,uno::UNO_QUERY));
 
             ::comphelper::MediaDescriptor aDescriptor( m_xReportDefinition->getArgs() );
diff --git a/svl/source/numbers/numfmuno.hxx b/svl/source/numbers/numfmuno.hxx
index 33a50f5..1f6c4ff 100644
--- a/svl/source/numbers/numfmuno.hxx
+++ b/svl/source/numbers/numfmuno.hxx
@@ -20,7 +20,7 @@
 #ifndef _NUMFMUNO_HXX
 #define _NUMFMUNO_HXX
 
-#include <com/sun/star/util/XNumberFormatter.hpp>
+#include <com/sun/star/util/XNumberFormatter2.hpp>
 #include <com/sun/star/util/XNumberFormatPreviewer.hpp>
 #include <com/sun/star/util/XNumberFormats.hpp>
 #include <com/sun/star/util/XNumberFormatTypes.hpp>
@@ -37,9 +37,8 @@ class SvNumberFormatsSupplierObj;
 
 //  SvNumberFormatterServiceObj wird global als Service angemeldet
 
-class SvNumberFormatterServiceObj : public cppu::WeakImplHelper3<
-                                        com::sun::star::util::XNumberFormatter,
-                                        com::sun::star::util::XNumberFormatPreviewer,
+class SvNumberFormatterServiceObj : public cppu::WeakImplHelper2<
+                                        com::sun::star::util::XNumberFormatter2,
                                         com::sun::star::lang::XServiceInfo>
 {
 private:
diff --git a/svx/source/form/formcontroller.cxx b/svx/source/form/formcontroller.cxx
index 4fea777..d18e6bb 100644
--- a/svx/source/form/formcontroller.cxx
+++ b/svx/source/form/formcontroller.cxx
@@ -66,7 +66,7 @@
 #include <com/sun/star/form/runtime/FormFeature.hpp>
 #include <com/sun/star/container/XContainer.hpp>
 #include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
-#include <com/sun/star/util/XNumberFormatter.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/sdb/SQLContext.hpp>
 #include <com/sun/star/sdb/XColumn.hpp>
 
@@ -143,6 +143,7 @@ namespace svxform
     using ::com::sun::star::sdbc::XRowSet;
     using ::com::sun::star::sdbc::XDatabaseMetaData;
     using ::com::sun::star::util::XNumberFormatsSupplier;
+    using ::com::sun::star::util::NumberFormatter;
     using ::com::sun::star::util::XNumberFormatter;
     using ::com::sun::star::sdbcx::XColumnsSupplier;
     using ::com::sun::star::container::XNameAccess;
@@ -845,7 +846,7 @@ void FormController::getFastPropertyValue( Any& rValue, sal_Int32 nHandle ) cons
             {
                 Reference< XDatabaseMetaData> xMetaData(xConnection->getMetaData());
                 Reference< XNumberFormatsSupplier> xFormatSupplier( aStaticTools.getNumberFormats( xConnection, sal_True ) );
-                Reference< XNumberFormatter> xFormatter( m_aContext.createComponent( "com.sun.star.util.NumberFormatter" ), UNO_QUERY_THROW );
+                Reference< XNumberFormatter> xFormatter( NumberFormatter::create(m_aContext.getUNOContext()), UNO_QUERY_THROW );
                 xFormatter->attachNumberFormatsSupplier(xFormatSupplier);
 
                 Reference< XColumnsSupplier> xSupplyCols(m_xModelAsIndex, UNO_QUERY);
@@ -3165,7 +3166,7 @@ void FormController::setFilter(::std::vector<FmFieldInfo>& rFieldInfos)
         // need to parse criteria localized
         OStaticDataAccessTools aStaticTools;
         Reference< XNumberFormatsSupplier> xFormatSupplier( aStaticTools.getNumberFormats(xConnection, sal_True));
-        Reference< XNumberFormatter> xFormatter( m_aContext.createComponent( "com.sun.star.util.NumberFormatter" ), UNO_QUERY );
+        Reference< XNumberFormatter> xFormatter( NumberFormatter::create(m_aContext.getUNOContext()), UNO_QUERY_THROW );
         xFormatter->attachNumberFormatsSupplier(xFormatSupplier);
         Locale aAppLocale = Application::GetSettings().GetUILocale();
         LocaleDataWrapper aLocaleWrapper( m_aContext.getLegacyServiceFactory(), aAppLocale );
@@ -3309,7 +3310,7 @@ void FormController::startFiltering()
     // the control we have to activate after replacement
     Reference< XDatabaseMetaData >  xMetaData(xConnection->getMetaData());
     Reference< XNumberFormatsSupplier >  xFormatSupplier = aStaticTools.getNumberFormats(xConnection, sal_True);
-    Reference< XNumberFormatter >  xFormatter( m_aContext.createComponent( "com.sun.star.util.NumberFormatter" ), UNO_QUERY );
+    Reference< XNumberFormatter >  xFormatter( NumberFormatter::create(m_aContext.getUNOContext()), UNO_QUERY_THROW );
     xFormatter->attachNumberFormatsSupplier(xFormatSupplier);
 
     // structure for storing the field info
diff --git a/sw/source/ui/dbui/dbinsdlg.cxx b/sw/source/ui/dbui/dbinsdlg.cxx
index 6acd1bc..00bac12 100644
--- a/sw/source/ui/dbui/dbinsdlg.cxx
+++ b/sw/source/ui/dbui/dbinsdlg.cxx
@@ -46,7 +46,7 @@
 #include <com/sun/star/sdbc/DataType.hpp>
 #include <com/sun/star/sdbc/ResultSetType.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/util/XNumberFormatter.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/util/XNumberFormatTypes.hpp>
 #include <com/sun/star/sdbc/XRowSet.hpp>
 #include <comphelper/processfactory.hxx>
@@ -108,13 +108,13 @@ namespace swui
 }
 
 using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::beans;
 using namespace ::com::sun::star::container;
 using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::sdb;
 using namespace ::com::sun::star::sdbc;
 using namespace ::com::sun::star::sdbcx;
-using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::uno;
 
 const char cDBFldStart  = '<';
 const char cDBFldEnd    = '>';
@@ -1226,11 +1226,8 @@ void SwInsertDBColAutoPilot::DataToDoc( const Sequence<Any>& rSelection,
             // every data set
             SwDBFormatData aDBFormatData;
             Reference< XMultiServiceFactory > xMgr( ::comphelper::getProcessServiceFactory() );
-            if( xMgr.is() )
-            {
-                Reference<XInterface> xInstance = xMgr->createInstance( C2U( "com.sun.star.util.NumberFormatter" ));
-                aDBFormatData.xFormatter = Reference<util::XNumberFormatter>(xInstance, UNO_QUERY) ;
-            }
+            Reference< XComponentContext > xContext( ::comphelper::getProcessComponentContext() );
+            aDBFormatData.xFormatter = Reference<util::XNumberFormatter>(util::NumberFormatter::create(xContext), UNO_QUERY_THROW) ;
 
             Reference<XPropertySet> xSourceProps(xSource, UNO_QUERY);
             if(xSourceProps.is())
diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx
index b303131..63d7c47 100644
--- a/sw/source/ui/dbui/dbmgr.cxx
+++ b/sw/source/ui/dbui/dbmgr.cxx
@@ -37,7 +37,7 @@
 #include <com/sun/star/frame/XComponentLoader.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <com/sun/star/lang/XEventListener.hpp>
-#include <com/sun/star/util/XNumberFormatter.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/sdb/XCompletedConnection.hpp>
 #include <com/sun/star/sdb/XCompletedExecution.hpp>
 #include <com/sun/star/container/XChild.hpp>
@@ -235,12 +235,8 @@ struct SwNewDBMgr_Impl
 
 void lcl_InitNumberFormatter(SwDSParam& rParam, uno::Reference<XDataSource> xSource)
 {
-    uno::Reference<XMultiServiceFactory> xMgr = ::comphelper::getProcessServiceFactory();
-    if( xMgr.is() )
-    {
-        uno::Reference<XInterface> xInstance = xMgr->createInstance( C2U( "com.sun.star.util.NumberFormatter" ));
-        rParam.xFormatter = uno::Reference<util::XNumberFormatter>(xInstance, UNO_QUERY) ;
-    }
+    uno::Reference<XComponentContext> xContext = ::comphelper::getProcessComponentContext();
+    rParam.xFormatter = uno::Reference<util::XNumberFormatter>(util::NumberFormatter::create(xContext), UNO_QUERY);
     if(!xSource.is())
         xSource = SwNewDBMgr::getDataSourceAsParent(rParam.xConnection, rParam.sDataSource);
 
diff --git a/toolkit/source/controls/formattedcontrol.cxx b/toolkit/source/controls/formattedcontrol.cxx
index 0089d44..230f966 100644
--- a/toolkit/source/controls/formattedcontrol.cxx
+++ b/toolkit/source/controls/formattedcontrol.cxx
@@ -31,6 +31,7 @@
 #include <toolkit/helper/property.hxx>
 
 #include <com/sun/star/awt/XVclWindowPeer.hpp>
+#include <com/sun/star/util/NumberFormatter.hpp>
 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
 
 #include <tools/diagnose_ex.h>
@@ -251,7 +252,7 @@ namespace toolkit
             if ( !m_xCachedFormatter.is() )
             {
                 m_xCachedFormatter = Reference< XNumberFormatter >(
-                    ::comphelper::createProcessComponent( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.NumberFormatter" ) ) ),
+                    NumberFormatter::create(::comphelper::getProcessComponentContext()),
                     UNO_QUERY_THROW
                 );
             }
commit bc00717bb7a2b48885ca356fb0a966acbe72dca9
Author: Noel Grandin <noel at peralex.com>
Date:   Wed Aug 29 07:45:05 2012 +0200

    fdo#46808, Adapt system::SystemShellExecute UNO service to new style
    
    Change-Id: Ib298b3219c3e89dd35bce0974846ed4888ed941e

diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx
index e712569..834d31e 100644
--- a/cui/source/dialogs/SpellDialog.cxx
+++ b/cui/source/dialogs/SpellDialog.cxx
@@ -49,7 +49,7 @@
 #include <com/sun/star/linguistic2/SpellFailure.hpp>
 #include <com/sun/star/frame/XStorable.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <sfx2/app.hxx>
 #include <vcl/help.hxx>
 #include <vcl/graph.hxx>
@@ -2174,10 +2174,9 @@ IMPL_LINK( SpellDialog, HandleHyperlink, svt::FixedHyperlink*, pHyperlink )
         return 1;
     try
     {
-        uno::Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
-            ::comphelper::getProcessServiceFactory()->createInstance(
-                DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute") ), uno::UNO_QUERY_THROW );
-        xSystemShellExecute->execute( sURL, rtl::OUString(),  com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY );
+        uno::Reference< system::XSystemShellExecute > xSystemShellExecute(
+            system::SystemShellExecute::create(::comphelper::getProcessComponentContext()) );
+        xSystemShellExecute->execute( sURL, rtl::OUString(),  system::SystemShellExecuteFlags::URIS_ONLY );
     }
     catch ( uno::Exception& )
     {
diff --git a/cui/source/dialogs/about.cxx b/cui/source/dialogs/about.cxx
index e25c729..9d5b4f1 100644
--- a/cui/source/dialogs/about.cxx
+++ b/cui/source/dialogs/about.cxx
@@ -39,7 +39,7 @@
 #include <svtools/langhelp.hxx>
 
 #include "com/sun/star/system/SystemShellExecuteFlags.hpp"
-#include "com/sun/star/system/XSystemShellExecute.hpp"
+#include "com/sun/star/system/SystemShellExecute.hpp"
 #include <comphelper/processfactory.hxx>
 #include "comphelper/anytostring.hxx"
 #include "cppuhelper/exc_hlp.hxx"
@@ -133,11 +133,9 @@ IMPL_LINK( AboutDialog, HandleClick, PushButton*, pButton )
         return 1;
     try
     {
-        Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
-            ::comphelper::getProcessServiceFactory()->createInstance(
-                DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute") ), UNO_QUERY_THROW );
-        xSystemShellExecute->execute( sURL, rtl::OUString(),
-                                      com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY );
+        Reference< system::XSystemShellExecute > xSystemShellExecute(
+            system::SystemShellExecute::create(::comphelper::getProcessComponentContext() ) );
+        xSystemShellExecute->execute( sURL, rtl::OUString(), system::SystemShellExecuteFlags::URIS_ONLY );
     }
     catch (const Exception&)
     {
diff --git a/cui/source/options/optlingu.cxx b/cui/source/options/optlingu.cxx
index 8ee3d37..d26f97a 100644
--- a/cui/source/options/optlingu.cxx
+++ b/cui/source/options/optlingu.cxx
@@ -53,7 +53,7 @@
 #include <com/sun/star/linguistic2/XDictionaryList.hpp>
 #include <com/sun/star/frame/XStorable.hpp>
 #include <com/sun/star/ucb/CommandAbortedException.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 #include <unotools/extendedsecurityoptions.hxx>
 #include <svtools/svlbox.hxx>
@@ -148,14 +148,11 @@ static void lcl_OpenURL( ::rtl::OUString sURL )
         localizeWebserviceURI(sURL);
         try
         {
-            uno::Reference< lang::XMultiServiceFactory > xSMGR =
-                ::comphelper::getProcessServiceFactory();
+            uno::Reference< uno::XComponentContext > xContext =
+                ::comphelper::getProcessComponentContext();
             uno::Reference< css::system::XSystemShellExecute > xSystemShell(
-                xSMGR->createInstance( ::rtl::OUString(
-                    "com.sun.star.system.SystemShellExecute") ),
-                uno::UNO_QUERY_THROW );
-            if ( xSystemShell.is() )
-                xSystemShell->execute( sURL, ::rtl::OUString(), css::system::SystemShellExecuteFlags::URIS_ONLY );
+                css::system::SystemShellExecute::create(xContext) );
+            xSystemShell->execute( sURL, ::rtl::OUString(), css::system::SystemShellExecuteFlags::URIS_ONLY );
         }
         catch( const uno::Exception& e )
         {
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index 87c25cb..cb80e01 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -68,7 +68,7 @@
 #include "com/sun/star/i18n/CollatorOptions.hpp"
 
 #include "com/sun/star/system/SystemShellExecuteFlags.hpp"
-#include "com/sun/star/system/XSystemShellExecute.hpp"
+#include "com/sun/star/system/SystemShellExecute.hpp"
 
 #include "com/sun/star/ui/dialogs/ExecutableDialogResults.hpp"
 #include "com/sun/star/ui/dialogs/TemplateDescription.hpp"
@@ -632,7 +632,7 @@ void DialogHelper::openWebBrowser( const OUString & sURL, const OUString &sTitle
     try
     {
         uno::Reference< XSystemShellExecute > xSystemShellExecute(
-            m_xContext->getServiceManager()->createInstanceWithContext( OUSTR( "com.sun.star.system.SystemShellExecute" ), m_xContext), uno::UNO_QUERY_THROW);
+            SystemShellExecute::create(m_xContext));
         //throws css::lang::IllegalArgumentException, css::system::SystemShellExecuteException
         xSystemShellExecute->execute( sURL, OUString(),  SystemShellExecuteFlags::URIS_ONLY );
     }
diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
index 6704da1..e79d94d 100644
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
@@ -65,7 +65,7 @@
 #include "com/sun/star/lang/XMultiComponentFactory.hpp"
 #include "com/sun/star/lang/XSingleServiceFactory.hpp"
 #include "com/sun/star/system/SystemShellExecuteFlags.hpp"
-#include "com/sun/star/system/XSystemShellExecute.hpp"
+#include "com/sun/star/system/SystemShellExecute.hpp"
 #include "com/sun/star/task/XAbortChannel.hpp"
 #include "com/sun/star/task/XJob.hpp"
 #include "com/sun/star/ucb/CommandAbortedException.hpp"
@@ -1413,13 +1413,10 @@ IMPL_LINK( UpdateDialog, hyperlink_clicked, svt::FixedHyperlink*, pHyperlink )
 
     try
     {
-        uno::Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
-            m_context->getServiceManager()->createInstanceWithContext(
-                OUSTR( "com.sun.star.system.SystemShellExecute" ),
-                m_context), uno::UNO_QUERY_THROW);
+        uno::Reference< system::XSystemShellExecute > xSystemShellExecute(
+            system::SystemShellExecute::create(m_context) );
         //throws lang::IllegalArgumentException, system::SystemShellExecuteException
-        xSystemShellExecute->execute(
-                                     sURL, ::rtl::OUString(), com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY);
+        xSystemShellExecute->execute( sURL, ::rtl::OUString(), system::SystemShellExecuteFlags::URIS_ONLY);
     }
     catch ( const uno::Exception& )
     {
diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index 1a65e1a..c57955f 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -49,7 +49,7 @@
 #include <com/sun/star/ucb/XSimpleFileAccess2.hpp>
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/container/XNameContainer.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 
 #include <rtl/logfile.hxx>
@@ -878,10 +878,9 @@ void SAL_CALL OleEmbeddedObject::doVerb( sal_Int32 nVerbID )
 
                 if (!m_aTempDumpURL.isEmpty())
                 {
-                    uno::Reference< ::com::sun::star::system::XSystemShellExecute > xSystemShellExecute( m_xFactory->createInstance(
-                        ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.system.SystemShellExecute"))),
-                        uno::UNO_QUERY_THROW);
-                    xSystemShellExecute->execute(m_aTempDumpURL, ::rtl::OUString(), ::com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY);
+                    uno::Reference< system::XSystemShellExecute > xSystemShellExecute(
+                        system::SystemShellExecute::create(comphelper::ComponentContext(m_xFactory).getUNOContext()) );
+                    xSystemShellExecute->execute(m_aTempDumpURL, ::rtl::OUString(), system::SystemShellExecuteFlags::URIS_ONLY);
                 }
                 else
                     throw embed::UnreachableStateException();
diff --git a/extensions/source/update/check/updatecheck.cxx b/extensions/source/update/check/updatecheck.cxx
index 7832d8c..c6fb071 100644
--- a/extensions/source/update/check/updatecheck.cxx
+++ b/extensions/source/update/check/updatecheck.cxx
@@ -36,7 +36,7 @@
 #include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/frame/DispatchResultEvent.hpp>
 #include <com/sun/star/frame/DispatchResultState.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 #include <com/sun/star/task/XJob.hpp>
 #include <com/sun/star/task/XJobExecutor.hpp>
@@ -1486,13 +1486,10 @@ void
 UpdateCheck::showReleaseNote(const rtl::OUString& rURL) const
 {
     const uno::Reference< c3s::XSystemShellExecute > xShellExecute(
-        createService( UNISTRING( "com.sun.star.system.SystemShellExecute" ), m_xContext ),
-        uno::UNO_QUERY );
+        c3s::SystemShellExecute::create( m_xContext ) );
 
     try {
-
-        if( xShellExecute.is() )
-            xShellExecute->execute(rURL, rtl::OUString(), c3s::SystemShellExecuteFlags::URIS_ONLY);
+        xShellExecute->execute(rURL, rtl::OUString(), c3s::SystemShellExecuteFlags::URIS_ONLY);
     } catch(const c3s::SystemShellExecuteException&) {
     }
 }
diff --git a/filter/source/xsltdialog/xmlfiltertestdialog.cxx b/filter/source/xsltdialog/xmlfiltertestdialog.cxx
index c0e6b47..ad0e65d 100644
--- a/filter/source/xsltdialog/xmlfiltertestdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltertestdialog.cxx
@@ -43,8 +43,8 @@
 #include <com/sun/star/document/XExporter.hpp>
 #include <com/sun/star/task/XInteractionHandler.hpp>
 
-#include "com/sun/star/system/XSystemShellExecute.hpp"
-#include "com/sun/star/system/SystemShellExecuteFlags.hpp"
+#include <com/sun/star/system/SystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 
 #include "com/sun/star/ui/dialogs/TemplateDescription.hpp"
 #include <vcl/svapp.hxx>
@@ -72,6 +72,7 @@ using namespace com::sun::star::frame;
 using namespace com::sun::star::task;
 using namespace com::sun::star::uno;
 using namespace com::sun::star::io;
+using namespace com::sun::star::system;
 using namespace com::sun::star::xml;
 using namespace com::sun::star::xml::sax;
 
@@ -566,8 +567,9 @@ void XMLFilterTestDialog::doExport( Reference< XComponent > xComp )
 
 void XMLFilterTestDialog::displayXMLFile( const OUString& rURL )
 {
-    ::com::sun::star::uno::Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(comphelper::getProcessServiceFactory()->createInstance(DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute") ), com::sun::star::uno::UNO_QUERY_THROW );
-    xSystemShellExecute->execute( rURL, rtl::OUString(),  com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY );
+    Reference< XSystemShellExecute > xSystemShellExecute(
+          SystemShellExecute::create(comphelper::getProcessComponentContext()) );
+    xSystemShellExecute->execute( rURL, rtl::OUString(), SystemShellExecuteFlags::URIS_ONLY );
 }
 
 void XMLFilterTestDialog::onImportBrowse()
diff --git a/framework/source/services/backingwindow.cxx b/framework/source/services/backingwindow.cxx
index 019619e..560330c 100644
--- a/framework/source/services/backingwindow.cxx
+++ b/framework/source/services/backingwindow.cxx
@@ -62,7 +62,7 @@
 
 #include "com/sun/star/lang/XMultiServiceFactory.hpp"
 #include "com/sun/star/container/XNameAccess.hpp"
-#include "com/sun/star/system/XSystemShellExecute.hpp"
+#include "com/sun/star/system/SystemShellExecute.hpp"
 #include "com/sun/star/system/SystemShellExecuteFlags.hpp"
 #include "com/sun/star/task/XJobExecutor.hpp"
 #include "com/sun/star/util/XStringWidth.hpp"
@@ -877,10 +877,8 @@ IMPL_LINK_NOARG(BackingWindow, ToolboxHdl)
                     sURL = value.get<rtl::OUString> ();
                     localizeWebserviceURI(sURL);
 
-                    Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
-                        comphelper::getProcessServiceFactory()->createInstance(
-                            rtl::OUString( "com.sun.star.system.SystemShellExecute"  ) ),
-                        UNO_QUERY_THROW);
+                    Reference< system::XSystemShellExecute > xSystemShellExecute(
+                        system::SystemShellExecute::create(comphelper::getProcessComponentContext()));
                     //throws css::lang::IllegalArgumentException, css::system::SystemShellExecuteException
                     xSystemShellExecute->execute( sURL, rtl::OUString(), com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY);
                 }
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index f284183..c251d97 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -33,7 +33,7 @@
 #include <com/sun/star/document/XEmbeddedScripts.hpp>
 #include <com/sun/star/embed/XStorage.hpp>
 #include <com/sun/star/embed/ElementModes.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 #include <com/sun/star/system/SystemShellExecuteException.hpp>
 
@@ -426,10 +426,9 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
             ::rtl::OUString sURL("http://hub.libreoffice.org/file-a-bug/");
             try
             {
-                uno::Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
-                    ::comphelper::getProcessServiceFactory()->createInstance(
-                        DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute") ), uno::UNO_QUERY_THROW );
-                xSystemShellExecute->execute( sURL, ::rtl::OUString(),  com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY );
+                uno::Reference< system::XSystemShellExecute > xSystemShellExecute(
+                    system::SystemShellExecute::create(::comphelper::getProcessComponentContext()) );
+                xSystemShellExecute->execute( sURL, ::rtl::OUString(), system::SystemShellExecuteFlags::URIS_ONLY );
             }
             catch ( uno::Exception& )
             {
@@ -1039,9 +1038,10 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
             {
                 uno::Reference< lang::XMultiServiceFactory > xSMGR =
                     ::comphelper::getProcessServiceFactory();
+                uno::Reference< uno::XComponentContext > xContext =
+                    ::comphelper::getProcessComponentContext();
                 uno::Reference< css::system::XSystemShellExecute > xSystemShell(
-                    xSMGR->createInstance( DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute" ) ),
-                    uno::UNO_QUERY_THROW );
+                    css::system::SystemShellExecute::create(xContext) );
 
                 // read repository URL from configuration
                 ::rtl::OUString sTemplRepoURL =
diff --git a/sfx2/source/appl/openuriexternally.cxx b/sfx2/source/appl/openuriexternally.cxx
index 3819469..b704b38 100644
--- a/sfx2/source/appl/openuriexternally.cxx
+++ b/sfx2/source/appl/openuriexternally.cxx
@@ -30,7 +30,7 @@
 #include "sal/config.h"
 
 #include "com/sun/star/lang/IllegalArgumentException.hpp"
-#include "com/sun/star/system/XSystemShellExecute.hpp"
+#include "com/sun/star/system/SystemShellExecute.hpp"
 #include "com/sun/star/system/SystemShellExecuteException.hpp"
 #include "com/sun/star/system/SystemShellExecuteFlags.hpp"
 #include "com/sun/star/uno/Reference.hxx"
@@ -59,11 +59,7 @@ bool sfx2::openUriExternally(
     rtl::OUString const & uri, bool handleSystemShellExecuteException)
 {
     css::uno::Reference< css::system::XSystemShellExecute > exec(
-        comphelper::getProcessServiceFactory()->createInstance(
-            rtl::OUString(
-                RTL_CONSTASCII_USTRINGPARAM(
-                    "com.sun.star.system.SystemShellExecute"))),
-        css::uno::UNO_QUERY_THROW);
+        css::system::SystemShellExecute::create(comphelper::getProcessComponentContext()));
     try {
         exec->execute(
             uri, rtl::OUString(),
diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx
index eb6f06c..8f728c5 100644
--- a/sfx2/source/appl/sfxhelp.cxx
+++ b/sfx2/source/appl/sfxhelp.cxx
@@ -39,7 +39,7 @@
 #include <com/sun/star/frame/FrameSearchFlag.hpp>
 #include <toolkit/helper/vclunohelper.hxx>
 #include <com/sun/star/frame/XModuleManager.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 #include <unotools/configmgr.hxx>
 #include <unotools/configitem.hxx>
@@ -670,15 +670,10 @@ static bool impl_showOnlineHelp( const String& rURL )
     try
     {
         Reference< XSystemShellExecute > xSystemShell(
-                ::comphelper::getProcessServiceFactory()->createInstance(
-                    rtl::OUString( "com.sun.star.system.SystemShellExecute"  ) ),
-                UNO_QUERY );
+                SystemShellExecute::create(::comphelper::getProcessComponentContext()) );
 
-        if ( xSystemShell.is() )
-        {
-            xSystemShell->execute( aHelpLink, rtl::OUString(), SystemShellExecuteFlags::URIS_ONLY );
-            return true;
-        }
+        xSystemShell->execute( aHelpLink, rtl::OUString(), SystemShellExecuteFlags::URIS_ONLY );
+        return true;
     }
     catch (const Exception&)
     {
diff --git a/svtools/source/contnr/templwin.cxx b/svtools/source/contnr/templwin.cxx
index 5266ab9..3f8df8a 100644
--- a/svtools/source/contnr/templwin.cxx
+++ b/svtools/source/contnr/templwin.cxx
@@ -69,7 +69,7 @@
 #include <com/sun/star/io/IOException.hpp>
 #include <com/sun/star/util/DateTime.hpp>
 #include <com/sun/star/script/XTypeConverter.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 #include <unotools/localedatawrapper.hxx>
 #include <com/sun/star/container/XNameContainer.hpp>
@@ -1680,14 +1680,12 @@ IMPL_LINK_NOARG(SvtDocumentTemplateDialog, OpenLinkHdl_Impl)
         localizeWebserviceURI(sURL);
         try
         {
-            uno::Reference< lang::XMultiServiceFactory > xSMGR =
-                ::comphelper::getProcessServiceFactory();
-            uno::Reference< com::sun::star::system::XSystemShellExecute > xSystemShell(
-                xSMGR->createInstance( ::rtl::OUString(
-                    RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.system.SystemShellExecute" ) ) ),
-                uno::UNO_QUERY_THROW );
+            uno::Reference< uno::XComponentContext > xContext =
+                ::comphelper::getProcessComponentContext();
+            uno::Reference< system::XSystemShellExecute > xSystemShell(
+                system::SystemShellExecute::create(xContext) );
             if ( xSystemShell.is() )
-                xSystemShell->execute( sURL, ::rtl::OUString(), com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY );
+                xSystemShell->execute( sURL, ::rtl::OUString(), system::SystemShellExecuteFlags::URIS_ONLY );
             EndDialog( RET_CANCEL );
         }
         catch( const uno::Exception& e )
diff --git a/svx/source/core/extedit.cxx b/svx/source/core/extedit.cxx
index 29cabef..52d6f57 100644
--- a/svx/source/core/extedit.cxx
+++ b/svx/source/core/extedit.cxx
@@ -38,7 +38,7 @@
 #include <vcl/graph.hxx>
 #include <vcl/cvtgrf.hxx>
 
-#include "com/sun/star/system/XSystemShellExecute.hpp"
+#include "com/sun/star/system/SystemShellExecute.hpp"
 #include "com/sun/star/system/SystemShellExecuteFlags.hpp"
 #include <comphelper/processfactory.hxx>
 
@@ -89,9 +89,8 @@ void ExternalToolEdit::threadWorker(void* pThreadData)
     // getting changed
     Application::PostUserEvent( LINK( NULL, ExternalToolEdit, StartListeningEvent ), pThreadData);
 
-    uno::Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
-            ::comphelper::getProcessServiceFactory()->createInstance(
-                DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute") ), uno::UNO_QUERY_THROW );
+    uno::Reference< system::XSystemShellExecute > xSystemShellExecute(
+            system::SystemShellExecute::create(::comphelper::getProcessComponentContext() ) );
     xSystemShellExecute->execute( pData->m_aFileName, rtl::OUString(),  com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY );
 }
 
diff --git a/sw/source/ui/lingu/olmenu.cxx b/sw/source/ui/lingu/olmenu.cxx
index 7a4cdb9..4c5130a 100644
--- a/sw/source/ui/lingu/olmenu.cxx
+++ b/sw/source/ui/lingu/olmenu.cxx
@@ -88,7 +88,7 @@
 #include <com/sun/star/linguistic2/XSpellChecker1.hpp>
 #include <com/sun/star/uno/Any.hxx>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <com/sun/star/ui/UICommandDescription.hpp>
 
 
@@ -851,9 +851,8 @@ void SwSpellPopup::Execute( sal_uInt16 nId )
     {
         try
         {
-            uno::Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
-                ::comphelper::getProcessServiceFactory()->createInstance(
-                    DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute") ), uno::UNO_QUERY_THROW );
+            uno::Reference< system::XSystemShellExecute > xSystemShellExecute(
+                system::SystemShellExecute::create( ::comphelper::getProcessComponentContext() ) );
             xSystemShellExecute->execute( sExplanationLink, rtl::OUString(),
                     com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY );
         }
diff --git a/toolkit/source/awt/vclxwindows.cxx b/toolkit/source/awt/vclxwindows.cxx
index 88ae10a..4ba4fc2 100644
--- a/toolkit/source/awt/vclxwindows.cxx
+++ b/toolkit/source/awt/vclxwindows.cxx
@@ -41,7 +41,7 @@
 #include <cppuhelper/typeprovider.hxx>
 #include <com/sun/star/awt/VisualEffect.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 #include <com/sun/star/resource/XStringResourceResolver.hpp>
 #include <com/sun/star/awt/ImageScaleMode.hpp>
@@ -2961,10 +2961,9 @@ void VCLXFixedHyperlink::ProcessWindowEvent( const VclWindowEvent& rVclWindowEve
                 ::toolkit::FixedHyperlinkBase* pBase = (::toolkit::FixedHyperlinkBase*)GetWindow();
                 if ( pBase )
                     sURL = pBase->GetURL();
-                Reference< ::com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
-                    ::comphelper::getProcessServiceFactory()->createInstance(
-                        ::rtl::OUString("com.sun.star.system.SystemShellExecute")), uno::UNO_QUERY );
-                if ( !sURL.isEmpty() && xSystemShellExecute.is() )
+                Reference< system::XSystemShellExecute > xSystemShellExecute( system::SystemShellExecute::create(
+                    ::comphelper::getProcessComponentContext() ) );
+                if ( !sURL.isEmpty() )
                 {
                     try
                     {
diff --git a/uui/source/newerverwarn.cxx b/uui/source/newerverwarn.cxx
index b1f955c..a164782 100644
--- a/uui/source/newerverwarn.cxx
+++ b/uui/source/newerverwarn.cxx
@@ -23,7 +23,7 @@
 
 #include <com/sun/star/frame/XDesktop.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
-#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecute.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 #include <com/sun/star/util/URLTransformer.hpp>
 #include <com/sun/star/util/XURLTransformer.hpp>
@@ -95,14 +95,10 @@ IMPL_LINK_NOARG(NewerVersionWarningDialog, UpdateHdl)
     {
         if (  !sNotifyURL.isEmpty()  &&  !m_sVersion.isEmpty() )
         {
-            uno::Reference< lang::XMultiServiceFactory > xSMGR =
-                ::comphelper::getProcessServiceFactory();
-            uno::Reference< XSystemShellExecute > xSystemShell(
-                xSMGR->createInstance( ::rtl::OUString(
-                    RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.system.SystemShellExecute" ) ) ),
-                uno::UNO_QUERY_THROW );
+            uno::Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+            uno::Reference< XSystemShellExecute > xSystemShell( SystemShellExecute::create(xContext) );
             sNotifyURL += m_sVersion;
-            if ( xSystemShell.is() && !sNotifyURL.isEmpty() )
+            if ( !sNotifyURL.isEmpty() )
             {
                 xSystemShell->execute(
                     sNotifyURL, ::rtl::OUString(), SystemShellExecuteFlags::URIS_ONLY );
commit 7dd6c0a8372810f48e6bee35a11ac4ad0432640b
Author: Noel Grandin <noel at peralex.com>
Date:   Tue Aug 28 16:19:37 2012 +0200

    Remove some unnecessary includes from the IDL files
    
    Change-Id: I7f18b528c9660890fe8da18da173ee69f1e1390e

diff --git a/offapi/com/sun/star/presentation/PreviewView.idl b/offapi/com/sun/star/presentation/PreviewView.idl
index 5f28582..5542f4d 100644
--- a/offapi/com/sun/star/presentation/PreviewView.idl
+++ b/offapi/com/sun/star/presentation/PreviewView.idl
@@ -25,7 +25,6 @@
 
 #include <com/sun/star/frame/Controller.idl>
 
-#include <com/sun/star/lang/XServiceInfo.idl>
 #include <com/sun/star/drawing/XDrawPage.idl>
 
 #include <com/sun/star/awt/XWindow.idl>
diff --git a/offapi/com/sun/star/security/CertificateContainer.idl b/offapi/com/sun/star/security/CertificateContainer.idl
index 6fede99..a95e3f9 100644
--- a/offapi/com/sun/star/security/CertificateContainer.idl
+++ b/offapi/com/sun/star/security/CertificateContainer.idl
@@ -32,7 +32,6 @@
 #include <com/sun/star/security/XCertificateContainer.idl>
 #include <com/sun/star/uno/XInterface.idl>
 #include <com/sun/star/lang/XInitialization.idl>
-#include <com/sun/star/lang/XServiceInfo.idl>
 
 module com { module sun { module star { module security {
 
diff --git a/offapi/com/sun/star/security/DocumentDigitalSignatures.idl b/offapi/com/sun/star/security/DocumentDigitalSignatures.idl
index ae7eaf4..9eb7a9c 100644
--- a/offapi/com/sun/star/security/DocumentDigitalSignatures.idl
+++ b/offapi/com/sun/star/security/DocumentDigitalSignatures.idl
@@ -25,7 +25,6 @@
 #include <com/sun/star/uno/XInterface.idl>
 #include <com/sun/star/uno/Exception.idl>
 #include <com/sun/star/lang/XInitialization.idl>
-#include <com/sun/star/lang/XServiceInfo.idl>
 #include <XDocumentDigitalSignatures.idl>
 
 module com { module sun { module star { module security {
commit 7a2ef79376c306c457f98f8574d13c7fa7f92dda
Author: Noel Grandin <noel at peralex.com>
Date:   Tue Aug 28 16:17:16 2012 +0200

    Remove unnecessary XTypeProvider from IDL
    
    XTypeProvider does not need to be explicitly declared in interface or service
    definitions, it is handling automagically by the cppuhelpers.
    Along the way, convert service definitions that now only have one interface into
    new-style UNO service definitions.
    
    Change-Id: Id1706b5afdc2c49f89c583eef8cf0a8a0721713f

diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 42c3248..db5c89d 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -77,6 +77,10 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/configurat
 	Update \
     theDefaultProvider \
 ))
+$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/datatransfer,\
+	DataFormatTranslator \
+	MimeContentTypeFactory \
+))
 $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/deployment,\
 	ExtensionManager \
 	PackageInformationProvider \
@@ -252,6 +256,12 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/smarttags,
 	SmartTagAction \
 	SmartTagRecognizer \
 ))
+$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/system,\
+	ProxySettings \
+	SimpleCommandMail \
+	SimpleSystemMail \
+	SystemShellExecute \
+))
 $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/task,\
 	InteractionRequestStringResolver \
 	JobExecutor \
@@ -559,10 +569,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/configu
 $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/configuration/bootstrap,\
 	BootstrapContext \
 ))
-$(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/datatransfer,\
-	DataFormatTranslator \
-	MimeContentTypeFactory \
-))
 $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/datatransfer/clipboard,\
 	ClipboardManager \
 	GenericClipboard \
@@ -1182,12 +1188,8 @@ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/sync,\
 	Synchronizer \
 ))
 $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/system,\
-	ProxySettings \
 	SOffice52ProxySettings \
-	SimpleCommandMail \
-	SimpleSystemMail \
 	SystemProxySettings \
-	SystemShellExecute \
 ))
 $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/table,\
 	AccessibleCellView \
diff --git a/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl b/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl
index f8c1747..3dfa5e8 100644
--- a/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl
+++ b/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl
@@ -20,8 +20,6 @@
 #ifndef __com_sun_star_datatransfer_DataFormatTranslator_idl__
 #define __com_sun_star_datatransfer_DataFormatTranslator_idl__
 
-#include <com/sun/star/lang/XTypeProvider.idl>
-
 
 module com { module sun { module star { module datatransfer {
 
@@ -35,17 +33,10 @@ module com { module sun { module star { module datatransfer {
 
     @see com::sun::star::datatransfer::XDataFormatTranslator
     @see com::sun::star::datatransfer::DataFlavor
+
+    Converts a <type>DataFlavor</type> to system data types and vice versa.
 */
-published service DataFormatTranslator
-{
-    /** Converts a <type>DataFlavor</type> to system data types and vice versa.
-    */
-    interface XDataFormatTranslator;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
-};
+published service DataFormatTranslator : XDataFormatTranslator;
 
 
 }; }; }; };
diff --git a/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl b/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl
index 0e79340..093f74d 100644
--- a/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl
+++ b/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl
@@ -20,9 +20,6 @@
 #ifndef __com_sun_star_datatransfer_MimeContentType_idl__
 #define __com_sun_star_datatransfer_MimeContentType_idl__
 
-#include <com/sun/star/lang/XComponent.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
-
 
 module com { module sun { module star { module datatransfer {
 
@@ -37,20 +34,7 @@ module com { module sun { module star { module datatransfer {
 
     @see com::sun::star::datatransfer::XMimeContentTypeFactory
 */
-published service MimeContentTypeFactory
-{
-    /** Creates an instance that implement the interface
-        <type>XMimeContentType</type> from the string
-        representation of such a MIME content-types that is conform to
-        <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a>,
-        <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>.
-    */
-    interface XMimeContentTypeFactory;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
-};
+published service MimeContentTypeFactory : XMimeContentTypeFactory;
 
 
 }; }; }; };
diff --git a/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl b/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl
index 7e9a528..de4b4f7 100644
--- a/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl
+++ b/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl
@@ -21,7 +21,6 @@
 #define __com_sun_star_datatransfer_clipboard_ClipboardManager_idl__
 
 #include <com/sun/star/lang/XComponent.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 
 
 module com { module sun { module star { module datatransfer { module clipboard {
@@ -43,10 +42,6 @@ published service ClipboardManager
     /** For shutdown and listener support.
     */
     interface com::sun::star::lang::XComponent;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
 };
 
 
diff --git a/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl
index 6f46b34..880b30a 100644
--- a/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl
+++ b/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl
@@ -22,7 +22,6 @@
 
 #include <com/sun/star/lang/XComponent.idl>
 #include <com/sun/star/lang/XInitialization.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 
 
 module com { module sun { module star { module datatransfer { module clipboard {
@@ -50,10 +49,6 @@ published service GenericClipboard
     /** For shutdown and listener support.
     */
     interface com::sun::star::lang::XComponent;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
 };
 
 
diff --git a/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl
index c34181c..3570708 100644
--- a/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl
+++ b/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl
@@ -21,7 +21,6 @@
 #define __com_sun_star_datatransfer_clipboard_SystemClipboard_idl__
 
 #include <com/sun/star/lang/XComponent.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 #include <com/sun/star/lang/XInitialization.idl>
 
 
@@ -67,10 +66,6 @@ published service SystemClipboard
     /** For shutdown and listener support.
     */
     interface com::sun::star::lang::XComponent;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
 };
 
 
diff --git a/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl b/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl
index a51f810..12b55b2 100644
--- a/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl
+++ b/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl
@@ -31,7 +31,6 @@
 
 #include <com/sun/star/lang/XComponent.idl>
 #include <com/sun/star/lang/XInitialization.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 
 
 module com { module sun { module star { module datatransfer { module dnd {
@@ -66,10 +65,6 @@ published service OleDragSource
     /** For shutdown and listener support.
     */
     interface com::sun::star::lang::XComponent;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
 };
 
 
diff --git a/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl b/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl
index e1e1a27..87f62c4 100644
--- a/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl
+++ b/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl
@@ -31,13 +31,12 @@
 
 #include <com/sun/star/lang/XComponent.idl>
 #include <com/sun/star/lang/XInitialization.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 
 
 module com { module sun { module star { module datatransfer { module dnd {
 
 
- published interface XDropTarget;
+published interface XDropTarget;
 
 /** This service connects the Java-like UNO Drag & Drop protocol to the protocol
     used on window platforms. It realizes the drop target.
@@ -58,10 +57,6 @@ published service OleDropTarget
     /** For shutdown and listener support.
     */
     interface com::sun::star::lang::XComponent;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
 };
 
 
diff --git a/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl b/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl
index c987b47..8f72a08 100644
--- a/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl
+++ b/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl
@@ -22,7 +22,6 @@
 
 #include <com/sun/star/lang/XComponent.idl>
 #include <com/sun/star/lang/XInitialization.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 
 
 module com { module sun { module star { module datatransfer { module dnd {
@@ -52,10 +51,6 @@ published service X11DragSource
     /** For shutdown and listener support.
     */
     interface com::sun::star::lang::XComponent;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
 };
 
 
diff --git a/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl b/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl
index 624afdc..120557a 100644
--- a/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl
+++ b/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl
@@ -22,7 +22,6 @@
 
 #include <com/sun/star/lang/XComponent.idl>
 #include <com/sun/star/lang/XInitialization.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 
 
 module com { module sun { module star { module datatransfer { module dnd {
@@ -55,10 +54,6 @@ published service X11DropTarget
     /** For shutdown and listener support.
     */
     interface com::sun::star::lang::XComponent;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
 };
 
 
diff --git a/offapi/com/sun/star/system/ProxySettings.idl b/offapi/com/sun/star/system/ProxySettings.idl
index 76e9292..307a56c 100644
--- a/offapi/com/sun/star/system/ProxySettings.idl
+++ b/offapi/com/sun/star/system/ProxySettings.idl
@@ -20,14 +20,11 @@
 #ifndef __com_sun_star_system_ProxySettings_idl__
 #define __com_sun_star_system_ProxySettings_idl__
 
-#include <com/sun/star/lang/XServiceInfo.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
-
 
 module com { module sun { module star { module system {
 
 
- published interface XProxySettings;
+published interface XProxySettings;
 
 /** Specifies a service for reading the proxy settings from an old office
     installation or a central system database.
@@ -37,16 +34,7 @@ module com { module sun { module star { module system {
     @deprecated
 */
 
-published service ProxySettings
-{
-    /** Provides access to a <type>XProxySettings</type> interface.
-    */
-    interface XProxySettings;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
-};
+published service ProxySettings : XProxySettings;
 
 
 }; }; }; };
diff --git a/offapi/com/sun/star/system/SOffice52ProxySettings.idl b/offapi/com/sun/star/system/SOffice52ProxySettings.idl
index dbbf5f1..241ef3e 100644
--- a/offapi/com/sun/star/system/SOffice52ProxySettings.idl
+++ b/offapi/com/sun/star/system/SOffice52ProxySettings.idl
@@ -20,8 +20,6 @@
 #ifndef __com_sun_star_system_SOffice52ProxySettings_idl__
 #define __com_sun_star_system_SOffice52ProxySettings_idl__
 
-#include <com/sun/star/lang/XServiceInfo.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 #include <com/sun/star/system/ProxySettings.idl>
 
 
diff --git a/offapi/com/sun/star/system/SimpleCommandMail.idl b/offapi/com/sun/star/system/SimpleCommandMail.idl
index 542f930..0f89735 100644
--- a/offapi/com/sun/star/system/SimpleCommandMail.idl
+++ b/offapi/com/sun/star/system/SimpleCommandMail.idl
@@ -21,14 +21,12 @@
 #define __com_sun_star_system_SimpleCommandMail_idl__
 
 #include <com/sun/star/configuration/ConfigurationProvider.idl>
-#include <com/sun/star/lang/XServiceInfo.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 
 
 module com { module sun { module star { module system {
 
 
- published interface XSimpleMailClientSupplier;
+published interface XSimpleMailClientSupplier;
 
 /** Specifies a SimpleCommandMail service. Implementations of such a service, do
     implement an interface to send mail messages via the current configured
@@ -37,17 +35,7 @@ module com { module sun { module star { module system {
     @see com::sun::star::system::XSimpleMailClient
 */
 
-published service SimpleCommandMail
-{
-    /** Provides access to a <type>XSimpleMailClientSupplier</type> interface.
-    */
-    interface XSimpleMailClientSupplier;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
-
-};
+published service SimpleCommandMail : XSimpleMailClientSupplier;
 
 
 }; }; }; };
diff --git a/offapi/com/sun/star/system/SimpleSystemMail.idl b/offapi/com/sun/star/system/SimpleSystemMail.idl
index 7feebf6..54cc8b1 100644
--- a/offapi/com/sun/star/system/SimpleSystemMail.idl
+++ b/offapi/com/sun/star/system/SimpleSystemMail.idl
@@ -20,14 +20,11 @@
 #ifndef __com_sun_star_system_SimpleSystemMail_idl__
 #define __com_sun_star_system_SimpleSystemMail_idl__
 
-#include <com/sun/star/lang/XServiceInfo.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
-
 
 module com { module sun { module star { module system {
 
 
- published interface XSimpleMailClientSupplier;
+published interface XSimpleMailClientSupplier;
 
 /** Specifies a SimpleSystemMail service. Implementations of such a service
     implement an interface to send mail messages via the currently configured
@@ -36,16 +33,7 @@ module com { module sun { module star { module system {
     @see com::sun::star::system::XSimpleMailClient
 */
 
-published service SimpleSystemMail
-{
-    /** Provides access to a <type>XSimpleMailClientSupplier</type> interface.
-    */
-    interface XSimpleMailClientSupplier;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
-};
+published service SimpleSystemMail : XSimpleMailClientSupplier;
 
 
 }; }; }; };
diff --git a/offapi/com/sun/star/system/SystemProxySettings.idl b/offapi/com/sun/star/system/SystemProxySettings.idl
index 3b06a55..668ac25 100644
--- a/offapi/com/sun/star/system/SystemProxySettings.idl
+++ b/offapi/com/sun/star/system/SystemProxySettings.idl
@@ -20,8 +20,6 @@
 #ifndef __com_sun_star_system_SystemProxySettings_idl__
 #define __com_sun_star_system_SystemProxySettings_idl__
 
-#include <com/sun/star/lang/XServiceInfo.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 #include <com/sun/star/system/ProxySettings.idl>
 
 
diff --git a/offapi/com/sun/star/system/SystemShellExecute.idl b/offapi/com/sun/star/system/SystemShellExecute.idl
index e5b7143..1b33e7b 100644
--- a/offapi/com/sun/star/system/SystemShellExecute.idl
+++ b/offapi/com/sun/star/system/SystemShellExecute.idl
@@ -20,14 +20,11 @@
 #ifndef __com_sun_star_system_SystemShellExecute_idl__
 #define __com_sun_star_system_SystemShellExecute_idl__
 
-#include <com/sun/star/lang/XServiceInfo.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
-
 
 module com { module sun { module star { module system {
 
 
- published interface XSystemShellExecute;
+published interface XSystemShellExecute;
 
 /** Specifies a system executer service. Such a service makes it possible
     to execute an arbitrary system command.
@@ -35,16 +32,7 @@ module com { module sun { module star { module system {
     @see com::sun::star::system::XSystemShellExecute
 */
 
-published service SystemShellExecute
-{
-    /** Provides access to a <type>XSystemShellExecute</type> interface.
-    */
-    interface XSystemShellExecute;
-
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
-};
+published service SystemShellExecute : XSystemShellExecute;
 
 
 }; }; }; };
diff --git a/offapi/com/sun/star/ui/dialogs/FilePicker.idl b/offapi/com/sun/star/ui/dialogs/FilePicker.idl
index a009820..b2683c2 100644
--- a/offapi/com/sun/star/ui/dialogs/FilePicker.idl
+++ b/offapi/com/sun/star/ui/dialogs/FilePicker.idl
@@ -30,7 +30,6 @@
 #define __com_sun_star_ui_dialogs_FilePicker_idl__
 
 #include <com/sun/star/lang/XComponent.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 #include <com/sun/star/lang/XInitialization.idl>
 #include <com/sun/star/util/XCancellable.idl>
 
@@ -120,9 +119,6 @@ published service FilePicker
     */
     interface com::sun::star::lang::XComponent;
 
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
 };
 
 
diff --git a/offapi/com/sun/star/ui/dialogs/FolderPicker.idl b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl
index c0490c9..d2d5f39 100644
--- a/offapi/com/sun/star/ui/dialogs/FolderPicker.idl
+++ b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl
@@ -30,15 +30,13 @@
 #define __com_sun_star_ui_dialogs_FolderPicker_idl__
 
 #include <com/sun/star/lang/XComponent.idl>
-#include <com/sun/star/lang/XServiceInfo.idl>
-#include <com/sun/star/lang/XTypeProvider.idl>
 #include <com/sun/star/util/XCancellable.idl>
 
 
 module com { module sun { module star { module ui { module dialogs {
 
 
- published interface XFolderPicker;
+published interface XFolderPicker;
 
 /** A FolderPicker service.
 */
@@ -50,10 +48,6 @@ published service FolderPicker
     */
     interface XFolderPicker;
 
-    /** Service should always support this interface.
-    */
-    interface com::sun::star::lang::XTypeProvider;
-
     /** For canceling a running dialog instance.
         <p>This may be useful for automatic test tools for instance.</p>
     */
diff --git a/offapi/type_reference/types.rdb b/offapi/type_reference/types.rdb
index a248de7..1969d25 100644
Binary files a/offapi/type_reference/types.rdb and b/offapi/type_reference/types.rdb differ
commit d110a0125251119d71f466b62b5250eae4be5f88
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Sep 3 14:20:24 2012 +0200

    Some clean up of previous commit
    
    Change-Id: I6507b731665eb3d98a8fbf3d445f6c85e6d49258

diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx
index 70de47c..94cd073 100644
--- a/basctl/source/basicide/moduldl2.cxx
+++ b/basctl/source/basicide/moduldl2.cxx
@@ -1358,7 +1358,7 @@ void LibPage::ExportAsPackage( const String& aLibName )
         // write into pipe:
         Reference<packages::manifest::XManifestWriter> xManifestWriter( xMSF->createInstance
             ( DEFINE_CONST_UNICODE("com.sun.star.packages.manifest.ManifestWriter") ), UNO_QUERY );
-        Reference<io::XOutputStream> xPipe( io::Pipe::create(comphelper::ComponentContext(xMSF).getUNOContext()), UNO_QUERY );
+        Reference<io::XOutputStream> xPipe( io::Pipe::create(comphelper::ComponentContext(xMSF).getUNOContext()), UNO_QUERY_THROW );
         xManifestWriter->writeManifestSequence(
             xPipe, Sequence< Sequence<beans::PropertyValue> >(
                 &manifest[ 0 ], manifest.size() ) );
diff --git a/bridges/test/testoffice.cxx b/bridges/test/testoffice.cxx
index e5b3df5..9b90bbe 100644
--- a/bridges/test/testoffice.cxx
+++ b/bridges/test/testoffice.cxx
@@ -38,8 +38,7 @@
 #include <com/sun/star/bridge/XBridgeFactory.hpp>
 
 #include <com/sun/star/uno/XNamingService.hpp>
-#include <com/sun/star/io/XInputStream.hpp>
-#include <com/sun/star/io/XOutputStream.hpp>
+#include <com/sun/star/io/Pipe.hpp>
 
 #include <com/sun/star/text/XTextDocument.hpp>
 
@@ -84,23 +83,20 @@ void mygetchar()
 
 void testPipe( const Reference < XMultiServiceFactory > & rSmgr )
 {
-    Reference < XOutputStream > rOut( Pipe::create(comphelper::ComponentContext(rSmgr).getUNOContext()), UNO_QUERY_THROW );
-
-    OSL_ASSERT( rOut.is() );
+    Reference < XPipe > rPipe( Pipe::create(comphelper::ComponentContext(rSmgr).getUNOContext()), UNO_QUERY_THROW );
 
     {
         Sequence < sal_Int8 > seq( 10 );
         seq.getArray()[0] = 42;
-        rOut->writeBytes( seq );
+        rPipe->writeBytes( seq );
     }
 
 
     {
         Sequence < sal_Int8 > seq;
-        Reference < XInputStream > rIn( rOut , UNO_QUERY );
-        if( ! ( rIn->available() == 10) )
+        if( ! ( rPipe->available() == 10) )
             printf( "wrong bytes available\n" );
-        if( ! ( rIn->readBytes( seq , 10 ) == 10 ) )
+        if( ! ( rPipe->readBytes( seq , 10 ) == 10 ) )
             printf( "wrong bytes read\n" );
         if( ! ( 42 == seq.getArray()[0] ) )
             printf( "wrong element in sequence\n" );
diff --git a/forms/source/xforms/submission/serialization_app_xml.cxx b/forms/source/xforms/submission/serialization_app_xml.cxx
index 6b9e2fb..7c783bf 100644
--- a/forms/source/xforms/submission/serialization_app_xml.cxx
+++ b/forms/source/xforms/submission/serialization_app_xml.cxx
@@ -43,10 +43,8 @@
 
 CSerializationAppXML::CSerializationAppXML()
     : m_aFactory(comphelper::getProcessServiceFactory())
-    , m_aPipe(CSS::io::Pipe::create(comphelper::getProcessComponentContext()), CSS::uno::UNO_QUERY_THROW)
-{
-    OSL_ENSURE(m_aPipe.is(), "cannot create Pipe");
-}
+    , m_aPipe(CSS::io::Pipe::create(comphelper::getProcessComponentContext()))
+{}
 
 CSS::uno::Reference< CSS::io::XInputStream >
 CSerializationAppXML::getInputStream()
diff --git a/forms/source/xforms/submission/serialization_app_xml.hxx b/forms/source/xforms/submission/serialization_app_xml.hxx
index 9564961..8f72bd8 100644
--- a/forms/source/xforms/submission/serialization_app_xml.hxx
+++ b/forms/source/xforms/submission/serialization_app_xml.hxx
@@ -29,7 +29,7 @@
 #ifndef __SERIALIZATION_APP_XML_HXX
 #define __SERIALIZATION_APP_XML_HXX
 
-#include <com/sun/star/io/XOutputStream.hpp>
+#include <com/sun/star/io/XPipe.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 
 #include "serialization.hxx"
@@ -39,7 +39,7 @@ class CSerializationAppXML : public CSerialization
 {
 private:
     CSS::uno::Reference< CSS::lang::XMultiServiceFactory > m_aFactory;
-    CSS::uno::Reference< CSS::io::XOutputStream > m_aPipe;
+    CSS::uno::Reference< CSS::io::XPipe > m_aPipe;
 
     void serialize_node(const CSS::uno::Reference< CSS::xml::dom::XNode >& aNode);
     void serialize_nodeset();
diff --git a/forms/source/xforms/submission/serialization_urlencoded.cxx b/forms/source/xforms/submission/serialization_urlencoded.cxx
index 8ba1be4..a1e7d71 100644
--- a/forms/source/xforms/submission/serialization_urlencoded.cxx
+++ b/forms/source/xforms/submission/serialization_urlencoded.cxx
@@ -50,7 +50,7 @@ using namespace CSS::xml::dom;
 
 CSerializationURLEncoded::CSerializationURLEncoded()
     : m_aFactory(comphelper::getProcessServiceFactory())
-    , m_aPipe(Pipe::create(comphelper::getProcessComponentContext()), UNO_QUERY_THROW)
+    , m_aPipe(Pipe::create(comphelper::getProcessComponentContext()))
 {
 }
 
diff --git a/forms/source/xforms/submission/serialization_urlencoded.hxx b/forms/source/xforms/submission/serialization_urlencoded.hxx
index 3401869..0421acf 100644
--- a/forms/source/xforms/submission/serialization_urlencoded.hxx
+++ b/forms/source/xforms/submission/serialization_urlencoded.hxx
@@ -21,8 +21,7 @@
 #define __SERIALIZATION_URLENCODED_HXX
 
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/io/XInputStream.hpp>
-#include <com/sun/star/io/XOutputStream.hpp>
+#include <com/sun/star/io/XPipe.hpp>
 
 #include <rtl/strbuf.hxx>
 
@@ -32,7 +31,7 @@ class CSerializationURLEncoded : public CSerialization
 {
 private:
     CSS::uno::Reference< CSS::lang::XMultiServiceFactory > m_aFactory;
-    CSS::uno::Reference< CSS::io::XOutputStream > m_aPipe;
+    CSS::uno::Reference< CSS::io::XPipe > m_aPipe;
 
     sal_Bool is_unreserved(sal_Char);
     void encode_and_append(const rtl::OUString& aString, rtl::OStringBuffer& aBuffer);
diff --git a/udkapi/UnoApi_udkapi.mk b/udkapi/UnoApi_udkapi.mk
index 6d1b84a..d909fb6 100644
--- a/udkapi/UnoApi_udkapi.mk
+++ b/udkapi/UnoApi_udkapi.mk
@@ -326,9 +326,9 @@ $(eval $(call gb_UnoApi_add_idlfiles,udkapi,udkapi/com/sun/star/io,\
 	XObjectInputStream \
 	XObjectOutputStream \
 	XOutputStream \
-    XPipe \
 	XPersist \
 	XPersistObject \
+    XPipe \
 	XSeekable \
 	XSeekableInputStream \
 	XSequenceOutputStream \
commit 278379697d82e4b4a3204e82fcdababebe2340f3
Author: Noel Grandin <noel at peralex.com>
Date:   Tue Aug 28 13:50:47 2012 +0200

    fdo#46808, Adapt io::Pipe UNO service to new style
    
    Create a merged XPipe interface for this service to implement.
    Which is backwards-compatible, but does not require creating a new service.
    
    Change-Id: I682633c6252aab503eb2469c9bd2ba771f10bc4b

diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx
index 5a7df8f..70de47c 100644
--- a/basctl/source/basicide/moduldl2.cxx
+++ b/basctl/source/basicide/moduldl2.cxx
@@ -42,6 +42,7 @@
 #include <tools/diagnose_ex.h>
 
 #include <sot/storage.hxx>
+#include <com/sun/star/io/Pipe.hpp>
 #include <com/sun/star/ui/dialogs/XFilePicker.hpp>
 #include <com/sun/star/ui/dialogs/XFolderPicker.hpp>
 #include <com/sun/star/ui/dialogs/XFilterManager.hpp>
@@ -55,6 +56,7 @@
 #include <com/sun/star/ucb/NameClash.hpp>
 #include "com/sun/star/packages/manifest/XManifestWriter.hpp"
 #include <unotools/pathoptions.hxx>
+#include <comphelper/componentcontext.hxx>
 #include <comphelper/processfactory.hxx>
 
 #include <com/sun/star/util/VetoException.hpp>
@@ -1356,8 +1358,7 @@ void LibPage::ExportAsPackage( const String& aLibName )
         // write into pipe:
         Reference<packages::manifest::XManifestWriter> xManifestWriter( xMSF->createInstance
             ( DEFINE_CONST_UNICODE("com.sun.star.packages.manifest.ManifestWriter") ), UNO_QUERY );
-        Reference<io::XOutputStream> xPipe( xMSF->createInstance
-            ( DEFINE_CONST_UNICODE("com.sun.star.io.Pipe") ), UNO_QUERY );
+        Reference<io::XOutputStream> xPipe( io::Pipe::create(comphelper::ComponentContext(xMSF).getUNOContext()), UNO_QUERY );
         xManifestWriter->writeManifestSequence(
             xPipe, Sequence< Sequence<beans::PropertyValue> >(
                 &manifest[ 0 ], manifest.size() ) );
diff --git a/bridges/test/testoffice.cxx b/bridges/test/testoffice.cxx
index e7b7352..e5b3df5 100644
--- a/bridges/test/testoffice.cxx
+++ b/bridges/test/testoffice.cxx
@@ -84,9 +84,7 @@ void mygetchar()
 
 void testPipe( const Reference < XMultiServiceFactory > & rSmgr )
 {
-    Reference < XOutputStream > rOut(
-        rSmgr->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.io.Pipe" )) ),
-        UNO_QUERY );
+    Reference < XOutputStream > rOut( Pipe::create(comphelper::ComponentContext(rSmgr).getUNOContext()), UNO_QUERY_THROW );
 
     OSL_ASSERT( rOut.is() );
 
diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx
index 3a520eb..ea4e345 100644
--- a/desktop/source/deployment/registry/package/dp_package.cxx
+++ b/desktop/source/deployment/registry/package/dp_package.cxx
@@ -49,6 +49,7 @@
 #include "com/sun/star/graphic/XGraphic.hpp"
 #include "com/sun/star/graphic/GraphicProvider.hpp"
 #include "com/sun/star/graphic/XGraphicProvider.hpp"
+#include <com/sun/star/io/Pipe.hpp>
 #include "com/sun/star/io/XOutputStream.hpp"
 #include "com/sun/star/io/XInputStream.hpp"
 #include "com/sun/star/task/InteractionClassification.hpp"
@@ -1182,9 +1183,7 @@ void BackendImpl::PackageImpl::exportTo(
             xContext->getServiceManager()->createInstanceWithContext(
                 OUSTR("com.sun.star.packages.manifest.ManifestWriter"),
                 xContext ), UNO_QUERY_THROW );
-        Reference<io::XOutputStream> xPipe(
-            xContext->getServiceManager()->createInstanceWithContext(
-                OUSTR("com.sun.star.io.Pipe"), xContext ), UNO_QUERY_THROW );
+        Reference<io::XOutputStream> xPipe( io::Pipe::create(xContext), UNO_QUERY_THROW );
         xManifestWriter->writeManifestSequence(
             xPipe, comphelper::containerToSequence(manifest) );
 
diff --git a/editeng/source/xml/xmltxtimp.cxx b/editeng/source/xml/xmltxtimp.cxx
index 91d3224..2604ab8 100644
--- a/editeng/source/xml/xmltxtimp.cxx
+++ b/editeng/source/xml/xmltxtimp.cxx
@@ -26,6 +26,7 @@
  *
  ************************************************************************/
 
+#include <com/sun/star/io/Pipe.hpp>
 #include <com/sun/star/io/XActiveDataControl.hpp>
 #include <com/sun/star/io/XActiveDataSource.hpp>
 #include <com/sun/star/xml/sax/XParser.hpp>
@@ -199,12 +200,7 @@ void SvxReadXML( EditEngine& rEditEngine, SvStream& rStream, const ESelection& r
                 break;
             }
 
-            uno::Reference< XInterface > xPipe( xServiceFactory->createInstance(OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.io.Pipe") ) ) );
-            if( !xPipe.is() )
-            {
-                OSL_FAIL( "XMLReader::Read: com.sun.star.io.Pipe service missing" );
-                break;
-            }
+            uno::Reference< XInterface > xPipe( Pipe::create(comphelper::ComponentContext(xServiceFactory).getUNOContext()), UNO_QUERY );
 
             // connect pipe's output stream to the data source
             xSource->setOutputStream( uno::Reference< io::XOutputStream >::query( xPipe ) );
diff --git a/filter/source/xsltfilter/XSLTFilter.cxx b/filter/source/xsltfilter/XSLTFilter.cxx
index 6acc116..4ebabc7 100644
--- a/filter/source/xsltfilter/XSLTFilter.cxx
+++ b/filter/source/xsltfilter/XSLTFilter.cxx
@@ -62,6 +62,7 @@
 
 #include <com/sun/star/util/XMacroExpander.hpp>
 
+#include <com/sun/star/io/Pipe.hpp>
 #include <com/sun/star/io/XInputStream.hpp>
 #include <com/sun/star/io/XOutputStream.hpp>
 #include <com/sun/star/io/XActiveDataSource.hpp>
@@ -342,11 +343,8 @@ m_rServiceFactory(r), m_bTerminated(sal_False), m_bError(sal_False)
                         tsink->setInputStream(xInputStream);
 
                         // create pipe
-                        css::uno::Reference<XOutputStream>
-                                pipeout(
-                                        m_rServiceFactory->createInstance(
-                                                OUString(
-                                                         "com.sun.star.io.Pipe" )),
+                        css::uno::Reference<XOutputStream> pipeout(
+                                        Pipe::create(comphelper::ComponentContext(m_rServiceFactory).getUNOContext()),
                                         UNO_QUERY);
                         css::uno::Reference<XInputStream> pipein(pipeout, UNO_QUERY);
 
@@ -498,11 +496,8 @@ m_rServiceFactory(r), m_bTerminated(sal_False), m_bError(sal_False)
                 m_tcontrol->addListener(css::uno::Reference<XStreamListener> (this));
 
                 // create pipe
-                css::uno::Reference<XOutputStream>
-                        pipeout(
-                                m_rServiceFactory->createInstance(
-                                        OUString(
-                                                 "com.sun.star.io.Pipe" )),
+                css::uno::Reference<XOutputStream> pipeout(
+                                Pipe::create(comphelper::ComponentContext(m_rServiceFactory).getUNOContext()),
                                 UNO_QUERY);
                 css::uno::Reference<XInputStream> pipein(pipeout, UNO_QUERY);
 
diff --git a/forms/source/xforms/submission/serialization_app_xml.cxx b/forms/source/xforms/submission/serialization_app_xml.cxx
index 95df079..6b9e2fb 100644
--- a/forms/source/xforms/submission/serialization_app_xml.cxx
+++ b/forms/source/xforms/submission/serialization_app_xml.cxx
@@ -31,6 +31,7 @@
 #include "serialization_app_xml.hxx"
 
 #include <comphelper/processfactory.hxx>
+#include <com/sun/star/io/Pipe.hpp>
 #include <com/sun/star/xml/dom/XNode.hpp>
 #include <com/sun/star/xml/dom/XDocument.hpp>
 #include <com/sun/star/xml/dom/XNodeList.hpp>
@@ -42,8 +43,7 @@
 
 CSerializationAppXML::CSerializationAppXML()
     : m_aFactory(comphelper::getProcessServiceFactory())
-    , m_aPipe(CSS::uno::Reference< CSS::io::XOutputStream > (m_aFactory->createInstance(
-        rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.io.Pipe") ) ), CSS::uno::UNO_QUERY))
+    , m_aPipe(CSS::io::Pipe::create(comphelper::getProcessComponentContext()), CSS::uno::UNO_QUERY_THROW)
 {
     OSL_ENSURE(m_aPipe.is(), "cannot create Pipe");
 }
diff --git a/forms/source/xforms/submission/serialization_urlencoded.cxx b/forms/source/xforms/submission/serialization_urlencoded.cxx
index c7866f5..8ba1be4 100644
--- a/forms/source/xforms/submission/serialization_urlencoded.cxx
+++ b/forms/source/xforms/submission/serialization_urlencoded.cxx
@@ -27,6 +27,7 @@
  ************************************************************************/
 
 
+#include <com/sun/star/io/Pipe.hpp>
 #include <com/sun/star/xml/xpath/XPathObjectType.hpp>
 #include <com/sun/star/xml/dom/XNode.hpp>
 #include <com/sun/star/xml/dom/XText.hpp>
@@ -49,8 +50,7 @@ using namespace CSS::xml::dom;
 
 CSerializationURLEncoded::CSerializationURLEncoded()
     : m_aFactory(comphelper::getProcessServiceFactory())
-    , m_aPipe(Reference< XOutputStream > (m_aFactory->createInstance(
-        ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.io.Pipe") ) ), UNO_QUERY))
+    , m_aPipe(Pipe::create(comphelper::getProcessComponentContext()), UNO_QUERY_THROW)
 {
 }
 
diff --git a/forms/source/xforms/submission/submission_get.cxx b/forms/source/xforms/submission/submission_get.cxx
index 5dc9194..ed51583 100644
--- a/forms/source/xforms/submission/submission_get.cxx
+++ b/forms/source/xforms/submission/submission_get.cxx
@@ -36,7 +36,9 @@
 #include <rtl/strbuf.hxx>
 #include <rtl/string.hxx>
 #include <osl/file.hxx>
+#include <comphelper/componentcontext.hxx>
 #include <ucbhelper/content.hxx>
+#include <com/sun/star/io/Pipe.hpp>
 
 using namespace CSS::uno;
 using namespace CSS::ucb;
@@ -97,8 +99,7 @@ CSubmission::SubmissionResult CSubmissionGet::submit(const CSS::uno::Reference<
         }
         OUString aQueryURL = OStringToOUString(aUTF8QueryURL.makeStringAndClear(), RTL_TEXTENCODING_UTF8);
         ucbhelper::Content aContent(aQueryURL, aEnvironment);
-        CSS::uno::Reference< XOutputStream > aPipe(m_aFactory->createInstance(
-            OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.io.Pipe"))), UNO_QUERY_THROW);
+        CSS::uno::Reference< XOutputStream > aPipe( CSS::io::Pipe::create(comphelper::ComponentContext(m_aFactory).getUNOContext()), UNO_QUERY_THROW );
         aContent.openStream(aPipe);
         // get reply
         try {
diff --git a/io/source/stm/opipe.cxx b/io/source/stm/opipe.cxx
index 32c3c53..9c04fe4 100644
--- a/io/source/stm/opipe.cxx
+++ b/io/source/stm/opipe.cxx
@@ -19,6 +19,7 @@
 
 
 // streams
+#include <com/sun/star/io/XPipe.hpp>
 #include <com/sun/star/io/XInputStream.hpp>
 #include <com/sun/star/io/XOutputStream.hpp>
 #include <com/sun/star/io/XConnectable.hpp>
@@ -27,7 +28,7 @@
 
 #include <cppuhelper/factory.hxx>
 
-#include <cppuhelper/implbase4.hxx>      // OWeakObject
+#include <cppuhelper/implbase3.hxx>      // OWeakObject
 
 #include <osl/conditn.hxx>
 #include <osl/mutex.hxx>
@@ -52,7 +53,7 @@ using namespace ::com::sun::star::lang;
 namespace io_stm{
 
 class OPipeImpl :
-    public WeakImplHelper4< XInputStream , XOutputStream , XConnectable , XServiceInfo >
+    public WeakImplHelper3< XPipe , XConnectable , XServiceInfo >
 {
 public:
     OPipeImpl( );
diff --git a/offapi/type_reference/types.rdb b/offapi/type_reference/types.rdb
index 29e48ad..a248de7 100644
Binary files a/offapi/type_reference/types.rdb and b/offapi/type_reference/types.rdb differ
diff --git a/ucb/source/core/ucbcmds.cxx b/ucb/source/core/ucbcmds.cxx
index 221a429..56f6d91 100644
--- a/ucb/source/core/ucbcmds.cxx
+++ b/ucb/source/core/ucbcmds.cxx
@@ -33,6 +33,7 @@
 
  *************************************************************************/
 #include <osl/diagnose.h>
+#include <comphelper/componentcontext.hxx>
 #include <cppuhelper/implbase1.hxx>
 #include <cppuhelper/exc_hlp.hxx>
 #include <rtl/ustring.h>
@@ -43,6 +44,7 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/container/XChild.hpp>
 #include <com/sun/star/beans/XPropertySetInfo.hpp>
+#include <com/sun/star/io/Pipe.hpp>
 #include <com/sun/star/io/XActiveDataSink.hpp>
 #include <com/sun/star/io/XOutputStream.hpp>
 #include <com/sun/star/io/XSeekable.hpp>
@@ -966,29 +968,23 @@ uno::Reference< io::XInputStream > getInputStream(
 
         try
         {
-            uno::Reference< io::XOutputStream > xOutputStream(
-                rContext.xSMgr->createInstance(
-                    rtl::OUString("com.sun.star.io.Pipe") ),
-                uno::UNO_QUERY );
+            uno::Reference< io::XOutputStream > xOutputStream( io::Pipe::create(comphelper::ComponentContext(rContext.xSMgr).getUNOContext()), uno::UNO_QUERY_THROW );
 
-            if ( xOutputStream.is() )
-            {
-                ucb::OpenCommandArgument2 aArg;
-                aArg.Mode       = ucb::OpenMode::DOCUMENT;
-                aArg.Priority   = 0; // unused
-                aArg.Sink       = xOutputStream;
-                aArg.Properties = uno::Sequence< beans::Property >( 0 );
-
-                ucb::Command aOpenCommand(
-                                    rtl::OUString("open"),
-                                    -1,
-                                    uno::makeAny( aArg ) );
+            ucb::OpenCommandArgument2 aArg;
+            aArg.Mode       = ucb::OpenMode::DOCUMENT;
+            aArg.Priority   = 0; // unused
+            aArg.Sink       = xOutputStream;
+            aArg.Properties = uno::Sequence< beans::Property >( 0 );
+
+            ucb::Command aOpenCommand(
+                                rtl::OUString("open"),
+                                -1,
+                                uno::makeAny( aArg ) );
 
-                xCommandProcessorS->execute( aOpenCommand, 0, rContext.xEnv );
+            xCommandProcessorS->execute( aOpenCommand, 0, rContext.xEnv );
 
-                xInputStream = uno::Reference< io::XInputStream >(

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list