diff options
Diffstat (limited to 'framework/source/dispatch/startmoduledispatcher.cxx')
-rw-r--r-- | framework/source/dispatch/startmoduledispatcher.cxx | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/framework/source/dispatch/startmoduledispatcher.cxx b/framework/source/dispatch/startmoduledispatcher.cxx index cb14edfa35..48096762ec 100644 --- a/framework/source/dispatch/startmoduledispatcher.cxx +++ b/framework/source/dispatch/startmoduledispatcher.cxx @@ -28,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> @@ -92,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()) { @@ -117,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()); } @@ -160,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() @@ -202,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); @@ -236,6 +236,6 @@ void StartModuleDispatcher::implts_notifyResultListener(const css::uno::Referenc aResult); xListener->dispatchFinished(aEvent); -}
+} } // namespace framework |