summaryrefslogtreecommitdiff
path: root/tools/source/ref
diff options
context:
space:
mode:
authorAugust Sodora <augsod@gmail.com>2011-12-22 20:29:18 -0500
committerAugust Sodora <augsod@gmail.com>2011-12-22 20:29:18 -0500
commita0ebf6ee3f555397205713db966aee44de80c0f9 (patch)
tree7b6ba19241e1b8c275f0d1d522915b3fe5aaf550 /tools/source/ref
parentbbad7057b2bdb614a5e97a945039323efe39c4ee (diff)
Revert "callcatcher: Remove unused code"
This reverts commit bbad7057b2bdb614a5e97a945039323efe39c4ee.
Diffstat (limited to 'tools/source/ref')
-rw-r--r--tools/source/ref/pstm.cxx58
1 files changed, 58 insertions, 0 deletions
diff --git a/tools/source/ref/pstm.cxx b/tools/source/ref/pstm.cxx
index 4956a6aa46f5..a91b078409cb 100644
--- a/tools/source/ref/pstm.cxx
+++ b/tools/source/ref/pstm.cxx
@@ -62,6 +62,9 @@ TYPEINIT0( SvRttiBase );
/****************** SvPersistBaseMemberList ******************************/
SvPersistBaseMemberList::SvPersistBaseMemberList(){}
+SvPersistBaseMemberList::SvPersistBaseMemberList(
+ sal_uInt16 nInitSz, sal_uInt16 nResize )
+ : SuperSvPersistBaseMemberList( nInitSz, nResize ){}
#define PERSIST_LIST_VER (sal_uInt8)0
#define PERSIST_LIST_DBGUTIL (sal_uInt8)0x80
@@ -197,6 +200,44 @@ SvPersistStream::SvPersistStream
}
//=========================================================================
+SvPersistStream::SvPersistStream
+(
+ SvClassManager & rMgr, /* Alle Factorys, deren Objekt geladen und
+ gespeichert werdn k"onnen */
+ SvStream * pStream, /* Dieser Stream wird als Medium genommen, auf
+ dem der PersistStream arbeitet */
+ const SvPersistStream & rPersStm
+ /* Wenn PersistStream's verschachtelt werden,
+ dann ist dies der Parent-Stream. */
+)
+ : rClassMgr( rMgr )
+ , pStm( pStream )
+ // Bereiche nicht ueberschneiden, deshalb nur groessere Indexe
+ , aPUIdx( rPersStm.GetCurMaxIndex() +1 )
+ , nStartIdx( rPersStm.GetCurMaxIndex() +1 )
+ , pRefStm( &rPersStm )
+ , nFlags( 0 )
+/* [Beschreibung]
+
+ Der Konstruktor der Klasse SvPersistStream. Die Objekte rMgr und
+ pStream d"urfen nicht ver"andert werden, solange sie in einem
+ SvPersistStream eingesetzt sind. Eine Aussnahme gibt es f"ur
+ pStream (siehe <SvPersistStream::SetStream>).
+ Durch diesen Konstruktor wird eine Hierarchiebildung unterst"utzt.
+ Alle Objekte aus einer Hierarchie m"ussen erst geladen werden,
+ wenn das erste aus dieser Hierarchie benutzt werden soll.
+*/
+{
+ bIsWritable = sal_True;
+ if( pStm )
+ {
+ SetVersion( pStm->GetVersion() );
+ SetError( pStm->GetError() );
+ SyncSvStream( pStm->Tell() );
+ }
+}
+
+//=========================================================================
SvPersistStream::~SvPersistStream()
/* [Beschreibung]
@@ -862,4 +903,21 @@ SvStream& operator >>
return rStm;
}
+//=========================================================================
+sal_uIntPtr SvPersistStream::InsertObj( SvPersistBase * pObj )
+{
+ sal_uIntPtr nId = aPUIdx.Insert( pObj );
+ aPTable.Insert( (sal_uIntPtr)pObj, (void *)nId );
+ return nId;
+}
+
+//=========================================================================
+sal_uIntPtr SvPersistStream::RemoveObj( SvPersistBase * pObj )
+{
+ sal_uIntPtr nIdx = GetIndex( pObj );
+ aPUIdx.Remove( nIdx );
+ aPTable.Remove( (sal_uIntPtr)pObj );
+ return nIdx;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */