use unique_ptr for pImpl's in xmloff/

Change-Id: Ib95118941938af83fed566a085837e17f092017a
This commit is contained in:
Noel Grandin 2015-11-17 08:03:48 +02:00
parent 32d4c03cba
commit e1d88a5745
35 changed files with 58 additions and 78 deletions

View File

@ -31,6 +31,7 @@
#include <queue>
#include <vector>
#include <memory>
class SvXMLAutoStylePoolP;
class SvXMLExport;
@ -60,7 +61,7 @@ private:
void operator =(SchXMLExportHelper &) = delete;
private:
SchXMLExportHelper_Impl* m_pImpl;
std::unique_ptr<SchXMLExportHelper_Impl> m_pImpl;
friend class SchXMLExport;
};

View File

@ -27,6 +27,7 @@
#include <com/sun/star/animations/XAnimationNode.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <salhelper/simplereferenceobject.hxx>
#include <memory>
class SvXMLExport;
@ -36,7 +37,7 @@ class AnimationsExporterImpl;
class XMLOFF_DLLPUBLIC AnimationsExporter : public salhelper::SimpleReferenceObject
{
AnimationsExporterImpl* mpImpl;
std::unique_ptr<AnimationsExporterImpl> mpImpl;
public:
AnimationsExporter( SvXMLExport& rExport, const css::uno::Reference< css::beans::XPropertySet >& xPageProps );

View File

@ -22,6 +22,7 @@
#include <com/sun/star/drawing/XShape.hpp>
#include <salhelper/simplereferenceobject.hxx>
#include <memory>
class AnimExpImpl;
class SvXMLExport;
@ -29,7 +30,7 @@ class XMLShapeExport;
class XMLAnimationsExporter : public salhelper::SimpleReferenceObject
{
AnimExpImpl* mpImpl;
std::unique_ptr<AnimExpImpl> mpImpl;
public:
XMLAnimationsExporter( XMLShapeExport* pShapeExp );

View File

@ -32,6 +32,7 @@
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <cppuhelper/implbase3.hxx>
#include <memory>
struct SvXMLAttributeList_Impl;
@ -40,7 +41,7 @@ class XMLOFF_DLLPUBLIC SvXMLAttributeList : public ::cppu::WeakImplHelper3<
css::util::XCloneable,
css::lang::XUnoTunnel>
{
SvXMLAttributeList_Impl *m_pImpl;
std::unique_ptr<SvXMLAttributeList_Impl> m_pImpl;
public:
SvXMLAttributeList();

View File

@ -29,6 +29,7 @@
#include <rtl/ref.hxx>
#include <salhelper/simplereferenceobject.hxx>
#include <xmloff/xmlexppr.hxx>
#include <memory>
namespace com { namespace sun { namespace star { namespace awt {
class XControlModel;
@ -55,7 +56,7 @@ namespace xmloff
/// our export context
SvXMLExport& m_rContext;
// impl class
OFormLayerXMLExport_Impl* m_pImpl;
std::unique_ptr<OFormLayerXMLExport_Impl> m_pImpl;
protected:
virtual ~OFormLayerXMLExport();
@ -173,7 +174,7 @@ namespace xmloff
class XMLOFF_DLLPUBLIC OOfficeFormsExport
{
private:
OFormsRootExport* m_pImpl;
std::unique_ptr<OFormsRootExport> m_pImpl;
public:
OOfficeFormsExport( SvXMLExport& _rExp );

View File

@ -28,6 +28,7 @@
#include <rtl/ref.hxx>
#include <salhelper/simplereferenceobject.hxx>
#include <xmloff/xmlimppr.hxx>
#include <memory>
class SvXMLImport;
class SvXMLImportContext;
@ -48,7 +49,7 @@ namespace xmloff
class XMLOFF_DLLPUBLIC OFormLayerXMLImport
:public ::salhelper::SimpleReferenceObject
{
OFormLayerXMLImport_Impl* m_pImpl;
std::unique_ptr<OFormLayerXMLImport_Impl> m_pImpl;
public:
OFormLayerXMLImport(SvXMLImport& _rImporter);

View File

@ -24,6 +24,7 @@
#include <sal/types.h>
#include <salhelper/simplereferenceobject.hxx>
#include <memory>
class XMLPropertyHandler;
@ -39,7 +40,7 @@ class XMLPropertyHandler;
class XMLOFF_DLLPUBLIC XMLPropertyHandlerFactory : public salhelper::SimpleReferenceObject
{
struct Impl;
Impl* mpImpl;
std::unique_ptr<Impl> mpImpl;
XMLPropertyHandlerFactory( const XMLPropertyHandlerFactory& ) = delete;
XMLPropertyHandlerFactory& operator= ( const XMLPropertyHandlerFactory& ) = delete;

View File

@ -35,6 +35,7 @@
#include <xmloff/table/XMLTableImport.hxx>
#include <basegfx/vector/b3dvector.hxx>
#include <vector>
#include <memory>
class SvXMLImport;
class SvXMLImportContext;
@ -268,7 +269,7 @@ struct XMLShapeImportPageContextImpl;
class XMLOFF_DLLPUBLIC XMLShapeImportHelper : public salhelper::SimpleReferenceObject
{
XMLShapeImportHelperImpl* mpImpl;
std::unique_ptr<XMLShapeImportHelperImpl> mpImpl;
XMLShapeImportPageContextImpl* mpPageContext;

View File

@ -25,6 +25,7 @@
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
#include <xmloff/xmlprmap.hxx>
#include <salhelper/simplereferenceobject.hxx>
#include <memory>
class SvXMLExportPropertyMapper;
class SvXMLNamespaceMap;
@ -40,7 +41,7 @@ class XMLOFF_DLLPUBLIC SvXMLAutoStylePoolP : public salhelper::SimpleReferenceOb
friend class Test;
friend class SvXMLAutoStylePoolP_Impl;
SvXMLAutoStylePoolP_Impl *pImpl;
std::unique_ptr<SvXMLAutoStylePoolP_Impl> pImpl;
protected:

View File

@ -61,6 +61,7 @@
#include <tools/fldunit.hxx>
#include <list>
#include <memory>
#include <o3tl/typed_flags_set.hxx>
class SvXMLNamespaceMap;
@ -115,7 +116,7 @@ class XMLOFF_DLLPUBLIC SvXMLExport : public ::cppu::WeakImplHelper6<
css::container::XNamed,
css::lang::XUnoTunnel>
{
SvXMLExport_Impl *mpImpl; // dummy
std::unique_ptr<SvXMLExport_Impl> mpImpl; // dummy
css::uno::Reference< css::uno::XComponentContext > m_xContext;
OUString m_implementationName;

View File

@ -28,6 +28,7 @@
#include <o3tl/typed_flags_set.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <memory>
enum class SvXmlExportFlags {
NONE = 0x0000,
@ -52,7 +53,7 @@ class SvXMLExport;
class XMLOFF_DLLPUBLIC SvXMLExportPropertyMapper : public salhelper::SimpleReferenceObject
{
struct Impl;
Impl* mpImpl;
std::unique_ptr<Impl> mpImpl;
protected:

View File

@ -57,6 +57,7 @@
#include <com/sun/star/xml/sax/XFastContextHandler.hpp>
#include <com/sun/star/xml/sax/XFastAttributeList.hpp>
#include <o3tl/typed_flags_set.hxx>
#include <memory>
namespace com { namespace sun { namespace star {
namespace frame { class XModel; }
@ -140,7 +141,7 @@ class XMLOFF_DLLPUBLIC SvXMLImport : public ::cppu::WeakImplHelper7<
css::uno::Reference< css::container::XNameContainer > mxNumberStyles;
css::uno::Reference< css::lang::XEventListener > mxEventListener;
SvXMLImport_Impl *mpImpl; // dummy
std::unique_ptr<SvXMLImport_Impl> mpImpl; // dummy
SvXMLNamespaceMap *mpNamespaceMap;
SvXMLUnitConverter *mpUnitConv;

View File

@ -26,6 +26,7 @@
#include <rtl/ustring.hxx>
#include <salhelper/simplereferenceobject.hxx>
#include <memory>
class SvXMLUnitConverter;
class XMLPropertyHandler;
@ -37,7 +38,7 @@ class XMLOFF_DLLPUBLIC XMLPropertySetMapper : public salhelper::SimpleReferenceO
{
struct Impl;
Impl* mpImpl;
std::unique_ptr<Impl> mpImpl;
XMLPropertySetMapper( const XMLPropertySetMapper& ) = delete;
XMLPropertySetMapper& operator= ( const XMLPropertySetMapper& ) = delete;

View File

@ -27,6 +27,7 @@
#include <rsc/rscsfx.hxx>
#include <xmloff/xmltkmap.hxx>
#include <xmloff/xmlictxt.hxx>
#include <memory>
class SvXMLStylesContext_Impl;
class SvXMLUnitConverter;
@ -154,7 +155,7 @@ class XMLOFF_DLLPUBLIC SvXMLStylesContext : public SvXMLImportContext
const OUString msParaStyleServiceName;
const OUString msTextStyleServiceName;
SvXMLStylesContext_Impl *mpImpl;
std::unique_ptr<SvXMLStylesContext_Impl> mpImpl;
SvXMLTokenMap *mpStyleStylesElemTokenMap;

View File

@ -24,6 +24,7 @@
#include <xmloff/dllapi.h>
#include <sal/types.h>
#include <xmloff/xmltoken.hxx>
#include <memory>
class SvXMLTokenMap_Impl;
@ -40,7 +41,7 @@ struct SvXMLTokenMapEntry
class XMLOFF_DLLPUBLIC SvXMLTokenMap
{
SvXMLTokenMap_Impl *m_pImpl;
std::unique_ptr<SvXMLTokenMap_Impl> m_pImpl;
public:

View File

@ -986,7 +986,6 @@ SchXMLExportHelper::SchXMLExportHelper( SvXMLExport& rExport, SvXMLAutoStylePool
SchXMLExportHelper::~SchXMLExportHelper()
{
delete m_pImpl;
}
const OUString& SchXMLExportHelper::getChartCLSID()

View File

@ -84,9 +84,9 @@ SvXMLAttributeList::SvXMLAttributeList( const SvXMLAttributeList &r ) :
SvXMLAttributeList::SvXMLAttributeList( const uno::Reference<
xml::sax::XAttributeList> & rAttrList )
: sType( GetXMLToken(XML_CDATA) )
: m_pImpl( new SvXMLAttributeList_Impl),
sType( GetXMLToken(XML_CDATA) )
{
m_pImpl = new SvXMLAttributeList_Impl;
SvXMLAttributeList* pImpl =
SvXMLAttributeList::getImplementation( rAttrList );
@ -139,16 +139,15 @@ uno::Reference< ::com::sun::star::util::XCloneable > SvXMLAttributeList::create
SvXMLAttributeList::SvXMLAttributeList()
: sType( GetXMLToken(XML_CDATA) )
: m_pImpl( new SvXMLAttributeList_Impl ),
sType( GetXMLToken(XML_CDATA) )
{
m_pImpl = new SvXMLAttributeList_Impl;
}
SvXMLAttributeList::~SvXMLAttributeList()
{
delete m_pImpl;
}

View File

@ -591,8 +591,6 @@ SvXMLExport::~SvXMLExport()
if (mxEventListener.is() && mxModel.is())
mxModel->removeEventListener(mxEventListener);
delete mpImpl;
}
// XExporter

View File

@ -464,8 +464,6 @@ SvXMLImport::~SvXMLImport() throw ()
delete mpNumImport;
delete mpProgressBarHelper;
delete mpImpl;
if (mxEventListener.is() && mxModel.is())
mxModel->removeEventListener(mxEventListener);
}

View File

@ -58,23 +58,6 @@ public:
class SvXMLTokenMap_Impl : public std::set<SvXMLTokenMapEntry_Impl> {};
SvXMLTokenMapEntry_Impl const* lcl_Find(
SvXMLTokenMap_Impl const* pImpl,
sal_uInt16 nKeyPrefix,
const OUString& rLName )
{
SvXMLTokenMapEntry_Impl const* pRet = nullptr;
SvXMLTokenMapEntry_Impl aTst( nKeyPrefix, rLName );
SvXMLTokenMap_Impl::iterator it = pImpl->find( aTst );
if (it != pImpl->end())
{
pRet = &*it;
}
return pRet;
}
SvXMLTokenMap::SvXMLTokenMap( const SvXMLTokenMapEntry *pMap )
: m_pImpl( new SvXMLTokenMap_Impl )
{
@ -87,14 +70,20 @@ SvXMLTokenMap::SvXMLTokenMap( const SvXMLTokenMapEntry *pMap )
SvXMLTokenMap::~SvXMLTokenMap()
{
delete m_pImpl;
}
sal_uInt16 SvXMLTokenMap::Get( sal_uInt16 nKeyPrefix,
const OUString& rLName ) const
{
SvXMLTokenMapEntry_Impl const*const pEntry(
lcl_Find(m_pImpl, nKeyPrefix, rLName));
SvXMLTokenMapEntry_Impl const* pEntry = nullptr;
SvXMLTokenMapEntry_Impl aTst( nKeyPrefix, rLName );
SvXMLTokenMap_Impl::iterator it = m_pImpl->find( aTst );
if (it != m_pImpl->end())
{
pEntry = &*it;
}
if( pEntry )
return pEntry->GetToken();
else

View File

@ -1674,13 +1674,12 @@ void AnimationsExporterImpl::prepareValue( const Any& rValue )
}
AnimationsExporter::AnimationsExporter( SvXMLExport& rExport, const Reference< XPropertySet >& xPageProps )
: mpImpl( new AnimationsExporterImpl( rExport, xPageProps ) )
{
mpImpl = new AnimationsExporterImpl( rExport, xPageProps );
}
AnimationsExporter::~AnimationsExporter()
{
delete mpImpl;
}
void AnimationsExporter::prepare( Reference< XAnimationNode > xRootNode )

View File

@ -257,15 +257,13 @@ public:
};
XMLAnimationsExporter::XMLAnimationsExporter( XMLShapeExport* pShapeExp )
: mpImpl( new AnimExpImpl )
{
mpImpl = new AnimExpImpl;
mpImpl->mxShapeExp = pShapeExp;
}
XMLAnimationsExporter::~XMLAnimationsExporter()
{
delete mpImpl;
mpImpl = nullptr;
}
void XMLAnimationsExporter::prepare( Reference< XShape > xShape, SvXMLExport& )

View File

@ -111,7 +111,8 @@ XMLShapeImportHelper::XMLShapeImportHelper(
SvXMLImport& rImporter,
const uno::Reference< frame::XModel>& rModel,
SvXMLImportPropertyMapper *pExtMapper )
: mpPageContext(nullptr),
: mpImpl( new XMLShapeImportHelperImpl() ),
mpPageContext(nullptr),
mxModel(rModel),
mpPropertySetMapper(nullptr),
@ -136,7 +137,6 @@ XMLShapeImportHelper::XMLShapeImportHelper(
mrImporter( rImporter )
{
mpImpl = new XMLShapeImportHelperImpl();
mpImpl->mpSortContext = nullptr;
// #88546# init to sal_False
@ -224,8 +224,6 @@ XMLShapeImportHelper::~XMLShapeImportHelper()
mpAutoStylesContext->Clear();
mpAutoStylesContext->ReleaseRef();
}
delete mpImpl;
}
const SvXMLTokenMap& XMLShapeImportHelper::GetGroupShapeElemTokenMap()

View File

@ -63,9 +63,9 @@ public:
SdXMLShowsContext::SdXMLShowsContext( SdXMLImport& rImport, sal_uInt16 nPrfx, const OUString& rLocalName, const Reference< XAttributeList >& xAttrList )
: SvXMLImportContext(rImport, nPrfx, rLocalName)
: SvXMLImportContext(rImport, nPrfx, rLocalName),
mpImpl(new ShowsImpImpl( rImport ) )
{
mpImpl = new ShowsImpImpl( rImport );
Reference< XCustomPresentationSupplier > xShowsSupplier( rImport.GetModel(), UNO_QUERY );
if( xShowsSupplier.is() )
@ -186,8 +186,6 @@ SdXMLShowsContext::~SdXMLShowsContext()
aAny <<= mpImpl->maCustomShowName;
mpImpl->mxPresProps->setPropertyValue("CustomShow", aAny );
}
delete mpImpl;
}
SvXMLImportContext * SdXMLShowsContext::CreateChildContext( sal_uInt16 p_nPrefix, const OUString& rLocalName, const Reference< XAttributeList>& xAttrList )

View File

@ -22,6 +22,7 @@
#include <xmloff/xmlictxt.hxx>
#include "sdxmlimp_impl.hxx"
#include <memory>
class ShowsImpImpl;
@ -29,7 +30,7 @@ class ShowsImpImpl;
class SdXMLShowsContext : public SvXMLImportContext
{
ShowsImpImpl* mpImpl;
std::unique_ptr<ShowsImpImpl> mpImpl;
public:

View File

@ -50,8 +50,6 @@ namespace xmloff
OFormLayerXMLExport::~OFormLayerXMLExport()
{
delete m_pImpl;
m_pImpl = nullptr;
}
bool OFormLayerXMLExport::seekPage(const Reference< XDrawPage >& _rxDrawPage)
@ -118,14 +116,12 @@ namespace xmloff
//= OOfficeFormsExport
OOfficeFormsExport::OOfficeFormsExport( SvXMLExport& _rExp )
:m_pImpl(nullptr)
:m_pImpl( new OFormsRootExport(_rExp) )
{
m_pImpl = new OFormsRootExport(_rExp);
}
OOfficeFormsExport::~OOfficeFormsExport()
{
delete m_pImpl;
}
} // namespace xmloff

View File

@ -33,14 +33,12 @@ namespace xmloff
//= OFormLayerXMLExport
OFormLayerXMLImport::OFormLayerXMLImport(SvXMLImport& _rImporter)
:m_pImpl(nullptr)
: m_pImpl( new OFormLayerXMLImport_Impl(_rImporter) )
{
m_pImpl = new OFormLayerXMLImport_Impl(_rImporter);
}
OFormLayerXMLImport::~OFormLayerXMLImport()
{
delete m_pImpl;
}
void OFormLayerXMLImport::setAutoStyleContext(SvXMLStylesContext* _pNewContext)

View File

@ -129,9 +129,9 @@ namespace xmloff
const OUString& _rSubmissionID
);
virtual ~OFormLayerXMLImport_Impl();
protected:
explicit OFormLayerXMLImport_Impl(SvXMLImport& _rImporter);
virtual ~OFormLayerXMLImport_Impl();
/** start importing the forms of the given page
*/

View File

@ -112,8 +112,6 @@ XMLPropertyHandlerFactory::~XMLPropertyHandlerFactory()
{
for( CacheMap::iterator pPos = mpImpl->maHandlerCache.begin(); pPos != mpImpl->maHandlerCache.end(); ++pPos )
delete pPos->second;
delete mpImpl;
}
// Interface

View File

@ -262,13 +262,12 @@ void SvXMLAutoStylePoolP::exportStyleContent(
}
SvXMLAutoStylePoolP::SvXMLAutoStylePoolP( SvXMLExport& rExport )
: pImpl( new SvXMLAutoStylePoolP_Impl( rExport ) )
{
pImpl = new SvXMLAutoStylePoolP_Impl( rExport );
}
SvXMLAutoStylePoolP::~SvXMLAutoStylePoolP()
{
delete pImpl;
}
SvXMLExport& SvXMLAutoStylePoolP::GetExport() const

View File

@ -537,7 +537,6 @@ SvXMLExportPropertyMapper::SvXMLExportPropertyMapper(
SvXMLExportPropertyMapper::~SvXMLExportPropertyMapper()
{
delete mpImpl;
}
void SvXMLExportPropertyMapper::ChainExportMapper(

View File

@ -150,7 +150,6 @@ XMLPropertySetMapper::XMLPropertySetMapper(
XMLPropertySetMapper::~XMLPropertySetMapper()
{
delete mpImpl;
}
void XMLPropertySetMapper::AddMapperEntry(

View File

@ -787,7 +787,6 @@ SvXMLStylesContext::SvXMLStylesContext( SvXMLImport& rImport, sal_uInt16 nPrfx,
SvXMLStylesContext::~SvXMLStylesContext()
{
delete mpStyleStylesElemTokenMap;
delete mpImpl;
}
SvXMLImportContext *SvXMLStylesContext::CreateChildContext( sal_uInt16 nPrefix,

View File

@ -1448,7 +1448,6 @@ XMLTextPropertyHandlerFactory::XMLTextPropertyHandlerFactory() :
XMLTextPropertyHandlerFactory::~XMLTextPropertyHandlerFactory()
{
delete pImpl;
}
const XMLPropertyHandler *XMLTextPropertyHandlerFactory::GetPropertyHandler(

View File

@ -21,12 +21,13 @@
#include <xmloff/prhdlfac.hxx>
#include <memory>
class XMLTextPropertyHandlerFactory_Impl;
class XMLTextPropertyHandlerFactory : public XMLPropertyHandlerFactory
{
XMLTextPropertyHandlerFactory_Impl *pImpl;
std::unique_ptr<XMLTextPropertyHandlerFactory_Impl> pImpl;
public: