AnimAppData.h

Go to the documentation of this file.
00001 //**************************************************************************/
00002 // Copyright (c) 1998-2006 Autodesk, Inc.
00003 // All rights reserved.
00004 // 
00005 // These coded instructions, statements, and computer programs contain
00006 // unpublished proprietary information written by Autodesk, Inc., and are
00007 // protected by Federal copyright law. They may not be disclosed to third
00008 // parties or copied or duplicated in any form, in whole or in part, without
00009 // the prior written consent of Autodesk, Inc.
00010 //**************************************************************************/
00011 #pragma once
00012 
00013 #include "CoreExport.h"
00014 #include "AnimProperty.h"
00015 #include "tab.h"
00016 #include "maxtypes.h"
00017 #include "AnimPropertyID.h"
00018 
00019 // forward declarations
00020 class AppDataChunk;
00021 class ILoad;
00022 class ISave;
00023 
00024 // This list is maintained by the systems. Plug-ins need not concern themselves with it.
00025 class AnimAppData : public AnimProperty {
00026     public:             
00027         Tab<AppDataChunk*> chunks;
00028         CRITICAL_SECTION csect;
00029         AppDataChunk *lastSearch;
00030 
00031         DWORD ID() {return PROPID_APPDATA;}     
00032         CoreExport ~AnimAppData();
00033         CoreExport AnimAppData();
00034 
00035         CoreExport AppDataChunk *FindChunk(Class_ID cid, SClass_ID sid, DWORD sbid);
00036         void AddChunk(AppDataChunk *newChunk) {chunks.Append(1,&newChunk);}
00037         CoreExport BOOL RemoveChunk(Class_ID cid, SClass_ID sid, DWORD sbid);
00038 
00039         CoreExport IOResult Load(ILoad *iload);
00040         CoreExport IOResult Save(ISave *isave);
00041     };