00001 //----------------------------------------------------------------------------- 00002 // Project : SDK Core 00003 // Version : 1.0 00004 // 00005 // Category : SDK Core Interfaces 00006 // Filename : ilist.h 00007 // Created by : Steinberg, 01/2006 00008 // Modified : $Date: 2007/11/28 17:31:13 $ 00009 // Description : List of objects of type FUnknown 00010 // 00011 //----------------------------------------------------------------------------- 00012 // LICENSE 00013 // © 2007, Steinberg Media Technologies GmbH, All Rights Reserved 00014 //----------------------------------------------------------------------------- 00015 // This Software Development Kit may not be distributed in parts or its entirety 00016 // without prior written agreement by Steinberg Media Technologies GmbH. 00017 // This SDK must not be used to re-engineer or manipulate any technology used 00018 // in any Steinberg or Third-party application or software module, 00019 // unless permitted by law. It may only be used for development of products 00020 // defined in the license agreement between Steinberg and Licensee or for internal, 00021 // not publicly released products of Licensee. 00022 //------------------------------------------------------------------------------ 00023 00024 #ifndef __ilist__ 00025 #define __ilist__ 00026 00027 #ifndef __funknown__ 00028 #include "funknown.h" 00029 #endif 00030 00031 namespace Steinberg { 00032 00033 //------------------------------------------------------------------------ 00040 //------------------------------------------------------------------------ 00041 class IList : public FUnknown 00042 { 00043 public: 00044 //------------------------------------------------------------------------ 00046 virtual int32 total () const = 0; 00047 00049 virtual FUnknown* at (int32 index) = 0; 00050 00052 virtual void append (FUnknown* obj) = 0; 00053 00055 virtual void remove (FUnknown* obj) = 0; 00056 //------------------------------------------------------------------------ 00057 static const FUID iid; 00058 }; 00059 00060 DECLARE_CLASS_IID (IList, 0x8E8562D8, 0x67F54576, 0x817561CF, 0xC2B134E3) 00061 00062 } 00063 00064 #endif