iXrefObjMgr.h

Go to the documentation of this file.
00001 //**************************************************************************/
00002 // Copyright (c) 1998-2005 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 // DESCRIPTION: Legacy Object Xref SDK
00012 // AUTHOR: Nikolai Sander - created July.07.2000
00013 //***************************************************************************/
00014 #pragma once
00015 
00016 #include "..\ifnpub.h"
00017 #include "..\GetCOREInterface.h"
00018 // forward declarations
00019 class IXRefObject;
00020 namespace MaxSDK
00021 {
00022     namespace AssetManagement
00023     {
00024         class AssetUser;
00025     }
00026 }
00027 
00029 
00046 class IObjXRefManager : public FPStaticInterface 
00047 {
00048     public:
00049     
00050     // function IDs 
00051     enum { 
00052         fnIdAddXRefObject,
00053         fnIdGetNumXRefObjects,
00054         fnIdGetXRefObject,
00055         fnIdGetNumFiles,
00056         fnIdGetFileName,
00057         fnIdReloadFile,
00058         fnIdIsFileUnresolved,
00059         fnIdIsFileDisabled,
00060         fnIdGetAllXRefObjects,
00061     };
00062     
00072     virtual IXRefObject *AddXRefObject(const MaxSDK::AssetManagement::AssetUser& asset, MCHAR *obname, int xFlags = 0)=0;
00073 
00080     virtual int GetNumXRefObjects(const MaxSDK::AssetManagement::AssetUser &asset)=0;
00081 
00089     virtual IXRefObject *GetXRefObject(const MaxSDK::AssetManagement::AssetUser &asset, int i)=0;
00090     
00093     virtual int GetNumFiles()=0;
00099     virtual const MaxSDK::AssetManagement::AssetUser &GetFile(int fidx)=0;
00105     virtual BOOL ReloadFile(const MaxSDK::AssetManagement::AssetUser &asset)=0;
00106     
00113     virtual BOOL IsFileUnresolved(const MaxSDK::AssetManagement::AssetUser &asset)=0;
00114 
00121     virtual BOOL IsFileDisabled(const MaxSDK::AssetManagement::AssetUser &asset)=0;
00127     virtual void GetAllXRefObjects(Tab<IXRefObject*> &objs)=0;
00128 };
00129 
00130 #define OBJXREFMANAGER_INTERFACE Interface_ID(0x7ede1c65, 0x353d271f)
00131 inline IObjXRefManager* GetObjXRefManager () { return (IObjXRefManager*)GetCOREInterface(OBJXREFMANAGER_INTERFACE); }
00132