Public Member Functions | Static Public Member Functions

IPathConfigMgr Class Reference

This reference page is linked to from the following overview topics: Plug-in Upgrade Guide, Relative Paths, Session Paths.


Search for all occurrences

Detailed Description

Provides access to application path configuration functionality.

Note that the terms "map paths" and "External Files" (as seen in the UI) are used interchangeably below. This class provides access to all exposed path configuration functionality, including loading and saving of path configuration files. Should be used in lieu of Interface for path-related operations.

To access the single IPathConfigMgr instance, call the static function IPathConfigMgr::GetPathConfigMgr().

#include <IPathConfigMgr.h>

Inheritance diagram for IPathConfigMgr:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual bool  LoadPathConfiguration (const MCHAR *filename)=0
  Loads a path configuration file.
virtual bool  MergePathConfiguration (const MCHAR *filename)=0
  Merges a path configuration file.
virtual bool  SavePathConfiguration (const MCHAR *filename)=0
  Saves out the current path configuration to the specified file.
virtual const MCHAR *  GetDir (int which) const =0
  Returns the default directory for the specified ID.
virtual bool  SetDir (int which, const MCHAR *dir)=0
  Sets the default directory.
virtual int  GetPlugInEntryCount () const =0
  Returns the number of plugin path entries in PLUGIN.INI.
virtual const MCHAR *  GetPlugInDesc (int i) const =0
  Returns the description string for the given entry number.
virtual const MCHAR *  GetPlugInDir (int i) const =0
  Returns the directory string for the given entry number.
virtual int  GetAssetDirCount (MaxSDK::AssetManagement::AssetType assetType) const =0
  Returns the number of assetType directories in path.
virtual const MCHAR *  GetAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType) const =0
  Returns the ith assetType directory in path.
virtual bool  AddAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType)=0
  Adds an assetType path to the list.
virtual bool  AddAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType, int update)=0
  Adds an assetType path to the list.
virtual bool  DeleteAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType, int update)=0
  Deletes an assetType path.
virtual bool  AddSessionAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType, int update)=0
  Adds a session path.
virtual int  GetSessionAssetDirCount (MaxSDK::AssetManagement::AssetType assetType) const =0
  Returns the number of assetType session directories in path.
virtual const MCHAR *  GetSessionAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType) const =0
  Returns the assetType session directory in path.
virtual bool  DeleteSessionAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType, int update)=0
  Deletes a session path.
virtual int  GetCurAssetDirCount (MaxSDK::AssetManagement::AssetType assetType) const =0
  Gets the combined total of session and permanent paths.
virtual const MCHAR *  GetCurAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType) const =0
  Gets the ith assetType directory.
virtual void  UpdateAssetSection (MaxSDK::AssetManagement::AssetType assetType)=0
  Forces an update on the application.
virtual MSTR  GetMAXIniFile () const =0
  Returns the name of the .ini file used by max.
virtual bool  GetResolveUNC () const =0
  Returns the Preferences --> Files [Convert networked file paths to UNC] property.
virtual void  SetResolveUNC (bool aFlag)=0
  Sets the Preferences --> Files [Convert networked file paths to UNC] property.
virtual bool  GetResolveToRelative () const =0
  Returns the Preferences --> Files [Convert local file paths to Relative] property If this method returns true, then paths selected as assets will automatically be converted to their relative equivalents, made relative to the current Project Folder setting.
virtual void  SetResolveToRelative (bool aFlag)=0
  Sets the Preferences --> Files [Convert local file paths to Relative] property If this flag is set to true, then paths selected as assets will automatically be converted to their relative equivalents, made relative to the current Project Folder setting.
virtual void  AppendSlash (MCHAR *path) const =0
  This function appends a slash character to the end of the path passed unless one already exists.
virtual void  RemoveSlash (MCHAR *path) const =0
  This function removes the slash character from the end of the path passed if present.
virtual void  AppendSlash (MSTR &path) const =0
  This function appends a slash character to the end of the path passed unless one already exists.
virtual void  RemoveSlash (MSTR &path) const =0
  This function removes the slash character from the end of the path passed if present.
virtual bool  IsUsingProfileDirectories () const =0
  Checks whether the application is configured to use User Profile directories.
virtual bool  IsUsingRoamingProfiles () const =0
  Checks whether the application is configured to use roaming profiles.
virtual const MaxSDK::Util::Path GetCurrentProjectFolder () const =0
  Returns the current Project Folder folder.
virtual bool  SetCurrentProjectFolder (const MaxSDK::Util::Path &aDirectory)=0
  Sets the current Project Folder folder.
virtual bool  SetSessionProjectFolder (const MaxSDK::Util::Path &aDirectory)=0
  Sets a Project Folder which will be used for this application session only.
virtual bool  DoProjectSetupSteps () const =0
  Initiates the steps to choose and setup a max project.
virtual bool  DoProjectSetupStepsUsingDirectory (const MaxSDK::Util::Path &aDirectory) const =0
  Initiates the steps to choose and setup a max project without prompting the user.
virtual bool  IsProjectFolder (const MaxSDK::Util::Path &aDirectoryToCheck) const =0
  Will check for the existence of a project in a folder.
virtual MaxSDK::Util::Path  GetProjectFolderPath (const MaxSDK::Util::Path &aProjectRoot) const =0
  Will return the fully-qualified path of the project file, given the root folder of an existing project.
virtual MaxSDK::Util::Path  GetCurrentProjectFolderPath () const =0
  Returns the file path of the current project file, if it exists.
virtual void  MakePathRelativeToProjectFolder (MaxSDK::Util::Path &aPath) const =0
  Converts an absolute path into a path that is relative to the current Project Folder.
virtual bool  CreateDirectoryHierarchy (const MaxSDK::Util::Path &aPath) const =0
  Creates a hierarchy of directories.
virtual bool  DoesFileExist (const MaxSDK::Util::Path &aPath) const =0
  Checks if a file or directory exists in the location pointed to by the absolute path parameter.
virtual void  NormalizePathAccordingToSettings (MaxSDK::Util::Path &aPath) const =0
  Will Normalize this absolute path according to the current application settings.
virtual void  RecordInputAsset (const MaxSDK::AssetManagement::AssetUser &originalPath, AssetEnumCallback &nameEnum, DWORD flags) const =0
  Searches for the given path and records the path in the NameEnum according to its ability to resolve the path and if missing only is set in the flags.
virtual void  RecordOutputAsset (const MaxSDK::AssetManagement::AssetUser &originalAsset, AssetEnumCallback &nameEnum, DWORD flags) const =0
  Converts the given path to absolute and records the path in the AssetEnum according to its ability to resolve the path and if missing only is set in the flags.
virtual int  GetProjectSubDirectoryCount () const =0
  Gets a count of the number of Project directories.
virtual const MCHAR *  GetProjectSubDirectory (int aIndex) const =0
  Returns a project directory according to an index, not an ID This method will return a Project directory by index, rather than by ID.
virtual void  AddProjectDirectoryCreateFilter (int aID)=0
  Adds an ID to a persistent internal filter table.
virtual void  RemoveAllProjectDirectoryCreateFilters ()=0
  Removes all IDs from a persistent internal filter table.
virtual void  RemoveProjectDirectoryCreateFilter (int aID)=0
  Removes an ID from a persistent internal filter table.

Static Public Member Functions

static CoreExport IPathConfigMgr GetPathConfigMgr ()
  Returns the single instance of this manager.

Member Function Documentation

virtual bool LoadPathConfiguration ( const MCHAR *  filename ) [pure virtual]

Loads a path configuration file.

Loads a path configuration file and returns true if paths are loaded successfully.

Precondition:
file passed to function is a path configuration file
Postcondition:
Paths found in file are loaded into application persistently.
Parameters:
[in] filename The fully-qualified path of the file to be loaded.
Returns:
true if any paths are loaded
virtual bool MergePathConfiguration ( const MCHAR *  filename ) [pure virtual]

Merges a path configuration file.

Merges a path configuration file and returns true if paths are merged successfully. A merge differs from a load in that map, xref and plugin directories are appended to the list instead of the list being overwritten. File IO paths are simply overwritten, as is the case with load.

Precondition:
file passed to function is a path configuration file
Parameters:
[in] filename The fully-qualified path of the file to be loaded.
Returns:
true if any paths are loaded
virtual bool SavePathConfiguration ( const MCHAR *  filename ) [pure virtual]

Saves out the current path configuration to the specified file.

Precondition:
Specified path is valid and writable.
Postcondition:
The current user path configuration is saved to the specified file.
Parameters:
[in] filename The fully-qualified path of the file to which paths are saved.
Returns:
true if file is successfully saved out
virtual const MCHAR* GetDir ( int  which ) const [pure virtual]

Returns the default directory for the specified ID.

Parameters:
[in] which APP_XXX_DIR directory ID
Returns:
the default directory
See also:
MAX Directory IDs "MAX Directory IDs"
virtual bool SetDir ( int  which,
const MCHAR *  dir 
) [pure virtual]

Sets the default directory.

Parameters:
[in] which The index of the directory to set.
[in] dir The new default directory.
Returns:
true if the directory is set and valid
See also:
MAX Directory IDs "MAX Directory IDs"
virtual int GetPlugInEntryCount ( ) const [pure virtual]

Returns the number of plugin path entries in PLUGIN.INI.

Returns:
the number of plugin path entries.
virtual const MCHAR* GetPlugInDesc ( int  i ) const [pure virtual]

Returns the description string for the given entry number.

Parameters:
[in] i entry number
Returns:
the ith description string
virtual const MCHAR* GetPlugInDir ( int  i ) const [pure virtual]

Returns the directory string for the given entry number.

Parameters:
[in] i entry number
Returns:
the ith directory string
virtual int GetAssetDirCount ( MaxSDK::AssetManagement::AssetType  assetType ) const [pure virtual]

Returns the number of assetType directories in path.

Parameters:
[in] assetType specifies which type of count you are looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
Returns:
number of dirs in path
virtual const MCHAR* GetAssetDir ( int  i,
MaxSDK::AssetManagement::AssetType  assetType 
) const [pure virtual]

Returns the ith assetType directory in path.

Parameters:
[in] i index of path to get
[in] assetType specifies the directory category from which to get the directory. examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
Returns:
the ith assetType directory in path
virtual bool AddAssetDir ( const MCHAR *  dir,
MaxSDK::AssetManagement::AssetType  assetType 
) [pure virtual]

Adds an assetType path to the list.

Parameters:
[in] dir directory to add
[in] assetType specifies the directory category to which the new directory should be added. examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
Returns:
true if added successfully
virtual bool AddAssetDir ( const MCHAR *  dir,
MaxSDK::AssetManagement::AssetType  assetType,
int  update 
) [pure virtual]

Adds an assetType path to the list.

Parameters:
[in] dir directory to add
[in] assetType specifies the directory category to which the new directory should be added. examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
[in] update Should the .ini file containing the paths be updated with the defined search paths for the assetType after the add?
virtual bool DeleteAssetDir ( int  i,
MaxSDK::AssetManagement::AssetType  assetType,
int  update 
) [pure virtual]

Deletes an assetType path.

Deletes a assetType path from the path list.

Parameters:
[in] i Directory to delete.
[in] assetType Specifies the asset type associated with this path? examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
[in] update Should the .ini file containing the paths be updated with the defined search paths for the assetType after the delete?
Returns:
true if Deletes successfully
virtual bool AddSessionAssetDir ( const MCHAR *  dir,
MaxSDK::AssetManagement::AssetType  assetType,
int  update 
) [pure virtual]

Adds a session path.

Adds a session path to the path list. Session paths are not persistent, meaning they are lost when the application shuts down.

Parameters:
[in] dir Directory to add.
[in] assetType Specifies which category of search directories should be used. examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
[in] update Should the .ini file containing the paths be updated with the defined search paths for the assetType after the add?
Returns:
true if added successfully
virtual int GetSessionAssetDirCount ( MaxSDK::AssetManagement::AssetType  assetType ) const [pure virtual]

Returns the number of assetType session directories in path.

Parameters:
[in] assetType specifies which type of count looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
Returns:
number of session dirs in path
virtual const MCHAR* GetSessionAssetDir ( int  i,
MaxSDK::AssetManagement::AssetType  assetType 
) const [pure virtual]

Returns the assetType session directory in path.

Parameters:
[in] i index of path to get
[in] specifies which type of asset directory you are looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
Returns:
the ith assetType session directory in path
virtual bool DeleteSessionAssetDir ( int  i,
MaxSDK::AssetManagement::AssetType  assetType,
int  update 
) [pure virtual]

Deletes a session path.

Deletes a session path in the path list. Session paths are not persistent, meaning they are lost when the application shuts down.

Parameters:
[in] i Index for the directory to delete.
[in] assetType specifies which type of asset directory you are looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
[in] update Should the .ini file containing the paths be updated with the defined search paths for the assetType after the delete?
Returns:
true if Deletes successfully
virtual int GetCurAssetDirCount ( MaxSDK::AssetManagement::AssetType  assetType ) const [pure virtual]

Gets the combined total of session and permanent paths.

These methods provide access to the combined list of permanent and temporary (session) dirs, therefore the current total set of directories for a particular asset type.

Parameters:
[in] assetType specifies which type of count looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
Returns:
the combined total of session and permanent paths
virtual const MCHAR* GetCurAssetDir ( int  i,
MaxSDK::AssetManagement::AssetType  assetType 
) const [pure virtual]

Gets the ith assetType directory.

Gets ith directory. Session paths are enumerated before permanent paths.

Parameters:
[in] i index to return
[in] assetType specifies which type asset directory you are looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
Returns:
the ith directory
virtual void UpdateAssetSection ( MaxSDK::AssetManagement::AssetType  assetType ) [pure virtual]

Forces an update on the application.

Forces the application to update itself with the currently set path.

Parameters:
[in] assetType specifies which type asset type directories to update examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc
virtual MSTR GetMAXIniFile ( ) const [pure virtual]

Returns the name of the .ini file used by max.

Returns:
The name of the .ini file Returns empty MSTR if locType == LOC_REGISTRY.
virtual bool GetResolveUNC ( ) const [pure virtual]

Returns the Preferences --> Files [Convert networked file paths to UNC] property.

If this method returns true, then paths will automatically be converted to their UNC representation if the path originates from a mapped drive.

Returns:
If paths are automatically resolved to their UNC equivalents
virtual void SetResolveUNC ( bool  aFlag ) [pure virtual]

Sets the Preferences --> Files [Convert networked file paths to UNC] property.

If this flag is set to true, then paths will automatically be converted to their UNC representation if the path originates from a mapped drive.

Parameters:
[in] aFlag If paths should automatically be resolved to their UNC equivalents
virtual bool GetResolveToRelative ( ) const [pure virtual]

Returns the Preferences --> Files [Convert local file paths to Relative] property If this method returns true, then paths selected as assets will automatically be converted to their relative equivalents, made relative to the current Project Folder setting.

See also:
GetCurrentProjectFolder()
Returns:
true if asset paths should be made relative
virtual void SetResolveToRelative ( bool  aFlag ) [pure virtual]

Sets the Preferences --> Files [Convert local file paths to Relative] property If this flag is set to true, then paths selected as assets will automatically be converted to their relative equivalents, made relative to the current Project Folder setting.

See also:
SetCurrentProjectFolder(const MaxSDK::Util::Path& )
Parameters:
[in] aFlag if asset paths should be made relative
virtual void AppendSlash ( MCHAR *  path ) const [pure virtual]

This function appends a slash character to the end of the path passed unless one already exists.

Parameters:
[in,out] path,: The path name to append. If NULL, no operation.
virtual void RemoveSlash ( MCHAR *  path ) const [pure virtual]

This function removes the slash character from the end of the path passed if present.

Parameters:
[in,out] path,: The path name to append. If NULL, no operation.
virtual void AppendSlash ( MSTR path ) const [pure virtual]

This function appends a slash character to the end of the path passed unless one already exists.

Parameters:
[in,out] path,: The path name to append.
virtual void RemoveSlash ( MSTR path ) const [pure virtual]

This function removes the slash character from the end of the path passed if present.

Parameters:
[in,out] path,: The path name to append. If NULL, no operation.
virtual bool IsUsingProfileDirectories ( ) const [pure virtual]

Checks whether the application is configured to use User Profile directories.

Returns:
true if the application is configured to use User Profile directories false if the application's system paths and configuration files are stored in the legacy location (i.e. under the install root)
virtual bool IsUsingRoamingProfiles ( ) const [pure virtual]

Checks whether the application is configured to use roaming profiles.

Assuming that the application is configured to use User Profiles (see IsUsingProfileDirectories()) , determines whether paths are set to store information in the roaming profile location (i.e. /Documents and Data/<username>/Application Data...) or whether they are stored in the per-user Local Settings for the machine. (i.e. /Documents and Data/<username>/Local Settings/Application Data...)

Returns:
true if the application is configured to use roaming profiles (moot if IsUsingProfileDirectory() returns true
virtual const MaxSDK::Util::Path& GetCurrentProjectFolder ( ) const [pure virtual]

Returns the current Project Folder folder.

Gets the current Project Folder setting in max. This is the setting to which newly created relative paths are set relative to. Though this setting is also accessible by calling

it is highly recommended that this method be used to access this value.

Returns:
The current Project Folder setting folder.
virtual bool SetCurrentProjectFolder ( const MaxSDK::Util::Path aDirectory ) [pure virtual]

Sets the current Project Folder folder.

Sets the current Project Folder setting in max. This is the setting to which newly created relative paths are set relative to. This method will also create a Project workspace environment, if the user desires. The user is prompted via a pop-up dialog (if QuietMode is off.) Though this setting can also be set by calling

it is highly recommended that this method be used to change this value, as other steps to adjust the environment may be taken internally.

Parameters:
[in] aDirectory The folder to which the Project Folder should be set. This value must be an absolute path. If the folder path does not exist, max will attempt to create it.
Returns:
Returns true if the folder is valid and absolute, or false otherwise Note: If the application cannot automatically create the sub-folders under this directory, this function will still return true as long as the directory setting is valid.
virtual bool SetSessionProjectFolder ( const MaxSDK::Util::Path aDirectory ) [pure virtual]

Sets a Project Folder which will be used for this application session only.

Sets a session-only path as the current Project Folder. This value does not persist if the application is shut down. The previous Project Folder setting will not be overwritten and will be the default setting upon future boot-ups. Calls to GetCurrentProjectFolder() will resolve to this session Project Folder, and relative paths will resolve themselves relative to this new value. The only difference is that this value is not persistent across sessions.

Parameters:
[in] aDirectory The folder to which the Project Folder should be set. This value must be an absolute path. If the folder path does not exist, max will attempt to create it.
Returns:
Returns true if the folder is valid and absolute, or false otherwise
See also:
SetCurrentProjectFolder(const MaxSDK::Util::Path&)
virtual bool DoProjectSetupSteps ( ) const [pure virtual]

Initiates the steps to choose and setup a max project.

This call will initiate the workflow for allowing a user to choose and create a project. In effect, this method will launch the "SetProjectFolder" macroscript. The user will be prompted to browse to a new directory.

Returns:
true if the steps succeeded and the user did not cancel the action Will return false immediately if the app is in Quiet Mode.
virtual bool DoProjectSetupStepsUsingDirectory ( const MaxSDK::Util::Path aDirectory ) const [pure virtual]

Initiates the steps to choose and setup a max project without prompting the user.

This call will initiate the workflow for allowing a user to choose and create a project. In effect, this method will launch the "SetProjectFolder" macroscript. It will use the passed in parameter as the new Project Folder.

Parameters:
[in] aDirectory The directory that will be the new root of the project. This path must be absolute.
Returns:
true if the steps succeeded and the path is absolute
virtual bool IsProjectFolder ( const MaxSDK::Util::Path aDirectoryToCheck ) const [pure virtual]

Will check for the existence of a project in a folder.

Given a folder path, will check if a project exists in that folder. A project exists if a .mxp file exists in that path.

Parameters:
[in] aDirectoryToCheck An absolute path to check for the existence of a project.
Returns:
true if a project exists at the location specified by the passed -in parameter
virtual MaxSDK::Util::Path GetProjectFolderPath ( const MaxSDK::Util::Path aProjectRoot ) const [pure virtual]

Will return the fully-qualified path of the project file, given the root folder of an existing project.

Given a project root of a project which exists, will return the .mxp file for that project. Normally the .mxp filename is the same name as the project root folder, but if that file does not exist, then the first file that matches the "*.mxp" pattern will be returned.

Parameters:
[in] aProjectRoot The path of the root of a project to check.
Returns:
The fully-qualified path of the project file. A project file is searched for, but if not found, then a file name is generated.
virtual MaxSDK::Util::Path GetCurrentProjectFolderPath ( ) const [pure virtual]

Returns the file path of the current project file, if it exists.

Gets the project file path of the current project, if it exists.

See also:
GetProjectFilePath(const MaxSDK::Util::Path&) const
Returns:
The fully-qualified path of the current project file. A project file is searched for, but if not found, then a file name is generated.
virtual void MakePathRelativeToProjectFolder ( MaxSDK::Util::Path aPath ) const [pure virtual]

Converts an absolute path into a path that is relative to the current Project Folder.

Converts an absolute path into a path that is relative to the current Project Folder. If the path cannot be made relative (if it is rooted on a different drive, for instance), then it is left untouched. A path parameter which already relative is also left untouched.

Parameters:
[in,out] aPath A mutable absolute Path which will be converted to a relative path, if possible.
See also:
MaxSDK::Util::Path
GetCurrentProjectFolder()
virtual bool CreateDirectoryHierarchy ( const MaxSDK::Util::Path aPath ) const [pure virtual]

Creates a hierarchy of directories.

This method will ensure that a hierarchy of directories exists. For example, if Path object representing "C:/A/B/C/D" is passed to this method, then this method will create A, B, C, and D, if they do not exist.

Parameters:
[in] aPath A Path object representing the directory hierarchy to create, if needed. This path must be absolute, and it's length cannot exceed 249 characters.
Returns:
true if the directories are created successfully or if the path already exists, false if an error occured while creating the directory, or if the parameter does not conform to stated restrictions.
See also:
MaxSDK::Util::Path
virtual bool DoesFileExist ( const MaxSDK::Util::Path aPath ) const [pure virtual]

Checks if a file or directory exists in the location pointed to by the absolute path parameter.

Checks for the existence of a file or directory pointed to by the absolute Path parameter.

Parameters:
[in] aPath An absolute path to check for existence. Note that the disk is accessed to check for its existence, so checking paths (especially on network drives) may incur a performance cost.
Returns:
true if the path is absolute and points to a file or directory that currently exists
virtual void NormalizePathAccordingToSettings ( MaxSDK::Util::Path aPath ) const [pure virtual]

Will Normalize this absolute path according to the current application settings.

Normalizes the passed-in path according to current application settings. The passed in path must be absolute to be normalized. Relative paths are ignored. Currently, the path will be normalized according to the two settings in the application that determine whether a path should automatically be converted to to a path relative to the current application Project Folder, and, if not, whether the absolute path should be converted to its UNC equivalent.

Parameters:
[in,out] aPath The path to normalize
See also:
GetResolveToUNC()
GetResolveToRelative()
virtual void RecordInputAsset ( const MaxSDK::AssetManagement::AssetUser originalPath,
AssetEnumCallback nameEnum,
DWORD  flags 
) const [pure virtual]

Searches for the given path and records the path in the NameEnum according to its ability to resolve the path and if missing only is set in the flags.

Calls SearchForExternalFiles on the specified path, and if the path resolves to an existing file, and FILE_ENUM_MISSING_ONLY is not set, records the asset in the AssetEnumCallback. If the path is not resolved and the flags are set with FILE_ENUM_MISSING_ONLY, it records the original path in the callback.

This is intended to be the default asset registration policy for calls to EnumAuxFiles on input-only assets when not using IAssetAccessor.

Parameters:
originalPath The asset path as listed in the asset tracking system.
assetType e.g kBitmapAsset, kXRefAsset, kPhotometricAsset, etc
nameEnum The AssetEnumCallback in which to register this asset.
flags If FILE_ENUM_MISSING_ONLY is set, only paths that cannot be resolved to existing files will be recorded. If the FILE_ENUM_MISSING_ONLY is not set, only found files will be recorded.
virtual void RecordOutputAsset ( const MaxSDK::AssetManagement::AssetUser originalAsset,
AssetEnumCallback nameEnum,
DWORD  flags 
) const [pure virtual]

Converts the given path to absolute and records the path in the AssetEnum according to its ability to resolve the path and if missing only is set in the flags.

Calls Path.ConvertToAbsolute on the specified path, and if the path resolves to an existing file, and FILE_ENUM_MISSING_ONLY is not set, records the asset in the AssetEnumCallback. If the path is not resolved and the flags are set with FILE_ENUM_MISSING_ONLY, it records the original path in the callback.

This is intended to be the default asset registration policy for calls to EnumAuxFiles for write assets when not using IAssetAccessor.

Parameters:
originalAsset The asset as listed in the asset tracking system.
nameEnum The AssetEnumCallback in which to register this asset.
flags If FILE_ENUM_MISSING_ONLY is set, only paths that cannot be resolved to existing files will be recorded. If the FILE_ENUM_MISSING_ONLY is not set, only found files will be recorded.
virtual int GetProjectSubDirectoryCount ( ) const [pure virtual]

Gets a count of the number of Project directories.

This method will return a count of the directories listed in the Configure User Paths... -> File IO dialog.

Returns:
the number of Project directories
virtual const MCHAR* GetProjectSubDirectory ( int  aIndex ) const [pure virtual]

Returns a project directory according to an index, not an ID This method will return a Project directory by index, rather than by ID.

This is to allow an SDK user to iterate over the list of Project directories. The directories are sorted by Description and are ordered alphanumerically.

Parameters:
[in] aIndex The index value of the directory to return, which must be between 0 and GetProjectSubDirectoryCount()-1.
Returns:
The directory associated by the index value, not by ID. if the input index is invalid, then NULL is returned
virtual void AddProjectDirectoryCreateFilter ( int  aID ) [pure virtual]

Adds an ID to a persistent internal filter table.

Adds a File IO ID to an internal filter table that is referenced when creating a Project setup. Folders added to this list (by their ID) are NOT created when creating a Project workspace.

Parameters:
[in] aID An ID for a folder to not include in the Project workspace creating process.
See also:
GetDir(int)
DoProjectSetupSteps()
DoProjectSetupStepsUsingDirectory(const MaxSDK::Util::Path&)
MAX Directory IDs "MAX Directory IDs"
virtual void RemoveAllProjectDirectoryCreateFilters ( ) [pure virtual]

Removes all IDs from a persistent internal filter table.

Removes all File IO IDs from an internal filter table that is referenced when creating a Project setup. Folders added to this list (by their ID) are NOT created when creating a Project workspace.

See also:
AddProjectDirectoryCreateFilter(int)
GetDir(int)
DoProjectSetupSteps()
DoProjectSetupStepsUsingDirectory(const MaxSDK::Util::Path&)
virtual void RemoveProjectDirectoryCreateFilter ( int  aID ) [pure virtual]

Removes an ID from a persistent internal filter table.

Removes a File IO ID from an internal filter table that is referenced when creating a Project setup. Folders added to this list (by their ID) are NOT created when creating a Project workspace.

Parameters:
[in] aID An ID for a folder to not include in the Project workspace creating process.
See also:
AddProjectDirectoryCreateFilter(int)
GetDir(int)
DoProjectSetupSteps()
DoProjectSetupStepsUsingDirectory(const MaxSDK::Util::Path&)
MAX Directory IDs "MAX Directory IDs"
static CoreExport IPathConfigMgr* GetPathConfigMgr ( ) [static]

Returns the single instance of this manager.

Gets the single instance of this class.

Returns:
The single instance of this class.

IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr
IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr IPathConfigMgr