Go to
the documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008 #pragma once
00009
00010 #include "iFnPub.h"
00011 #include "Path.h"
00012 #include "AssetManagement\AssetType.h"
00013
00014
00015 class AssetEnumCallback;
00016 namespace MaxSDK
00017 {
00018 namespace AssetManagement
00019 {
00020 class AssetUser;
00021 }
00022 }
00023
00024 #define PATHCONFIG_INTERFACE Interface_ID(0x490ddc99, 0xbe8dc96)
00025
00036 class IPathConfigMgr : public FPStaticInterface
00037 {
00038 public:
00039
00049 virtual bool LoadPathConfiguration(const MCHAR* filename) = 0;
00050
00061 virtual bool MergePathConfiguration(const MCHAR* filename) = 0;
00062
00070 virtual bool SavePathConfiguration(const MCHAR* filename) = 0;
00071
00078 virtual const MCHAR *GetDir(int which) const =0;
00079
00087 virtual bool SetDir(int which, const MCHAR *dir) = 0;
00088
00093 virtual int GetPlugInEntryCount() const =0;
00094
00100 virtual const MCHAR *GetPlugInDesc(int i) const =0;
00101
00107 virtual const MCHAR *GetPlugInDir(int i) const =0;
00108
00109
00110
00117 virtual int GetAssetDirCount(MaxSDK::AssetManagement::AssetType assetType) const =0;
00118
00126 virtual const MCHAR *GetAssetDir(int i, MaxSDK::AssetManagement::AssetType assetType) const =0;
00127
00135 virtual bool AddAssetDir(const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType)=0;
00136
00145 virtual bool AddAssetDir(const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType, int update) = 0;
00146
00157 virtual bool DeleteAssetDir(int i, MaxSDK::AssetManagement::AssetType assetType, int update) = 0;
00158
00170 virtual bool AddSessionAssetDir(const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType, int update)=0;
00171
00178 virtual int GetSessionAssetDirCount(MaxSDK::AssetManagement::AssetType assetType) const =0;
00179
00187 virtual const MCHAR *GetSessionAssetDir(int i, MaxSDK::AssetManagement::AssetType assetType) const =0;
00188
00200 virtual bool DeleteSessionAssetDir(int i, MaxSDK::AssetManagement::AssetType assetType, int update)=0;
00201
00210 virtual int GetCurAssetDirCount(MaxSDK::AssetManagement::AssetType assetType) const =0;
00211
00220 virtual const MCHAR *GetCurAssetDir(int i, MaxSDK::AssetManagement::AssetType assetType) const =0;
00221
00229 virtual void UpdateAssetSection(MaxSDK::AssetManagement::AssetType assetType) = 0;
00230
00236 virtual MSTR GetMAXIniFile() const = 0;
00237
00245 virtual bool GetResolveUNC() const = 0;
00246
00254 virtual void SetResolveUNC(bool aFlag) = 0;
00255
00262 virtual bool GetResolveToRelative() const = 0;
00263
00270 virtual void SetResolveToRelative(bool aFlag) = 0;
00271
00276 virtual void AppendSlash ( MCHAR *path ) const = 0;
00277
00281 virtual void RemoveSlash ( MCHAR *path ) const = 0;
00282
00286 virtual void AppendSlash ( MSTR &path ) const = 0;
00287
00291 virtual void RemoveSlash ( MSTR &path ) const = 0;
00292
00298 virtual bool IsUsingProfileDirectories() const = 0;
00299
00309 virtual bool IsUsingRoamingProfiles() const = 0;
00310
00322 virtual const MaxSDK::Util::Path& GetCurrentProjectFolder() const = 0;
00323
00342 virtual bool SetCurrentProjectFolder(const MaxSDK::Util::Path& aDirectory) = 0;
00343
00360 virtual bool SetSessionProjectFolder(const MaxSDK::Util::Path& aDirectory) = 0;
00361
00370 virtual bool DoProjectSetupSteps() const = 0;
00371
00381 virtual bool DoProjectSetupStepsUsingDirectory(const MaxSDK::Util::Path& aDirectory) const = 0;
00382
00391 virtual bool IsProjectFolder(const MaxSDK::Util::Path& aDirectoryToCheck) const = 0;
00392
00404 virtual MaxSDK::Util::Path GetProjectFolderPath(const MaxSDK::Util::Path& aProjectRoot) const = 0;
00405
00413 virtual MaxSDK::Util::Path GetCurrentProjectFolderPath() const = 0;
00414
00425 virtual void MakePathRelativeToProjectFolder(MaxSDK::Util::Path& aPath) const = 0;
00426
00439 virtual bool CreateDirectoryHierarchy(const MaxSDK::Util::Path& aPath) const = 0;
00440
00447 virtual bool DoesFileExist(const MaxSDK::Util::Path& aPath) const = 0;
00448
00461 virtual void NormalizePathAccordingToSettings(MaxSDK::Util::Path& aPath) const = 0;
00462
00482 virtual void RecordInputAsset(
00483 const MaxSDK::AssetManagement::AssetUser& originalPath,
00484 AssetEnumCallback &nameEnum,
00485 DWORD flags) const = 0;
00486
00506 virtual void RecordOutputAsset(
00507 const MaxSDK::AssetManagement::AssetUser &originalAsset,
00508 AssetEnumCallback &nameEnum,
00509 DWORD flags) const = 0;
00510
00517 virtual int GetProjectSubDirectoryCount() const = 0;
00518
00529 virtual const MCHAR* GetProjectSubDirectory(int aIndex) const = 0;
00530
00543 virtual void AddProjectDirectoryCreateFilter(int aID) = 0;
00544
00555 virtual void RemoveAllProjectDirectoryCreateFilters() = 0;
00556
00569 virtual void RemoveProjectDirectoryCreateFilter(int aID) = 0;
00570
00576 CoreExport static IPathConfigMgr* GetPathConfigMgr();
00577 };
00578
00579
00580
00581