summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2004-07-23 10:13:15 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2004-07-23 10:13:15 +0000
commit7adf9d24f29042c7b0742fa931ac77374e3ee36d (patch)
tree4c6f99bbded2f7d0fdd49ec84bae05dad67833ab /package
parentd404ba0eabb0db772e42d194ca48acee7c766092 (diff)
INTEGRATION: CWS fwklhf01 (1.5.14); FILE MERGED
2004/06/21 11:24:50 mav 1.5.14.1: #i30236# fix autodisposing of readonly storages
Diffstat (limited to 'package')
-rw-r--r--package/source/xstor/xstorage.hxx28
1 files changed, 25 insertions, 3 deletions
diff --git a/package/source/xstor/xstorage.hxx b/package/source/xstor/xstorage.hxx
index c0e69de91cf6..5e954193a290 100644
--- a/package/source/xstor/xstorage.hxx
+++ b/package/source/xstor/xstorage.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: xstorage.hxx,v $
*
- * $Revision: 1.5 $
+ * $Revision: 1.6 $
*
- * last change: $Author: hr $ $Date: 2004-05-10 17:29:11 $
+ * last change: $Author: hr $ $Date: 2004-07-23 11:13:15 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -180,7 +180,27 @@ typedef ::std::list< SotElement_Impl* > SotElementList_Impl;
// Main storage implementation
class OStorage;
-typedef ::std::list< OStorage* > OStorageList_Impl;
+
+struct StorageHolder_Impl
+{
+ OStorage* m_pPointer;
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::embed::XStorage > m_xWeakRef;
+
+ StorageHolder_Impl( OStorage* pStorage )
+ : m_pPointer( pStorage )
+ , m_xWeakRef( ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >(
+ (::com::sun::star::embed::XStorage*)pStorage ) )
+ {
+ }
+
+ StorageHolder_Impl( const StorageHolder_Impl& aSH )
+ : m_pPointer( aSH.m_pPointer )
+ , m_xWeakRef( aSH.m_xWeakRef )
+ {
+ }
+};
+
+typedef ::std::list< StorageHolder_Impl > OStorageList_Impl;
struct OStorage_Impl
{
@@ -349,6 +369,8 @@ public:
void ChildIsDisposed( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xChild );
+ sal_Int32 GetRefCount_Impl() { return m_refCount; }
+
//____________________________________________________________________________________________________
// XInterface
//____________________________________________________________________________________________________