Wwise SDK 2019.2.15
_i_source_control_8h_source
Version
menu_open
link
Wwise SDK 2019.2.15
|
ISourceControl.h
Go to the documentation of this file.
58 /// Wwise source control plug-in interface. This is the interface that the plug-in must implement. It contains
59 /// all the necessary functions to perform source control operations and manage the Wwise source control UI.
72 /// 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 Workgroup Manager's 'Work Units' tab
89 };
91 /// Pre/PostCreateOrModify Operation flags. These flags represent the operation(s) performed on files.
101 OperationEffect_LocalContentModification = 1 << 0, ///< The operation will modify the local content of the file
102 OperationEffect_ServerContentModification = 1 << 1, ///< The operation will modify the remote content (on the server) of the file
129 unsigned int in_uiIndex, ///< in: The index of the moved file. Must be >= 0 and < GetFileCount()
146 /// 'Filename to Status' map item. This is the type used in the AK::Wwise::ISourceControl::FilenameToStatusMap
154 /// Operation list item. This is the type used in the AK::Wwise::ISourceControl::OperationList SourceControlContainers::IAkList template class.
158 bool m_bEnabled; ///< True: the operation is enabled in the menu, False: the operation is disabled (grayed out) in the menu
161 /// FilenameToIconMap item. This is the type used to display the file status icon and tool tip text
166 BSTR m_bstrToolTip; ///< The tool tip text that will be displayed when the user mouses over the icon
172 /// String List. When Wwise needs to pass a file name list, it gives this container to the plug-in.
177 /// Plug-in ID list. When Wwise needs to have the list of plug-ins that a DLL contains, it requests
181 /// When Wwise needs to have the list of operations that are available in a certain context, it requests
182 /// the list of operations using this list type. The contexts are determined by the AK::Wwise::ISourceControl::OperationMenuType
194 /// The AK:Wwise::ISourceControl interface offers a way to display custom icons in the Project Explorer. This map
195 /// 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
196 /// to FilenameToIconMapItem objects. The HICON m_hIcon member will be NULL when there is no icon associated with the file.
199 typedef SourceControlContainers::IAkMap<LPCWSTR, LPCWSTR, FilenameToIconMapItem, const FilenameToIconMapItem&> FilenameToIconMap;
201 /// When the Workgroup Manager needs to fill in the 'Status' and 'Owners' columns of work units or source lists,
202 /// the plug-in needs to fill in this map with the corresponding text. File names are used as keys, and are associated
207 typedef SourceControlContainers::IAkMap<LPCWSTR, LPCWSTR, FilenameToStatusMapItem, const FilenameToStatusMapItem&> FilenameToStatusMap;
211 /// Plug-in information structure. This structure gives a simple overview of the plug-in's capabilities.
218 bool m_bShowConfigDlgAvailable; ///< Used to enable/disable the 'Config...' button in the Project Settings
219 DWORD m_dwUpdateCommandID; ///< Indicates the command ID for the Update command, s_dwInvalidOperationID (-1) if not supported
220 DWORD m_dwCommitCommandID; ///< Indicates the command ID for the Commit/Submit/Checkin command, s_dwInvalidOperationID (-1) if not supported
221 DWORD m_dwRenameCommandID; ///< Indicates the command ID for the Rename command, s_dwInvalidOperationID (-1) if not supported
222 DWORD m_dwMoveCommandID; ///< Indicates the command ID for the Move command, s_dwInvalidOperationID (-1) if not supported
223 DWORD m_dwAddCommandID; ///< Indicates the command ID for the Add command, s_dwInvalidOperationID (-1) if not supported
224 DWORD m_dwDeleteCommandID; ///< Indicates the command ID for the Delete command, s_dwInvalidOperationID (-1) if not supported
225 DWORD m_dwRevertCommandID; ///< Indicates the command ID for the Revert command, s_dwInvalidOperationID (-1) if not supported
226 DWORD m_dwDiffCommandID; ///< Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported
227 DWORD m_dwCheckOutCommandID; ///< Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported
228 DWORD m_dwRenameNoUICommandID; ///< Indicates the command ID for the Rename command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
229 DWORD m_dwMoveNoUICommandID; ///< Indicates the command ID for the Move command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
230 DWORD m_dwDeleteNoUICommandID; ///< Indicates the command ID for the Delete command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
231 bool m_bStatusIconAvailable; ///< Indicates that the plug-in supports Project Explorer custom icons
236 AK::Wwise::ISourceControlUtilities* in_pUtilities, ///< A pointer to the utilities class. The interface is not
238 bool in_bAutoAccept ///< Used when running in command line mode, where user should not be prompted to confirm source control transactions.
247 /// This function is called when the user clicks the 'Config...' button in the Project Settings.
257 const StringList& in_rFilenameList, ///< The file name list for which Wwise needs to get the operation list
273 /// Gets the text to be displayed in the 'Status' and 'Owners' columns of the Workgroup Manager.
276 const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the status
278 DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
281 /// In a similar way to AK::Wwise::ISourceControl::GetFileStatus(), this function gets the icons to be displayed in the
285 const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the icons
287 DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
290 /// Gets the files that should be displayed in the Workgroup Manager file list, but that are not on the local disk.
294 const StringList& in_rDirectoryList, ///< A list of directories in which Wwise needs to get missing files
298 /// Performs an operation on files. This function is called when the user clicks on a source control operation
300 /// For Rename and Move operations in No-User-Interface mode, in_pTargetFilenameList contains the list of target names are known in advance.
303 const StringList& in_rFilenameList, ///< A list of the names of the files that the user selected in the Workgroup Manager or in the Project Explorer.
304 const StringList* in_pTargetFilenameList = NULL ///< Optional: A list of the names of the destination files. Pass NULL when not specified.
307 /// This method is called when the user adds files to the project (Work Units or Sources), saves the project,
308 /// or triggers any call to a Wwise operation that could alter source control files. It is called before Wwise performs
312 const StringList& in_rFilenameList, ///< A list of the names of the files that are to be added (some files may already exist)
313 CreateOrModifyOperation in_eOperation, ///< The operation(s) that will be performed on these files
314 bool& out_rContinue ///< A returned flag that indicates if Wwise is continuing the current operation
317 /// This method is called when the user adds files to the project (Work Units or Sources), saves the project,
318 /// or triggers any call to a Wwise operation that could alter source control files. It is called after Wwise performs
322 const StringList& in_rFilenameList, ///< A list of the names of the files that are to be added (Some files may already exist)
323 CreateOrModifyOperation in_eOperation, ///< The operation(s) that will be performed on these files
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 Workgroup Manager's 'Status' column.
Definition: ISourceControl.h:150
@ OperationMenuType_Explorer
The menu is displayed in the Project Explorer.
Definition: ISourceControl.h:88
@ OperationEffect_LocalContentModification
The operation will modify the local content of the file.
Definition: ISourceControl.h:101
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:221
SourceControlContainers::IAkList< LPCWSTR, LPCWSTR > StringList
Definition: ISourceControl.h:175
HICON m_hIcon
A handle to an icon that will be displayed in the Project Explorer.
Definition: ISourceControl.h:165
DWORD m_dwAddCommandID
Indicates the command ID for the Add command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:223
@ OperationMenuType_Sources
The menu is displayed in the Workgroup 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:166
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 Workgroup Manager's 'Owners' column.
Definition: ISourceControl.h:151
SourceControlContainers::IAkMap< LPCWSTR, LPCWSTR, FilenameToStatusMapItem, const FilenameToStatusMapItem & > FilenameToStatusMap
Definition: ISourceControl.h:207
bool m_bShowConfigDlgAvailable
Used to enable/disable the 'Config...' button in the Project Settings.
Definition: ISourceControl.h:218
DWORD m_dwDeleteNoUICommandID
Indicates the command ID for the Delete command, showing no User Interface, s_dwInvalidOperationID (-...
Definition: ISourceControl.h:230
@ OperationMenuType_WorkUnits
The menu is displayed in the Workgroup 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:226
virtual AK::Wwise::ISourceControl::OperationResult GetFileStatus(const StringList &in_rFilenameList, FilenameToStatusMap &out_rFileStatusMap, DWORD in_dwTimeoutMs=INFINITE)=0
This class contains static constants that can be useful to the plug-in.
Definition: ISourceControl.h:50
virtual IOperationResult * DoOperation(DWORD in_dwOperationID, const StringList &in_rFilenameList, const StringList *in_pTargetFilenameList=NULL)=0
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:228
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:220
Operation list item. This is the type used in the AK::Wwise::ISourceControl::OperationList SourceCont...
Definition: ISourceControl.h:156
DWORD m_dwUpdateCommandID
Indicates the command ID for the Update command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:219
DWORD m_dwCheckOutCommandID
Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:227
ISourceControl *(__stdcall * GetSourceControlInstanceFuncPtr)(const GUID &in_guidPluginID)
Definition: ISourceControl.h:354
DWORD m_dwMoveNoUICommandID
Indicates the command ID for the Move command, showing no User Interface, s_dwInvalidOperationID (-1)...
Definition: ISourceControl.h:229
@ CreateOrModifyOperation_Create
Files will be created during the operation.
Definition: ISourceControl.h:94
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:222
SourceControlContainers::IAkList< GUID > PluginIDList
Definition: ISourceControl.h:179
DWORD m_dwDeleteCommandID
Indicates the command ID for the Delete command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:224
BSTR m_bstrName
The name of the plug-in displayed in the Project Settings plug-in list.
Definition: ISourceControl.h:215
virtual OperationResult GetOperationResult()=0
Returns OperationResult_Succeed or OperationResult_Failed.
SourceControlContainers::IAkMap< LPCWSTR, LPCWSTR, FilenameToIconMapItem, const FilenameToIconMapItem & > FilenameToIconMap
Definition: ISourceControl.h:199
bool m_bEnabled
True: the operation is enabled in the menu, False: the operation is disabled (grayed out) in the menu...
Definition: ISourceControl.h:158
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:95
CreateOrModifyOperation
Pre/PostCreateOrModify Operation flags. These flags represent the operation(s) performed on files.
Definition: ISourceControl.h:93
static const DWORD s_dwInvalidOperationID
Invalid operation ID (MUST NOT BE USED as an operation ID in OperationListItem)
Definition: ISourceControl.h:55
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:213
@ OperationEffect_ServerContentModification
The operation will modify the remote content (on the server) of the file.
Definition: ISourceControl.h:102
SourceControlContainers::IAkList< OperationListItem > OperationList
Definition: ISourceControl.h:187
virtual AK::Wwise::ISourceControl::OperationResult GetOperationList(OperationMenuType in_menuType, const StringList &in_rFilenameList, OperationList &out_rOperationList)=0
bool m_bStatusIconAvailable
Indicates that the plug-in supports Project Explorer custom icons.
Definition: ISourceControl.h:231
The base interface for operations that return information to Wwise.
Definition: ISourceControl.h:109
Definition: ISourceControl.h:66
static const unsigned int s_uiMaxWorkUnitName
Maximum length that a work unit name can be.
Definition: ISourceControl.h:53
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:347
void(__stdcall * GetSourceControlIDListFuncPtr)(PluginIDList &out_rPluginIDList)
Gets the plug-in ID list contained by the DLL file.
Definition: ISourceControl.h:342
virtual bool ShowConfigDlg()=0
DWORD m_dwRevertCommandID
Indicates the command ID for the Revert command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:225
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