diff options
author | Michael Stahl <mstahl@redhat.com> | 2011-12-02 23:35:00 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2011-12-03 00:48:14 +0100 |
commit | c2d3f170fbe6ab553c50a0b9ba63a0496e1b24e0 (patch) | |
tree | 799d7528102e800835f184f4c7cb747978b0f809 /comphelper/inc | |
parent | c9a1a2acd51224f525f6ed246e52511192215dc0 (diff) |
move LifecycleProxy out of comphelper::OStorageHelper
... so it can be forward declared
Diffstat (limited to 'comphelper/inc')
-rw-r--r-- | comphelper/inc/comphelper/storagehelper.hxx | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/comphelper/inc/comphelper/storagehelper.hxx b/comphelper/inc/comphelper/storagehelper.hxx index c0aa735c8390..36ff7957f4bc 100644 --- a/comphelper/inc/comphelper/storagehelper.hxx +++ b/comphelper/inc/comphelper/storagehelper.hxx @@ -25,8 +25,10 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef _COMPHELPER_STORAGEHELPER_HXX -#define _COMPHELPER_STORAGEHELPER_HXX +#ifndef COMPHELPER_STORAGEHELPER_HXX +#define COMPHELPER_STORAGEHELPER_HXX + +#include <boost/scoped_ptr.hpp> #include <com/sun/star/uno/Sequence.hxx> #include <com/sun/star/uno/Reference.hxx> @@ -51,6 +53,20 @@ namespace comphelper { +// Unfortunately - the impl.s of XStorage like to invalidate all +// their sub streams and storages when you release references, so +// it is necessary to keep references to all storages down the +// path - this is 'beautiful' (TM). So we need this ugly hack: +class COMPHELPER_DLLPUBLIC LifecycleProxy +{ +private: + class Impl; +public: + ::boost::scoped_ptr<Impl> m_pBadness; + LifecycleProxy(); + ~LifecycleProxy(); +}; + class COMPHELPER_DLLPUBLIC OStorageHelper { public: @@ -170,17 +186,6 @@ public: // Methods to allow easy use of hierachical names inside storages - // Unfortunately - the impl.s of XStorage like to invalidate all - // their sub streams and storages when you release references, so - // it is necessary to keep references to all storages down the - // path - this is 'beautiful' (TM). So we need this ugly hack: - class LifecycleProxyImpl; - class COMPHELPER_DLLPUBLIC LifecycleProxy { - public: - LifecycleProxyImpl *pBadness; - LifecycleProxy(); - ~LifecycleProxy(); - }; static ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > GetStorageAtPath( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > &xStorage, const ::rtl::OUString& aPath, sal_uInt32 nOpenMode, LifecycleProxy &rNastiness ); |