Wwise SDK
Version
menu_open
link
Wwise SDK 2023.1.2
|
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 typedef SourceControlContainers::IAkMap<LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR> IConnectParameterMap;
219 /// Plug-in information structure. This structure gives a simple overview of the plug-in's capabilities.
226 bool m_bShowConfigDlgAvailable; ///< Used to enable/disable the 'Config...' button in the Project Settings
227 DWORD m_dwUpdateCommandID; ///< Indicates the command ID for the Update command, s_dwInvalidOperationID (-1) if not supported
228 DWORD m_dwCommitCommandID; ///< Indicates the command ID for the Commit/Submit/Checkin command, s_dwInvalidOperationID (-1) if not supported
229 DWORD m_dwRenameCommandID; ///< Indicates the command ID for the Rename command, s_dwInvalidOperationID (-1) if not supported
230 DWORD m_dwMoveCommandID; ///< Indicates the command ID for the Move command, s_dwInvalidOperationID (-1) if not supported
231 DWORD m_dwAddCommandID; ///< Indicates the command ID for the Add command, s_dwInvalidOperationID (-1) if not supported
232 DWORD m_dwDeleteCommandID; ///< Indicates the command ID for the Delete command, s_dwInvalidOperationID (-1) if not supported
233 DWORD m_dwRevertCommandID; ///< Indicates the command ID for the Revert command, s_dwInvalidOperationID (-1) if not supported
234 DWORD m_dwDiffCommandID; ///< Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported
235 DWORD m_dwCheckOutCommandID; ///< Indicates the command ID for the CheckOut command, s_dwInvalidOperationID (-1) if not supported
236 DWORD m_dwRenameNoUICommandID; ///< Indicates the command ID for the Rename command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
237 DWORD m_dwMoveNoUICommandID; ///< Indicates the command ID for the Move command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
238 DWORD m_dwAddNoUICommandID; ///< Indicates the command ID for the Add command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
239 DWORD m_dwDeleteNoUICommandID; ///< Indicates the command ID for the Delete command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
240 DWORD m_dwRevertNoUICommandID; ///< Indicates the command ID for the Revert command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
241 DWORD m_dwCheckOutNoUICommandID;///< Indicates the command ID for the CheckOut command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
242 bool m_bStatusIconAvailable; ///< Indicates that the plug-in supports Project Explorer custom icons
247 AK::Wwise::ISourceControlUtilities* in_pUtilities, ///< A pointer to the utilities class. The interface is not
249 bool in_bAutoAccept ///< Used when running in command line mode, where user should not be prompted to confirm source control transactions.
264 /// This function is called when the user clicks the 'Config...' button in the Project Settings.
274 const StringList& in_rFilenameList, ///< The file name list for which Wwise needs to get the operation list
293 const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the status
295 DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
298 /// In a similar way to AK::Wwise::ISourceControl::GetFileStatus(), this function gets the icons to be displayed in the
302 const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the icons
304 DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
307 /// Combines GetFileStatus() and GetFileStatusIcons() to get the source control file icons and the text to be displayed in the 'Status' and 'Owners'
311 const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the icons
314 DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
317 /// Gets the files that should be displayed in the File Manager file list, but that are not on the local disk.
321 const StringList& in_rDirectoryList, ///< A list of directories in which Wwise needs to get missing files
325 /// Performs an operation on files. This function is called when the user clicks on a source control operation in a menu.
326 /// The returned IOperationResult must be allocated on the heap and freed by the caller using IOperationResult::Destroy.
327 /// For Rename and Move operations in No-User-Interface mode, in_pTargetFilenameList contains the list of target names are known in advance.
330 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.
331 const StringList* in_pTargetFilenameList = NULL ///< Optional: A list of the names of the destination files. Pass NULL when not specified.
334 /// This method is called when the user adds files to the project (Work Units or Sources), saves the project,
335 /// or triggers any call to a Wwise operation that could alter source control files. It is called before Wwise performs
339 const StringList& in_rFilenameList, ///< A list of the names of the files that are to be added (some files may already exist)
340 CreateOrModifyOperation in_eOperation, ///< The operation(s) that will be performed on these files
341 bool& out_rContinue ///< A returned flag that indicates if Wwise is continuing the current operation
344 /// This method is called when the user adds files to the project (Work Units or Sources), saves the project,
345 /// or triggers any call to a Wwise operation that could alter source control files. It is called after Wwise performs
349 const StringList& in_rFilenameList, ///< A list of the names of the files that are to be added (Some files may already exist)
350 CreateOrModifyOperation in_eOperation, ///< The operation(s) that will be performed on these files
351 bool& out_rContinue ///< A returned flag that indicates if Wwise is continuing the current operation
368 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:229
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:231
@ 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:226
DWORD m_dwDeleteNoUICommandID
Indicates the command ID for the Delete command, showing no User Interface, s_dwInvalidOperationID (-...
Definition: ISourceControl.h:239
@ 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:234
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:236
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:228
virtual OperationResult Disconnect()=0
This method disconnects the source control plugin.
DWORD m_dwAddNoUICommandID
Indicates the command ID for the Add command, showing no User Interface, s_dwInvalidOperationID (-1) ...
Definition: ISourceControl.h:238
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:227
DWORD m_dwCheckOutCommandID
Indicates the command ID for the CheckOut command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:235
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:396
DWORD m_dwCheckOutNoUICommandID
Indicates the command ID for the CheckOut command, showing no User Interface, s_dwInvalidOperationID ...
Definition: ISourceControl.h:241
DWORD m_dwMoveNoUICommandID
Indicates the command ID for the Move command, showing no User Interface, s_dwInvalidOperationID (-1)...
Definition: ISourceControl.h:237
@ 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.
virtual OperationResult Connect(const IConnectParameterMap ¶meterMap)=0
This method connects the source control plugin.
DWORD m_dwMoveCommandID
Indicates the command ID for the Move command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:230
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:232
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:223
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:240
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:221
@ 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:242
SourceControlContainers::IAkMap< LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR > IConnectParameterMap
Definition: ISourceControl.h:217
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:389
void(__stdcall * GetSourceControlIDListFuncPtr)(PluginIDList &out_rPluginIDList)
Gets the plug-in ID list contained by the DLL file.
Definition: ISourceControl.h:384
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:233
Cette page a-t-elle été utile ?
Besoin d'aide ?
Des questions ? Des problèmes ? Besoin de plus d'informations ? Contactez-nous, nous pouvons vous aider !
Visitez notre page d'AideDécrivez-nous de votre projet. Nous sommes là pour vous aider.
Enregistrez votre projet et nous vous aiderons à démarrer sans aucune obligation !
Partir du bon pied avec Wwise