summaryrefslogtreecommitdiff
path: root/dbaccess
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2011-10-31 21:18:24 +0100
committerMichael Stahl <mstahl@redhat.com>2011-10-31 21:18:24 +0100
commit7edb1da8c566c8c17b6bf9dd4f88101c14a07df8 (patch)
tree8cd098bc13c07811e17af668652fa5efc7c546e6 /dbaccess
parent17f1adc78adf3b8b943dc36882855b901259d4c1 (diff)
move CloseVeto from dbaccess to unotools
Diffstat (limited to 'dbaccess')
-rw-r--r--dbaccess/Library_dbu.mk1
-rw-r--r--dbaccess/Library_dbui.mk1
-rw-r--r--dbaccess/source/ui/app/AppController.cxx4
-rw-r--r--dbaccess/source/ui/app/closeveto.cxx183
-rw-r--r--dbaccess/source/ui/app/closeveto.hxx70
5 files changed, 2 insertions, 257 deletions
diff --git a/dbaccess/Library_dbu.mk b/dbaccess/Library_dbu.mk
index 0f7ca599a7da..0419c297b368 100644
--- a/dbaccess/Library_dbu.mk
+++ b/dbaccess/Library_dbu.mk
@@ -107,7 +107,6 @@ $(eval $(call gb_Library_add_exception_objects,dbu,\
dbaccess/source/ui/app/AppSwapWindow \
dbaccess/source/ui/app/AppTitleWindow \
dbaccess/source/ui/app/AppView \
- dbaccess/source/ui/app/closeveto \
dbaccess/source/ui/app/subcomponentmanager \
dbaccess/source/ui/browser/AsyncronousLink \
dbaccess/source/ui/browser/brwctrlr \
diff --git a/dbaccess/Library_dbui.mk b/dbaccess/Library_dbui.mk
index 7a9117aa1cbd..3c6bfb265da4 100644
--- a/dbaccess/Library_dbui.mk
+++ b/dbaccess/Library_dbui.mk
@@ -125,7 +125,6 @@ $(eval $(call gb_Library_add_exception_objects,dbui,\
dbaccess/source/ui/app/AppSwapWindow \
dbaccess/source/ui/app/AppTitleWindow \
dbaccess/source/ui/app/AppView \
- dbaccess/source/ui/app/closeveto \
dbaccess/source/ui/app/subcomponentmanager \
dbaccess/source/ui/browser/genericcontroller \
dbaccess/source/ui/browser/dsbrowserDnD \
diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx
index e02e1874f400..e530eae10acb 100644
--- a/dbaccess/source/ui/app/AppController.cxx
+++ b/dbaccess/source/ui/app/AppController.cxx
@@ -33,7 +33,6 @@
#include "dbustrings.hrc"
#include "advancedsettingsdlg.hxx"
#include "subcomponentmanager.hxx"
-#include "closeveto.hxx"
/** === begin UNO includes === **/
#include <com/sun/star/beans/NamedValue.hpp>
@@ -104,6 +103,7 @@
#include <vcl/menu.hxx>
#include <vcl/lstbox.hxx>
+#include <unotools/closeveto.hxx>
#include <unotools/pathoptions.hxx>
#include <unotools/tempfile.hxx>
#include <unotools/internaloptions.hxx>
@@ -1962,7 +1962,7 @@ IMPL_LINK( OApplicationController, OnCreateWithPilot, void*, _pType )
// -----------------------------------------------------------------------------
void OApplicationController::newElementWithPilot( ElementType _eType )
{
- CloseVeto aKeepDoc( getFrame() );
+ utl::CloseVeto aKeepDoc( getFrame() );
// prevent the document being closed while the wizard is open
OSL_ENSURE( getContainer(), "OApplicationController::newElementWithPilot: without a view?" );
diff --git a/dbaccess/source/ui/app/closeveto.cxx b/dbaccess/source/ui/app/closeveto.cxx
deleted file mode 100644
index 588bdae48832..000000000000
--- a/dbaccess/source/ui/app/closeveto.cxx
+++ /dev/null
@@ -1,183 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include "precompiled_dbaccess.hxx"
-
-#include "closeveto.hxx"
-
-/** === begin UNO includes === **/
-#include <com/sun/star/util/XCloseable.hpp>
-/** === end UNO includes === **/
-
-#include <cppuhelper/implbase1.hxx>
-#include <rtl/ref.hxx>
-#include <tools/diagnose_ex.h>
-
-//......................................................................................................................
-namespace dbaui
-{
-//......................................................................................................................
-
- /** === begin UNO using === **/
- using ::com::sun::star::uno::Reference;
- using ::com::sun::star::uno::XInterface;
- using ::com::sun::star::uno::UNO_QUERY;
- using ::com::sun::star::uno::UNO_QUERY_THROW;
- using ::com::sun::star::uno::UNO_SET_THROW;
- using ::com::sun::star::uno::Exception;
- using ::com::sun::star::uno::RuntimeException;
- using ::com::sun::star::uno::Any;
- using ::com::sun::star::uno::makeAny;
- using ::com::sun::star::uno::Sequence;
- using ::com::sun::star::uno::Type;
- using ::com::sun::star::util::XCloseable;
- using ::com::sun::star::util::XCloseListener;
- using ::com::sun::star::util::CloseVetoException;
- using ::com::sun::star::lang::EventObject;
- /** === end UNO using === **/
-
- //==================================================================================================================
- //= CloseListener_Impl
- //==================================================================================================================
- typedef ::cppu::WeakImplHelper1 < XCloseListener
- > CloseListener_Base;
- class DBACCESS_DLLPRIVATE CloseListener_Impl : public CloseListener_Base
- {
- public:
- CloseListener_Impl()
- :m_bHasOwnership( false )
- {
- }
-
- // XCloseListener
- virtual void SAL_CALL queryClosing( const EventObject& Source, ::sal_Bool GetsOwnership ) throw (CloseVetoException, RuntimeException);
- virtual void SAL_CALL notifyClosing( const EventObject& Source ) throw (RuntimeException);
-
- // XEventListener
- virtual void SAL_CALL disposing( const EventObject& Source) throw (RuntimeException);
-
- bool hasOwnership() const { return m_bHasOwnership; }
-
- protected:
- ~CloseListener_Impl()
- {
- }
-
- private:
- bool m_bHasOwnership;
- };
-
- //------------------------------------------------------------------------------------------------------------------
- void SAL_CALL CloseListener_Impl::queryClosing( const EventObject& i_source, ::sal_Bool i_deliverOwnership ) throw (CloseVetoException, RuntimeException)
- {
- (void)i_source;
-
- if ( !m_bHasOwnership )
- m_bHasOwnership = i_deliverOwnership;
-
- throw CloseVetoException();
- }
-
- //------------------------------------------------------------------------------------------------------------------
- void SAL_CALL CloseListener_Impl::notifyClosing( const EventObject& i_source ) throw (RuntimeException)
- {
- (void)i_source;
- }
-
- //------------------------------------------------------------------------------------------------------------------
- void SAL_CALL CloseListener_Impl::disposing( const EventObject& i_source ) throw (RuntimeException)
- {
- (void)i_source;
- }
-
- //==================================================================================================================
- //= CloseVeto_Data
- //==================================================================================================================
- struct DBACCESS_DLLPRIVATE CloseVeto_Data
- {
- Reference< XCloseable > xCloseable;
- ::rtl::Reference< CloseListener_Impl > pListener;
- };
-
- //==================================================================================================================
- //= operations
- //==================================================================================================================
- namespace
- {
- //--------------------------------------------------------------------------------------------------------------
- void lcl_init( CloseVeto_Data& i_data, const Reference< XInterface >& i_closeable )
- {
- i_data.xCloseable.set( i_closeable, UNO_QUERY );
- ENSURE_OR_RETURN_VOID( i_data.xCloseable.is(), "CloseVeto: the component is not closeable!" );
-
- i_data.pListener = new CloseListener_Impl;
- i_data.xCloseable->addCloseListener( i_data.pListener.get() );
- }
-
- //--------------------------------------------------------------------------------------------------------------
- void lcl_deinit( CloseVeto_Data& i_data )
- {
- if ( !i_data.xCloseable.is() )
- return;
-
- i_data.xCloseable->removeCloseListener( i_data.pListener.get() );
- if ( i_data.pListener->hasOwnership() )
- {
- try
- {
- i_data.xCloseable->close( sal_True );
- }
- catch( const CloseVetoException& ) { }
- catch( const Exception& )
- {
- DBG_UNHANDLED_EXCEPTION();
- }
- }
- }
- }
-
- //==================================================================================================================
- //= CloseVeto
- //==================================================================================================================
- //------------------------------------------------------------------------------------------------------------------
- CloseVeto::CloseVeto( const Reference< XInterface >& i_closeable )
- :m_pData( new CloseVeto_Data )
- {
- lcl_init( *m_pData, i_closeable );
- }
-
- //------------------------------------------------------------------------------------------------------------------
- CloseVeto::~CloseVeto()
- {
- lcl_deinit( *m_pData );
- }
-
-//......................................................................................................................
-} // namespace dbaui
-//......................................................................................................................
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/ui/app/closeveto.hxx b/dbaccess/source/ui/app/closeveto.hxx
deleted file mode 100644
index a9f1d6bf6c66..000000000000
--- a/dbaccess/source/ui/app/closeveto.hxx
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef DBACCESS_CLOSEVETO_HXX
-#define DBACCESS_CLOSEVETO_HXX
-
-#include "dbaccessdllapi.h"
-
-/** === begin UNO includes === **/
-#include <com/sun/star/uno/XInterface.hpp>
-/** === end UNO includes === **/
-
-#include <boost/scoped_ptr.hpp>
-
-//......................................................................................................................
-namespace dbaui
-{
-//......................................................................................................................
-
- //==================================================================================================================
- //= CloseVeto
- //==================================================================================================================
- struct CloseVeto_Data;
- /** will add a XCloseListener to a given component, and veto its closing as long as the <code>CloseVeto</code>
- instance is alive.
-
- If closing has been requested and vetoed while the <code>CloseVeto</code> instance is alive, and the ownership
- went to the <code>CloseVeto</code> instance, then it will close the component in its dtor.
- */
- class DBACCESS_DLLPRIVATE CloseVeto
- {
- public:
- CloseVeto( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& i_closeable );
- ~CloseVeto();
-
- private:
- ::boost::scoped_ptr< CloseVeto_Data > m_pData;
- };
-
-//......................................................................................................................
-} // namespace dbaui
-//......................................................................................................................
-
-#endif // DBACCESS_CLOSEVETO_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */