summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2013-01-07 16:19:36 +0200
committerNoel Grandin <noel@peralex.com>2013-01-15 09:56:00 +0200
commite7018375cdf0e5e542631df9dee6023ff80b7840 (patch)
tree50879e1febe6555236be77e8eb956c113019cd8c /framework
parent435989ad0616a36d03975096919721e8506f5516 (diff)
fdo#46808, Adapt frame::StartModule UNO service to new style
The service already existed, it just did not have an IDL file. Change-Id: I400551d34d074cc8cf36fad58badc921422a2efa
Diffstat (limited to 'framework')
-rw-r--r--framework/inc/dispatch/startmoduledispatcher.hxx9
-rw-r--r--framework/inc/services.h1
-rw-r--r--framework/inc/services/backingcomp.hxx2
-rw-r--r--framework/source/dispatch/closedispatcher.cxx14
-rw-r--r--framework/source/dispatch/dispatchprovider.cxx2
-rw-r--r--framework/source/dispatch/startmoduledispatcher.cxx25
-rw-r--r--framework/source/fwe/classes/framelistanalyzer.cxx4
-rw-r--r--framework/source/services/backingcomp.cxx4
8 files changed, 27 insertions, 34 deletions
diff --git a/framework/inc/dispatch/startmoduledispatcher.hxx b/framework/inc/dispatch/startmoduledispatcher.hxx
index 373c333eccbb..9518b45b4150 100644
--- a/framework/inc/dispatch/startmoduledispatcher.hxx
+++ b/framework/inc/dispatch/startmoduledispatcher.hxx
@@ -36,6 +36,7 @@
#include <com/sun/star/util/URL.hpp>
#include <com/sun/star/frame/XDispatchResultListener.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/frame/DispatchResultState.hpp>
#include <cppuhelper/weak.hxx>
@@ -64,7 +65,7 @@ class StartModuleDispatcher : public css::lang::XTypeProvider
/** @short reference to an uno service manager,
which can be used to create own needed
uno resources. */
- css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
+ css::uno::Reference< css::uno::XComponentContext > m_xContext;
//---------------------------------------
/** @short our "context" frame. */
@@ -88,8 +89,8 @@ class StartModuleDispatcher : public css::lang::XTypeProvider
@descr Such "owner frame" is used as context for all related operations.
- @param xSMGR
- an uno service manager, which is needed to create uno resource
+ @param xContext
+ an UNO service manager, which is needed to create UNO resource
internaly.
@param xFrame
@@ -98,7 +99,7 @@ class StartModuleDispatcher : public css::lang::XTypeProvider
@param sTarget
the original target information used for the related queryDispatch() call.
*/
- StartModuleDispatcher(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR ,
+ StartModuleDispatcher(const css::uno::Reference< css::uno::XComponentContext >& rxContext,
const css::uno::Reference< css::frame::XFrame >& xFrame ,
const ::rtl::OUString& sTarget);
diff --git a/framework/inc/services.h b/framework/inc/services.h
index f15cb46151ad..3e95ffd09d22 100644
--- a/framework/inc/services.h
+++ b/framework/inc/services.h
@@ -46,7 +46,6 @@ namespace framework{
#define SERVICENAME_UICONFIGURATIONMANAGER DECLARE_ASCII("com.sun.star.ui.UIConfigurationManager" )
#define SERVICENAME_MODULEUICONFIGURATIONMANAGER DECLARE_ASCII("com.sun.star.ui.ModuleUIConfigurationManager" )
#define SERVICENAME_MENUBARFACTORY DECLARE_ASCII("com.sun.star.ui.UIElementFactory" )
-#define SERVICENAME_STARTMODULE DECLARE_ASCII("com.sun.star.frame.StartModule" )
#define SERVICENAME_FRAMECONTROLLER DECLARE_ASCII("com.sun.star.frame.Controller" )
#define SERVICENAME_MODULEACCELERATORCONFIGURATION DECLARE_ASCII("com.sun.star.ui.ModuleAcceleratorConfiguration")
#define SERVICENAME_DOCUMENTACCELERATORCONFIGURATION DECLARE_ASCII("com.sun.star.ui.DocumentAcceleratorConfiguration")
diff --git a/framework/inc/services/backingcomp.hxx b/framework/inc/services/backingcomp.hxx
index f54ef495fd03..bf1dd84533e3 100644
--- a/framework/inc/services/backingcomp.hxx
+++ b/framework/inc/services/backingcomp.hxx
@@ -63,7 +63,7 @@ class BackingComp : public css::lang::XTypeProvider
, public css::lang::XInitialization
, public css::frame::XController // => XComponent
, public css::awt::XKeyListener // => XEventListener
- // attention! Must be the first base class to guarentee right initialize lock ...
+ // attention! Must be the first base class to guarantee right initialize lock ...
, private ThreadHelpBase
, public ::cppu::OWeakObject
{
diff --git a/framework/source/dispatch/closedispatcher.cxx b/framework/source/dispatch/closedispatcher.cxx
index eb9087e0ec79..1809a9e82631 100644
--- a/framework/source/dispatch/closedispatcher.cxx
+++ b/framework/source/dispatch/closedispatcher.cxx
@@ -28,6 +28,7 @@
#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/frame/CommandGroup.hpp>
+#include <com/sun/star/frame/StartModule.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/awt/XTopWindow.hpp>
#include <com/sun/star/document/XActionLockable.hpp>
@@ -549,17 +550,14 @@ sal_Bool CloseDispatcher::implts_establishBackingMode()
return sal_False;
css::uno::Reference< css::awt::XWindow > xContainerWindow = xFrame->getContainerWindow();
- css::uno::Sequence< css::uno::Any > lArgs(1);
- lArgs[0] <<= xContainerWindow;
- css::uno::Reference< css::frame::XController > xBackingComp(
- xSMGR->createInstanceWithArguments(SERVICENAME_STARTMODULE, lArgs),
- css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XController > xStartModule = css::frame::StartModule::createWithParentWindow(
+ comphelper::getComponentContext(xSMGR), xContainerWindow);
// Attention: You MUST(!) call setComponent() before you call attachFrame().
- css::uno::Reference< css::awt::XWindow > xBackingWin(xBackingComp, css::uno::UNO_QUERY);
- xFrame->setComponent(xBackingWin, xBackingComp);
- xBackingComp->attachFrame(xFrame);
+ css::uno::Reference< css::awt::XWindow > xBackingWin(xStartModule, css::uno::UNO_QUERY);
+ xFrame->setComponent(xBackingWin, xStartModule);
+ xStartModule->attachFrame(xFrame);
xContainerWindow->setVisible(sal_True);
return sal_True;
diff --git a/framework/source/dispatch/dispatchprovider.cxx b/framework/source/dispatch/dispatchprovider.cxx
index ea2e7aa86481..6185fc34e247 100644
--- a/framework/source/dispatch/dispatchprovider.cxx
+++ b/framework/source/dispatch/dispatchprovider.cxx
@@ -651,7 +651,7 @@ css::uno::Reference< css::frame::XDispatch > DispatchProvider::implts_getOrCreat
case E_STARTMODULEDISPATCHER :
{
- StartModuleDispatcher* pDispatcher = new StartModuleDispatcher( xFactory, xOwner, sTarget );
+ StartModuleDispatcher* pDispatcher = new StartModuleDispatcher( comphelper::getComponentContext(xFactory), xOwner, sTarget );
xDispatchHelper = css::uno::Reference< css::frame::XDispatch >( static_cast< ::cppu::OWeakObject* >(pDispatcher), css::uno::UNO_QUERY );
}
break;
diff --git a/framework/source/dispatch/startmoduledispatcher.cxx b/framework/source/dispatch/startmoduledispatcher.cxx
index ed7959d41116..d5a3d93d697a 100644
--- a/framework/source/dispatch/startmoduledispatcher.cxx
+++ b/framework/source/dispatch/startmoduledispatcher.cxx
@@ -32,6 +32,7 @@
#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/frame/CommandGroup.hpp>
+#include <com/sun/star/frame/StartModule.hpp>
#include <com/sun/star/awt/XTopWindow.hpp>
#include "com/sun/star/beans/XFastPropertySet.hpp"
#include <com/sun/star/frame/XModuleManager.hpp>
@@ -67,12 +68,12 @@ DEFINE_XTYPEPROVIDER_4(StartModuleDispatcher ,
css::frame::XDispatch )
//-----------------------------------------------
-StartModuleDispatcher::StartModuleDispatcher(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR ,
+StartModuleDispatcher::StartModuleDispatcher(const css::uno::Reference< css::uno::XComponentContext >& rxContext,
const css::uno::Reference< css::frame::XFrame >& xFrame ,
const ::rtl::OUString& sTarget)
: ThreadHelpBase (&Application::GetSolarMutex() )
, ::cppu::OWeakObject( )
- , m_xSMGR (xSMGR )
+ , m_xContext (rxContext )
, m_xOwner (xFrame )
, m_sDispatchTarget (sTarget )
, m_lStatusListener (m_aLock.getShareableOslMutex())
@@ -148,12 +149,12 @@ void SAL_CALL StartModuleDispatcher::removeStatusListener(const css::uno::Refere
// SAFE -> ----------------------------------
ReadGuard aReadLock(m_aLock);
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = m_xSMGR;
+ css::uno::Reference< css::uno::XComponentContext > xContext = m_xContext;
aReadLock.unlock();
// <- SAFE ----------------------------------
css::uno::Reference< css::frame::XFramesSupplier > xDesktop(
- css::frame::Desktop::create( comphelper::getComponentContext(xSMGR) ), css::uno::UNO_QUERY);
+ css::frame::Desktop::create( xContext ), css::uno::UNO_QUERY);
FrameListAnalyzer aCheck(
xDesktop,
@@ -179,21 +180,15 @@ void SAL_CALL StartModuleDispatcher::removeStatusListener(const css::uno::Refere
{
// SAFE -> ----------------------------------
ReadGuard aReadLock(m_aLock);
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = m_xSMGR;
+ css::uno::Reference< css::uno::XComponentContext > xContext = m_xContext;
aReadLock.unlock();
// <- SAFE ----------------------------------
- css::uno::Reference< css::frame::XDesktop2> xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(xSMGR) );
- css::uno::Reference< css::frame::XFrame > xFrame = xDesktop->findFrame (SPECIALTARGET_BLANK, 0);
- css::uno::Reference< css::awt::XWindow > xContainerWindow = xFrame->getContainerWindow ();
-
- css::uno::Sequence< css::uno::Any > lArgs(1);
- lArgs[0] <<= xContainerWindow;
-
- css::uno::Reference< css::frame::XController > xStartModule(
- xSMGR->createInstanceWithArguments(SERVICENAME_STARTMODULE, lArgs),
- css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XDesktop2> xDesktop = css::frame::Desktop::create( xContext );
+ css::uno::Reference< css::frame::XFrame > xFrame = xDesktop->findFrame(SPECIALTARGET_BLANK, 0);
+ css::uno::Reference< css::awt::XWindow > xContainerWindow = xFrame->getContainerWindow();
+ css::uno::Reference< css::frame::XController > xStartModule = css::frame::StartModule::createWithParentWindow(xContext, xContainerWindow);
css::uno::Reference< css::awt::XWindow > xComponentWindow(xStartModule, css::uno::UNO_QUERY);
xFrame->setComponent(xComponentWindow, xStartModule);
xStartModule->attachFrame(xFrame);
diff --git a/framework/source/fwe/classes/framelistanalyzer.cxx b/framework/source/fwe/classes/framelistanalyzer.cxx
index 8d781c5898c4..a223b3db41e9 100644
--- a/framework/source/fwe/classes/framelistanalyzer.cxx
+++ b/framework/source/fwe/classes/framelistanalyzer.cxx
@@ -126,7 +126,7 @@ void FrameListAnalyzer::impl_analyze()
css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
css::uno::Reference< css::frame::XModuleManager2 > xModuleMgr = css::frame::ModuleManager::create(xContext);
::rtl::OUString sModule = xModuleMgr->identify(m_xReferenceFrame);
- m_bReferenceIsBacking = sModule.equals(SERVICENAME_STARTMODULE);
+ m_bReferenceIsBacking = sModule.equals("com.sun.star.frame.StartModule");
}
catch(const css::frame::UnknownModuleException&)
{
@@ -201,7 +201,7 @@ void FrameListAnalyzer::impl_analyze()
css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
css::uno::Reference< css::frame::XModuleManager2 > xModuleMgr = css::frame::ModuleManager::create(xContext);
::rtl::OUString sModule = xModuleMgr->identify(xFrame);
- if (sModule.equals(SERVICENAME_STARTMODULE))
+ if (sModule.equals("com.sun.star.frame.StartModule"))
{
m_xBackingComponent = xFrame;
continue;
diff --git a/framework/source/services/backingcomp.cxx b/framework/source/services/backingcomp.cxx
index 60e9ced7c611..43f808eaad74 100644
--- a/framework/source/services/backingcomp.cxx
+++ b/framework/source/services/backingcomp.cxx
@@ -268,7 +268,7 @@ sal_Bool SAL_CALL BackingComp::supportsService( /*IN*/ const ::rtl::OUString& sS
throw(css::uno::RuntimeException)
{
return (
- sServiceName.equals(SERVICENAME_STARTMODULE ) ||
+ sServiceName.equals("com.sun.star.frame.StartModule") ||
sServiceName.equals(SERVICENAME_FRAMECONTROLLER)
);
}
@@ -326,7 +326,7 @@ css::uno::Sequence< ::rtl::OUString > SAL_CALL BackingComp::getSupportedServiceN
css::uno::Sequence< ::rtl::OUString > BackingComp::impl_getStaticSupportedServiceNames()
{
css::uno::Sequence< ::rtl::OUString > lNames(1);
- lNames[0] = SERVICENAME_STARTMODULE;
+ lNames[0] = "com.sun.star.frame.StartModule";
return lNames;
}