[Libreoffice-commits] .: binfilter/bf_basic binfilter/bf_sd binfilter/bf_so3 binfilter/bf_svtools binfilter/bf_svx binfilter/inc

Caolán McNamara caolan at kemper.freedesktop.org
Wed Aug 8 08:27:53 PDT 2012


 binfilter/bf_basic/source/basmgr/basmgr.cxx                  |    1 
 binfilter/bf_sd/source/core/sd_cusshow.cxx                   |    1 
 binfilter/bf_so3/source/persist/persist.cxx                  |  105 ++++
 binfilter/bf_svtools/source/filter.vcl/filter/svt_filter.cxx |    1 
 binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx        |    1 
 binfilter/bf_svtools/source/items1/svt_slstitm.cxx           |    1 
 binfilter/bf_svtools/source/misc/svt_flbytes.cxx             |    5 
 binfilter/bf_svtools/source/numbers/svt_zforlist.cxx         |    1 
 binfilter/bf_svx/source/engine3d/svx_scene3d.cxx             |    2 
 binfilter/bf_svx/source/outliner/svx_outliner.cxx            |    1 
 binfilter/inc/bf_sc/global.hxx                               |    1 
 binfilter/inc/bf_sd/cusshow.hxx                              |    2 
 binfilter/inc/bf_sd/sdpage.hxx                               |    1 
 binfilter/inc/bf_sd/stlpool.hxx                              |    1 
 binfilter/inc/bf_so3/persist.hxx                             |   26 +
 binfilter/inc/bf_so3/ref.hxx                                 |  246 +++++++++++
 binfilter/inc/bf_so3/so2ref.hxx                              |    1 
 binfilter/inc/bf_svtools/imap.hxx                            |    1 
 binfilter/inc/bf_svx/svdlayer.hxx                            |    1 
 binfilter/inc/bf_svx/xtable.hxx                              |    1 
 20 files changed, 397 insertions(+), 3 deletions(-)

New commits:
commit a53b71a60ef10a926769f44ef89f59f935bb5dd7
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Aug 8 16:26:06 2012 +0100

    make binfilter build again
    
    Change-Id: I8ca77d957966f554fd24490424d1bb40d5d99e37

diff --git a/binfilter/bf_basic/source/basmgr/basmgr.cxx b/binfilter/bf_basic/source/basmgr/basmgr.cxx
index a4fefe8..d9453b8 100644
--- a/binfilter/bf_basic/source/basmgr/basmgr.cxx
+++ b/binfilter/bf_basic/source/basmgr/basmgr.cxx
@@ -29,6 +29,7 @@
 #include <sot/storinfo.hxx>
 #include <bf_svtools/pathoptions.hxx>
 #include <tools/debug.hxx>
+#include <tools/list.hxx>
 
 #include <sbmod.hxx>
 
diff --git a/binfilter/bf_sd/source/core/sd_cusshow.cxx b/binfilter/bf_sd/source/core/sd_cusshow.cxx
index 919d3a0..5bfd47a 100644
--- a/binfilter/bf_sd/source/core/sd_cusshow.cxx
+++ b/binfilter/bf_sd/source/core/sd_cusshow.cxx
@@ -27,6 +27,7 @@
 #include "sdpage.hxx"
 #include "drawdoc.hxx"
 
+#include <tools/list.hxx>
 // #90477#
 #include <tools/tenccvt.hxx>
 namespace binfilter {
diff --git a/binfilter/bf_so3/source/persist/persist.cxx b/binfilter/bf_so3/source/persist/persist.cxx
index 36dcb8f..641b126 100644
--- a/binfilter/bf_so3/source/persist/persist.cxx
+++ b/binfilter/bf_so3/source/persist/persist.cxx
@@ -29,6 +29,8 @@
 #include <sot/storinfo.hxx>
 #include <sot/formats.hxx>
 
+#include <rtl/strbuf.hxx>
+
 #include <tools/debug.hxx>
 #include <bf_tools/string.hxx>
 
@@ -1246,6 +1248,109 @@ void SvPersist::CleanUp( BOOL bRecurse)
         }
     }
 }
+
+SvPersistBaseMemberList::SvPersistBaseMemberList(){}
+
+#define PERSIST_LIST_VER        (sal_uInt8)0
+#define PERSIST_LIST_DBGUTIL    (sal_uInt8)0x80
+
+/************************************************************************
+|*    SvPersistBaseMemberList::WriteOnlyStreamedObjects()
+*************************************************************************/
+void SvPersistBaseMemberList::WriteObjects( SvPersistStream & rStm,
+                                            sal_Bool bOnlyStreamed ) const
+{
+#ifdef STOR_NO_OPTIMIZE
+    rStm << (sal_uInt8)(PERSIST_LIST_VER | PERSIST_LIST_DBGUTIL);
+    sal_uInt32 nObjPos = rStm.WriteDummyLen();
+#else
+    sal_uInt8 bTmp = PERSIST_LIST_VER;
+    rStm << bTmp;
+#endif
+    sal_uInt32 nCountMember = Count();
+    sal_uIntPtr  nCountPos = rStm.Tell();
+    sal_uInt32 nWriteCount = 0;
+    rStm << nCountMember;
+    //bloss die Liste nicht veraendern,
+    //wegen Seiteneffekten beim Save
+    for( sal_uIntPtr n = 0; n < nCountMember; n++ )
+    {
+        SvPersistBase * pObj = GetObject( n );
+        if( !bOnlyStreamed || rStm.IsStreamed( pObj ) )
+        { // Objekt soll geschrieben werden
+            rStm << GetObject( n );
+            nWriteCount++;
+        }
+    }
+    if( nWriteCount != nCountMember )
+    {
+        // nicht alle Objekte geschrieben, Count anpassen
+        sal_uIntPtr nPos = rStm.Tell();
+        rStm.Seek( nCountPos );
+        rStm << nWriteCount;
+        rStm.Seek( nPos );
+    }
+#ifdef STOR_NO_OPTIMIZE
+    rStm.WriteLen( nObjPos );
+#endif
+}
+
+/************************************************************************
+|*    operator << ()
+*************************************************************************/
+SvPersistStream& operator << ( SvPersistStream & rStm,
+                               const SvPersistBaseMemberList & rLst )
+{
+    rLst.WriteObjects( rStm );
+    return rStm;
+}
+
+/************************************************************************
+|*    operator >> ()
+*************************************************************************/
+SvPersistStream& operator >> ( SvPersistStream & rStm,
+                               SvPersistBaseMemberList & rLst )
+{
+    sal_uInt8 nVer;
+    rStm >> nVer;
+
+    if( (nVer & ~PERSIST_LIST_DBGUTIL) != PERSIST_LIST_VER )
+    {
+        rStm.SetError( SVSTREAM_GENERALERROR );
+        OSL_FAIL( "persist list, false version" );
+    }
+
+    sal_uInt32 nObjLen(0), nObjPos(0);
+    if( nVer & PERSIST_LIST_DBGUTIL )
+        nObjLen = rStm.ReadLen( &nObjPos );
+
+    sal_uInt32 nCount;
+    rStm >> nCount;
+    for( sal_uIntPtr n = 0; n < nCount && rStm.GetError() == SVSTREAM_OK; n++ )
+    {
+        SvPersistBase * pObj;
+        rStm >> pObj;
+        if( pObj )
+            rLst.Append( pObj );
+    }
+#ifdef DBG_UTIL
+            if( nObjLen + nObjPos != rStm.Tell() )
+            {
+                rtl::OStringBuffer aStr(
+                    RTL_CONSTASCII_STRINGPARAM("false list len: read = "));
+                aStr.append(static_cast<sal_Int64>(rStm.Tell() - nObjPos));
+                aStr.append(RTL_CONSTASCII_STRINGPARAM(", should = "));
+                aStr.append(static_cast<sal_Int64>(nObjLen));
+                OSL_FAIL(aStr.getStr());
+            }
+#else
+            (void)nObjLen;
+#endif
+    return rStm;
+}
+
+
+
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svtools/source/filter.vcl/filter/svt_filter.cxx b/binfilter/bf_svtools/source/filter.vcl/filter/svt_filter.cxx
index 6332de9..5db698a 100644
--- a/binfilter/bf_svtools/source/filter.vcl/filter/svt_filter.cxx
+++ b/binfilter/bf_svtools/source/filter.vcl/filter/svt_filter.cxx
@@ -24,6 +24,7 @@
 #include <comphelper/processfactory.hxx>
 #include <ucbhelper/content.hxx>
 #include <cppuhelper/implbase1.hxx>
+#include <tools/list.hxx>
 #include <tools/urlobj.hxx>
 #include <vcl/salctype.hxx>
 #include <vcl/pngread.hxx>
diff --git a/binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx b/binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx
index 13b8ec3..9b35135 100644
--- a/binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx
+++ b/binfilter/bf_svtools/source/filter.vcl/wmf/winmtf.hxx
@@ -31,6 +31,7 @@
 #include <sot/object.hxx>
 #include <boost/shared_ptr.hpp>
 #include <tools/debug.hxx>
+#include <tools/list.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/virdev.hxx>
 #include <tools/poly.hxx>
diff --git a/binfilter/bf_svtools/source/items1/svt_slstitm.cxx b/binfilter/bf_svtools/source/items1/svt_slstitm.cxx
index aaaabfe..e951e31 100644
--- a/binfilter/bf_svtools/source/items1/svt_slstitm.cxx
+++ b/binfilter/bf_svtools/source/items1/svt_slstitm.cxx
@@ -24,6 +24,7 @@
 #include <com/sun/star/uno/Any.hxx>
 #include <com/sun/star/uno/Sequence.hxx>
 
+#include <tools/list.hxx>
 #include <tools/stream.hxx>
 
 namespace binfilter
diff --git a/binfilter/bf_svtools/source/misc/svt_flbytes.cxx b/binfilter/bf_svtools/source/misc/svt_flbytes.cxx
index 5848425..f4640c0 100644
--- a/binfilter/bf_svtools/source/misc/svt_flbytes.cxx
+++ b/binfilter/bf_svtools/source/misc/svt_flbytes.cxx
@@ -27,6 +27,8 @@
 #undef _SVSTDARR_ULONGS
 #endif
 
+#include <bf_so3/ref.hxx>
+
 //============================================================================
 namespace binfilter
 {
@@ -37,7 +39,8 @@ inline ULONG MyMin( long a, long b )
 }
 
 //============================================================================
-SV_DECL_IMPL_REF_LIST( SvLockBytes, SvLockBytes* )
+SV_DECL_REF_LIST(SvLockBytes,SvLockBytes*)
+SV_IMPL_REF_LIST(SvLockBytes,SvLockBytes*)
 
 //============================================================================
 //
diff --git a/binfilter/bf_svtools/source/numbers/svt_zforlist.cxx b/binfilter/bf_svtools/source/numbers/svt_zforlist.cxx
index 6fa856d..643e73c 100644
--- a/binfilter/bf_svtools/source/numbers/svt_zforlist.cxx
+++ b/binfilter/bf_svtools/source/numbers/svt_zforlist.cxx
@@ -27,6 +27,7 @@
  ************************************************************************/
 
 #include <tools/debug.hxx>
+#include <tools/list.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
 #include <unotools/charclass.hxx>
diff --git a/binfilter/bf_svx/source/engine3d/svx_scene3d.cxx b/binfilter/bf_svx/source/engine3d/svx_scene3d.cxx
index 5bd439f..56637e3 100644
--- a/binfilter/bf_svx/source/engine3d/svx_scene3d.cxx
+++ b/binfilter/bf_svx/source/engine3d/svx_scene3d.cxx
@@ -36,6 +36,8 @@
 
 #include <bf_svtools/whiter.hxx>
 
+#include <tools/list.hxx>
+
 #include "scene3d.hxx"
 
 namespace binfilter {
diff --git a/binfilter/bf_svx/source/outliner/svx_outliner.cxx b/binfilter/bf_svx/source/outliner/svx_outliner.cxx
index 4abf03a..96b98c6 100644
--- a/binfilter/bf_svx/source/outliner/svx_outliner.cxx
+++ b/binfilter/bf_svx/source/outliner/svx_outliner.cxx
@@ -52,6 +52,7 @@
 #include "lrspitem.hxx"
 
 #include <bf_svtools/undo.hxx>
+#include <tools/list.hxx>
 
 namespace binfilter {
 
diff --git a/binfilter/inc/bf_sc/global.hxx b/binfilter/inc/bf_sc/global.hxx
index bdc2cd0..539c789 100644
--- a/binfilter/inc/bf_sc/global.hxx
+++ b/binfilter/inc/bf_sc/global.hxx
@@ -24,6 +24,7 @@
 #include <bf_tools/string.hxx>
 
 #include <i18npool/lang.h>
+#include <tools/list.hxx>
 #include <tools/stream.hxx>
 #include <osl/endian.h>
 namespace com { namespace sun { namespace star { namespace lang {
diff --git a/binfilter/inc/bf_sd/cusshow.hxx b/binfilter/inc/bf_sd/cusshow.hxx
index fb12d6b..2dddc27 100644
--- a/binfilter/inc/bf_sd/cusshow.hxx
+++ b/binfilter/inc/bf_sd/cusshow.hxx
@@ -21,9 +21,9 @@
 #define _SD_CUSSHOW_HXX
 
 
+#include <tools/list.hxx>
 #include <tools/stream.hxx>
 
-
 #include <cppuhelper/weakref.hxx>
 namespace binfilter {
 
diff --git a/binfilter/inc/bf_sd/sdpage.hxx b/binfilter/inc/bf_sd/sdpage.hxx
index a5278a5..e3619db 100644
--- a/binfilter/inc/bf_sd/sdpage.hxx
+++ b/binfilter/inc/bf_sd/sdpage.hxx
@@ -33,6 +33,7 @@
 #ifndef _PRESENTATION
 #include <bf_sd/pres.hxx>
 #endif
+#include <tools/list.hxx>
 namespace binfilter {
 
 class SfxStyleSheet;
diff --git a/binfilter/inc/bf_sd/stlpool.hxx b/binfilter/inc/bf_sd/stlpool.hxx
index 429962c..a5451c8 100644
--- a/binfilter/inc/bf_sd/stlpool.hxx
+++ b/binfilter/inc/bf_sd/stlpool.hxx
@@ -22,6 +22,7 @@
 
 
 #include <bf_svtools/style.hxx>
+#include <tools/list.hxx>
 namespace binfilter {
 
 class SdStyleSheet;
diff --git a/binfilter/inc/bf_so3/persist.hxx b/binfilter/inc/bf_so3/persist.hxx
index e30eba3..3f959fd 100644
--- a/binfilter/inc/bf_so3/persist.hxx
+++ b/binfilter/inc/bf_so3/persist.hxx
@@ -280,8 +280,32 @@ public:
 };
 
 SV_IMPL_REF(SvInfoObject)
-SV_DECL_IMPL_PERSIST_LIST(SvInfoObject,SvInfoObject*)
 
+// Damit die Liste, anders benannt wird
+typedef SvPersistBase SuperSvPersistBase;
+SV_DECL_REF_LIST_VISIBILITY(SuperSvPersistBase,SuperSvPersistBase*,SO3_DLLPUBLIC)
+SV_IMPL_REF_LIST(SuperSvPersistBase,SuperSvPersistBase*)
+
+class SO3_DLLPUBLIC SvPersistBaseMemberList : public SuperSvPersistBaseMemberList
+{
+public:
+    SvPersistBaseMemberList();
+
+    void   WriteObjects( SvPersistStream &, sal_Bool bOnlyStreamedObj = sal_False ) const;
+    SO3_DLLPUBLIC friend SvPersistStream& operator << (SvPersistStream &, const SvPersistBaseMemberList &);
+    SO3_DLLPUBLIC friend SvPersistStream& operator >> (SvPersistStream &, SvPersistBaseMemberList &);
+};
+
+/*************************************************************************/
+#define SV_DECL_PERSIST_LIST(ClassName,EntryName)\
+class ClassName##MemberList : public SvPersistBaseMemberList\
+{\
+public:\
+    PRV_SV_DECL_MEMBER_LIST(ClassName,EntryName)\
+};
+
+SV_DECL_PERSIST_LIST(SvInfoObject,SvInfoObject*)
+PRV_SV_IMPL_MEMBER_LIST(SvInfoObject,SvInfoObject*,SvPersistBaseMemberList)
 }
 
 #endif // _PERSIST_HXX
diff --git a/binfilter/inc/bf_so3/ref.hxx b/binfilter/inc/bf_so3/ref.hxx
new file mode 100644
index 0000000..43bab15
--- /dev/null
+++ b/binfilter/inc/bf_so3/ref.hxx
@@ -0,0 +1,246 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef _BF_REF_HXX
+#define _BF_REF_HXX
+
+#include <tools/list.hxx>
+#include <vector>
+
+ /************************** S v R e f L i s t ****************************/
+#define PRV_SV_DECL_REF_LIST(CN,EN,vis) \
+class CN##List : private List                                           \
+{                                                                       \
+public:                                                                 \
+            using List::Clear;                                          \
+            using List::Count;                                          \
+            using List::GetCurPos;                                      \
+                                                                        \
+            CN##List( sal_uInt16 _nInitSize = 16, sal_uInt16 _nReSize = 16 )  \
+                : List( _nInitSize, _nReSize ) {}                       \
+            CN##List( sal_uInt16 _nBlockSize, sal_uInt16 _nInitSize,    \
+                           sal_uInt16 _nReSize )                        \
+                : List( _nBlockSize, _nInitSize, _nReSize ) {}          \
+            CN##List( const CN##List& rClassName )                      \
+                : List( rClassName ) {}                                 \
+                                                                        \
+    void    Insert( EN p, sal_uIntPtr nIndex )                          \
+                { List::Insert( (void*)p, nIndex ); }                   \
+    void    Insert( EN p )                                              \
+                { List::Insert( (void*)p ); }                           \
+    EN      Remove()                                                    \
+                { return (EN)List::Remove(); }                          \
+    EN      Remove( sal_uIntPtr nIndex )                                \
+                { return (EN)List::Remove( nIndex ); }                  \
+    EN      Remove( EN p )                                              \
+                { return (EN)List::Remove( (void*)p ); }                \
+    EN      Replace( EN p, sal_uIntPtr nIndex )                         \
+                { return (EN)List::Replace( (void*)p, nIndex ); }       \
+    EN      Replace( EN pNew, EN pOld )                                 \
+                { return (EN)List::Replace( (void*)pNew, (void*)pOld ); }   \
+                                                                        \
+    EN      GetCurObject() const                                        \
+                { return (EN)List::GetCurObject(); }                    \
+    EN      GetObject( sal_uIntPtr nIndex ) const                       \
+                { return (EN)List::GetObject( nIndex ); }               \
+    sal_uIntPtr GetPos( const EN p ) const                              \
+                { return List::GetPos( (const void*)p ); }              \
+                                                                        \
+    EN      Seek( sal_uIntPtr nIndex )                                  \
+                { return (EN)List::Seek( nIndex ); }                    \
+    EN      Seek( void* p ) { return (EN)List::Seek( p ); }             \
+    EN      First()         { return (EN)List::First(); }               \
+    EN      Last()          { return (EN)List::Last(); }                \
+    EN      Next()          { return (EN)List::Next(); }                \
+    EN      Prev()          { return (EN)List::Prev(); }                \
+                                                                        \
+    CN##List&  operator =( const CN##List& rClassName )                 \
+                    { List::operator =( rClassName ); return *this; }   \
+                                                                        \
+    sal_Bool        operator ==( const CN##List& rList ) const          \
+                    { return List::operator ==( rList ); }              \
+    sal_Bool        operator !=( const CN##List& rList ) const          \
+                    { return List::operator !=( rList ); }              \
+};                                                                      \
+class vis CN##MemberList : public CN##List\
+{\
+public:\
+    inline CN##MemberList();\
+    inline CN##MemberList(sal_uInt16 nInitSz, sal_uInt16 nResize );\
+    inline CN##MemberList( const CN##MemberList & rRef );\
+    inline ~CN##MemberList();\
+    inline CN##MemberList & operator =( const CN##MemberList & rRef );\
+    inline void Clear();\
+    inline void Insert( EN p )\
+        {\
+            CN##List::Insert( p );\
+            p->AddRef();\
+        }\
+    inline void Insert( EN p, sal_uIntPtr nIndex )\
+        {\
+            CN##List::Insert( p, nIndex );\
+            p->AddRef();\
+        }\
+    inline void Append( EN p ) { Insert( p, LIST_APPEND ); }\
+    inline EN   Remove();\
+    inline EN   Remove( sal_uIntPtr nIndex );\
+    inline EN   Remove( EN p );\
+    inline EN   Replace( EN p, sal_uIntPtr nIndex );\
+    inline EN   Replace( EN pNew, EN pOld );\
+    inline void Append( const CN##MemberList & );\
+};
+
+#define SV_DECL_REF_LIST(CN,EN) \
+PRV_SV_DECL_REF_LIST(CN,EN,/* empty */)
+
+/************************** S v R e f L i s t ****************************/
+#define SV_IMPL_REF_LIST( CN, EN ) \
+inline CN##MemberList::CN##MemberList(){}\
+inline CN##MemberList::CN##MemberList(sal_uInt16 nInitSz, sal_uInt16 nResize )\
+    : CN##List( nInitSz, nResize ){}\
+inline CN##MemberList::CN##MemberList( const CN##MemberList & rRef ) \
+      : CN##List( rRef ) \
+{\
+    sal_uIntPtr nOldCount = Count(); \
+    EN pEntry = First(); \
+    while( pEntry ) \
+    { pEntry->AddRef(); pEntry = Next(); } \
+    Seek( nOldCount ); /* auch Curser gleich */ \
+}\
+inline CN##MemberList::~CN##MemberList() { Clear(); } \
+inline CN##MemberList & CN##MemberList::operator = \
+                    ( const CN##MemberList & rRef ) \
+{\
+    CN##MemberList & rList = (CN##MemberList &)rRef; \
+    sal_uIntPtr nOldCount = rList.Count(); \
+    /* Count der Objekte erhoehen */ \
+    EN pEntry = rList.First(); \
+    while( pEntry ) \
+    { pEntry->AddRef(); pEntry = rList.Next(); } \
+    rList.Seek( nOldCount ); /* Curser zurueck */ \
+    /* Liste kopieren */ \
+    Clear(); \
+    CN##List::operator = ( rRef ); \
+    return *this; \
+}\
+inline void        CN##MemberList::Clear() \
+{\
+    EN pEntry = Last();\
+    while( NULL != pEntry )\
+        pEntry = Remove();\
+}\
+inline EN CN##MemberList::Remove() \
+{\
+    EN p = CN##List::Remove(); \
+    if( p ) p->ReleaseReference(); return p; \
+}\
+inline EN CN##MemberList::Remove( sal_uIntPtr nIndex ) \
+{\
+    EN p = CN##List::Remove( nIndex ); \
+    if( p ) p->ReleaseReference(); return p; \
+}\
+inline EN CN##MemberList::Remove( EN p ) \
+{\
+    p = CN##List::Remove( p ); \
+    if( p ) p->ReleaseReference(); return p; \
+}\
+inline EN CN##MemberList::Replace( EN p, sal_uIntPtr nIndex ) \
+{\
+    p->AddRef(); p = CN##List::Replace( p, nIndex ); \
+    if( p ) p->ReleaseReference(); return p; \
+}\
+inline EN CN##MemberList::Replace( EN pNew, EN pOld ) \
+{\
+    pNew->AddRef(); CN##List::Replace( pNew, pOld ); \
+    if( pOld ) pOld->ReleaseReference(); return pOld; \
+}\
+inline void CN##MemberList::Append( const CN##MemberList & rList )\
+{\
+    for( sal_uIntPtr i = 0; i < rList.Count(); i++ )\
+        Append( rList.GetObject( i ) );\
+}
+
+/************************** S v M e m b e r L i s t **********************/
+#define PRV_SV_DECL_MEMBER_LIST(Class,EntryName)        \
+       Class##MemberList() {}                           \
+inline void Insert( EntryName p );                      \
+inline void Insert( EntryName p, sal_uIntPtr nIndex );        \
+inline void Append( EntryName p );                      \
+inline EntryName   Remove();                            \
+inline EntryName   Remove( sal_uIntPtr nIndex );              \
+inline EntryName   Remove( EntryName p );               \
+inline EntryName   Replace( EntryName p, sal_uIntPtr nIndex );\
+inline EntryName   Replace( EntryName pNew, EntryName pOld );\
+inline EntryName   GetCurObject() const;\
+inline EntryName   GetObject( sal_uIntPtr nIndex ) const;\
+inline sal_uIntPtr       GetPos( const EntryName ) const;\
+inline EntryName Seek( sal_uIntPtr nIndex );\
+inline EntryName Seek( EntryName p );\
+inline EntryName First();\
+inline EntryName Last();\
+inline EntryName Next();\
+inline EntryName Prev();\
+inline void      Append( const Class##MemberList & rList );
+
+#define PRV_SV_IMPL_MEMBER_LIST(ClassName,EntryName,BaseList)\
+inline void ClassName##MemberList::Insert( EntryName p )\
+            {BaseList::Insert(p);}\
+inline void ClassName##MemberList::Insert( EntryName p, sal_uIntPtr nIdx )\
+            {BaseList::Insert(p,nIdx);}\
+inline void ClassName##MemberList::Append( EntryName p )\
+            {BaseList::Append(p);}\
+inline EntryName ClassName##MemberList::Remove()\
+            {return (EntryName)BaseList::Remove();}\
+inline EntryName ClassName##MemberList::Remove( sal_uIntPtr nIdx )\
+            {return (EntryName)BaseList::Remove(nIdx);}\
+inline EntryName ClassName##MemberList::Remove( EntryName p )\
+            {return (EntryName)BaseList::Remove(p);}\
+inline EntryName ClassName##MemberList::Replace( EntryName p, sal_uIntPtr nIdx )\
+            {return (EntryName)BaseList::Replace(p,nIdx);}\
+inline EntryName ClassName##MemberList::Replace( EntryName p, EntryName pOld )\
+            {return (EntryName)BaseList::Replace(p,pOld);}\
+inline EntryName   ClassName##MemberList::GetCurObject() const\
+            {return (EntryName)BaseList::GetCurObject();}\
+inline EntryName   ClassName##MemberList::GetObject( sal_uIntPtr nIdx ) const\
+            {return (EntryName)BaseList::GetObject( nIdx );}\
+inline EntryName ClassName##MemberList::Seek( sal_uIntPtr nIdx )\
+            {return (EntryName)BaseList::Seek( nIdx );}\
+inline EntryName ClassName##MemberList::Seek( EntryName p )\
+            {return (EntryName)BaseList::Seek( p );}\
+inline EntryName ClassName##MemberList::First()\
+            {return (EntryName)BaseList::First();}\
+inline EntryName ClassName##MemberList::Last()\
+            {return (EntryName)BaseList::Last();}\
+inline EntryName ClassName##MemberList::Next()\
+            {return (EntryName)BaseList::Next();}\
+inline EntryName ClassName##MemberList::Prev()\
+            {return (EntryName)BaseList::Prev();}\
+inline void      ClassName##MemberList::Append( const ClassName##MemberList & rList )\
+            {BaseList::Append(rList);}\
+inline sal_uIntPtr   ClassName##MemberList::GetPos( const EntryName p) const\
+            {return BaseList::GetPos( p );}
+
+#define SV_DECL_REF_LIST(CN,EN) \
+PRV_SV_DECL_REF_LIST(CN,EN,/* empty */)
+
+#define SV_DECL_REF_LIST_VISIBILITY(CN,EN,vis) \
+PRV_SV_DECL_REF_LIST(CN,EN,vis)
+
+#endif // _Weak_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/inc/bf_so3/so2ref.hxx b/binfilter/inc/bf_so3/so2ref.hxx
index f8c4f53..8a094a7 100644
--- a/binfilter/inc/bf_so3/so2ref.hxx
+++ b/binfilter/inc/bf_so3/so2ref.hxx
@@ -21,6 +21,7 @@
 #define _SO2REF_HXX
 
 #include <sot/sotref.hxx>
+#include <bf_so3/ref.hxx>
 
 namespace binfilter
 {
diff --git a/binfilter/inc/bf_svtools/imap.hxx b/binfilter/inc/bf_svtools/imap.hxx
index 0001efa..5f8a812 100644
--- a/binfilter/inc/bf_svtools/imap.hxx
+++ b/binfilter/inc/bf_svtools/imap.hxx
@@ -24,6 +24,7 @@
 
 
 #include <bf_tools/string.hxx>
+#include <tools/list.hxx>
 #include <tools/stream.hxx>
 
 class Point;
diff --git a/binfilter/inc/bf_svx/svdlayer.hxx b/binfilter/inc/bf_svx/svdlayer.hxx
index 06ad683..7693a3c 100644
--- a/binfilter/inc/bf_svx/svdlayer.hxx
+++ b/binfilter/inc/bf_svx/svdlayer.hxx
@@ -23,6 +23,7 @@
 #include <bf_svtools/bf_solar.h>
 
 #include <bf_tools/string.hxx>
+#include <tools/contnr.hxx>
 #include <tools/stream.hxx>
 #include <bf_svx/svdsob.hxx>
 #include <bf_svx/svdtypes.hxx> // fuer typedef SdrLayerID
diff --git a/binfilter/inc/bf_svx/xtable.hxx b/binfilter/inc/bf_svx/xtable.hxx
index d86fd9f..a6dd942 100644
--- a/binfilter/inc/bf_svx/xtable.hxx
+++ b/binfilter/inc/bf_svx/xtable.hxx
@@ -39,6 +39,7 @@
 #include <bf_svx/xlnasit.hxx>
 
 #include <tools/color.hxx>
+#include <tools/list.hxx>
 
 #include <bf_tools/string.hxx>
 


More information about the Libreoffice-commits mailing list