summaryrefslogtreecommitdiff
path: root/xmloff/inc
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2012-11-12 17:09:32 +0000
committerMichael Meeks <michael.meeks@suse.com>2012-11-15 16:06:06 +0000
commit1099f6d52b1b8319c0eb9364ead75540318cfdc3 (patch)
treeaaa3b45a388da7ad0ffbfa60838fd337bc4f064a /xmloff/inc
parentced21f28931e749a16a676420c31c1e880fb8854 (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.hxx47
-rw-r--r--xmloff/inc/xmloff/SinglePropertySetInfoCache.hxx3
-rw-r--r--xmloff/inc/xmloff/txtparae.hxx1
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>