Resolves: tdf#98418 AttributeList must support XCloneable
regression from
commit 8998768a34
Date: Sat Feb 6 18:38:32 2016 +0100
Change-Id: I217fb66621505b77b6102954c07ef513e2d4b25e
This commit is contained in:
@@ -100,15 +100,20 @@ OUString SAL_CALL AttributeList::getValueByName(const OUString& sName) throw( cs
|
||||
return OUString();
|
||||
}
|
||||
|
||||
|
||||
AttributeList::AttributeList()
|
||||
: m_pImpl(new AttributeList_Impl)
|
||||
{
|
||||
m_pImpl = new AttributeList_Impl;
|
||||
}
|
||||
|
||||
AttributeList::AttributeList(const AttributeList &r)
|
||||
: cppu::WeakImplHelper<XAttributeList, XCloneable>()
|
||||
, m_pImpl(new AttributeList_Impl)
|
||||
{
|
||||
*m_pImpl = *(r.m_pImpl);
|
||||
}
|
||||
|
||||
AttributeList::~AttributeList()
|
||||
{
|
||||
delete m_pImpl;
|
||||
}
|
||||
|
||||
void AttributeList::AddAttribute(const OUString &sName,
|
||||
@@ -122,6 +127,13 @@ void AttributeList::Clear()
|
||||
m_pImpl->vecAttribute.clear();
|
||||
}
|
||||
|
||||
css::uno::Reference< css::util::XCloneable > AttributeList::createClone() throw (css::uno::RuntimeException, std::exception)
|
||||
|
||||
{
|
||||
AttributeList *p = new AttributeList( *this );
|
||||
return css::uno::Reference< css::util::XCloneable > ( static_cast<css::util::XCloneable *>(p) );
|
||||
}
|
||||
|
||||
} // namespace comphelper
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#ifndef INCLUDED_COMPHELPER_ATTRIBUTELIST_HXX
|
||||
#define INCLUDED_COMPHELPER_ATTRIBUTELIST_HXX
|
||||
|
||||
#include <com/sun/star/util/XCloneable.hpp>
|
||||
#include <com/sun/star/xml/sax/XAttributeList.hpp>
|
||||
#include <cppuhelper/implbase.hxx>
|
||||
#include <comphelper/comphelperdllapi.h>
|
||||
@@ -31,11 +32,13 @@ namespace comphelper
|
||||
struct AttributeList_Impl;
|
||||
|
||||
class COMPHELPER_DLLPUBLIC AttributeList :
|
||||
public ::cppu::WeakImplHelper<css::xml::sax::XAttributeList>
|
||||
public ::cppu::WeakImplHelper<css::xml::sax::XAttributeList, css::util::XCloneable>
|
||||
{
|
||||
AttributeList_Impl *m_pImpl;
|
||||
std::unique_ptr<AttributeList_Impl> m_pImpl;
|
||||
public:
|
||||
AttributeList();
|
||||
AttributeList(const AttributeList &r);
|
||||
|
||||
virtual ~AttributeList();
|
||||
|
||||
// methods that are not contained in any interface
|
||||
@@ -56,6 +59,9 @@ public:
|
||||
virtual OUString SAL_CALL getValueByName(const OUString& aName)
|
||||
throw( css::uno::RuntimeException, std::exception ) override;
|
||||
|
||||
// css::util::XCloneable
|
||||
virtual css::uno::Reference< XCloneable > SAL_CALL
|
||||
createClone() throw(css::uno::RuntimeException, std::exception) override;
|
||||
};
|
||||
|
||||
} // namespace comphelper
|
||||
|
||||
Reference in New Issue
Block a user