diff options
author | Rafael Dominguez <venccsralph@gmail.com> | 2011-03-26 08:48:07 -0430 |
---|---|---|
committer | Katarina Machalkova <kmachalkova@suse.cz> | 2011-04-28 11:02:16 +0200 |
commit | 08364f64ab0df90909c2daea5b321b92c42466cc (patch) | |
tree | c257486d96f34a4717e29537381fa90631fd4447 /sd | |
parent | 64a817a3e62ea200684a8fd60caa035b4ec7691d (diff) |
Remove deprecated List container in PropRead
Moved PropEntry to header.
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/filter/ppt/propread.cxx | 52 | ||||
-rw-r--r-- | sd/source/filter/ppt/propread.hxx | 20 |
2 files changed, 26 insertions, 46 deletions
diff --git a/sd/source/filter/ppt/propread.cxx b/sd/source/filter/ppt/propread.cxx index b2390d57839e..97b9b91430b2 100644 --- a/sd/source/filter/ppt/propread.cxx +++ b/sd/source/filter/ppt/propread.cxx @@ -34,22 +34,6 @@ #include "rtl/tencinfo.h" #include "rtl/textenc.h" -// ------------------------------------------------------------------------ - -struct PropEntry -{ - sal_uInt32 mnId; - sal_uInt32 mnSize; - sal_uInt16 mnTextEnc; - sal_uInt8* mpBuf; - - PropEntry( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize, sal_uInt16 nTextEnc ); - PropEntry( const PropEntry& rProp ); - ~PropEntry() { delete[] mpBuf; } ; - - const PropEntry& operator=(const PropEntry& rPropEntry); -}; - PropEntry::PropEntry( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize, sal_uInt16 nTextEnc ) : mnId ( nId ), mnSize ( nBufSize ), @@ -631,38 +615,28 @@ PropRead::PropRead( SvStorage& rStorage, const String& rName ) : void PropRead::AddSection( Section& rSection ) { - Insert( new Section( rSection ), LIST_APPEND ); + maSections.push_back( new Section( rSection ) ); } // ----------------------------------------------------------------------- const Section* PropRead::GetSection( const sal_uInt8* pFMTID ) { - Section* pSection; - - for ( pSection = (Section*)First(); pSection; pSection = (Section*)Next() ) + boost::ptr_vector<Section>::iterator it; + for ( it = maSections.begin(); it != maSections.end(); ++it) { - if ( memcmp( pSection->GetFMTID(), pFMTID, 16 ) == 0 ) - break; + if ( memcmp( it->GetFMTID(), pFMTID, 16 ) == 0 ) + return &(*it); } - return pSection; -} - -// ----------------------------------------------------------------------- - -PropRead::~PropRead() -{ - for ( Section* pSection = (Section*)First(); pSection; pSection = (Section*)Next() ) - delete pSection; + return NULL; } // ----------------------------------------------------------------------- void PropRead::Read() { - for ( Section* pSection = (Section*)First(); pSection; pSection = (Section*)Next() ) - delete pSection; - Clear(); + maSections.clear(); + if ( mbStatus ) { sal_uInt32 nSections; @@ -696,10 +670,8 @@ void PropRead::Read() // ----------------------------------------------------------------------- -PropRead& PropRead::operator=( PropRead& rPropRead ) +PropRead& PropRead::operator=( const PropRead& rPropRead ) { - Section* pSection; - if ( this != &rPropRead ) { mbStatus = rPropRead.mbStatus; @@ -711,11 +683,7 @@ PropRead& PropRead::operator=( PropRead& rPropRead ) mnVersionHi = rPropRead.mnVersionHi; memcpy( mApplicationCLSID, rPropRead.mApplicationCLSID, 16 ); - for ( pSection = (Section*)First(); pSection; pSection = (Section*)Next() ) - delete pSection; - Clear(); - for ( pSection = (Section*)rPropRead.First(); pSection; pSection = (Section*)rPropRead.Next() ) - Insert( new Section( *pSection ), LIST_APPEND ); + maSections = rPropRead.maSections.clone(); } return *this; } diff --git a/sd/source/filter/ppt/propread.hxx b/sd/source/filter/ppt/propread.hxx index 3385dd37e28f..79b1c27dd174 100644 --- a/sd/source/filter/ppt/propread.hxx +++ b/sd/source/filter/ppt/propread.hxx @@ -110,7 +110,19 @@ // ------------------------------------------------------------------------ -class PropEntry; +struct PropEntry +{ + sal_uInt32 mnId; + sal_uInt32 mnSize; + sal_uInt16 mnTextEnc; + sal_uInt8* mpBuf; + + PropEntry( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize, sal_uInt16 nTextEnc ); + PropEntry( const PropEntry& rProp ); + ~PropEntry() { delete[] mpBuf; } ; + + const PropEntry& operator=(const PropEntry& rPropEntry); +}; class PropItem : public SvMemoryStream { @@ -168,7 +180,7 @@ class Section // ------------------------------------------------------------------------ -class PropRead : private List +class PropRead { sal_Bool mbStatus; SvStorageStreamRef mpSvStream; @@ -178,14 +190,14 @@ class PropRead : private List sal_uInt16 mnVersionLo; sal_uInt16 mnVersionHi; sal_uInt8 mApplicationCLSID[ 16 ]; + boost::ptr_vector<Section> maSections; void AddSection( Section& rSection ); public: PropRead( SvStorage& rSvStorage, const String& rName ); - ~PropRead(); - PropRead& operator=( PropRead& rPropRead ); + PropRead& operator=( const PropRead& rPropRead ); const Section* GetSection( const sal_uInt8* pFMTID ); sal_Bool IsValid() const { return mbStatus; }; void Read(); |