Version
menu_open
link
Wwise SDK 2022.1.12
ISourceControl.h
Go to the documentation of this file.
1 /*******************************************************************************
2 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
3 released in source code form as part of the SDK installer package.
4 
5 Commercial License Usage
6 
7 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
8 may use this file in accordance with the end user license agreement provided
9 with the software or, alternatively, in accordance with the terms contained in a
10 written agreement between you and Audiokinetic Inc.
11 
12 Apache License Usage
13 
14 Alternatively, this file may be used under the Apache License, Version 2.0 (the
15 "Apache License"); you may not use this file except in compliance with the
16 Apache License. You may obtain a copy of the Apache License at
17 http://www.apache.org/licenses/LICENSE-2.0.
18 
19 Unless required by applicable law or agreed to in writing, software distributed
20 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
21 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
22 the specific language governing permissions and limitations under the License.
23 
24  Copyright (c) 2024 Audiokinetic Inc.
25 *******************************************************************************/
26 
27 /// \file
28 /// Wwise source control plug-in interface, used to implement the source control plug-in.
29 
30 #ifndef _AK_WWISE_ISOURCECONTROL_H
31 #define _AK_WWISE_ISOURCECONTROL_H
32 
33 // Include the header file that defines the BSTR type.
34 #ifdef AK_WIN
35 #include <wtypes.h>
36 #endif
37 
40 
41 // Audiokinetic namespace
42 namespace AK
43 {
44  // Audiokinetic Wwise namespace
45  namespace Wwise
46  {
47  /// This class contains static constants that can be useful to the plug-in.
49  {
50  public:
51  /// Maximum length that a work unit name can be
52  static const unsigned int s_uiMaxWorkUnitName = 128;
53  /// Invalid operation ID (MUST NOT BE USED as an operation ID in OperationListItem)
54  static const DWORD s_dwInvalidOperationID = (DWORD)-1;
55  };
56 
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.
59  /// \akwarning
60  /// The functions in this interface are not thread-safe, unless stated otherwise.
61  /// \endakwarning
62  /// \sa
63  /// - \ref source_control_dll_creation_object_information
65  {
66  public:
67 
68  /// \name Enumeration types
69  //@{
70 
71  /// Operation result. Some interface functions need to return the result of the operation. This is used
72  /// by Wwise to manage various errors.
74  {
75  OperationResult_Succeed = 0, ///< The operation succeeded
76  OperationResult_Failed, ///< The operation failed
77  OperationResult_TimedOut, ///< The operation timed out
78  OperationResult_Cancelled, ///< The operation was cancelled
79  OperationResult_NotImplemented ///< The operation is not implemented
80  };
81 
82  /// Menu type. The operation list may vary depending on the location where a menu containing operations
83  /// needs to be displayed.
85  {
86  OperationMenuType_WorkUnits = 0,///< The menu is displayed in the File Manager's 'Work Units' tab
87  OperationMenuType_Sources, ///< The menu is displayed in the File Manager's 'Sources' tab
88  OperationMenuType_Generated, ///< The menu is displayed in the File Manager's 'Generated' tab
89  OperationMenuType_Explorer ///< The menu is displayed in the Project Explorer
90  };
91 
92  /// Pre/PostCreateOrModify Operation flags. These flags represent the operation(s) performed on files.
94  {
95  CreateOrModifyOperation_Create = 1 << 0, ///< Files will be created during the operation
96  CreateOrModifyOperation_Modify = 1 << 1, ///< Files will be modified during the operation
97  };
98 
99  /// The operation's effect on the file(s) involved.
101  {
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
104  };
105 
106  //@}
107 
108  /// The base interface for operations that return information to Wwise
110  {
111  public:
112  /// Returns OperationResult_Succeed or OperationResult_Failed
114 
115  /// Implementations should call "delete this;".
116  virtual void Destroy() = 0;
117  };
118 
119  /// The result returned by DoOperation for a Move, Rename or Delete operation.
120  /// An instance of this class is allocated by the plugin and freed by Wwise.
121  /// The operation ID must be identified by :
122  /// PluginInfo::m_dwMoveCommandID, PluginInfo::m_dwMoveNoUICommandID,
123  /// PluginInfo::m_dwRenameCommandID or PluginInfo::m_dwRenameNoUICommandID
124  /// PluginInfo::m_dwDeleteCommandID or PluginInfo::m_dwDeleteNoUICommandID
126  {
127  public:
128  /// Return the move source and destination for the file at index in_uiIndex
129  virtual void GetMovedFile(
130  unsigned int in_uiIndex, ///< in: The index of the moved file. Must be >= 0 and < GetFileCount()
131  LPWSTR out_szFrom, ///< out: String buffer to receive the source path
132  LPWSTR out_szTo, ///< out: String buffer to receive the destination path
133  unsigned int in_uiArraySize ///< in: Size of the buffers (out_szFrom and out_szTo)
134  ) = 0;
135 
136  /// Return the successful file at index in_uiIndex
137  virtual void GetFile(
138  unsigned int in_uiIndex, ///< in: The index of the file. Must be >= 0 and < GetFileCount()
139  LPWSTR out_szPath, ///< out: String buffer to receive the source path
140  unsigned int in_uiArraySize ///< in: Size of the buffers (out_szFrom and out_szTo)
141  ) = 0;
142 
143  /// Returns how many files were moved during the operation
144  virtual unsigned int GetFileCount() = 0;
145  };
146 
147  /// 'Filename to Status' map item. This is the type used in the AK::Wwise::ISourceControl::FilenameToStatusMap
148  /// SourceControlContainers::IAkMap template parameter structure.
150  {
151  BSTR m_bstrStatus; ///< Text displayed in the File Manager's 'Status' column
152  BSTR m_bstrOwner; ///< Text displayed in the File Manager's 'Owners' column
153  };
154 
155  /// Operation list item. This is the type used in the AK::Wwise::ISourceControl::OperationList SourceControlContainers::IAkList template class.
157  {
158  DWORD m_dwOperationID; ///< The operation ID
159  bool m_bEnabled; ///< True: the operation is enabled in the menu, False: the operation is disabled (grayed out) in the menu
160  };
161 
162  /// FilenameToIconMap item. This is the type used to display the file status icon and tool tip text
163  /// in the Project Explorer.
165  {
166  HICON m_hIcon; ///< A handle to an icon that will be displayed in the Project Explorer
167  BSTR m_bstrToolTip; ///< The tool tip text that will be displayed when the user mouses over the icon
168  };
169 
170  /// \name List types
171  //@{
172 
173  /// String List. When Wwise needs to pass a file name list, it gives this container to the plug-in.
174  /// \sa
175  /// - AK::Wwise::SourceControlContainers::IAkList
177 
178  /// Boolean List. When Wwise needs to pass a boolean list, it gives this container to the plug-in.
179  /// \sa
180  /// - AK::Wwise::SourceControlContainers::IAkList
182 
183  /// Plug-in ID list. When Wwise needs to have the list of plug-ins that a DLL contains, it requests
184  /// the list of plug-in IDs using a function exported by the DLL.
186 
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
189  /// enumeration type.
190  /// \sa
191  /// - AK::Wwise::ISourceControl::OperationListItem
192  /// - AK::Wwise::SourceControlContainers::IAkList
194 
195  //@}
196 
197  /// \name Map types
198  //@{
199 
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.
203  /// \sa
204  /// - AK::Wwise::SourceControlContainers::IAkMap
206 
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
209  /// to the text to be displayed in the 'Status' and 'Owners' columns.
210  /// \sa
211  /// - AK::Wwise::ISourceControl::FilenameToStatusMapItem
212  /// - AK::Wwise::SourceControlContainers::IAkMap
214 
215  //@}
216 
217  /// Plug-in information structure. This structure gives a simple overview of the plug-in's capabilities.
219  {
220  public:
221  BSTR m_bstrName; ///< The name of the plug-in displayed in the Project Settings plug-in list
222  unsigned int m_uiVersion; ///< The current version of the plug-in
223 
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
241  };
242 
243  /// This function is called when the plug-in is initialized after its creation.
244  virtual void Init(
245  AK::Wwise::ISourceControlUtilities* in_pUtilities, ///< A pointer to the utilities class. The interface is not
246  ///< destroyed while an instance of the plug-in exists.
247  bool in_bAutoAccept ///< Used when running in command line mode, where user should not be prompted to confirm source control transactions.
248  ) = 0;
249 
250  /// This function is called when the plug-in is terminated before its destruction.
251  virtual void Term() = 0;
252 
253  /// This function destroys the plug-in. The implementation is generally '{ delete this; }'.
254  virtual void Destroy() = 0;
255 
256  /// This function is called when the user clicks the 'Config...' button in the Project Settings.
257  /// \return True if the user accepts the configuration, False otherwise
258  /// \sa
259  /// - AK::Wwise::ISourceControl::PluginInfo::m_bShowConfigDlgAvailable
260  virtual bool ShowConfigDlg() = 0;
261 
262  /// Gets the operation list to be displayed in a menu.
263  /// \return The result of the operation
265  OperationMenuType in_menuType, ///< The type of menu where the operation list will be displayed
266  const StringList& in_rFilenameList, ///< The file name list for which Wwise needs to get the operation list
267  OperationList& out_rOperationList ///< The returned operation list available in this context
268  ) = 0;
269 
270  /// Gets the operation name to display in user interface
271  // \return A mask of all the applicable OperationEffect enum values
272  virtual LPCWSTR GetOperationName(
273  DWORD in_dwOperationID ///< The ID of the operation, as specified in OperationListItem
274  ) = 0;
275 
276  /// Gets the operation effect on the file(s) involved in the operation.
277  // \return A mask of all the applicable OperationEffect enum values
278  virtual DWORD GetOperationEffect(
279  DWORD in_dwOperationID ///< The ID of the operation, as specified in OperationListItem
280  ) = 0;
281 
282  /// Gets the text to be displayed in the 'Status' and 'Owners' columns of the File Manager.
283  /// \return The result of the operation
285  const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the status
286  FilenameToStatusMap& out_rFileStatusMap,///< The returned 'Filename To Status' map
287  DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
288  ) = 0;
289 
290  /// In a similar way to AK::Wwise::ISourceControl::GetFileStatus(), this function gets the icons to be displayed in the
291  /// Project Explorer.
292  /// \return The result of the operation
294  const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the icons
295  FilenameToIconMap& out_rFileIconsMap, ///< The returned 'Filename To Icons' map
296  DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
297  ) = 0;
298 
299  /// Combines GetFileStatus() and GetFileStatusIcons() to get the source control file icons and the text to be displayed in the 'Status' and 'Owners'
300  /// columns of the File Manager.
301  /// \return The result of the operation
303  const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the icons
304  FilenameToStatusMap& out_rFileStatusMap,///< The returned 'Filename To Status' map
305  FilenameToIconMap& out_rFileIconsMap, ///< The returned 'Filename To Icons' map
306  DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
307  ) = 0;
308 
309  /// Gets the files that should be displayed in the File Manager file list, but that are not on the local disk.
310  /// Deleted files that need to be submitted to the server are an example of implementation.
311  /// \return The result of the operation
313  const StringList& in_rDirectoryList, ///< A list of directories in which Wwise needs to get missing files
314  StringList& out_rFilenameList ///< The returned missing files
315  ) = 0;
316 
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.
320  [[nodiscard]] virtual IOperationResult* DoOperation(
321  DWORD in_dwOperationID, ///< The ID of the operation that the user selected from the menu
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.
324  ) = 0;
325 
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
328  /// the operation and is always followed by a call to PostCreateOrModify.
329  /// \return The result of the operation
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
334  ) = 0;
335 
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
338  /// the operation and is always preceded by a call to PreCreateOrModify.
339  /// \return The result of the operation
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
344  ) = 0;
345 
346  /// This methods returns the list files that can be committed
347  /// \return The result of the operation
349  DWORD in_dwOperationID, ///< The operation to verify on each file
350  const StringList& in_rFilenameList, ///< The files to query
351  StringList& out_rFilenameList, ///< Out: The files that can have the operation done
352  FilenameToStatusMap& out_rFileStatusMap ///< Out: The file status of all files
353  ) = 0;
354 
355  /// This methods returns whether the specified operation can be applied to each file.
356  /// \return The result of the operation
358  DWORD in_dwOperationID, ///< The operation to verify on each file
359  const StringList& in_rFilenameList, ///< The files to query
360  BooleanList& out_rFileStatusList ///< Out: For each file in in_rFilenameList, whether in_dwOperationID can be applied.
361  ) = 0;
362 
363  /// This methods returns a boolean for each file, indicating whether the file is under source control.
364  /// \return The result of the operation
366  const StringList& in_rFilenameList, ///< The files to query
367  BooleanList& out_rFileStatusList ///< Out: List of source control file status.
368  ) = 0;
369 
370  //@}
371 
372  /// \name Exported functions prototypes
373  //@{
374 
375  /// Gets the plug-in ID list contained by the DLL file.
376  typedef void (__stdcall* GetSourceControlIDListFuncPtr)(
377  PluginIDList& out_rPluginIDList ///< The List of plug-in IDs
378  );
379 
380  /// Gets the AK::Wwise::ISourceControl::PluginInfo class associated with a given plug-in ID.
381  typedef void (__stdcall* GetSourceControlPluginInfoFuncPtr)(
382  const GUID& in_rguidPluginID, ///< The ID of the plug-in
383  PluginInfo& out_rPluginInfo ///< The returned plug-in info
384  );
385 
386  /// Gets an instance of a plug-in.
387  /// \return A pointer to an AK::Wwise::ISourceControl instance
389  const GUID& in_guidPluginID ///< The requested plug-in ID
390  );
391  };
392  }
393 }
394 
395 #endif // _AK_WWISE_ISOURCECONTROL_H
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.
@ OperationMenuType_Explorer
The menu is displayed in the Project Explorer.
@ OperationEffect_LocalContentModification
The operation will modify the local content of the file.
Audiokinetic namespace.
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.
SourceControlContainers::IAkList< LPCWSTR, LPCWSTR > StringList
HICON m_hIcon
A handle to an icon that will be displayed in the Project Explorer.
DWORD m_dwAddCommandID
Indicates the command ID for the Add command, s_dwInvalidOperationID (-1) if not supported.
@ OperationMenuType_Sources
The menu is displayed in the File Manager's 'Sources' tab.
BSTR m_bstrToolTip
The tool tip text that will be displayed when the user mouses over the icon.
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.
@ OperationResult_TimedOut
The operation timed out.
SourceControlContainers::IAkList< bool > BooleanList
SourceControlContainers::IAkMap< LPCWSTR, LPCWSTR, FilenameToStatusMapItem, const FilenameToStatusMapItem & > FilenameToStatusMap
bool m_bShowConfigDlgAvailable
Used to enable/disable the 'Config...' button in the Project Settings.
DWORD m_dwDeleteNoUICommandID
Indicates the command ID for the Delete command, showing no User Interface, s_dwInvalidOperationID (-...
@ OperationMenuType_WorkUnits
The menu is displayed in the File Manager's 'Work Units' tab.
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.
@ OperationResult_Succeed
The operation succeeded.
@ OperationResult_NotImplemented
The operation is not implemented.
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...
#define NULL
Definition: AkTypes.h:46
This class contains static constants that can be useful to the plug-in.
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.
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 (-...
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...
DWORD m_dwAddNoUICommandID
Indicates the command ID for the Add command, showing no User Interface, s_dwInvalidOperationID (-1) ...
Operation list item. This is the type used in the AK::Wwise::ISourceControl::OperationList SourceCont...
DWORD m_dwUpdateCommandID
Indicates the command ID for the Update command, s_dwInvalidOperationID (-1) if not supported.
OperationEffect
The operation's effect on the file(s) involved.
DWORD m_dwCheckOutCommandID
Indicates the command ID for the CheckOut command, s_dwInvalidOperationID (-1) if not supported.
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)
DWORD m_dwCheckOutNoUICommandID
Indicates the command ID for the CheckOut command, showing no User Interface, s_dwInvalidOperationID ...
DWORD m_dwMoveNoUICommandID
Indicates the command ID for the Move command, showing no User Interface, s_dwInvalidOperationID (-1)...
@ CreateOrModifyOperation_Create
Files will be created during the operation.
virtual unsigned int GetFileCount()=0
Returns how many files were moved during the operation.
@ OperationResult_Failed
The operation failed.
DWORD m_dwMoveCommandID
Indicates the command ID for the Move command, s_dwInvalidOperationID (-1) if not supported.
SourceControlContainers::IAkList< GUID > PluginIDList
DWORD m_dwDeleteCommandID
Indicates the command ID for the Delete command, s_dwInvalidOperationID (-1) if not supported.
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.
virtual OperationResult GetOperationResult()=0
Returns OperationResult_Succeed or OperationResult_Failed.
SourceControlContainers::IAkMap< LPCWSTR, LPCWSTR, FilenameToIconMapItem, const FilenameToIconMapItem & > FilenameToIconMap
@ OperationResult_Cancelled
The operation was cancelled.
bool m_bEnabled
True: the operation is enabled in the menu, False: the operation is disabled (grayed out) in the menu...
unsigned int m_uiVersion
The current version of the plug-in.
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.
CreateOrModifyOperation
Pre/PostCreateOrModify Operation flags. These flags represent the operation(s) performed on files.
DWORD m_dwRevertNoUICommandID
Indicates the command ID for the Revert command, showing no User Interface, s_dwInvalidOperationID (-...
static const DWORD s_dwInvalidOperationID
Invalid operation ID (MUST NOT BE USED as an operation ID in OperationListItem)
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.
@ OperationEffect_ServerContentModification
The operation will modify the remote content (on the server) of the file.
SourceControlContainers::IAkList< OperationListItem > OperationList
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.
The base interface for operations that return information to Wwise.
static const unsigned int s_uiMaxWorkUnitName
Maximum length that a work unit name can be.
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.
void(__stdcall * GetSourceControlIDListFuncPtr)(PluginIDList &out_rPluginIDList)
Gets the plug-in ID list contained by the DLL file.
virtual bool ShowConfigDlg()=0
DWORD m_dwRevertCommandID
Indicates the command ID for the Revert command, s_dwInvalidOperationID (-1) if not supported.

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell 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