LibreOffice Module svx (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
SvXMLEmbeddedObjectHelper Class Referencefinal

#include <xmleohlp.hxx>

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

Public Member Functions

 SvXMLEmbeddedObjectHelper (::comphelper::IEmbeddedHelper &rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode)
 
virtual OUString SAL_CALL resolveEmbeddedObjectURL (const OUString &aURL) override
 
virtual css::uno::Any SAL_CALL getByName (const OUString &aName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames () override
 
virtual sal_Bool SAL_CALL hasByName (const OUString &aName) override
 
virtual css::uno::Type SAL_CALL getElementType () override
 
virtual sal_Bool SAL_CALL hasElements () override
 
- Public Member Functions inherited from comphelper::WeakComponentImplHelper< css::document::XEmbeddedObjectResolver, css::container::XNameAccess >
virtual void SAL_CALL acquire () noexcept override
 
virtual void SAL_CALL release () noexcept override
 
virtual void SAL_CALL dispose () noexcept final override
 
virtual void SAL_CALL addEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) final override
 
virtual void SAL_CALL removeEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) final override
 
virtual css::uno::Any SAL_CALL queryInterface (css::uno::Type const &rType) override
 
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes () override
 
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId () override
 
- Public Member Functions inherited from comphelper::WeakComponentImplHelperBase
virtual ~WeakComponentImplHelperBase () override
 
virtual void SAL_CALL dispose () override
 
virtual void SAL_CALL addEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) override
 
virtual void SAL_CALL removeEventListener (css::uno::Reference< css::lang::XEventListener > const &rxListener) override
 
virtual css::uno::Any SAL_CALL queryInterface (css::uno::Type const &rType) override
 
virtual void disposing (std::unique_lock< std::mutex > &)
 
- Public Member Functions inherited from comphelper::UnoImplBase
virtual ~UnoImplBase ()
 

Static Public Member Functions

static rtl::Reference< SvXMLEmbeddedObjectHelperCreate (const css::uno::Reference< css::embed::XStorage > &, ::comphelper::IEmbeddedHelper &rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode)
 
static rtl::Reference< SvXMLEmbeddedObjectHelperCreate (::comphelper::IEmbeddedHelper &rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode)
 
static void splitObjectURL (const OUString &aURLNoPar, OUString &rContainerStorageName, OUString &rObjectStorageName)
 

Private Member Functions

SVX_DLLPRIVATE bool ImplGetStorageNames (const OUString &rURLStr, OUString &rContainerStorageName, OUString &rObjectStorageName, bool bInternalToExternal, bool *pGraphicRepl=nullptr, bool *pOasisFormat=nullptr) const
 
SVX_DLLPRIVATE css::uno::Reference< css::embed::XStorage > const & ImplGetContainerStorage (const OUString &rStorageName)
 
SVX_DLLPRIVATE void ImplReadObject (const OUString &rContainerStorageName, OUString &rObjName, const SvGlobalName *pClassId, SvStream *pTemp)
 
SVX_DLLPRIVATE OUString ImplInsertEmbeddedObjectURL (const OUString &rURLStr)
 
SVX_DLLPRIVATE css::uno::Reference< css::io::XInputStream > ImplGetReplacementImage (const css::uno::Reference< css::embed::XEmbeddedObject > &xObj)
 
 SvXMLEmbeddedObjectHelper ()
 
virtual ~SvXMLEmbeddedObjectHelper () override
 
void Init (const css::uno::Reference< css::embed::XStorage > &, ::comphelper::IEmbeddedHelper &rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode)
 
virtual void disposing (std::unique_lock< std::mutex > &) override
 

Private Attributes

OUString maCurContainerStorageName
 
css::uno::Reference< css::embed::XStorage > mxRootStorage
 
::comphelper::IEmbeddedHelpermpDocPersist
 
css::uno::Reference< css::embed::XStorage > mxContainerStorage
 
css::uno::Reference< css::embed::XStorage > mxTempStorage
 
SvXMLEmbeddedObjectHelperMode meCreateMode
 
std::optional< std::map< OUString, rtl::Reference< OutputStorageWrapper_Impl > > > mxStreamMap
 

Additional Inherited Members

- Protected Member Functions inherited from comphelper::WeakComponentImplHelperBase
void throwIfDisposed (std::unique_lock< std::mutex > &)
 
- Protected Attributes inherited from comphelper::WeakComponentImplHelperBase
comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > maEventListeners
 
- Protected Attributes inherited from comphelper::UnoImplBase
std::mutex m_aMutex
 
bool m_bDisposed
 

Detailed Description

Definition at line 45 of file xmleohlp.hxx.

Constructor & Destructor Documentation

◆ SvXMLEmbeddedObjectHelper() [1/2]

SvXMLEmbeddedObjectHelper::SvXMLEmbeddedObjectHelper ( )
private

Definition at line 121 of file xmleohlp.cxx.

References Read.

◆ ~SvXMLEmbeddedObjectHelper()

SvXMLEmbeddedObjectHelper::~SvXMLEmbeddedObjectHelper ( )
overrideprivatevirtual

Definition at line 134 of file xmleohlp.cxx.

◆ SvXMLEmbeddedObjectHelper() [2/2]

SvXMLEmbeddedObjectHelper::SvXMLEmbeddedObjectHelper ( ::comphelper::IEmbeddedHelper rDocPersist,
SvXMLEmbeddedObjectHelperMode  eCreateMode 
)

Definition at line 127 of file xmleohlp.cxx.

References Init(), and Read.

Member Function Documentation

◆ Create() [1/2]

rtl::Reference< SvXMLEmbeddedObjectHelper > SvXMLEmbeddedObjectHelper::Create ( ::comphelper::IEmbeddedHelper rDocPersist,
SvXMLEmbeddedObjectHelperMode  eCreateMode 
)
static

Definition at line 534 of file xmleohlp.cxx.

◆ Create() [2/2]

static rtl::Reference< SvXMLEmbeddedObjectHelper > SvXMLEmbeddedObjectHelper::Create ( const css::uno::Reference< css::embed::XStorage > &  ,
::comphelper::IEmbeddedHelper rDocPersist,
SvXMLEmbeddedObjectHelperMode  eCreateMode 
)
static

References Create().

Referenced by SvxDrawingLayerExport(), and SvxDrawingLayerImport().

◆ disposing()

void SvXMLEmbeddedObjectHelper::disposing ( std::unique_lock< std::mutex > &  )
overrideprivatevirtual

Reimplemented from comphelper::WeakComponentImplHelperBase.

Definition at line 138 of file xmleohlp.cxx.

References mxTempStorage.

◆ getByName()

Any SAL_CALL SvXMLEmbeddedObjectHelper::getByName ( const OUString &  aName)
overridevirtual

◆ getElementNames()

Sequence< OUString > SAL_CALL SvXMLEmbeddedObjectHelper::getElementNames ( )
overridevirtual

Definition at line 666 of file xmleohlp.cxx.

◆ getElementType()

Type SAL_CALL SvXMLEmbeddedObjectHelper::getElementType ( )
overridevirtual

◆ hasByName()

sal_Bool SAL_CALL SvXMLEmbeddedObjectHelper::hasByName ( const OUString &  aName)
overridevirtual

◆ hasElements()

sal_Bool SAL_CALL SvXMLEmbeddedObjectHelper::hasElements ( )
overridevirtual

◆ ImplGetContainerStorage()

uno::Reference< embed::XStorage > const & SvXMLEmbeddedObjectHelper::ImplGetContainerStorage ( const OUString &  rStorageName)
private

◆ ImplGetReplacementImage()

uno::Reference< io::XInputStream > SvXMLEmbeddedObjectHelper::ImplGetReplacementImage ( const css::uno::Reference< css::embed::XEmbeddedObject > &  xObj)
private

◆ ImplGetStorageNames()

bool SvXMLEmbeddedObjectHelper::ImplGetStorageNames ( const OUString &  rURLStr,
OUString &  rContainerStorageName,
OUString &  rObjectStorageName,
bool  bInternalToExternal,
bool *  pGraphicRepl = nullptr,
bool *  pOasisFormat = nullptr 
) const
private

◆ ImplInsertEmbeddedObjectURL()

OUString SvXMLEmbeddedObjectHelper::ImplInsertEmbeddedObjectURL ( const OUString &  rURLStr)
private

◆ ImplReadObject()

void SvXMLEmbeddedObjectHelper::ImplReadObject ( const OUString &  rContainerStorageName,
OUString &  rObjName,
const SvGlobalName pClassId,
SvStream pTemp 
)
private

◆ Init()

void SvXMLEmbeddedObjectHelper::Init ( const css::uno::Reference< css::embed::XStorage > &  ,
::comphelper::IEmbeddedHelper rDocPersist,
SvXMLEmbeddedObjectHelperMode  eCreateMode 
)
private

Definition at line 512 of file xmleohlp.cxx.

References meCreateMode, mpDocPersist, and mxRootStorage.

Referenced by SvXMLEmbeddedObjectHelper().

◆ resolveEmbeddedObjectURL()

OUString SAL_CALL SvXMLEmbeddedObjectHelper::resolveEmbeddedObjectURL ( const OUString &  aURL)
overridevirtual

◆ splitObjectURL()

void SvXMLEmbeddedObjectHelper::splitObjectURL ( const OUString &  aURLNoPar,
OUString &  rContainerStorageName,
OUString &  rObjectStorageName 
)
static

Definition at line 147 of file xmleohlp.cxx.

References _nPos, DBG_ASSERT, and nCount.

Referenced by ImplGetStorageNames(), and SvXMLGraphicHelper::ImplGetStreamNames().

Member Data Documentation

◆ maCurContainerStorageName

OUString SvXMLEmbeddedObjectHelper::maCurContainerStorageName
private

Definition at line 48 of file xmleohlp.hxx.

Referenced by ImplGetContainerStorage().

◆ meCreateMode

SvXMLEmbeddedObjectHelperMode SvXMLEmbeddedObjectHelper::meCreateMode
private

◆ mpDocPersist

::comphelper::IEmbeddedHelper* SvXMLEmbeddedObjectHelper::mpDocPersist
private

◆ mxContainerStorage

css::uno::Reference< css::embed::XStorage > SvXMLEmbeddedObjectHelper::mxContainerStorage
private

Definition at line 53 of file xmleohlp.hxx.

Referenced by ImplGetContainerStorage().

◆ mxRootStorage

css::uno::Reference< css::embed::XStorage > SvXMLEmbeddedObjectHelper::mxRootStorage
private

Definition at line 51 of file xmleohlp.hxx.

Referenced by ImplGetContainerStorage(), ImplGetStorageNames(), and Init().

◆ mxStreamMap

std::optional<std::map< OUString, rtl::Reference<OutputStorageWrapper_Impl> > > SvXMLEmbeddedObjectHelper::mxStreamMap
private

Definition at line 58 of file xmleohlp.hxx.

Referenced by getByName(), and ImplInsertEmbeddedObjectURL().

◆ mxTempStorage

css::uno::Reference< css::embed::XStorage > SvXMLEmbeddedObjectHelper::mxTempStorage
private

Definition at line 54 of file xmleohlp.hxx.

Referenced by disposing(), and getByName().


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