00001 //----------------------------------------------------------------------------- 00002 // Project : SDK Core 00003 // Version : 2.05 00004 // 00005 // Category : SDK Core Interfaces 00006 // Filename : icloneable.h 00007 // Created by : Steinberg, 11/2007 00008 // Modified : $Date: 2007/11/28 17:31:13 $ 00009 // Description : Interface for object copies 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 __icloneable__ 00025 #define __icloneable__ 00026 00027 #include "funknown.h" 00028 00029 namespace Steinberg { 00030 00031 //------------------------------------------------------------------------ 00036 //------------------------------------------------------------------------ 00037 class ICloneable : public FUnknown 00038 { 00039 public: 00040 //------------------------------------------------------------------------ 00041 virtual FUnknown* PLUGIN_API clone () = 0; 00042 //------------------------------------------------------------------------ 00043 static const FUID iid; 00044 }; 00045 00046 DECLARE_CLASS_IID (ICloneable, 0xD45406B9, 0x3A2D4443, 0x9DAD9BA9, 0x85A1454B) 00047 00048 } 00049 00050 #endif 00051