Kaydet (Commit) b751e391 authored tarafından Oliver-Rainer Wittmann's avatar Oliver-Rainer Wittmann Kaydeden (comit) Caolán McNamara

some refactoring on <StgHeader>

(cherry picked from commit 9c3ef4ee)

Conflicts:
	sot/source/sdstor/stgelem.cxx

Change-Id: I3f826dc98af5ad5cee5c2566006ab405f0730c3c
üst d0a956f1
...@@ -110,7 +110,7 @@ void StgHeader::Init() ...@@ -110,7 +110,7 @@ void StgHeader::Init()
SetTOCStart( STG_EOF ); SetTOCStart( STG_EOF );
SetDataFATStart( STG_EOF ); SetDataFATStart( STG_EOF );
for( short i = 0; i < 109; i++ ) for( short i = 0; i < cFATPagesInHeader; i++ )
SetFATPage( i, STG_FREE ); SetFATPage( i, STG_FREE );
} }
...@@ -145,7 +145,7 @@ sal_Bool StgHeader::Load( SvStream& r ) ...@@ -145,7 +145,7 @@ sal_Bool StgHeader::Load( SvStream& r )
>> nDataFATSize // 40 # of data FATpages >> nDataFATSize // 40 # of data FATpages
>> nMasterChain // 44 chain to the next master block >> nMasterChain // 44 chain to the next master block
>> nMaster; // 48 # of additional master blocks >> nMaster; // 48 # of additional master blocks
for( short i = 0; i < 109; i++ ) for( short i = 0; i < cFATPagesInHeader; i++ )
r >> nMasterFAT[ i ]; r >> nMasterFAT[ i ];
return ( r.GetErrorCode() == ERRCODE_NONE && Check() ); return ( r.GetErrorCode() == ERRCODE_NONE && Check() );
...@@ -172,7 +172,7 @@ sal_Bool StgHeader::Store( StgIo& rIo ) ...@@ -172,7 +172,7 @@ sal_Bool StgHeader::Store( StgIo& rIo )
<< nDataFATSize // 40 # of data FAT pages << nDataFATSize // 40 # of data FAT pages
<< nMasterChain // 44 chain to the next master block << nMasterChain // 44 chain to the next master block
<< nMaster; // 48 # of additional master blocks << nMaster; // 48 # of additional master blocks
for( short i = 0; i < 109; i++ ) for( short i = 0; i < cFATPagesInHeader; i++ )
r << nMasterFAT[ i ]; r << nMasterFAT[ i ];
bDirty = !rIo.Good(); bDirty = !rIo.Good();
return sal_Bool( !bDirty ); return sal_Bool( !bDirty );
...@@ -209,7 +209,7 @@ sal_Bool StgHeader::Check() ...@@ -209,7 +209,7 @@ sal_Bool StgHeader::Check()
sal_Int32 StgHeader::GetFATPage( short n ) const sal_Int32 StgHeader::GetFATPage( short n ) const
{ {
if( n >= 0 && n < 109 ) if( n >= 0 && n < cFATPagesInHeader )
return nMasterFAT[ n ]; return nMasterFAT[ n ];
else else
return STG_EOF; return STG_EOF;
...@@ -217,7 +217,7 @@ sal_Int32 StgHeader::GetFATPage( short n ) const ...@@ -217,7 +217,7 @@ sal_Int32 StgHeader::GetFATPage( short n ) const
void StgHeader::SetFATPage( short n, sal_Int32 nb ) void StgHeader::SetFATPage( short n, sal_Int32 nb )
{ {
if( n >= 0 && n < 109 ) if( n >= 0 && n < cFATPagesInHeader )
{ {
if( nMasterFAT[ n ] != nb ) if( nMasterFAT[ n ] != nb )
bDirty = sal_True, nMasterFAT[ n ] = nb; bDirty = sal_True, nMasterFAT[ n ] = nb;
......
...@@ -36,8 +36,10 @@ SvStream& operator<<( SvStream&, const ClsId& ); ...@@ -36,8 +36,10 @@ SvStream& operator<<( SvStream&, const ClsId& );
class StgHeader class StgHeader
{ {
static const sal_uInt8 cFATPagesInHeader = 109;
sal_uInt8 cSignature[ 8 ]; // 00 signature (see below) sal_uInt8 cSignature[ 8 ]; // 00 signature (see below)
ClsId aClsId; // 08 Class ID ClsId aClsId; // 08 Class ID
sal_Int32 nVersion; // 18 version number sal_Int32 nVersion; // 18 version number
sal_uInt16 nByteOrder; // 1C Unicode byte order indicator sal_uInt16 nByteOrder; // 1C Unicode byte order indicator
sal_Int16 nPageSize; // 1E 1 << nPageSize = block size sal_Int16 nPageSize; // 1E 1 << nPageSize = block size
...@@ -52,7 +54,7 @@ class StgHeader ...@@ -52,7 +54,7 @@ class StgHeader
sal_Int32 nDataFATSize; // 40 # of data fat blocks sal_Int32 nDataFATSize; // 40 # of data fat blocks
sal_Int32 nMasterChain; // 44 chain to the next master block sal_Int32 nMasterChain; // 44 chain to the next master block
sal_Int32 nMaster; // 48 # of additional master blocks sal_Int32 nMaster; // 48 # of additional master blocks
sal_Int32 nMasterFAT[ 109 ]; // 4C first 109 master FAT pages sal_Int32 nMasterFAT[ cFATPagesInHeader ]; // 4C first [cFATPagesInHeader] master FAT pages
public: public:
StgHeader(); StgHeader();
...@@ -61,23 +63,23 @@ public: ...@@ -61,23 +63,23 @@ public:
sal_Bool Load( SvStream& ); sal_Bool Load( SvStream& );
sal_Bool Store( StgIo& ); sal_Bool Store( StgIo& );
sal_Bool Check(); // check the signature and version sal_Bool Check(); // check the signature and version
short GetByteOrder() const { return nByteOrder; } short GetByteOrder() const { return nByteOrder; }
sal_Int32 GetTOCStart() const { return nTOCstrm; } sal_Int32 GetTOCStart() const { return nTOCstrm; }
void SetTOCStart( sal_Int32 n ); void SetTOCStart( sal_Int32 n );
sal_Int32 GetDataFATStart() const { return nDataFAT; } sal_Int32 GetDataFATStart() const { return nDataFAT; }
void SetDataFATStart( sal_Int32 n ); void SetDataFATStart( sal_Int32 n );
sal_Int32 GetDataFATSize() const { return nDataFATSize; } sal_Int32 GetDataFATSize() const { return nDataFATSize; }
void SetDataFATSize( sal_Int32 n ); void SetDataFATSize( sal_Int32 n );
sal_Int32 GetThreshold() const { return nThreshold; } sal_Int32 GetThreshold() const { return nThreshold; }
short GetPageSize() const { return nPageSize; } short GetPageSize() const { return nPageSize; }
short GetDataPageSize() const { return nDataPageSize; } short GetDataPageSize() const { return nDataPageSize; }
sal_Int32 GetFATSize() const { return nFATSize; } sal_Int32 GetFATSize() const { return nFATSize; }
void SetFATSize( sal_Int32 n ); void SetFATSize( sal_Int32 n );
sal_Int32 GetFATChain() const { return nMasterChain; } sal_Int32 GetFATChain() const { return nMasterChain; }
void SetFATChain( sal_Int32 n ); void SetFATChain( sal_Int32 n );
sal_Int32 GetMasters() const { return nMaster; } sal_Int32 GetMasters() const { return nMaster; }
void SetMasters( sal_Int32 n ); void SetMasters( sal_Int32 n );
short GetFAT1Size() const { return 109; } short GetFAT1Size() const { return cFATPagesInHeader; }
const ClsId& GetClassId() const { return aClsId; } const ClsId& GetClassId() const { return aClsId; }
sal_Int32 GetFATPage( short ) const; sal_Int32 GetFATPage( short ) const;
void SetFATPage( short, sal_Int32 ); void SetFATPage( short, sal_Int32 );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment