merge sfx2::IXmlIdRegistrySupplier with SfxObjectShell
Change-Id: I7e8bad6b1c944f14b850b91b902b82613c26faeb Reviewed-on: https://gerrit.libreoffice.org/26899 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
This commit is contained in:
committed by
Noel Grandin
parent
c752aad433
commit
6964c17415
@@ -326,7 +326,6 @@ merge sdr::contact::ObjectContactOfPagePainter with sdr::contact::PagePrimitiveE
|
|||||||
merge sdr::event::EventHandler with sdr::event::TimerEventHandler
|
merge sdr::event::EventHandler with sdr::event::TimerEventHandler
|
||||||
merge sdr::table::TableDesignUser with sdr::table::SdrTableObjImpl
|
merge sdr::table::TableDesignUser with sdr::table::SdrTableObjImpl
|
||||||
merge sfx2::IXmlIdRegistry with sfx2::XmlIdRegistry
|
merge sfx2::IXmlIdRegistry with sfx2::XmlIdRegistry
|
||||||
merge sfx2::IXmlIdRegistrySupplier with SfxObjectShell
|
|
||||||
merge sfx::DummyWindowWrapper with sfx::DummyItemConnection
|
merge sfx::DummyWindowWrapper with sfx::DummyItemConnection
|
||||||
merge sfx::MultiControlWrapperHelper with sfx::MultiControlWrapper
|
merge sfx::MultiControlWrapperHelper with sfx::MultiControlWrapper
|
||||||
merge slideshow::internal::(anonymous namespace)::EventContainer with slideshow::internal::ClickEventHandler
|
merge slideshow::internal::(anonymous namespace)::EventContainer with slideshow::internal::ClickEventHandler
|
||||||
|
@@ -44,6 +44,7 @@
|
|||||||
namespace com { namespace sun { namespace star { namespace embed {
|
namespace com { namespace sun { namespace star { namespace embed {
|
||||||
class XStorage;
|
class XStorage;
|
||||||
} } } }
|
} } } }
|
||||||
|
class SfxObjectShell;
|
||||||
|
|
||||||
namespace sfx2 {
|
namespace sfx2 {
|
||||||
|
|
||||||
@@ -65,10 +66,8 @@ createBaseURI(
|
|||||||
OUString const & i_rSubDocument = OUString());
|
OUString const & i_rSubDocument = OUString());
|
||||||
|
|
||||||
|
|
||||||
class IXmlIdRegistrySupplier;
|
|
||||||
struct DocumentMetadataAccess_Impl;
|
struct DocumentMetadataAccess_Impl;
|
||||||
|
|
||||||
|
|
||||||
class SFX2_DLLPUBLIC DocumentMetadataAccess :
|
class SFX2_DLLPUBLIC DocumentMetadataAccess :
|
||||||
public ::cppu::WeakImplHelper1< css::rdf::XDocumentMetadataAccess>
|
public ::cppu::WeakImplHelper1< css::rdf::XDocumentMetadataAccess>
|
||||||
{
|
{
|
||||||
@@ -76,12 +75,12 @@ class SFX2_DLLPUBLIC DocumentMetadataAccess :
|
|||||||
DocumentMetadataAccess& operator=( const DocumentMetadataAccess& ) = delete;
|
DocumentMetadataAccess& operator=( const DocumentMetadataAccess& ) = delete;
|
||||||
public:
|
public:
|
||||||
explicit DocumentMetadataAccess(css::uno::Reference< css::uno::XComponentContext > const & i_xContext,
|
explicit DocumentMetadataAccess(css::uno::Reference< css::uno::XComponentContext > const & i_xContext,
|
||||||
IXmlIdRegistrySupplier const & i_rRegistrySupplier,
|
SfxObjectShell const & i_rRegistrySupplier,
|
||||||
OUString const & i_rBaseURI);
|
OUString const & i_rBaseURI);
|
||||||
// N.B.: in contrast to previous, this constructor does _not_ initialize!
|
// N.B.: in contrast to previous, this constructor does _not_ initialize!
|
||||||
// caller must immediately call loadFromStorage/Medium!
|
// caller must immediately call loadFromStorage/Medium!
|
||||||
explicit DocumentMetadataAccess(css::uno::Reference< css::uno::XComponentContext > const & i_xContext,
|
explicit DocumentMetadataAccess(css::uno::Reference< css::uno::XComponentContext > const & i_xContext,
|
||||||
IXmlIdRegistrySupplier const & i_rRegistrySupplier);
|
SfxObjectShell const & i_rRegistrySupplier);
|
||||||
virtual ~DocumentMetadataAccess();
|
virtual ~DocumentMetadataAccess();
|
||||||
|
|
||||||
// css::rdf::XNode:
|
// css::rdf::XNode:
|
||||||
|
@@ -58,24 +58,6 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/** supplier interface for the registry.
|
|
||||||
|
|
||||||
This indirection is unfortunately necessary, because the SwDocShell
|
|
||||||
is not always connected to a SwDoc, so we cannot guarantee that a
|
|
||||||
registry given to a SfxBaseModel/DocumentMetadataAccess remains valid;
|
|
||||||
it has to be retrieved from this supplier interface on access.
|
|
||||||
*/
|
|
||||||
class SFX2_DLLPUBLIC IXmlIdRegistrySupplier
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
virtual ~IXmlIdRegistrySupplier() { }
|
|
||||||
|
|
||||||
/** override this if you have a XmlIdRegistry. */
|
|
||||||
virtual const IXmlIdRegistry* GetXmlIdRegistry() const { return nullptr; }
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace sfx2
|
} // namespace sfx2
|
||||||
|
|
||||||
#endif // INCLUDED_SFX2_XMLIDREGISTRY_HXX
|
#endif // INCLUDED_SFX2_XMLIDREGISTRY_HXX
|
||||||
|
@@ -199,7 +199,7 @@ template<class T> bool checkSfxObjectShell(const SfxObjectShell* pShell)
|
|||||||
|
|
||||||
class SFX2_DLLPUBLIC SfxObjectShell :
|
class SFX2_DLLPUBLIC SfxObjectShell :
|
||||||
public SfxShell, virtual public SotObject,
|
public SfxShell, virtual public SotObject,
|
||||||
public ::comphelper::IEmbeddedHelper, public ::sfx2::IXmlIdRegistrySupplier
|
public ::comphelper::IEmbeddedHelper
|
||||||
{
|
{
|
||||||
friend struct ModifyBlocker_Impl;
|
friend struct ModifyBlocker_Impl;
|
||||||
friend class SfxObjectShellLock;
|
friend class SfxObjectShellLock;
|
||||||
@@ -720,6 +720,9 @@ public:
|
|||||||
SAL_DLLPRIVATE void CancelCheckOut( );
|
SAL_DLLPRIVATE void CancelCheckOut( );
|
||||||
SAL_DLLPRIVATE void CheckIn( );
|
SAL_DLLPRIVATE void CheckIn( );
|
||||||
SAL_DLLPRIVATE css::uno::Sequence< css::document::CmisVersion > GetCmisVersions();
|
SAL_DLLPRIVATE css::uno::Sequence< css::document::CmisVersion > GetCmisVersions();
|
||||||
|
|
||||||
|
/** override this if you have a XmlIdRegistry. */
|
||||||
|
virtual const sfx2::IXmlIdRegistry* GetXmlIdRegistry() const { return nullptr; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SFX_GLOBAL_CLASSID \
|
#define SFX_GLOBAL_CLASSID \
|
||||||
|
@@ -45,6 +45,7 @@
|
|||||||
|
|
||||||
#include <sfx2/docfile.hxx>
|
#include <sfx2/docfile.hxx>
|
||||||
#include <sfx2/XmlIdRegistry.hxx>
|
#include <sfx2/XmlIdRegistry.hxx>
|
||||||
|
#include <sfx2/objsh.hxx>
|
||||||
|
|
||||||
#include <libxml/tree.h>
|
#include <libxml/tree.h>
|
||||||
|
|
||||||
@@ -188,13 +189,13 @@ struct DocumentMetadataAccess_Impl
|
|||||||
{
|
{
|
||||||
// note: these are all initialized in constructor, and loadFromStorage
|
// note: these are all initialized in constructor, and loadFromStorage
|
||||||
const uno::Reference<uno::XComponentContext> m_xContext;
|
const uno::Reference<uno::XComponentContext> m_xContext;
|
||||||
const IXmlIdRegistrySupplier & m_rXmlIdRegistrySupplier;
|
const SfxObjectShell & m_rXmlIdRegistrySupplier;
|
||||||
uno::Reference<rdf::XURI> m_xBaseURI;
|
uno::Reference<rdf::XURI> m_xBaseURI;
|
||||||
uno::Reference<rdf::XRepository> m_xRepository;
|
uno::Reference<rdf::XRepository> m_xRepository;
|
||||||
uno::Reference<rdf::XNamedGraph> m_xManifest;
|
uno::Reference<rdf::XNamedGraph> m_xManifest;
|
||||||
DocumentMetadataAccess_Impl(
|
DocumentMetadataAccess_Impl(
|
||||||
uno::Reference<uno::XComponentContext> const& i_xContext,
|
uno::Reference<uno::XComponentContext> const& i_xContext,
|
||||||
IXmlIdRegistrySupplier const & i_rRegistrySupplier)
|
SfxObjectShell const & i_rRegistrySupplier)
|
||||||
: m_xContext(i_xContext)
|
: m_xContext(i_xContext)
|
||||||
, m_rXmlIdRegistrySupplier(i_rRegistrySupplier)
|
, m_rXmlIdRegistrySupplier(i_rRegistrySupplier)
|
||||||
, m_xBaseURI()
|
, m_xBaseURI()
|
||||||
@@ -768,7 +769,7 @@ static void init(struct DocumentMetadataAccess_Impl & i_rImpl)
|
|||||||
|
|
||||||
DocumentMetadataAccess::DocumentMetadataAccess(
|
DocumentMetadataAccess::DocumentMetadataAccess(
|
||||||
uno::Reference< uno::XComponentContext > const & i_xContext,
|
uno::Reference< uno::XComponentContext > const & i_xContext,
|
||||||
const IXmlIdRegistrySupplier & i_rRegistrySupplier)
|
const SfxObjectShell & i_rRegistrySupplier)
|
||||||
: m_pImpl(new DocumentMetadataAccess_Impl(i_xContext, i_rRegistrySupplier))
|
: m_pImpl(new DocumentMetadataAccess_Impl(i_xContext, i_rRegistrySupplier))
|
||||||
{
|
{
|
||||||
// no initialization: must call loadFrom...
|
// no initialization: must call loadFrom...
|
||||||
@@ -776,7 +777,7 @@ DocumentMetadataAccess::DocumentMetadataAccess(
|
|||||||
|
|
||||||
DocumentMetadataAccess::DocumentMetadataAccess(
|
DocumentMetadataAccess::DocumentMetadataAccess(
|
||||||
uno::Reference< uno::XComponentContext > const & i_xContext,
|
uno::Reference< uno::XComponentContext > const & i_xContext,
|
||||||
const IXmlIdRegistrySupplier & i_rRegistrySupplier,
|
const SfxObjectShell & i_rRegistrySupplier,
|
||||||
OUString const & i_rURI)
|
OUString const & i_rURI)
|
||||||
: m_pImpl(new DocumentMetadataAccess_Impl(i_xContext, i_rRegistrySupplier))
|
: m_pImpl(new DocumentMetadataAccess_Impl(i_xContext, i_rRegistrySupplier))
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user