LibreOffice Module xmloff (master) 1
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
XMLPropertySetMapper Class Reference

#include <xmlprmap.hxx>

Inheritance diagram for XMLPropertySetMapper:
[legend]
Collaboration diagram for XMLPropertySetMapper:
[legend]

Classes

struct  Impl
 

Public Member Functions

 XMLPropertySetMapper (const XMLPropertyMapEntry *pEntries, const rtl::Reference< XMLPropertyHandlerFactory > &rFactory, bool bForExport)
 The last element of the XMLPropertyMapEntry-array must contain NULL-values. More...
 
virtual ~XMLPropertySetMapper () override
 
void AddMapperEntry (const rtl::Reference< XMLPropertySetMapper > &rMapper)
 
sal_Int32 GetEntryCount () const
 Return number of entries in input-array. More...
 
sal_uInt32 GetEntryFlags (sal_Int32 nIndex) const
 Returns the flags of an entry. More...
 
sal_uInt32 GetEntryType (sal_Int32 nIndex) const
 Returns the type of an entry. More...
 
sal_uInt16 GetEntryNameSpace (sal_Int32 nIndex) const
 Returns the namespace-key of an entry. More...
 
const OUString & GetEntryXMLName (sal_Int32 nIndex) const
 Returns the 'local' XML-name of the entry. More...
 
const OUString & GetEntryAPIName (sal_Int32 nIndex) const
 Returns the entry API name. More...
 
sal_Int16 GetEntryContextId (sal_Int32 nIndex) const
 returns the entry context id. More...
 
SvtSaveOptions::ODFSaneDefaultVersion GetEarliestODFVersionForExport (sal_Int32 nIndex) const
 returns the earliest ODF version for which this property should be exported as standard ODF element, which is the earliest ODF version for which the property should not be exported as extension element. More...
 
sal_Int32 GetEntryIndex (sal_uInt16 nNamespace, std::u16string_view rStrName, sal_uInt32 nPropType, sal_Int32 nStartAt=-1) const
 Returns the index of an entry with the given XML-name and namespace If there is no matching entry the method returns -1. More...
 
sal_Int32 GetEntryIndex (sal_Int32 nElement, sal_uInt32 nPropType, sal_Int32 nStartAt=-1) const
 Returns the index of an entry with the given XML-name and namespace If there is no matching entry the method returns -1. More...
 
const XMLPropertyHandlerGetPropertyHandler (sal_Int32 nIndex) const
 Retrieves a PropertyHandler for that property which placed at nIndex in the XMLPropertyMapEntry-array. More...
 
bool exportXML (OUString &rStrExpValue, const XMLPropertyState &rProperty, const SvXMLUnitConverter &rUnitConverter) const
 import/export This methods calls the respective im/export-method of the respective PropertyHandler. More...
 
bool importXML (const OUString &rStrImpValue, XMLPropertyState &rProperty, const SvXMLUnitConverter &rUnitConverter) const
 
sal_Int32 FindEntryIndex (const char *sApiName, sal_uInt16 nNameSpace, std::u16string_view sXMLName) const
 searches for an entry that matches the given api name, namespace and local name or -1 if nothing found More...
 
sal_Int32 FindEntryIndex (const sal_Int16 nContextId) const
 searches for an entry that matches the given ContextId or gives -1 if nothing found More...
 
void RemoveEntry (sal_Int32 nIndex)
 Remove an entry. More...
 
- Public Member Functions inherited from salhelper::SimpleReferenceObject
 SimpleReferenceObject ()
 
void acquire ()
 
void release ()
 

Private Member Functions

 XMLPropertySetMapper (const XMLPropertySetMapper &)=delete
 
XMLPropertySetMapperoperator= (const XMLPropertySetMapper &)=delete
 

Private Attributes

std::unique_ptr< ImplmpImpl
 

Additional Inherited Members

- Static Public Member Functions inherited from salhelper::SimpleReferenceObject
static void * operator new (std::size_t nSize)
 
static void * operator new (std::size_t nSize, std::nothrow_t const &rNothrow)
 
static void operator delete (void *pPtr)
 
static void operator delete (void *pPtr, std::nothrow_t const &rNothrow)
 
- Protected Member Functions inherited from salhelper::SimpleReferenceObject
virtual ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE
 
- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Detailed Description

Definition at line 38 of file xmlprmap.hxx.

Constructor & Destructor Documentation

◆ XMLPropertySetMapper() [1/2]

XMLPropertySetMapper::XMLPropertySetMapper ( const XMLPropertySetMapper )
privatedelete

◆ XMLPropertySetMapper() [2/2]

XMLPropertySetMapper::XMLPropertySetMapper ( const XMLPropertyMapEntry pEntries,
const rtl::Reference< XMLPropertyHandlerFactory > &  rFactory,
bool  bForExport 
)

The last element of the XMLPropertyMapEntry-array must contain NULL-values.

Parameters
bForExportIf TRUE, only entries that have the mbImportOnly flag not set will be in the mappings.

Definition at line 99 of file xmlprmap.cxx.

References XMLPropertyMapEntry::IsEnd(), XMLPropertyMapEntry::mbImportOnly, and mpImpl.

◆ ~XMLPropertySetMapper()

XMLPropertySetMapper::~XMLPropertySetMapper ( )
overridevirtual

Definition at line 133 of file xmlprmap.cxx.

Member Function Documentation

◆ AddMapperEntry()

void XMLPropertySetMapper::AddMapperEntry ( const rtl::Reference< XMLPropertySetMapper > &  rMapper)

Definition at line 137 of file xmlprmap.cxx.

References mpImpl.

◆ exportXML()

bool XMLPropertySetMapper::exportXML ( OUString &  rStrExpValue,
const XMLPropertyState rProperty,
const SvXMLUnitConverter rUnitConverter 
) const

import/export This methods calls the respective im/export-method of the respective PropertyHandler.

Definition at line 208 of file xmlprmap.cxx.

References XMLPropertyHandler::exportXML(), GetPropertyHandler(), XMLPropertyState::maValue, and XMLPropertyState::mnIndex.

◆ FindEntryIndex() [1/2]

sal_Int32 XMLPropertySetMapper::FindEntryIndex ( const char *  sApiName,
sal_uInt16  nNameSpace,
std::u16string_view  sXMLName 
) const

searches for an entry that matches the given api name, namespace and local name or -1 if nothing found

Definition at line 304 of file xmlprmap.cxx.

References GetEntryCount(), mpImpl, and nIndex.

◆ FindEntryIndex() [2/2]

sal_Int32 XMLPropertySetMapper::FindEntryIndex ( const sal_Int16  nContextId) const

searches for an entry that matches the given ContextId or gives -1 if nothing found

Definition at line 327 of file xmlprmap.cxx.

References GetEntryCount(), mpImpl, and nIndex.

◆ GetEarliestODFVersionForExport()

SvtSaveOptions::ODFSaneDefaultVersion XMLPropertySetMapper::GetEarliestODFVersionForExport ( sal_Int32  nIndex) const

returns the earliest ODF version for which this property should be exported as standard ODF element, which is the earliest ODF version for which the property should not be exported as extension element.

Definition at line 195 of file xmlprmap.cxx.

References o3tl::make_unsigned(), mpImpl, and nIndex.

◆ GetEntryAPIName()

const OUString & XMLPropertySetMapper::GetEntryAPIName ( sal_Int32  nIndex) const

Returns the entry API name.

Definition at line 182 of file xmlprmap.cxx.

References o3tl::make_unsigned(), mpImpl, and nIndex.

◆ GetEntryContextId()

sal_Int16 XMLPropertySetMapper::GetEntryContextId ( sal_Int32  nIndex) const

returns the entry context id.

-1 is a valid index here.

Definition at line 188 of file xmlprmap.cxx.

References mpImpl, and nIndex.

◆ GetEntryCount()

sal_Int32 XMLPropertySetMapper::GetEntryCount ( ) const

Return number of entries in input-array.

Definition at line 152 of file xmlprmap.cxx.

References mpImpl.

Referenced by FindEntryIndex(), GetEntryIndex(), and RemoveEntry().

◆ GetEntryFlags()

sal_uInt32 XMLPropertySetMapper::GetEntryFlags ( sal_Int32  nIndex) const

Returns the flags of an entry.

Definition at line 157 of file xmlprmap.cxx.

References o3tl::make_unsigned(), mpImpl, and nIndex.

◆ GetEntryIndex() [1/2]

sal_Int32 XMLPropertySetMapper::GetEntryIndex ( sal_Int32  nElement,
sal_uInt32  nPropType,
sal_Int32  nStartAt = -1 
) const

Returns the index of an entry with the given XML-name and namespace If there is no matching entry the method returns -1.

Definition at line 275 of file xmlprmap.cxx.

References GetEntryCount(), mpImpl, nIndex, NMSP_SHIFT, and nNamespace.

◆ GetEntryIndex() [2/2]

sal_Int32 XMLPropertySetMapper::GetEntryIndex ( sal_uInt16  nNamespace,
std::u16string_view  rStrName,
sal_uInt32  nPropType,
sal_Int32  nStartAt = -1 
) const

Returns the index of an entry with the given XML-name and namespace If there is no matching entry the method returns -1.

Definition at line 245 of file xmlprmap.cxx.

References GetEntryCount(), mpImpl, nIndex, and nNamespace.

◆ GetEntryNameSpace()

sal_uInt16 XMLPropertySetMapper::GetEntryNameSpace ( sal_Int32  nIndex) const

Returns the namespace-key of an entry.

Definition at line 170 of file xmlprmap.cxx.

References o3tl::make_unsigned(), mpImpl, and nIndex.

◆ GetEntryType()

sal_uInt32 XMLPropertySetMapper::GetEntryType ( sal_Int32  nIndex) const

Returns the type of an entry.

Definition at line 163 of file xmlprmap.cxx.

References o3tl::make_unsigned(), mpImpl, nIndex, and nType.

◆ GetEntryXMLName()

const OUString & XMLPropertySetMapper::GetEntryXMLName ( sal_Int32  nIndex) const

Returns the 'local' XML-name of the entry.

Definition at line 176 of file xmlprmap.cxx.

References o3tl::make_unsigned(), mpImpl, and nIndex.

◆ GetPropertyHandler()

const XMLPropertyHandler * XMLPropertySetMapper::GetPropertyHandler ( sal_Int32  nIndex) const

Retrieves a PropertyHandler for that property which placed at nIndex in the XMLPropertyMapEntry-array.

Definition at line 201 of file xmlprmap.cxx.

References o3tl::make_unsigned(), mpImpl, and nIndex.

Referenced by exportXML(), and importXML().

◆ importXML()

bool XMLPropertySetMapper::importXML ( const OUString &  rStrImpValue,
XMLPropertyState rProperty,
const SvXMLUnitConverter rUnitConverter 
) const

◆ operator=()

XMLPropertySetMapper & XMLPropertySetMapper::operator= ( const XMLPropertySetMapper )
privatedelete

◆ RemoveEntry()

void XMLPropertySetMapper::RemoveEntry ( sal_Int32  nIndex)

Remove an entry.

Definition at line 348 of file xmlprmap.cxx.

References GetEntryCount(), mpImpl, and nIndex.

Member Data Documentation

◆ mpImpl

std::unique_ptr<Impl> XMLPropertySetMapper::mpImpl
private

The documentation for this class was generated from the following files: