00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __IENGINE_COLLECTN_H__
00021 #define __IENGINE_COLLECTN_H__
00022
00023 #include "csutil/scf.h"
00024
00025 struct iObject;
00026
00027 SCF_VERSION (iCollection, 0, 0, 3);
00028
00032 struct iCollection : public iBase
00033 {
00035 virtual void* GetPrivateObject () = 0;
00036
00038 virtual iObject *QueryObject() = 0;
00039
00041 virtual iObject* FindObject (char* name) const = 0;
00042
00044 virtual int GetObjectCount () const = 0;
00045
00047 virtual void AddObject (iObject* obj) = 0;
00048
00050 virtual iObject* operator[] (int i) const = 0;
00051
00053 virtual iObject* GetObject (int i) const = 0;
00054 };
00055
00056 SCF_VERSION (iCollectionList, 0, 0, 1);
00057
00058 struct iCollectionList : public iBase
00059 {
00061 virtual iCollection* NewCollection (const char* name) = 0;
00062
00064 virtual int GetCount () const = 0;
00065
00067 virtual iCollection *Get (int n) const = 0;
00068
00070 virtual int Add (iCollection *obj) = 0;
00071
00073 virtual bool Remove (iCollection *obj) = 0;
00074
00076 virtual bool Remove (int n) = 0;
00077
00079 virtual void RemoveAll () = 0;
00080
00082 virtual int Find (iCollection *obj) const = 0;
00083
00085 virtual iCollection *FindByName (const char *Name) const = 0;
00086 };
00087
00088 #endif // __IENGINE_COLLECTN_H__
00089