remove pimpl in PropertyBag
Change-Id: Ibf34c0d9a3090c190a63f63ba9bd661263aebae6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105276
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/comphelper/source/property/propertybag.cxx b/comphelper/source/property/propertybag.cxx
index ac8fc17..de230f4 100644
--- a/comphelper/source/property/propertybag.cxx
+++ b/comphelper/source/property/propertybag.cxx
@@ -48,16 +48,8 @@ namespace comphelper
namespace PropertyAttribute = ::com::sun::star::beans::PropertyAttribute;
typedef std::map< sal_Int32, Any > MapInt2Any;
struct PropertyBag_Impl
{
PropertyBag_Impl() : m_bAllowEmptyPropertyName(false) { }
MapInt2Any aDefaults;
bool m_bAllowEmptyPropertyName;
};
PropertyBag::PropertyBag()
:m_pImpl( new PropertyBag_Impl )
: m_bAllowEmptyPropertyName(false)
{
}
@@ -68,7 +60,7 @@ namespace comphelper
void PropertyBag::setAllowEmptyPropertyName( bool i_isAllowed )
{
m_pImpl->m_bAllowEmptyPropertyName = i_isAllowed;
m_bAllowEmptyPropertyName = i_isAllowed;
}
@@ -117,7 +109,7 @@ namespace comphelper
);
// check name/handle sanity
lcl_checkForEmptyName( m_pImpl->m_bAllowEmptyPropertyName, _rName );
lcl_checkForEmptyName( m_bAllowEmptyPropertyName, _rName );
lcl_checkNameAndHandle_ElementExistException( _rName, _nHandle, *this );
// register the property
@@ -125,7 +117,7 @@ namespace comphelper
registerPropertyNoMember( _rName, _nHandle, _nAttributes | PropertyAttribute::MAYBEVOID, _rType, css::uno::Any() );
// remember the default
m_pImpl->aDefaults.emplace( _nHandle, Any() );
aDefaults.emplace( _nHandle, Any() );
}
@@ -140,7 +132,7 @@ namespace comphelper
nullptr );
// check name/handle sanity
lcl_checkForEmptyName( m_pImpl->m_bAllowEmptyPropertyName, _rName );
lcl_checkForEmptyName( m_bAllowEmptyPropertyName, _rName );
lcl_checkNameAndHandle_PropertyExistException( _rName, _nHandle, *this );
// register the property
@@ -148,7 +140,7 @@ namespace comphelper
_rInitialValue );
// remember the default
m_pImpl->aDefaults.emplace( _nHandle, _rInitialValue );
aDefaults.emplace( _nHandle, _rInitialValue );
}
@@ -162,7 +154,7 @@ namespace comphelper
revokeProperty( nHandle );
m_pImpl->aDefaults.erase( nHandle );
aDefaults.erase( nHandle );
}
@@ -199,9 +191,9 @@ namespace comphelper
if ( !hasPropertyByHandle( _nHandle ) )
throw UnknownPropertyException(OUString::number(_nHandle));
MapInt2Any::const_iterator pos = m_pImpl->aDefaults.find( _nHandle );
OSL_ENSURE( pos != m_pImpl->aDefaults.end(), "PropertyBag::getPropertyDefaultByHandle: inconsistency!" );
if ( pos != m_pImpl->aDefaults.end() )
auto pos = aDefaults.find( _nHandle );
OSL_ENSURE( pos != aDefaults.end(), "PropertyBag::getPropertyDefaultByHandle: inconsistency!" );
if ( pos != aDefaults.end() )
_out_rValue = pos->second;
else
_out_rValue.clear();
diff --git a/include/comphelper/propertybag.hxx b/include/comphelper/propertybag.hxx
index 0bd7eb0..3cf9de9 100644
--- a/include/comphelper/propertybag.hxx
+++ b/include/comphelper/propertybag.hxx
@@ -21,18 +21,17 @@
#define INCLUDED_COMPHELPER_PROPERTYBAG_HXX
#include <config_options.h>
#include <com/sun/star/uno/Any.h>
#include <comphelper/comphelperdllapi.h>
#include <comphelper/propertycontainerhelper.hxx>
#include <memory>
#include <map>
namespace comphelper
{
struct PropertyBag_Impl;
//= PropertyBag
/** provides a bag of properties associated with their values
@@ -42,9 +41,8 @@ namespace comphelper
*/
class UNLESS_MERGELIBS(COMPHELPER_DLLPUBLIC) PropertyBag final : protected OPropertyContainerHelper
{
private:
::std::unique_ptr< PropertyBag_Impl > m_pImpl;
std::map< sal_Int32, css::uno::Any > aDefaults;
bool m_bAllowEmptyPropertyName;
public:
PropertyBag();
virtual ~PropertyBag();