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
00033 struct iCollection : public iBase
00034 {
00036 virtual iObject *QueryObject() = 0;
00037
00039 virtual iObject* FindObject (char* name) const = 0;
00040
00042 virtual int GetObjectCount () const = 0;
00043
00045 virtual void AddObject (iObject* obj) = 0;
00046
00048 virtual iObject* operator[] (int i) const = 0;
00049
00051 virtual iObject* GetObject (int i) const = 0;
00052 };
00053
00054 SCF_VERSION (iCollectionList, 0, 0, 1);
00055
00056 struct iCollectionList : public iBase
00057 {
00059 virtual iCollection* NewCollection (const char* name) = 0;
00060
00062 virtual int GetCount () const = 0;
00063
00065 virtual iCollection *Get (int n) const = 0;
00066
00068 virtual int Add (iCollection *obj) = 0;
00069
00071 virtual bool Remove (iCollection *obj) = 0;
00072
00074 virtual bool Remove (int n) = 0;
00075
00077 virtual void RemoveAll () = 0;
00078
00080 virtual int Find (iCollection *obj) const = 0;
00081
00083 virtual iCollection *FindByName (const char *Name) const = 0;
00084 };
00085
00086 #endif // __IENGINE_COLLECTN_H__
00087