LibreOffice Module sfx2 (master) 1
Classes | Namespaces | Typedefs | Functions
Metadatable.cxx File Reference
#include <sal/config.h>
#include <sal/log.hxx>
#include <osl/diagnose.h>
#include <sfx2/Metadatable.hxx>
#include <sfx2/XmlIdRegistry.hxx>
#include <utility>
#include <vcl/svapp.hxx>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/lang/IllegalArgumentException.hpp>
#include <comphelper/random.hxx>
#include <comphelper/diagnose_ex.hxx>
#include <algorithm>
#include <memory>
#include <string_view>
#include <unordered_map>
#include <typeinfo>
Include dependency graph for Metadatable.cxx:

Go to the source code of this file.

Classes

class  sfx2::XmlIdRegistry
 handles registration of XMetadatable. More...
 
class  sfx2::MetadatableUndo
 the horrible Undo Metadatable: is inserted into lists to track position More...
 
class  sfx2::MetadatableClipboard
 the horrible Clipboard Metadatable: inserted into lists to track position More...
 
struct  sfx2::XmlIdRegistryDocument::XmlIdRegistry_Impl
 
struct  sfx2::XmlIdRegistryClipboard::XmlIdRegistry_Impl
 

Namespaces

namespace  sfx2
 

Typedefs

typedef ::std::vector< Metadatable * > sfx2::XmlIdVector_t
 element list More...
 
typedef std::unordered_map< OUString, ::std::pair< XmlIdVector_t, XmlIdVector_t > > sfx2::XmlIdMap_t
 Idref -> (content.xml element list, styles.xml element list) More...
 
typedef std::unordered_map< const Metadatable *, ::std::pair< OUString, OUString >, PtrHash< Metadatable > > sfx2::XmlIdReverseMap_t
 element -> (stream name, idref) More...
 
typedef std::unordered_map< const Metadatable *, struct RMapEntry, PtrHash< Metadatable > > sfx2::ClipboardXmlIdReverseMap_t
 element -> (stream name, idref, source) More...
 
typedef std::unordered_map< OUString, ::std::pair< Metadatable *, Metadatable * > > sfx2::ClipboardXmlIdMap_t
 Idref -> (content.xml element, styles.xml element) More...
 

Functions

static bool sfx2::isContentFile (std::u16string_view i_rPath)
 
static bool sfx2::isStylesFile (std::u16string_view i_rPath)
 
::sfx2::IXmlIdRegistrysfx2::createXmlIdRegistry (const bool i_DocIsClipboard)
 create a sfx2::XmlIdRegistryDocument or a sfx2::XmlIdRegistryClipboard More...
 
template<typename T >
static OUString sfx2::create_id (const std::unordered_map< OUString, T > &i_rXmlIdMap)
 generate unique xml:id More...
 
static void sfx2::rmIter (XmlIdMap_t &i_rXmlIdMap, XmlIdMap_t::iterator const &i_rIter, std::u16string_view i_rStream, Metadatable const &i_rObject)
 
static void sfx2::removeLink (Metadatable *i_pObject)
 
static void sfx2::rmIter (ClipboardXmlIdMap_t &i_rXmlIdMap, ClipboardXmlIdMap_t::iterator const &i_rIter, std::u16string_view i_rStream, Metadatable const &i_rObject)
 
static const ::sfx2::IXmlIdRegistrysfx2::GetRegistryConst (Metadatable const &i_rObject)
 

Variable Documentation

◆ m_pImpl

::std::unique_ptr<XmlIdRegistry_Impl> m_pImpl
private

◆ m_Stream

OUString m_Stream

Definition at line 902 of file Metadatable.cxx.

◆ m_xLink

std::shared_ptr<MetadatableClipboard> m_xLink

Definition at line 905 of file Metadatable.cxx.

◆ m_XmlId

OUString m_XmlId

Definition at line 903 of file Metadatable.cxx.