diff options
author | Oliver Bolte <obo@openoffice.org> | 2005-07-08 09:36:26 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2005-07-08 09:36:26 +0000 |
commit | 70bc937bf47af1f50e4144e486226d8961b1dc66 (patch) | |
tree | 8615c84b6773e95a8ea1948c9c3a7e0de62a6af7 /dbaccess/source/core/dataaccess/databasedocument.hxx | |
parent | 2d2a1de705c8166d8247a2dc92048960196488c4 (diff) |
INTEGRATION: CWS dba20blocker (1.3.58); FILE MERGED
2005/06/23 13:56:41 fs 1.3.58.1: copying fix for #i50905# into this CWS
Diffstat (limited to 'dbaccess/source/core/dataaccess/databasedocument.hxx')
-rw-r--r-- | dbaccess/source/core/dataaccess/databasedocument.hxx | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/dbaccess/source/core/dataaccess/databasedocument.hxx b/dbaccess/source/core/dataaccess/databasedocument.hxx index d5bed390333e..cd357727ec5c 100644 --- a/dbaccess/source/core/dataaccess/databasedocument.hxx +++ b/dbaccess/source/core/dataaccess/databasedocument.hxx @@ -2,9 +2,9 @@ * * $RCSfile: databasedocument.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: vg $ $Date: 2005-03-23 09:46:19 $ + * last change: $Author: obo $ $Date: 2005-07-08 10:36:26 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -114,20 +114,18 @@ namespace dbaccess { //........................................................................ - class OChildCommitListen_Impl; - class ODatabaseContext; +class ODatabaseContext; //============================================================ //= ODatabaseDocument //============================================================ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > ODatabaseDocument_CreateInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&); -typedef ::cppu::WeakComponentImplHelper11< ::com::sun::star::frame::XModel +typedef ::cppu::WeakComponentImplHelper10< ::com::sun::star::frame::XModel , ::com::sun::star::util::XModifiable , ::com::sun::star::frame::XStorable , ::com::sun::star::document::XEventBroadcaster , ::com::sun::star::document::XEventListener - , ::com::sun::star::embed::XTransactionListener , ::com::sun::star::view::XPrintable , ::com::sun::star::util::XCloseable , ::com::sun::star::lang::XServiceInfo @@ -139,15 +137,9 @@ typedef ::cppu::WeakComponentImplHelper11< ::com::sun::star::frame::XModel class ODatabaseDocument : public ::comphelper::OBaseMutex ,public ODatabaseDocument_OfficeDocument { - friend class ODatabaseContext; - friend ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > - ODatabaseDocument_CreateInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&); - - ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager> m_xUIConfigurationManager; ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener > m_xDocEventBroadcaster; - OChildCommitListen_Impl* m_pChildCommitListen; ::cppu::OInterfaceContainerHelper m_aModifyListeners; ::cppu::OInterfaceContainerHelper m_aCloseListener; ::cppu::OInterfaceContainerHelper m_aDocEventListeners; @@ -221,12 +213,24 @@ class ODatabaseDocument : public ::comphelper::OBaseMutex , const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& _xStorageToSaveTo); +private: + ODatabaseDocument(const ::rtl::Reference<ODatabaseModelImpl>& _pImpl); + // Do NOT create those documents directly, always use ODatabaseModelImpl::getModel. Reason is that + // ODatabaseDocument require clear ownership, and in turn lifetime synchronisation with the ModelImpl. + // If you create a ODatabaseDocument directly, you might easily create a leak. + // #i50905# / 2005-06-20 / frank.schonheit@sun.com + protected: virtual void SAL_CALL disposing(); virtual ~ODatabaseDocument(); + public: - ODatabaseDocument(const ::rtl::Reference<ODatabaseModelImpl>& _pImpl); + struct FactoryAccess { friend class ODatabaseModelImpl; private: FactoryAccess() { } }; + static ODatabaseDocument* createDatabaseDocument( const ::rtl::Reference<ODatabaseModelImpl>& _pImpl, FactoryAccess accessControl ) + { + return new ODatabaseDocument( _pImpl ); + } // ::com::sun::star::lang::XServiceInfo virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException); @@ -309,12 +313,6 @@ public: // XOfficeDatabaseDocument virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource > SAL_CALL getDataSource() throw (::com::sun::star::uno::RuntimeException); - // XTransactionListener - virtual void SAL_CALL preCommit( const ::com::sun::star::lang::EventObject& aEvent ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL commited( const ::com::sun::star::lang::EventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL preRevert( const ::com::sun::star::lang::EventObject& aEvent ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL reverted( const ::com::sun::star::lang::EventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException); - // XStorageBasedDocument /* virtual void SAL_CALL loadFromStorage( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescriptor ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::frame::DoubleInitializationException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); |