We have improved the public 3ds Max SDK interface to the Asset Tracking System: methods and parameters have been added and method usage simplified.
This document outlines changes to the IATSProvider related classes that might require changes to your plug-ins. This applies to code implementing IATSProvider plug-ins or interacting with them.
const ATSStatus kATSStatusHide = 0x0010;
ATSFileEntry objects that return the bit kATSStatusHide from ATSFileEntry::GetFlagsIn() have been requested to be hidden when added to the version control provider. The implementation of hidden will depend on the version control provider. For instance, in the case of Autodesk Vault any file marked as hidden would not be visible in Autodesk Vault Explorer . It is optional for a version control provider to support this flag.
const ATSStatus kATSStatusHidden = 0x00000100;
ATSFileEntry objects that return the bit kATSStatusHidden from ATSFileEntry::GetFlagsOut() have been marked as hidden by the version control system. This status would be set from a call to IATSProvider::GetFileStatus. It is optional for a version control provider to support this flag.
const ATSStatus kATSStatusShareLock = 0x00000200;
ATSFileEntry objects that return the bit kATSStatusShareLock from ATSFileEntry::GetFlagsOut() have been marked as Share Locked by the version control system. Files marked as Share Locked should be treated as read only files by the system. The actual conditions that signify a Share Locked file is determined by the version control provider. In Autodesk Vault, a Share Locked file is marked as such when a file is checked out to a shared location and a second user attempts to open that file. The Share Locked status is used to prevent the second user from overwriting the first user's file. It is optional for a version control provider to support this flag.
Specifying Attachments for ATSFileEntry Objects
Attachments to ATSFileEntry objects are now stored as ATSFileEntry objects instead of a character string.
Attachments can be added directly with a supplied ATSFileEntry object:
UINT ATSFileEntry::AddAttachment( ATSFileEntry *pEntry );
Or by specifying the parameters for the ATSFileEntry object with:
UINT ATSFileEntry::AddAttachment( const TCHAR *szFile, ATSFileEntry *pEntryParent = NULL, ATSStatus dwFlagsIn = ATS::kATSStatusActive, ATSClientPtr pClientPtr = NULL );
Attachments are now returned as ATSFileEntry object instead of character strings:
ATSFileEntry* GetAttachment( UINT iIndex );
New pure virtual methods were added to IATSProvider to allow for access to the Working Folder associated with the version control provider. The ability to access or alter the working folder is determined by the version control provider. If the functionality is not supported, kATSResErrorNotSupported should be returned.
virtualconst TCHAR* GetWorkingFolder() = 0;
virtual ATSResult SetWorkingFolder( const TCHAR *szWorkingFolder ) = 0;