19#ifndef INCLUDED_SFX2_METADATABLE_HXX
20#define INCLUDED_SFX2_METADATABLE_HXX
27#include <com/sun/star/rdf/XMetadatable.hpp>
33 namespace frame {
class XModel; }
50SFX2_DLLPUBLIC ::sfx2::IXmlIdRegistry *
69 Metadatable() : m_pReg(nullptr) {}
72 virtual ~Metadatable();
76 css::beans::StringPair GetMetadataReference()
const;
77 void SetMetadataReference(
const css::beans::StringPair & i_rReference);
78 void EnsureMetadataReference();
83 void RemoveMetadataReference();
86 void RegisterAsCopyOf(Metadatable
const & i_rSource,
87 const bool i_bCopyPrecedesSource =
false);
90 std::shared_ptr<MetadatableUndo> CreateUndo()
const;
91 std::shared_ptr<MetadatableUndo> CreateUndoForDelete();
94 void RestoreMetadata(std::shared_ptr<MetadatableUndo>
const& i_pUndo);
97 void JoinMetadatable(Metadatable
const & i_rOther,
98 const bool i_isMergedEmpty,
const bool i_isOtherEmpty);
103 virtual ::sfx2::IXmlIdRegistry& GetRegistry() = 0;
106 virtual bool IsInClipboard()
const = 0;
109 virtual bool IsInUndo()
const = 0;
112 virtual bool IsInContent()
const = 0;
118 virtual css::uno::Reference< css::rdf::XMetadatable > MakeUnoObject() = 0;
121 Metadatable(
const Metadatable&) =
delete;
122 Metadatable& operator=(
const Metadatable&) =
delete;
124 friend class MetadatableClipboard;
125 friend class MetadatableUndo;
128 XmlIdRegistry* m_pReg;
138 public cppu::WeakImplHelper<css::rdf::XMetadatable>
145 virtual OUString SAL_CALL getStringValue()
override;
148 virtual OUString SAL_CALL getLocalName()
override;
149 virtual OUString SAL_CALL getNamespace()
override;
152 virtual css::beans::StringPair SAL_CALL getMetadataReference()
override;
153 virtual void SAL_CALL setMetadataReference(
154 const css::beans::StringPair & i_rReference)
override;
155 virtual void SAL_CALL ensureMetadataReference()
override;
161 virtual css::uno::Reference< css::frame::XModel >
class SAL_NO_VTABLE SAL_DLLPUBLIC_RTTI SAL_LOPLUGIN_ANNOTATE("crosscast") DigitalSignatures
Extension of css::security::XDocumentDigitalSignatures for internal purposes.
::sfx2::IXmlIdRegistry * createXmlIdRegistry(const bool i_DocIsClipboard)
create a sfx2::XmlIdRegistryDocument or a sfx2::XmlIdRegistryClipboard