summaryrefslogtreecommitdiff
path: root/framework/source/dispatch/startmoduledispatcher.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'framework/source/dispatch/startmoduledispatcher.cxx')
-rw-r--r--framework/source/dispatch/startmoduledispatcher.cxx107
1 files changed, 52 insertions, 55 deletions
diff --git a/framework/source/dispatch/startmoduledispatcher.cxx b/framework/source/dispatch/startmoduledispatcher.cxx
index def4f785be..521bddadc5 100644
--- a/framework/source/dispatch/startmoduledispatcher.cxx
+++ b/framework/source/dispatch/startmoduledispatcher.cxx
@@ -1,13 +1,10 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
*
- * OpenOffice.org - a multi-platform office productivity suite
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
- * $RCSfile: closedispatcher.cxx,v $
- * $Revision: 1.22 $
+ * OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
@@ -31,15 +28,15 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <dispatch/startmoduledispatcher.hxx>
-
+#include <dispatch/startmoduledispatcher.hxx>
+
//_______________________________________________
// my own includes
#include <pattern/frame.hxx>
#include <threadhelp/readguard.hxx>
#include <threadhelp/writeguard.hxx>
-#include <classes/framelistanalyzer.hxx>
+#include <classes/framelistanalyzer.hxx>
#include <dispatchcommands.h>
#include <targets.h>
#include <services.h>
@@ -95,8 +92,8 @@ StartModuleDispatcher::StartModuleDispatcher(const css::uno::Reference< css::lan
const ::rtl::OUString& sTarget)
: ThreadHelpBase (&Application::GetSolarMutex() )
, ::cppu::OWeakObject( )
- , m_xSMGR (xSMGR )
- , m_xOwner (xFrame )
+ , m_xSMGR (xSMGR )
+ , m_xOwner (xFrame )
, m_sDispatchTarget (sTarget )
, m_lStatusListener (m_aLock.getShareableOslMutex())
{
@@ -120,18 +117,18 @@ void SAL_CALL StartModuleDispatcher::dispatchWithNotification(const css::util::U
const css::uno::Sequence< css::beans::PropertyValue >& /*lArguments*/,
const css::uno::Reference< css::frame::XDispatchResultListener >& xListener )
throw(css::uno::RuntimeException)
-{
- ::sal_Int16 nResult = css::frame::DispatchResultState::DONTKNOW;
- if (aURL.Complete.equals (CMD_UNO_SHOWSTARTMODULE))
- {
- nResult = css::frame::DispatchResultState::FAILURE;
- if (implts_isBackingModePossible ())
- {
- if (implts_establishBackingMode ())
+{
+ ::sal_Int16 nResult = css::frame::DispatchResultState::DONTKNOW;
+ if (aURL.Complete.equals (CMD_UNO_SHOWSTARTMODULE))
+ {
+ nResult = css::frame::DispatchResultState::FAILURE;
+ if (implts_isBackingModePossible ())
+ {
+ if (implts_establishBackingMode ())
nResult = css::frame::DispatchResultState::SUCCESS;
- }
- }
-
+ }
+ }
+
implts_notifyResultListener(xListener, nResult, css::uno::Any());
}
@@ -163,39 +160,39 @@ void SAL_CALL StartModuleDispatcher::removeStatusListener(const css::uno::Refere
{
}
-//-----------------------------------------------
-::sal_Bool StartModuleDispatcher::implts_isBackingModePossible ()
-{
- if ( ! SvtModuleOptions().IsModuleInstalled(SvtModuleOptions::E_SSTARTMODULE))
- return sal_False;
-
+//-----------------------------------------------
+::sal_Bool StartModuleDispatcher::implts_isBackingModePossible ()
+{
+ if ( ! SvtModuleOptions().IsModuleInstalled(SvtModuleOptions::E_SSTARTMODULE))
+ return sal_False;
+
// SAFE -> ----------------------------------
ReadGuard aReadLock(m_aLock);
css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = m_xSMGR;
aReadLock.unlock();
// <- SAFE ----------------------------------
-
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop(
- xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
-
- FrameListAnalyzer aCheck(
- xDesktop,
- css::uno::Reference< css::frame::XFrame >(),
- FrameListAnalyzer::E_HELP | FrameListAnalyzer::E_BACKINGCOMPONENT);
-
- ::sal_Bool bIsPossible = sal_False;
- ::sal_Int32 nVisibleFrames = aCheck.m_lOtherVisibleFrames.getLength ();
-
- if (
- ( ! aCheck.m_xBackingComponent.is ()) &&
- ( nVisibleFrames < 1 )
- )
- {
- bIsPossible = sal_True;
- }
-
+
+ css::uno::Reference< css::frame::XFramesSupplier > xDesktop(
+ xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
+
+ FrameListAnalyzer aCheck(
+ xDesktop,
+ css::uno::Reference< css::frame::XFrame >(),
+ FrameListAnalyzer::E_HELP | FrameListAnalyzer::E_BACKINGCOMPONENT);
+
+ ::sal_Bool bIsPossible = sal_False;
+ ::sal_Int32 nVisibleFrames = aCheck.m_lOtherVisibleFrames.getLength ();
+
+ if (
+ ( ! aCheck.m_xBackingComponent.is ()) &&
+ ( nVisibleFrames < 1 )
+ )
+ {
+ bIsPossible = sal_True;
+ }
+
return bIsPossible;
-}
+}
//-----------------------------------------------
::sal_Bool StartModuleDispatcher::implts_establishBackingMode()
@@ -205,16 +202,16 @@ void SAL_CALL StartModuleDispatcher::removeStatusListener(const css::uno::Refere
css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = m_xSMGR;
aReadLock.unlock();
// <- SAFE ----------------------------------
-
- css::uno::Reference< css::frame::XFrame > xDesktop (xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
+
+ css::uno::Reference< css::frame::XFrame > xDesktop (xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
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::awt::XWindow > xContainerWindow = xFrame->getContainerWindow ();
css::uno::Sequence< css::uno::Any > lArgs(1);
- lArgs[0] <<= xContainerWindow;
+ lArgs[0] <<= xContainerWindow;
- css::uno::Reference< css::frame::XController > xStartModule(
- xSMGR->createInstanceWithArguments(SERVICENAME_STARTMODULE, lArgs),
+ css::uno::Reference< css::frame::XController > xStartModule(
+ xSMGR->createInstanceWithArguments(SERVICENAME_STARTMODULE, lArgs),
css::uno::UNO_QUERY_THROW);
css::uno::Reference< css::awt::XWindow > xComponentWindow(xStartModule, css::uno::UNO_QUERY);
@@ -239,6 +236,6 @@ void StartModuleDispatcher::implts_notifyResultListener(const css::uno::Referenc
aResult);
xListener->dispatchFinished(aEvent);
-}
+}
} // namespace framework