Index: source/data/types.cxx
===================================================================
RCS file: /cvs/util/configmgr/source/data/types.cxx,v
retrieving revision 1.2
retrieving revision 1.2.18.1
diff -u -r1.2 -r1.2.18.1
--- source/data/types.cxx	8 Sep 2005 03:40:29 -0000	1.2
+++ source/data/types.cxx	5 Dec 2005 14:00:54 -0000	1.2.18.1
@@ -61,8 +61,8 @@
         using memory::Allocator;
         using memory::Accessor;
 //-----------------------------------------------------------------------------	
-sal_Size const c_nDataOffset        = sizeof(sal_Int32);
-sal_Size const c_nStringCharSize    = sizeof(sal_Unicode);
+HeapSize const c_nDataOffset        = sizeof(sal_Int32);
+HeapSize const c_nStringCharSize    = sizeof(sal_Unicode);
 //-----------------------------------------------------------------------------	
 static inline
 sal_Int32& implGetLength(Allocator const& _anAllocator, String _aString)
@@ -116,7 +116,7 @@
 String allocString(Allocator const& _anAllocator, rtl::OUString const & _sString)
 {
     sal_Int32 nLength = _sString.getLength();
-    sal_Int32 nTextSize = (nLength + 1) * c_nStringCharSize;
+    HeapSize nTextSize = HeapSize(nLength + 1) * c_nStringCharSize;
 
     String anAddress = _anAllocator.allocate(c_nDataOffset + nTextSize);
     if (anAddress)
Index: source/inc/heap.hxx
===================================================================
RCS file: /cvs/util/configmgr/source/inc/heap.hxx,v
retrieving revision 1.4
retrieving revision 1.4.18.1
diff -u -r1.4 -r1.4.18.1
--- source/inc/heap.hxx	8 Sep 2005 03:48:19 -0000	1.4
+++ source/inc/heap.hxx	5 Dec 2005 14:00:55 -0000	1.4.18.1
@@ -64,9 +64,6 @@
             typedef HeapManager::HeapIdParam HeapIdParam;
             typedef HeapManager::Address     Address;
 
-        //    typedef sal_uInt32 Size;
-        //    typedef sal_uInt32 Address;
-
             Heap(HeapManager& _impl);
             Heap(HeapManager& _impl, Size _nInitialSize);
             Heap(HeapManager& _impl, HeapIdParam _anId);
Index: source/inc/heapmanager.hxx
===================================================================
RCS file: /cvs/util/configmgr/source/inc/heapmanager.hxx,v
retrieving revision 1.4
retrieving revision 1.4.18.1
diff -u -r1.4 -r1.4.18.1
--- source/inc/heapmanager.hxx	8 Sep 2005 03:48:49 -0000	1.4
+++ source/inc/heapmanager.hxx	5 Dec 2005 14:00:56 -0000	1.4.18.1
@@ -36,6 +36,9 @@
 #ifndef CONFIGMGR_DATAHEAPMANAGER_HXX
 #define CONFIGMGR_DATAHEAPMANAGER_HXX
 
+#ifndef CONFIGMGR_MEMORYMODEL_HXX
+#include "memorymodel.hxx"
+#endif
 #ifndef CONFIGMGR_DATALOCK_HXX
 #include "datalock.hxx"
 #endif
@@ -58,9 +61,9 @@
         public:
             typedef struct Opaque_ * Handle;
 
-            typedef sal_uInt32      Size;
-            typedef sal_uInt32      Address;
-            typedef rtl::OString    HeapId;
+            typedef memory::HeapSize    Size;
+            typedef memory::Address     Address;
+            typedef rtl::OString        HeapId;
             typedef rtl::OString const & HeapIdParam;
 
         //    virtual HeapId newHeapId() = 0;
Index: source/inc/memorymodel.hxx
===================================================================
RCS file: source/inc/memorymodel.hxx
diff -N source/inc/memorymodel.hxx
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ source/inc/memorymodel.hxx	5 Dec 2005 14:00:57 -0000	1.1.4.1
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile$
+ *
+ *  $Revision$
+ *
+ *  last change: $Author$ $Date$
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+#ifndef CONFIGMGR_MEMORYMODEL_HXX
+#define CONFIGMGR_MEMORYMODEL_HXX
+
+#ifndef _SAL_TYPES_H_
+#include <sal/types.h>
+#endif
+
+//-----------------------------------------------------------------------------
+// no full heap implementation available yet - storing pointer value in Address
+#define CFG_ADDRESS_HOLDS_POINTER
+//-----------------------------------------------------------------------------
+
+namespace configmgr
+{
+//-----------------------------------------------------------------------------
+
+    namespace memory 
+    {
+    //-----------------------------------------------------------------------------
+    // some base types that describe our memory model
+#ifndef CFG_ADDRESS_HOLDS_POINTER
+        typedef sal_uInt32 Address; // points to relative location in memory segment
+#else
+        typedef sal_uIntPtr Address; // points to absolute location in memory
+#endif
+        typedef sal_uInt32 HeapSize; // memory block size within private heap
+        typedef sal_uInt8  Byte;  
+    //-----------------------------------------------------------------------------
+    }
+//-----------------------------------------------------------------------------
+}
+
+
+#endif // CONFIGMGR_MEMORYMODEL_HXX 
Index: source/inc/pointer.hxx
===================================================================
RCS file: /cvs/util/configmgr/source/inc/pointer.hxx,v
retrieving revision 1.4
retrieving revision 1.4.18.1
diff -u -r1.4 -r1.4.18.1
--- source/inc/pointer.hxx	8 Sep 2005 03:53:22 -0000	1.4
+++ source/inc/pointer.hxx	5 Dec 2005 14:00:57 -0000	1.4.18.1
@@ -36,12 +36,8 @@
 #ifndef CONFIGMGR_POINTER_HXX
 #define CONFIGMGR_POINTER_HXX
 
-#ifndef _SAL_TYPES_H_
-#include <sal/types.h>
-#endif
-
-#ifndef INCLUDED_SHARABLE_BASETYPES_HXX
-#include "types.hxx"
+#ifndef CONFIGMGR_MEMORYMODEL_HXX
+#include "memorymodel.hxx"
 #endif
 
 namespace configmgr
@@ -59,7 +55,7 @@
             friend class Accessor;
             friend class UpdateAccessor;
 
-            typedef sharable::Address AddressType;
+            typedef memory::Address AddressType;
 
             AddressType m_value;
 
Index: source/inc/types.hxx
===================================================================
RCS file: /cvs/util/configmgr/source/inc/types.hxx,v
retrieving revision 1.2
retrieving revision 1.2.18.1
diff -u -r1.2 -r1.2.18.1
--- source/inc/types.hxx	8 Sep 2005 04:01:08 -0000	1.2
+++ source/inc/types.hxx	5 Dec 2005 14:00:58 -0000	1.2.18.1
@@ -36,6 +36,10 @@
 #ifndef INCLUDED_SHARABLE_BASETYPES_HXX
 #define INCLUDED_SHARABLE_BASETYPES_HXX
 
+#ifndef CONFIGMGR_MEMORYMODEL_HXX
+#include "memorymodel.hxx"
+#endif
+
 #ifndef _SAL_TYPES_H_
 #include <sal/types.h>
 #endif
@@ -55,7 +59,8 @@
     {
     //-----------------------------------------------------------------------------
     // some base types
-        typedef sal_uInt32 Address; // points to absolute location in memory segment
+        typedef memory::Address  Address;  // points to absolute location in memory segment
+        typedef memory::HeapSize HeapSize; // size of memory block within heap
         typedef sal_uInt16 Offset;  // Offset relative to 'this' in array of nodes
         typedef sal_uInt8  Byte;  
 
Index: source/inc/updateaccessor.hxx
===================================================================
RCS file: /cvs/util/configmgr/source/inc/updateaccessor.hxx,v
retrieving revision 1.4
retrieving revision 1.4.18.1
diff -u -r1.4 -r1.4.18.1
--- source/inc/updateaccessor.hxx	8 Sep 2005 04:01:21 -0000	1.4
+++ source/inc/updateaccessor.hxx	5 Dec 2005 14:00:58 -0000	1.4.18.1
@@ -39,6 +39,9 @@
 #ifndef CONFIGMGR_UTILITY_HXX_
 #include "utility.hxx"
 #endif
+#ifndef CONFIGMGR_MEMORYMODEL_HXX
+#include "memorymodel.hxx"
+#endif
 #ifndef CONFIGMGR_ACCESSOR_HXX
 #include "accessor.hxx"
 #endif
@@ -58,8 +61,8 @@
             SegmentHeap *   m_heap;
 
         public:
-            typedef sal_uInt32 Address;
-            typedef sal_uInt32 Size;
+            typedef memory::Address Address;
+            typedef memory::HeapSize Size;
 
             Address allocate(Size _sz) const;
             void deallocate(Address _addr) const;
