diff options
author | Noel Grandin <noel@peralex.com> | 2013-05-29 08:09:33 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2013-06-03 09:59:59 +0200 |
commit | 30dd9b2ff564e90a415603694b07b6c43491787c (patch) | |
tree | c077f4e07c43da0c56924b1af2e9d1d0a6b0026c | |
parent | a8a35e54f506ae22a0ac8f80aa824813260de000 (diff) |
fdo#46808, Convert SfxFrameLoader service to new style
Change-Id: I6cdef298d69fef388e79b241abbe3a9a03d61492
-rw-r--r-- | framework/inc/services.h | 1 | ||||
-rw-r--r-- | framework/source/loadenv/loadenv.cxx | 3 | ||||
-rw-r--r-- | offapi/UnoApi_offapi.mk | 1 | ||||
-rw-r--r-- | offapi/com/sun/star/frame/OfficeFrameLoader.idl | 37 | ||||
-rw-r--r-- | sfx2/source/view/frmload.cxx | 3 | ||||
-rw-r--r-- | sfx2/util/sfx.component | 1 |
6 files changed, 43 insertions, 3 deletions
diff --git a/framework/inc/services.h b/framework/inc/services.h index 24503d4041ee..6b35bf2da568 100644 --- a/framework/inc/services.h +++ b/framework/inc/services.h @@ -59,7 +59,6 @@ namespace framework{ #define IMPLEMENTATIONNAME_DESKTOP DECLARE_ASCII("com.sun.star.comp.framework.Desktop" ) #define IMPLEMENTATIONNAME_URLTRANSFORMER DECLARE_ASCII("com.sun.star.comp.framework.URLTransformer" ) -#define IMPLEMENTATIONNAME_GENERICFRAMELOADER DECLARE_ASCII("com.sun.star.comp.office.FrameLoader" ) #define IMPLEMENTATIONNAME_MEDIATYPEDETECTIONHELPER DECLARE_ASCII("com.sun.star.comp.framework.MediaTypeDetectionHelper") #define IMPLEMENTATIONNAME_OXT_HANDLER DECLARE_ASCII("com.sun.star.comp.framework.OXTFileHandler" ) #define IMPLEMENTATIONNAME_SFXTERMINATOR DECLARE_ASCII("com.sun.star.comp.sfx2.SfxTerminateListener" ) diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx index b8a584092982..577973677b33 100644 --- a/framework/source/loadenv/loadenv.cxx +++ b/framework/source/loadenv/loadenv.cxx @@ -52,6 +52,7 @@ #include <com/sun/star/awt/XWindow2.hpp> #include <com/sun/star/awt/XTopWindow.hpp> #include <com/sun/star/frame/Desktop.hpp> +#include <com/sun/star/frame/OfficeFrameLoader.hpp> #include <com/sun/star/frame/XModel.hpp> #include <com/sun/star/frame/XFrameLoader.hpp> #include <com/sun/star/frame/XSynchronousFrameLoader.hpp> @@ -1194,7 +1195,7 @@ css::uno::Reference< css::uno::XInterface > LoadEnv::impl_searchLoader() { try { - return m_xContext->getServiceManager()->createInstanceWithContext(IMPLEMENTATIONNAME_GENERICFRAMELOADER, m_xContext); + return css::frame::OfficeFrameLoader::create(m_xContext); } catch(const css::uno::RuntimeException&) { throw; } diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index b3b12758e9c1..7d44fc52e7ea 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -198,6 +198,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/frame,\ LayoutManager \ MediaTypeDetectionHelper \ ModuleManager \ + OfficeFrameLoader \ SessionListener \ StartModule \ TaskCreator \ diff --git a/offapi/com/sun/star/frame/OfficeFrameLoader.idl b/offapi/com/sun/star/frame/OfficeFrameLoader.idl new file mode 100644 index 000000000000..67823eb4110a --- /dev/null +++ b/offapi/com/sun/star/frame/OfficeFrameLoader.idl @@ -0,0 +1,37 @@ +/* -*- 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_frame_OfficeFrameLoader_idl__ +#define __com_sun_star_frame_OfficeFrameLoader_idl__ + +#include <com/sun/star/frame/XSynchronousFrameLoader.idl> + + + module com { module sun { module star { module frame { + +/** + @since LibreOffice 4.2 + */ +service OfficeFrameLoader : XSynchronousFrameLoader; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/view/frmload.cxx b/sfx2/source/view/frmload.cxx index 03f242bd8b3c..624de0f12398 100644 --- a/sfx2/source/view/frmload.cxx +++ b/sfx2/source/view/frmload.cxx @@ -681,8 +681,9 @@ Sequence< OUString > SAL_CALL SfxFrameLoader_Impl::getSupportedServiceNames() th Sequence< OUString > SfxFrameLoader_Impl::impl_getStaticSupportedServiceNames() { ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); - Sequence< OUString > seqServiceNames( 1 ); + Sequence< OUString > seqServiceNames( 2 ); seqServiceNames.getArray() [0] = OUString( "com.sun.star.frame.SynchronousFrameLoader" ); + seqServiceNames.getArray() [1] = OUString( "com.sun.star.frame.OfficeFrameLoader" ); return seqServiceNames ; } diff --git a/sfx2/util/sfx.component b/sfx2/util/sfx.component index 05c8c3bbf76e..0de2629eb110 100644 --- a/sfx2/util/sfx.component +++ b/sfx2/util/sfx.component @@ -38,6 +38,7 @@ </implementation> <implementation name="com.sun.star.comp.office.FrameLoader"> <service name="com.sun.star.frame.SynchronousFrameLoader"/> + <service name="com.sun.star.frame.OfficeFrameLoader"/> </implementation> <implementation name="com.sun.star.comp.sfx2.AppDispatchProvider"> <service name="com.sun.star.frame.ProtocolHandler"/> |