summaryrefslogtreecommitdiff
path: root/sw/inc
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-06-10 19:04:04 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-06-10 19:04:27 +0200
commitb8b4ac9e6e8f03fb84bddb714d3c5908a45153b1 (patch)
treeda7740d86917d2fe8b1d0119fa0915fbffae2e9a /sw/inc
parentb04e1e79e64cb7bb3106fd08a019c27b09bdd5c6 (diff)
sw: remove embedded data source on location deregistration
Change-Id: I5b2a24fee50a25a41ba26787f7e30409348d7808
Diffstat (limited to 'sw/inc')
-rw-r--r--sw/inc/dbmgr.hxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/sw/inc/dbmgr.hxx b/sw/inc/dbmgr.hxx
index 5bf15427e828..0b809f9d928f 100644
--- a/sw/inc/dbmgr.hxx
+++ b/sw/inc/dbmgr.hxx
@@ -184,6 +184,7 @@ struct SwMergeDescriptor
struct SwDBManager_Impl;
class SwConnectionDisposedListener_Impl;
class AbstractMailMergeDlg;
+class SwDoc;
class SW_DLLPUBLIC SwDBManager
{
@@ -205,6 +206,9 @@ friend class SwConnectionDisposedListener_Impl;
/// Name of the embedded database that's included in the current document.
OUString m_sEmbeddedName;
+ /// The document that owns this manager.
+ SwDoc* m_pDoc;
+
SAL_DLLPRIVATE SwDSParam* FindDSData(const SwDBData& rData, bool bCreate);
SAL_DLLPRIVATE SwDSParam* FindDSConnection(const OUString& rSource, bool bCreate);
@@ -222,7 +226,7 @@ friend class SwConnectionDisposedListener_Impl;
SAL_DLLPRIVATE bool ToNextRecord(SwDSParam* pParam);
public:
- SwDBManager();
+ SwDBManager(SwDoc* pDoc);
~SwDBManager();
enum DBConnURITypes {
@@ -421,6 +425,10 @@ public:
const css::uno::Reference<css::embed::XStorage>& xStorage,
const OUString& rStreamRelPath,
const OUString& rOwnURL);
+
+ SwDoc* getDoc() const;
+ /// Stop reacting to removed database registrations.
+ void releaseRevokeListener();
};
#endif