IATSMax.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: Interfaces for ATSMax (Asset Tracking System)
00012 // AUTHOR: Michael Russo - created December 15, 2004
00013 //***************************************************************************/
00014 
00015 #pragma once
00016 
00017 #include "..\iFnPub.h"
00018 #include "IATSProvider.h"
00019 #include "..\containers\Array.h"
00020 // forward declarations
00021 class Animatable;
00022 
00024 //
00025 // Consts and Typedefs
00026 //
00028 
00029 //
00030 // Local file system status flags
00031 //
00033 const DWORD kATSFSStatusUnknown             = 0x000;
00035 const DWORD kATSFSStatusOk                  = 0x001;
00037 const DWORD kATSFSStatusMissing             = 0x002;
00039 const DWORD kATSFSStatusResolved            = 0x004;
00041 const DWORD kATSFSStatusNetPathNoCheck      = 0x008;
00042 
00043 
00045 //
00046 // class IATSMax
00047 //
00049 
00051 #define IATSMAX_INTERFACE   Interface_ID(0x20235822, 0x2632197)
00052 
00054 
00062 class IATSMax : public FPStaticInterface {
00063 
00064 public:
00065     //
00066     // Dialog Access
00067     //
00068 
00070 
00071 
00072 
00074     virtual bool            GetVisible() = 0;
00076 
00078     virtual void            SetVisible( bool bVisible ) = 0;
00079 
00081 
00083     virtual int             NumFilesSelected() = 0;
00085 
00089     virtual int             GetSelectedFiles( MaxSDK::Array<MSTR> &fileList ) = 0;
00090 
00092 
00098     virtual int             GetFilesByFileSystemStatus( DWORD dwFSStatus, MaxSDK::Array<MSTR> &fileList ) = 0;
00099 
00101 
00104     virtual DWORD           GetFileSystemStatus( const MCHAR* szFilename ) = 0;
00105 
00107 
00115     virtual int             GetResolvedPaths( const MaxSDK::Array<MSTR> &fileList, MaxSDK::Array<MSTR> &resolvedFileList ) = 0;
00116 
00118 
00123     virtual int             GetDependencyFileList( Animatable* animatable, MaxSDK::Array<MSTR>& fileList, bool includeRefHierarchy ) = 0;
00124 
00126 
00128     virtual int             NumFiles() = 0;
00130 
00134     virtual int             GetFiles( MaxSDK::Array<MSTR> &fileList ) = 0;
00136 
00144     virtual int             GetATSFileList( ATSFileList &atsFileList, bool bSetAllActive, bool bTagExcluded ) = 0;
00145 
00147 
00154     virtual int             GetDependentFiles( const MCHAR* szFile, bool bRecurse, MaxSDK::Array<MSTR> &fileList, bool bIncludeOutputFiles = true ) = 0;
00155 
00157 
00160     virtual bool            IsInputFile( const MCHAR* szFile ) = 0;
00161 
00163 
00166     virtual void            SelectFiles( const MaxSDK::Array<MSTR> &fileList ) = 0;
00168     virtual void            ClearSelection() = 0;
00169 
00171 
00175     virtual void            Refresh() = 0;
00177 
00178     //
00179     // Options
00180     //
00182 
00183 
00184 
00186     virtual bool            GetDisabled() = 0;
00188 
00190     virtual void            SetDisabled( bool bDisabled ) = 0;
00191 
00193 
00197     virtual bool            GetSilent() = 0;
00199 
00201     virtual void            SetSilent( bool bSilent ) = 0;
00202 
00204 
00208     virtual bool            GetAutoLogin() = 0;
00210 
00212     virtual void            SetAutoLogin( bool bAutoLogin ) = 0;
00213 
00215 
00217     virtual bool            GetTreeView() = 0;
00219 
00221     virtual void            SetTreeView( bool bTreeView ) = 0;
00222 
00224 
00226     virtual bool            GetTableView() = 0;
00228 
00230     virtual void            SetTableView( bool bTableView ) = 0;
00232 
00234     virtual bool            GetCheckNetworkPaths() const = 0;
00236 
00238     virtual void            SetCheckNetworkPaths(bool bCheckPaths) = 0;
00239 
00241 
00243     virtual bool            GetDisplayExcluded() = 0;
00245 
00247     virtual void            SetDisplayExcluded( bool bDisplay ) = 0;
00248 
00250 
00252     virtual bool            GetExcludeOutputFiles() = 0;
00254 
00256     virtual void            SetExcludeOutputFiles( bool bExclude ) = 0;
00258 
00259     //
00260     // Aux Dialogs
00261     //
00262 
00264 
00265 
00266     virtual void            ShowPromptsDialog() = 0;
00268     virtual void            ShowWorkingCommentDialog() = 0;
00270     virtual void            ShowStatusLogDialog() = 0;
00272 
00273     //
00274     // Providers
00275     //
00277 
00278 
00279 
00281     virtual int             NumProviders() = 0;
00283 
00286     virtual IATSProvider*   GetProvider( int iProviderIndex ) = 0;
00288 
00291     virtual const MCHAR*    GetProviderName( int iProviderIndex ) = 0;
00293 
00295     virtual int             GetActiveProvider() = 0;
00297 
00299     virtual void            SetActiveProvider( int iProviderIndex ) = 0;
00301 
00304     virtual bool            LoginProvider( int iProviderIndex ) = 0;
00306 
00309     virtual bool            LogoutProvider( int iProviderIndex ) = 0;
00311 
00315     virtual bool            IsFileExcluded( int iProviderIndex, const MCHAR* szFile ) = 0;
00317 
00325     virtual bool            IsFileShareLocked( int iProviderIndex, const MCHAR* szFile ) = 0;
00327 
00332     virtual bool            Checkin( int iProviderIndex, const MaxSDK::Array<MSTR> &fileList, MSTR &strComment  ) = 0;
00334 
00339     virtual bool            Checkout( int iProviderIndex, const MaxSDK::Array<MSTR> &fileList, MSTR &strComment  ) = 0;
00341 
00345     virtual bool            UnCheckout( int iProviderIndex, const MaxSDK::Array<MSTR> &fileList ) = 0;
00347 
00354     virtual bool            AddFiles( int iProviderIndex, const MaxSDK::Array<MSTR> &fileList, MSTR &strComment, Tab<bool> *pIsHidden = NULL ) = 0;
00356 
00360     virtual bool            GetLatest( int iProviderIndex, const MaxSDK::Array<MSTR> &fileList ) = 0;
00362 
00363     //
00364     // Policies
00365     //
00366 
00368 
00369 
00370 
00375     virtual void            CheckForDependentFiles( int iProviderIndex, MCHAR *szFilename ) = 0;
00377 
00381     virtual void            CheckForCheckedOutFiles( int iProviderIndex ) = 0;
00383 
00388     virtual void            CheckForUnControlledFiles( int iProviderIndex ) = 0;
00390 
00394     virtual void            CheckForOutDatedFiles( int iProviderIndex ) = 0;
00396 
00400     virtual void            CheckForSceneFileCheckOut( int iProviderIndex ) = 0;
00402 
00403     //
00404     // Misc
00405     //
00406 
00408 
00409 
00410 
00412     virtual void            SetWorkingComment( const MCHAR* szComment ) = 0;
00414 
00416     virtual const MCHAR*    GetWorkingComment() = 0;
00417 
00419 
00421     virtual void            AppendStatusLog( const MCHAR* szStatus ) = 0;
00423     virtual void            ClearStatusLog() = 0;
00425 
00427     virtual const MCHAR*    GetStatusLog() = 0;
00429 
00431 
00432 
00433 
00447     virtual bool SetPath(const MCHAR* aNewPath, bool aCreateOutputFolder = false) =0;
00449 
00464     virtual bool SetPathOnSelection(const MCHAR* aNewPath, bool aCreateOutputFolder = false) =0;
00465 
00467 
00483     virtual bool RetargetCommonRoot(const MCHAR* aNewPath, bool aCreateOutputFolder = false) =0;
00485 
00502     virtual bool RetargetCommonRootOfSelection(const MCHAR* aNewPath, bool aCreateOutputFolder = false) =0;
00504 
00519     virtual bool RetargetSelection(const MCHAR* aNewPath, bool aCreateOutputFolder = false) =0;
00520     
00522     //  regardless of the current application setting.
00523 
00532     virtual bool ResolveSelectionToUNC() =0;
00533 
00535 
00550     virtual bool ResolveSelectionRelativeToProjectFolder() =0;
00551 
00553 
00565     virtual bool ResolveSelectionToAbsolute() =0;
00567 
00569 
00570 
00571 
00586     virtual bool RetargetAssets(ReferenceTarget& refTarget, const MCHAR* aOldPath, const MCHAR* aNewPath, bool aCreateOutputFolder = false) =0;
00588 };
00589 
00591 #define GetIATSMax() ((IATSMax*)GetCOREInterface(IATSMAX_INTERFACE))
00592