IATSCustomDeps.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: 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