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
 

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 SAL_CALL disposing () override
 

Private Attributes

::osl::Mutex maMutex
 
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::unique_ptr< std::map< OUString, rtl::Reference< OutputStorageWrapper_Impl > > > mpStreamMap
 

Detailed Description

Definition at line 46 of file xmleohlp.hxx.

Constructor & Destructor Documentation

SvXMLEmbeddedObjectHelper::SvXMLEmbeddedObjectHelper ( )
private

Definition at line 126 of file xmleohlp.cxx.

References maMutex, and Read.

SvXMLEmbeddedObjectHelper::~SvXMLEmbeddedObjectHelper ( )
overrideprivatevirtual

Definition at line 141 of file xmleohlp.cxx.

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

Definition at line 133 of file xmleohlp.cxx.

References Init(), maMutex, and Read.

Member Function Documentation

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

Definition at line 539 of file xmleohlp.cxx.

void SAL_CALL SvXMLEmbeddedObjectHelper::disposing ( )
overrideprivatevirtual

Definition at line 145 of file xmleohlp.cxx.

References mxTempStorage.

Any SAL_CALL SvXMLEmbeddedObjectHelper::getByName ( const OUString &  aName)
overridevirtual
Sequence< OUString > SAL_CALL SvXMLEmbeddedObjectHelper::getElementNames ( )
overridevirtual

Definition at line 670 of file xmleohlp.cxx.

Type SAL_CALL SvXMLEmbeddedObjectHelper::getElementType ( )
overridevirtual

Definition at line 697 of file xmleohlp.cxx.

References cppu::UnoType< class >::get(), maMutex, meCreateMode, and Read.

sal_Bool SAL_CALL SvXMLEmbeddedObjectHelper::hasByName ( const OUString &  aName)
overridevirtual
sal_Bool SAL_CALL SvXMLEmbeddedObjectHelper::hasElements ( )
overridevirtual
uno::Reference< embed::XStorage > const & SvXMLEmbeddedObjectHelper::ImplGetContainerStorage ( const OUString &  rStorageName)
private
uno::Reference< io::XInputStream > SvXMLEmbeddedObjectHelper::ImplGetReplacementImage ( const css::uno::Reference< css::embed::XEmbeddedObject > &  xObj)
private
bool SvXMLEmbeddedObjectHelper::ImplGetStorageNames ( const OUString &  rURLStr,
OUString &  rContainerStorageName,
OUString &  rObjectStorageName,
bool  bInternalToExternal,
bool *  pGraphicRepl = nullptr,
bool *  pOasisFormat = nullptr 
) const
private
OUString SvXMLEmbeddedObjectHelper::ImplInsertEmbeddedObjectURL ( const OUString &  rURLStr)
private
void SvXMLEmbeddedObjectHelper::ImplReadObject ( const OUString &  rContainerStorageName,
OUString &  rObjName,
const SvGlobalName pClassId,
SvStream pTemp 
)
private
void SvXMLEmbeddedObjectHelper::Init ( const css::uno::Reference< css::embed::XStorage > &  ,
::comphelper::IEmbeddedHelper rDocPersist,
SvXMLEmbeddedObjectHelperMode  eCreateMode 
)
private

Definition at line 517 of file xmleohlp.cxx.

References meCreateMode, mpDocPersist, and mxRootStorage.

Referenced by SvXMLEmbeddedObjectHelper().

OUString SAL_CALL SvXMLEmbeddedObjectHelper::resolveEmbeddedObjectURL ( const OUString &  aURL)
overridevirtual
void SvXMLEmbeddedObjectHelper::splitObjectURL ( const OUString &  aURLNoPar,
OUString &  rContainerStorageName,
OUString &  rObjectStorageName 
)
static

Definition at line 153 of file xmleohlp.cxx.

References DBG_ASSERT.

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

Member Data Documentation

OUString SvXMLEmbeddedObjectHelper::maCurContainerStorageName
private

Definition at line 51 of file xmleohlp.hxx.

Referenced by ImplGetContainerStorage().

::osl::Mutex SvXMLEmbeddedObjectHelper::maMutex
private
SvXMLEmbeddedObjectHelperMode SvXMLEmbeddedObjectHelper::meCreateMode
private
::comphelper::IEmbeddedHelper* SvXMLEmbeddedObjectHelper::mpDocPersist
private
std::unique_ptr<std::map< OUString, rtl::Reference<OutputStorageWrapper_Impl> > > SvXMLEmbeddedObjectHelper::mpStreamMap
private

Definition at line 61 of file xmleohlp.hxx.

Referenced by getByName(), and ImplInsertEmbeddedObjectURL().

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

Definition at line 56 of file xmleohlp.hxx.

Referenced by ImplGetContainerStorage().

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

Definition at line 54 of file xmleohlp.hxx.

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

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

Definition at line 57 of file xmleohlp.hxx.

Referenced by disposing(), and getByName().


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