summaryrefslogtreecommitdiff
path: root/comphelper/inc
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2011-12-02 23:35:00 +0100
committerMichael Stahl <mstahl@redhat.com>2011-12-03 00:48:14 +0100
commitc2d3f170fbe6ab553c50a0b9ba63a0496e1b24e0 (patch)
tree799d7528102e800835f184f4c7cb747978b0f809 /comphelper/inc
parentc9a1a2acd51224f525f6ed246e52511192215dc0 (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.hxx31
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 );