Convert tools/table.hxx usage to std::map in IDL module

Along the way, convert the table parameter passing to using references since we are never passing
a null pointer.
This commit is contained in:
Noel Grandin
2012-03-11 12:03:11 +02:00
committed by Caolán McNamara
parent dbd9198aa9
commit e516f134fa
9 changed files with 22 additions and 19 deletions

View File

@@ -96,7 +96,7 @@ public:
WriteType, WriteAttribute = 0 );
virtual void WriteSfx( SvIdlDataBase & rBase, SvStream & rOutStm );
virtual void WriteHelpIds( SvIdlDataBase & rBase, SvStream & rOutStm,
Table* pTable );
HelpIdTable& rTable );
};
SV_DECL_IMPL_REF(SvMetaModule)
SV_DECL_IMPL_PERSIST_LIST(SvMetaModule,SvMetaModule *)

View File

@@ -140,7 +140,7 @@ public:
WriteType, WriteAttribute = 0 );
virtual void WriteSfx( SvIdlDataBase & rBase, SvStream & rOutStm );
virtual void WriteHelpIds( SvIdlDataBase & rBase, SvStream & rOutStm,
Table* pTable );
HelpIdTable& rTable );
};
SV_IMPL_REF(SvMetaClass)
SV_IMPL_PERSIST_LIST(SvMetaClass,SvMetaClass *)

View File

@@ -260,7 +260,7 @@ public:
sal_uInt16 WriteSlotParamArray( SvIdlDataBase & rBase,
SvStream & rOutStm );
virtual void WriteHelpId( SvIdlDataBase & rBase, SvStream & rOutStm,
Table * pIdTable );
HelpIdTable& rIdTable );
virtual void WriteCSV( SvIdlDataBase&, SvStream& );
};
SV_DECL_IMPL_REF(SvMetaSlot)

View File

@@ -31,12 +31,15 @@
#include <rtl/strbuf.hxx>
#include <tools/ref.hxx>
#include <tools/table.hxx>
#include <basobj.hxx>
#include <map>
struct SvSlotElement;
typedef std::vector< SvSlotElement* > SvSlotElementList;
class SvMetaSlot;
typedef std::map<sal_uLong, SvMetaSlot*> HelpIdTable;
SV_DECL_REF(SvMetaType)
SV_DECL_REF(SvMetaAttribute)
SV_DECL_PERSIST_LIST(SvMetaAttribute,SvMetaAttribute *)
@@ -119,9 +122,9 @@ public:
virtual void Insert( SvSlotElementList&, const rtl::OString& rPrefix,
SvIdlDataBase& );
virtual void WriteHelpId( SvIdlDataBase & rBase, SvStream & rOutStm,
Table * pIdTable );
HelpIdTable& rIdTable );
virtual void WriteCSV( SvIdlDataBase&, SvStream& );
void FillIDTable(Table *pIDTable);
void FillIDTable(HelpIdTable& rIDTable);
rtl::OString Compare( SvMetaAttribute *pAttr );
};
SV_IMPL_REF(SvMetaAttribute)

View File

@@ -385,12 +385,12 @@ void SvMetaModule::WriteSfx( SvIdlDataBase & rBase, SvStream & rOutStm )
}
void SvMetaModule::WriteHelpIds( SvIdlDataBase & rBase, SvStream & rOutStm,
Table* pTable )
HelpIdTable& rTable )
{
for( sal_uLong n = 0; n < aClassList.Count(); n++ )
{
SvMetaClass * pClass = aClassList.GetObject( n );
pClass->WriteHelpIds( rBase, rOutStm, pTable );
pClass->WriteHelpIds( rBase, rOutStm, rTable );
}
}

View File

@@ -652,12 +652,12 @@ void SvMetaClass::WriteSfx( SvIdlDataBase & rBase, SvStream & rOutStm )
}
void SvMetaClass::WriteHelpIds( SvIdlDataBase & rBase, SvStream & rOutStm,
Table* pTable )
HelpIdTable& rTable )
{
for( sal_uLong n=0; n<aAttrList.Count(); n++ )
{
SvMetaAttribute * pAttr = aAttrList.GetObject( n );
pAttr->WriteHelpId( rBase, rOutStm, pTable );
pAttr->WriteHelpId( rBase, rOutStm, rTable );
}
}

View File

@@ -1496,12 +1496,12 @@ sal_uInt16 SvMetaSlot::WriteSlotMap( const rtl::OString& rShellName, sal_uInt16
}
void SvMetaSlot::WriteHelpId( SvIdlDataBase & rBase, SvStream & rOutStm,
Table * pTable )
HelpIdTable& rTable )
{
sal_uLong nSId = GetSlotId().GetValue();
if( !pTable->IsKeyValid( nSId ) )
if( rTable.find( nSId ) == rTable.end() )
{
pTable->Insert( nSId, this );
rTable[ nSId ] = this;
rOutStm << "#define " << GetSlotId().getString().getStr() << '\t'
<< rtl::OString::valueOf(static_cast<sal_Int32>(nSId)).getStr()
<< endl;
@@ -1533,9 +1533,9 @@ void SvMetaSlot::WriteHelpId( SvIdlDataBase & rBase, SvStream & rOutStm,
}
// if id not found, write always
if( !bIdOk || !pTable->IsKeyValid( nSId2 ) )
if( !bIdOk || rTable.find( nSId2 ) == rTable.end() )
{
pTable->Insert( nSId2, this );
rTable[ nSId2 ] = this;
rOutStm << "#define " << aSId.getStr() << '\t'
<< rtl::OString::valueOf(

View File

@@ -740,7 +740,7 @@ void SvMetaAttribute::Insert (SvSlotElementList&, const rtl::OString&, SvIdlData
{
}
void SvMetaAttribute::WriteHelpId( SvIdlDataBase &, SvStream &, Table * )
void SvMetaAttribute::WriteHelpId( SvIdlDataBase &, SvStream &, HelpIdTable& )
{
}

View File

@@ -765,19 +765,19 @@ sal_Bool SvIdlWorkingBase::WriteHelpIds( SvStream& rOutStm )
if( rOutStm.GetError() != SVSTREAM_OK )
return sal_False;
Table aIdTable;
HelpIdTable aIdTable;
sal_uLong n;
for( n = 0; n < GetModuleList().Count(); n++ )
{
SvMetaModule * pModule = GetModuleList().GetObject( n );
pModule->WriteHelpIds( *this, rOutStm, &aIdTable );
pModule->WriteHelpIds( *this, rOutStm, aIdTable );
}
const SvMetaAttributeMemberList & rAttrList = GetAttrList();
for( n = 0; n < rAttrList.Count(); n++ )
{
SvMetaAttribute * pAttr = rAttrList.GetObject( n );
pAttr->WriteHelpId( *this, rOutStm, &aIdTable );
pAttr->WriteHelpId( *this, rOutStm, aIdTable );
}
return sal_True;