diff options
author | Michael Meeks <michael.meeks@suse.com> | 2012-11-12 17:09:32 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-11-15 16:06:06 +0000 |
commit | 1099f6d52b1b8319c0eb9364ead75540318cfdc3 (patch) | |
tree | aaa3b45a388da7ad0ffbfa60838fd337bc4f064a /xmloff/inc | |
parent | ced21f28931e749a16a676420c31c1e880fb8854 (diff) |
Revert "sb140: #i117310# remove unnecessary dependency
on XTypeProvider::getImplementationId"
This reverts commit 27b9f9f348b720e08f37db829533372dc4b73248.
Conflicts:
xmloff/inc/xmloff/txtparae.hxx
xmloff/source/style/SinglePropertySetInfoCache.cxx
Diffstat (limited to 'xmloff/inc')
-rw-r--r-- | xmloff/inc/xmloff/PropertySetInfoHash.hxx | 47 | ||||
-rw-r--r-- | xmloff/inc/xmloff/SinglePropertySetInfoCache.hxx | 3 | ||||
-rw-r--r-- | xmloff/inc/xmloff/txtparae.hxx | 1 |
3 files changed, 24 insertions, 27 deletions
diff --git a/xmloff/inc/xmloff/PropertySetInfoHash.hxx b/xmloff/inc/xmloff/PropertySetInfoHash.hxx index 300efae90310..802f2445c770 100644 --- a/xmloff/inc/xmloff/PropertySetInfoHash.hxx +++ b/xmloff/inc/xmloff/PropertySetInfoHash.hxx @@ -28,41 +28,40 @@ #ifndef _XMLOFF_PROPERTYSETINFOHASH_HXX #define _XMLOFF_PROPERTYSETINFOHASH_HXX -#include "sal/config.h" +#include <xmloff/PropertySetInfoKey.hxx> -#include <cstddef> - -#include "com/sun/star/beans/XPropertySetInfo.hpp" -#include "com/sun/star/uno/Reference.hxx" -#include "com/sun/star/uno/XInterface.hpp" -#include "osl/diagnose.h" -#include "sal/types.h" +#include <string.h> +#include <memory> struct PropertySetInfoHash { - inline std::size_t operator()( const com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo >& r ) const; - inline bool operator()( const com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo >& r1, - const com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo >& r2 ) const; + inline size_t operator()( const PropertySetInfoKey& r ) const; + inline bool operator()( const PropertySetInfoKey& r1, + const PropertySetInfoKey& r2 ) const; }; -inline std::size_t PropertySetInfoHash::operator()( - const com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo >& r ) const +inline size_t PropertySetInfoHash::operator()( + const PropertySetInfoKey& r ) const { - OSL_ASSERT(r.is()); - return static_cast< std::size_t >( - reinterpret_cast< sal_uIntPtr >( - com::sun::star::uno::Reference< com::sun::star::uno::XInterface >( - r, com::sun::star::uno::UNO_QUERY) - .get())); - // should be UNO_QUERY_THROW, but some clients are compiled with - // EXCEPTIONS_OFF + const sal_Int32* pBytesAsInt32Array = + (const sal_Int32*)r.aImplementationId.getConstArray(); + sal_Int32 nId32 = pBytesAsInt32Array[0] ^ + pBytesAsInt32Array[1] ^ + pBytesAsInt32Array[2] ^ + pBytesAsInt32Array[3]; + return (size_t)nId32 ^ (size_t)r.xPropInfo.get(); } inline bool PropertySetInfoHash::operator()( - const com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo >& r1, - const com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo >& r2 ) const + const PropertySetInfoKey& r1, + const PropertySetInfoKey& r2 ) const { - return r1 == r2; + if( r1.xPropInfo != r2.xPropInfo ) + return sal_False; + + const sal_Int8* pId1 = r1.aImplementationId.getConstArray(); + const sal_Int8* pId2 = r2.aImplementationId.getConstArray(); + return memcmp( pId1, pId2, 16 * sizeof( sal_Int8 ) ) == 0; } #endif diff --git a/xmloff/inc/xmloff/SinglePropertySetInfoCache.hxx b/xmloff/inc/xmloff/SinglePropertySetInfoCache.hxx index a0d4e9ac162d..4458417a125b 100644 --- a/xmloff/inc/xmloff/SinglePropertySetInfoCache.hxx +++ b/xmloff/inc/xmloff/SinglePropertySetInfoCache.hxx @@ -36,8 +36,7 @@ typedef boost::unordered_map < - ::com::sun::star::uno::Reference< - ::com::sun::star::beans::XPropertySetInfo >, + PropertySetInfoKey, sal_Bool, PropertySetInfoHash, PropertySetInfoHash diff --git a/xmloff/inc/xmloff/txtparae.hxx b/xmloff/inc/xmloff/txtparae.hxx index 179a3883ffbe..b46b78e001c6 100644 --- a/xmloff/inc/xmloff/txtparae.hxx +++ b/xmloff/inc/xmloff/txtparae.hxx @@ -21,7 +21,6 @@ #define _XMLOFF_TEXTPARAE_HXX_ #include "sal/config.h" - #include "xmloff/dllapi.h" #include <rtl/ustring.hxx> #include <com/sun/star/uno/Reference.h> |