Wwise SDK 2022.1.4
_i_source_control_8h_source
Version
menu_open
link
Wwise SDK 2022.1.4
|
ISourceControl.h
Go to the documentation of this file.
57 /// Wwise source control plug-in interface. This is the interface that the plug-in must implement. It contains
58 /// all the necessary functions to perform source control operations and manage the Wwise source control UI.
71 /// Operation result. Some interface functions need to return the result of the operation. This is used
80 };
82 /// Menu type. The operation list may vary depending on the location where a menu containing operations
86 OperationMenuType_WorkUnits = 0,///< The menu is displayed in the File Manager's 'Work Units' tab
90 };
92 /// Pre/PostCreateOrModify Operation flags. These flags represent the operation(s) performed on files.
102 OperationEffect_LocalContentModification = 1 << 0, ///< The operation will modify the local content of the file
103 OperationEffect_ServerContentModification = 1 << 1, ///< The operation will modify the remote content (on the server) of the file
130 unsigned int in_uiIndex, ///< in: The index of the moved file. Must be >= 0 and < GetFileCount()
147 /// 'Filename to Status' map item. This is the type used in the AK::Wwise::ISourceControl::FilenameToStatusMap
155 /// Operation list item. This is the type used in the AK::Wwise::ISourceControl::OperationList SourceControlContainers::IAkList template class.
159 bool m_bEnabled; ///< True: the operation is enabled in the menu, False: the operation is disabled (grayed out) in the menu
162 /// FilenameToIconMap item. This is the type used to display the file status icon and tool tip text
167 BSTR m_bstrToolTip; ///< The tool tip text that will be displayed when the user mouses over the icon
173 /// String List. When Wwise needs to pass a file name list, it gives this container to the plug-in.
178 /// Boolean List. When Wwise needs to pass a boolean list, it gives this container to the plug-in.
183 /// Plug-in ID list. When Wwise needs to have the list of plug-ins that a DLL contains, it requests
187 /// When Wwise needs to have the list of operations that are available in a certain context, it requests
188 /// the list of operations using this list type. The contexts are determined by the AK::Wwise::ISourceControl::OperationMenuType
200 /// The AK:Wwise::ISourceControl interface offers a way to display custom icons in the Project Explorer. This map
201 /// type must be filled in by the plug-in when Wwise gives it a file name list. CStringW objects are used as keys, and are associated
202 /// to FilenameToIconMapItem objects. The HICON m_hIcon member will be NULL when there is no icon associated with the file.
205 typedef SourceControlContainers::IAkMap<LPCWSTR, LPCWSTR, FilenameToIconMapItem, const FilenameToIconMapItem&> FilenameToIconMap;
207 /// When the File Manager needs to fill in the 'Status' and 'Owners' columns of work units or source lists,
208 /// the plug-in needs to fill in this map with the corresponding text. File names are used as keys, and are associated
213 typedef SourceControlContainers::IAkMap<LPCWSTR, LPCWSTR, FilenameToStatusMapItem, const FilenameToStatusMapItem&> FilenameToStatusMap;
217 /// Plug-in information structure. This structure gives a simple overview of the plug-in's capabilities.
224 bool m_bShowConfigDlgAvailable; ///< Used to enable/disable the 'Config...' button in the Project Settings
225 DWORD m_dwUpdateCommandID; ///< Indicates the command ID for the Update command, s_dwInvalidOperationID (-1) if not supported
226 DWORD m_dwCommitCommandID; ///< Indicates the command ID for the Commit/Submit/Checkin command, s_dwInvalidOperationID (-1) if not supported
227 DWORD m_dwRenameCommandID; ///< Indicates the command ID for the Rename command, s_dwInvalidOperationID (-1) if not supported
228 DWORD m_dwMoveCommandID; ///< Indicates the command ID for the Move command, s_dwInvalidOperationID (-1) if not supported
229 DWORD m_dwAddCommandID; ///< Indicates the command ID for the Add command, s_dwInvalidOperationID (-1) if not supported
230 DWORD m_dwDeleteCommandID; ///< Indicates the command ID for the Delete command, s_dwInvalidOperationID (-1) if not supported
231 DWORD m_dwRevertCommandID; ///< Indicates the command ID for the Revert command, s_dwInvalidOperationID (-1) if not supported
232 DWORD m_dwDiffCommandID; ///< Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported
233 DWORD m_dwCheckOutCommandID; ///< Indicates the command ID for the CheckOut command, s_dwInvalidOperationID (-1) if not supported
234 DWORD m_dwRenameNoUICommandID; ///< Indicates the command ID for the Rename command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
235 DWORD m_dwMoveNoUICommandID; ///< Indicates the command ID for the Move command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
236 DWORD m_dwAddNoUICommandID; ///< Indicates the command ID for the Add command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
237 DWORD m_dwDeleteNoUICommandID; ///< Indicates the command ID for the Delete command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
238 DWORD m_dwRevertNoUICommandID; ///< Indicates the command ID for the Revert command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
239 DWORD m_dwCheckOutNoUICommandID;///< Indicates the command ID for the CheckOut command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
240 bool m_bStatusIconAvailable; ///< Indicates that the plug-in supports Project Explorer custom icons
245 AK::Wwise::ISourceControlUtilities* in_pUtilities, ///< A pointer to the utilities class. The interface is not
247 bool in_bAutoAccept ///< Used when running in command line mode, where user should not be prompted to confirm source control transactions.
256 /// This function is called when the user clicks the 'Config...' button in the Project Settings.
266 const StringList& in_rFilenameList, ///< The file name list for which Wwise needs to get the operation list
285 const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the status
287 DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
290 /// In a similar way to AK::Wwise::ISourceControl::GetFileStatus(), this function gets the icons to be displayed in the
294 const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the icons
296 DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
299 /// Combines GetFileStatus() and GetFileStatusIcons() to get the source control file icons and the text to be displayed in the 'Status' and 'Owners'
303 const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the icons
306 DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
309 /// Gets the files that should be displayed in the File Manager file list, but that are not on the local disk.
313 const StringList& in_rDirectoryList, ///< A list of directories in which Wwise needs to get missing files
317 /// Performs an operation on files. This function is called when the user clicks on a source control operation in a menu.
318 /// The returned IOperationResult must be allocated on the heap and freed by the caller using IOperationResult::Destroy.
319 /// For Rename and Move operations in No-User-Interface mode, in_pTargetFilenameList contains the list of target names are known in advance.
322 const StringList& in_rFilenameList, ///< A list of the names of the files that the user selected in the File Manager or in the Project Explorer.
323 const StringList* in_pTargetFilenameList = NULL ///< Optional: A list of the names of the destination files. Pass NULL when not specified.
326 /// This method is called when the user adds files to the project (Work Units or Sources), saves the project,
327 /// or triggers any call to a Wwise operation that could alter source control files. It is called before Wwise performs
331 const StringList& in_rFilenameList, ///< A list of the names of the files that are to be added (some files may already exist)
332 CreateOrModifyOperation in_eOperation, ///< The operation(s) that will be performed on these files
333 bool& out_rContinue ///< A returned flag that indicates if Wwise is continuing the current operation
336 /// This method is called when the user adds files to the project (Work Units or Sources), saves the project,
337 /// or triggers any call to a Wwise operation that could alter source control files. It is called after Wwise performs
341 const StringList& in_rFilenameList, ///< A list of the names of the files that are to be added (Some files may already exist)
342 CreateOrModifyOperation in_eOperation, ///< The operation(s) that will be performed on these files
343 bool& out_rContinue ///< A returned flag that indicates if Wwise is continuing the current operation
360 BooleanList& out_rFileStatusList ///< Out: For each file in in_rFilenameList, whether in_dwOperationID can be applied.
virtual AK::Wwise::ISourceControl::OperationResult GetFileStatusIcons(const StringList &in_rFilenameList, FilenameToIconMap &out_rFileIconsMap, DWORD in_dwTimeoutMs=INFINITE)=0
BSTR m_bstrStatus
Text displayed in the File Manager's 'Status' column.
Definition: ISourceControl.h:151
@ OperationMenuType_Explorer
The menu is displayed in the Project Explorer.
Definition: ISourceControl.h:89
@ OperationEffect_LocalContentModification
The operation will modify the local content of the file.
Definition: ISourceControl.h:102
virtual AK::Wwise::ISourceControl::OperationResult GetMissingFilesInDirectories(const StringList &in_rDirectoryList, StringList &out_rFilenameList)=0
DWORD m_dwRenameCommandID
Indicates the command ID for the Rename command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:227
SourceControlContainers::IAkList< LPCWSTR, LPCWSTR > StringList
Definition: ISourceControl.h:176
HICON m_hIcon
A handle to an icon that will be displayed in the Project Explorer.
Definition: ISourceControl.h:166
DWORD m_dwAddCommandID
Indicates the command ID for the Add command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:229
@ OperationMenuType_Sources
The menu is displayed in the File Manager's 'Sources' tab.
Definition: ISourceControl.h:87
BSTR m_bstrToolTip
The tool tip text that will be displayed when the user mouses over the icon.
Definition: ISourceControl.h:167
virtual DWORD GetOperationEffect(DWORD in_dwOperationID)=0
Gets the operation effect on the file(s) involved in the operation.
virtual void Init(AK::Wwise::ISourceControlUtilities *in_pUtilities, bool in_bAutoAccept)=0
This function is called when the plug-in is initialized after its creation.
BSTR m_bstrOwner
Text displayed in the File Manager's 'Owners' column.
Definition: ISourceControl.h:152
SourceControlContainers::IAkList< bool > BooleanList
Definition: ISourceControl.h:181
SourceControlContainers::IAkMap< LPCWSTR, LPCWSTR, FilenameToStatusMapItem, const FilenameToStatusMapItem & > FilenameToStatusMap
Definition: ISourceControl.h:213
bool m_bShowConfigDlgAvailable
Used to enable/disable the 'Config...' button in the Project Settings.
Definition: ISourceControl.h:224
DWORD m_dwDeleteNoUICommandID
Indicates the command ID for the Delete command, showing no User Interface, s_dwInvalidOperationID (-...
Definition: ISourceControl.h:237
@ OperationMenuType_WorkUnits
The menu is displayed in the File Manager's 'Work Units' tab.
Definition: ISourceControl.h:86
virtual void Destroy()=0
This function destroys the plug-in. The implementation is generally '{ delete this; }'.
DWORD m_dwDiffCommandID
Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:232
virtual AK::Wwise::ISourceControl::OperationResult GetFileStatus(const StringList &in_rFilenameList, FilenameToStatusMap &out_rFileStatusMap, DWORD in_dwTimeoutMs=INFINITE)=0
Wwise source control containers interface that is used to pass data containers (list and map) in para...
This class contains static constants that can be useful to the plug-in.
Definition: ISourceControl.h:49
virtual IOperationResult * DoOperation(DWORD in_dwOperationID, const StringList &in_rFilenameList, const StringList *in_pTargetFilenameList=NULL)=0
@ OperationMenuType_Generated
The menu is displayed in the File Manager's 'Generated' tab.
Definition: ISourceControl.h:88
virtual AK::Wwise::ISourceControl::OperationResult PreCreateOrModify(const StringList &in_rFilenameList, CreateOrModifyOperation in_eOperation, bool &out_rContinue)=0
DWORD m_dwRenameNoUICommandID
Indicates the command ID for the Rename command, showing no User Interface, s_dwInvalidOperationID (-...
Definition: ISourceControl.h:234
virtual LPCWSTR GetOperationName(DWORD in_dwOperationID)=0
Gets the operation name to display in user interface.
virtual void Destroy()=0
Implementations should call "delete this;".
virtual void GetMovedFile(unsigned int in_uiIndex, LPWSTR out_szFrom, LPWSTR out_szTo, unsigned int in_uiArraySize)=0
Return the move source and destination for the file at index in_uiIndex.
DWORD m_dwCommitCommandID
Indicates the command ID for the Commit/Submit/Checkin command, s_dwInvalidOperationID (-1) if not su...
Definition: ISourceControl.h:226
DWORD m_dwAddNoUICommandID
Indicates the command ID for the Add command, showing no User Interface, s_dwInvalidOperationID (-1) ...
Definition: ISourceControl.h:236
Operation list item. This is the type used in the AK::Wwise::ISourceControl::OperationList SourceCont...
Definition: ISourceControl.h:157
DWORD m_dwUpdateCommandID
Indicates the command ID for the Update command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:225
DWORD m_dwCheckOutCommandID
Indicates the command ID for the CheckOut command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:233
virtual AK::Wwise::ISourceControl::OperationResult GetFileStatusAndIcons(const StringList &in_rFilenameList, FilenameToStatusMap &out_rFileStatusMap, FilenameToIconMap &out_rFileIconsMap, DWORD in_dwTimeoutMs=INFINITE)=0
ISourceControl *(__stdcall * GetSourceControlInstanceFuncPtr)(const GUID &in_guidPluginID)
Definition: ISourceControl.h:388
DWORD m_dwCheckOutNoUICommandID
Indicates the command ID for the CheckOut command, showing no User Interface, s_dwInvalidOperationID ...
Definition: ISourceControl.h:239
DWORD m_dwMoveNoUICommandID
Indicates the command ID for the Move command, showing no User Interface, s_dwInvalidOperationID (-1)...
Definition: ISourceControl.h:235
@ CreateOrModifyOperation_Create
Files will be created during the operation.
Definition: ISourceControl.h:95
virtual unsigned int GetFileCount()=0
Returns how many files were moved during the operation.
DWORD m_dwMoveCommandID
Indicates the command ID for the Move command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:228
SourceControlContainers::IAkList< GUID > PluginIDList
Definition: ISourceControl.h:185
DWORD m_dwDeleteCommandID
Indicates the command ID for the Delete command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:230
virtual AK::Wwise::ISourceControl::OperationResult CheckFilesForOperation(DWORD in_dwOperationID, const StringList &in_rFilenameList, BooleanList &out_rFileStatusList)=0
BSTR m_bstrName
The name of the plug-in displayed in the Project Settings plug-in list.
Definition: ISourceControl.h:221
virtual OperationResult GetOperationResult()=0
Returns OperationResult_Succeed or OperationResult_Failed.
SourceControlContainers::IAkMap< LPCWSTR, LPCWSTR, FilenameToIconMapItem, const FilenameToIconMapItem & > FilenameToIconMap
Definition: ISourceControl.h:205
bool m_bEnabled
True: the operation is enabled in the menu, False: the operation is disabled (grayed out) in the menu...
Definition: ISourceControl.h:159
virtual AK::Wwise::ISourceControl::OperationResult GetFilesForOperation(DWORD in_dwOperationID, const StringList &in_rFilenameList, StringList &out_rFilenameList, FilenameToStatusMap &out_rFileStatusMap)=0
@ CreateOrModifyOperation_Modify
Files will be modified during the operation.
Definition: ISourceControl.h:96
CreateOrModifyOperation
Pre/PostCreateOrModify Operation flags. These flags represent the operation(s) performed on files.
Definition: ISourceControl.h:94
DWORD m_dwRevertNoUICommandID
Indicates the command ID for the Revert command, showing no User Interface, s_dwInvalidOperationID (-...
Definition: ISourceControl.h:238
static const DWORD s_dwInvalidOperationID
Invalid operation ID (MUST NOT BE USED as an operation ID in OperationListItem)
Definition: ISourceControl.h:54
virtual AK::Wwise::ISourceControl::OperationResult PostCreateOrModify(const StringList &in_rFilenameList, CreateOrModifyOperation in_eOperation, bool &out_rContinue)=0
Plug-in information structure. This structure gives a simple overview of the plug-in's capabilities.
Definition: ISourceControl.h:219
@ OperationEffect_ServerContentModification
The operation will modify the remote content (on the server) of the file.
Definition: ISourceControl.h:103
SourceControlContainers::IAkList< OperationListItem > OperationList
Definition: ISourceControl.h:193
virtual AK::Wwise::ISourceControl::OperationResult GetOperationList(OperationMenuType in_menuType, const StringList &in_rFilenameList, OperationList &out_rOperationList)=0
virtual AK::Wwise::ISourceControl::OperationResult FilesUnderSourceControl(const StringList &in_rFilenameList, BooleanList &out_rFileStatusList)=0
bool m_bStatusIconAvailable
Indicates that the plug-in supports Project Explorer custom icons.
Definition: ISourceControl.h:240
The base interface for operations that return information to Wwise.
Definition: ISourceControl.h:110
Definition: ISourceControl.h:65
static const unsigned int s_uiMaxWorkUnitName
Maximum length that a work unit name can be.
Definition: ISourceControl.h:52
virtual void Term()=0
This function is called when the plug-in is terminated before its destruction.
virtual void GetFile(unsigned int in_uiIndex, LPWSTR out_szPath, unsigned int in_uiArraySize)=0
Return the successful file at index in_uiIndex.
void(__stdcall * GetSourceControlPluginInfoFuncPtr)(const GUID &in_rguidPluginID, PluginInfo &out_rPluginInfo)
Gets the AK::Wwise::ISourceControl::PluginInfo class associated with a given plug-in ID.
Definition: ISourceControl.h:381
void(__stdcall * GetSourceControlIDListFuncPtr)(PluginIDList &out_rPluginIDList)
Gets the plug-in ID list contained by the DLL file.
Definition: ISourceControl.h:376
Definition: PluginHelpers.h:45
virtual bool ShowConfigDlg()=0
DWORD m_dwRevertCommandID
Indicates the command ID for the Revert command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:231
Was this page helpful?
Need Support?
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageTell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise