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: Interface for ATS Custom Dependencies 00012 // AUTHOR: Michael Russo - created April 27, 2005 00013 //***************************************************************************/ 00014 00015 #pragma once 00016 00017 #include "..\iFnPub.h" 00018 #include "..\containers\Array.h" 00019 #include "..\FileEnumConstants.h" 00020 00021 class AssetEnumCallback; 00022 00024 #define IATSCUSTOMDEPS_INTERFACE Interface_ID(0x23b7a30, 0x18b368ba) 00025 00027 // 00028 // class IATSCustomDeps 00029 // 00031 00033 00037 class IATSCustomDeps : public FPStaticInterface { 00038 00039 public: 00040 00042 00045 virtual bool LaunchDialog( HWND hParent ) = 0; 00046 00048 00050 virtual int NumFiles() = 0; 00051 00053 00056 virtual const MCHAR* GetFile( UINT iIndex ) = 0; 00057 00059 00063 virtual int GetFiles( MaxSDK::Array<MSTR> &files ) = 0; 00064 00066 00070 virtual int AddFile( const MCHAR* szFile ) = 0; 00071 00073 00077 virtual bool SetFile( UINT iIndex, const MCHAR* szFile ) = 0; 00078 00080 00083 virtual bool RemoveFile( UINT iIndex ) = 0; 00084 00086 00089 virtual bool RemoveFile( const MCHAR* szFile ) = 0; 00090 00092 00094 virtual bool RemoveAll() = 0; 00095 00097 00100 virtual void EnumAuxFiles(AssetEnumCallback& nameEnum, DWORD flags = FILE_ENUM_ALL) = 0; 00101 00102 }; 00103 00105 #define GetIATSCustomDeps() ((IATSCustomDeps*)GetCOREInterface(IATSCUSTOMDEPS_INTERFACE)) 00106