summaryrefslogtreecommitdiff
path: root/idl
diff options
context:
space:
mode:
authorJoseph Powers <jpowers27@cox.net>2010-12-30 07:02:52 -0800
committerJoseph Powers <jpowers27@cox.net>2010-12-31 06:57:20 -0800
commit20f160082c72176f0771694fc0cbb89b78b1e1fb (patch)
tree72951e3475674b4f163ac23216abc182ea9d795c /idl
parent4c9bf4e47b00861b74ccc12497f925da2a5f7c41 (diff)
Remove DECLARE_LIST( SvMetaClassList, SvMetaClass* )
Diffstat (limited to 'idl')
-rw-r--r--idl/inc/object.hxx8
-rw-r--r--idl/source/objects/object.cxx34
2 files changed, 21 insertions, 21 deletions
diff --git a/idl/inc/object.hxx b/idl/inc/object.hxx
index 129f888c35b6..ee8d88a2c418 100644
--- a/idl/inc/object.hxx
+++ b/idl/inc/object.hxx
@@ -32,6 +32,7 @@
#define _SVSTDARR_ULONGS
#include <types.hxx>
#include <slot.hxx>
+#include <vector>
struct SvSlotElement
{
@@ -43,8 +44,9 @@ struct SvSlotElement
{}
};
DECLARE_LIST( SvSlotElementList, SvSlotElement* )
+
class SvMetaClass;
-DECLARE_LIST( SvMetaClassList, SvMetaClass* )
+typedef ::std::vector< SvMetaClass* > SvMetaClassList;
class SvULongs : public List
{
@@ -95,9 +97,6 @@ class SvMetaClass : public SvMetaType
SvBOOL aAutomation;
SvMetaClassRef xAutomationInterface;
-// void FillSbxMemberObject( SvIdlDataBase & rBase,
-// SbxObject *, StringList &,
-// BOOL bVariable );
BOOL TestAttribute( SvIdlDataBase & rBase, SvTokenStream & rInStm,
SvMetaAttribute & rAttr ) const;
#ifdef IDL_COMPILER
@@ -141,7 +140,6 @@ public:
{ return aSuperClass; }
void FillClasses( SvMetaClassList & rList );
-// virtual void FillSbxObject( SvIdlDataBase & rBase, SbxObject * );
const SvClassElementMemberList&
GetClassList() const
diff --git a/idl/source/objects/object.cxx b/idl/source/objects/object.cxx
index 1f29fef4a31e..cbe0371bc24b 100644
--- a/idl/source/objects/object.cxx
+++ b/idl/source/objects/object.cxx
@@ -565,10 +565,11 @@ void SvMetaClass::InsertSlots( SvSlotElementList& rList, SvULongs& rSuperList,
const ByteString & rPrefix, SvIdlDataBase& rBase)
{
// Wurde diese Klasse schon geschrieben ?
- if ( rClassList.GetPos(this) != LIST_ENTRY_NOTFOUND )
- return;
+ for ( size_t i = 0, n = rClassList.size(); i < n ; ++i )
+ if ( rClassList[ i ] == this )
+ return;
- rClassList.Insert(this, LIST_APPEND);
+ rClassList.push_back( this );
// alle direkten Attribute schreiben
ULONG n;
@@ -630,22 +631,23 @@ void SvMetaClass::InsertSlots( SvSlotElementList& rList, SvULongs& rSuperList,
void SvMetaClass::FillClasses( SvMetaClassList & rList )
{
// Bin ich noch nicht drin ?
- if ( rList.GetPos(this) == LIST_ENTRY_NOTFOUND )
- {
- rList.Insert(this, LIST_APPEND);
+ for ( size_t i = 0, n = rList.size(); i < n; ++i )
+ if ( rList[ i ] == this )
+ return;
- // Meine Imports
- for( ULONG n = 0; n < aClassList.Count(); n++ )
- {
- SvClassElement * pEle = aClassList.GetObject( n );
- SvMetaClass * pCl = pEle->GetClass();
- pCl->FillClasses( rList );
- }
+ rList.push_back( this );
- // Meine Superklasse
- if( aSuperClass.Is() )
- aSuperClass->FillClasses( rList );
+ // Meine Imports
+ for( ULONG n = 0; n < aClassList.Count(); n++ )
+ {
+ SvClassElement * pEle = aClassList.GetObject( n );
+ SvMetaClass * pCl = pEle->GetClass();
+ pCl->FillClasses( rList );
}
+
+ // Meine Superklasse
+ if( aSuperClass.Is() )
+ aSuperClass->FillClasses( rList );
}