Table of Contents

Wwise SDK 2019.2.3
ISourceControl.h
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  Version: <VERSION> Build: <BUILDNUMBER>
25  Copyright (c) <COPYRIGHTYEAR> Audiokinetic Inc.
26 *******************************************************************************/
27 
28 /// \file
29 /// Wwise source control plug-in interface, used to implement the source control plug-in.
30 
31 #ifndef _AK_WWISE_ISOURCECONTROL_H
32 #define _AK_WWISE_ISOURCECONTROL_H
33 
34 // Include the header file that defines the BSTR type.
35 #ifdef AK_WIN
36 #include <wtypes.h>
37 #endif
38 
39 #include "ISourceControlUtilities.h"
40 #include "SourceControlContainers.h"
41 
42 // Audiokinetic namespace
43 namespace AK
44 {
45  // Audiokinetic Wwise namespace
46  namespace Wwise
47  {
48  /// This class contains static constants that can be useful to the plug-in.
50  {
51  public:
52  /// Maximum length that a work unit name can be
53  static const unsigned int s_uiMaxWorkUnitName = 128;
54  /// Invalid operation ID (MUST NOT BE USED as an operation ID in OperationListItem)
55  static const DWORD s_dwInvalidOperationID = (DWORD)-1;
56  };
57 
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.
60  /// \akwarning
61  /// The functions in this interface are not thread-safe, unless stated otherwise.
62  /// \endakwarning
63  /// \sa
64  /// - \ref source_control_dll_creation_object_information
66  {
67  public:
68 
69  /// \name Enumeration types
70  //@{
71 
72  /// Operation result. Some interface functions need to return the result of the operation. This is used
73  /// by Wwise to manage various errors.
75  {
76  OperationResult_Succeed = 0, ///< The operation succeeded
77  OperationResult_Failed, ///< The operation failed
78  OperationResult_TimedOut, ///< The operation timed out
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 Workgroup Manager's 'Work Units' tab
87  OperationMenuType_Sources, ///< The menu is displayed in the Workgroup Manager's 'Sources' tab
88  OperationMenuType_Explorer ///< The menu is displayed in the Project Explorer
89  };
90 
91  /// Pre/PostCreateOrModify Operation flags. These flags represent the operation(s) performed on files.
93  {
94  CreateOrModifyOperation_Create = 1 << 0, ///< Files will be created during the operation
95  CreateOrModifyOperation_Modify = 1 << 1, ///< Files will be modified during the operation
96  };
97 
98  /// The operation's effect on the file(s) involved.
100  {
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
103  };
104 
105  //@}
106 
107  /// The base interface for operations that return information to Wwise
109  {
110  public:
111  /// Returns OperationResult_Succeed or OperationResult_Failed
112  virtual OperationResult GetOperationResult() = 0;
113 
114  /// Implementations should call "delete this;".
115  virtual void Destroy() = 0;
116  };
117 
118  /// The result returned by DoOperation for a Move, Rename or Delete operation
119  /// A instance of this class is allocated by the plugin and freed by Wwise
120  /// The operation ID must be identified by :
121  /// PluginInfo::m_dwMoveCommandID, PluginInfo::m_dwMoveNoUICommandID,
122  /// PluginInfo::m_dwRenameCommandID or PluginInfo::m_dwRenameNoUICommandID
123  /// PluginInfo::m_dwDeleteCommandID or PluginInfo::m_dwDeleteNoUICommandID
125  {
126  public:
127  /// Return the move source and destination for the file at index in_uiIndex
128  virtual void GetMovedFile(
129  unsigned int in_uiIndex, ///< in: The index of the moved file. Must be >= 0 and < GetFileCount()
130  LPWSTR out_szFrom, ///< out: String buffer to receive the source path
131  LPWSTR out_szTo, ///< out: String buffer to receive the destination path
132  unsigned int in_uiArraySize ///< in: Size of the buffers (out_szFrom and out_szTo)
133  ) = 0;
134 
135  /// Return the successful file at index in_uiIndex
136  virtual void GetFile(
137  unsigned int in_uiIndex, ///< in: The index of the file. Must be >= 0 and < GetFileCount()
138  LPWSTR out_szPath, ///< out: String buffer to receive the source path
139  unsigned int in_uiArraySize ///< in: Size of the buffers (out_szFrom and out_szTo)
140  ) = 0;
141 
142  /// Returns how many files were moved during the operation
143  virtual unsigned int GetFileCount() = 0;
144  };
145 
146  /// 'Filename to Status' map item. This is the type used in the AK::Wwise::ISourceControl::FilenameToStatusMap
147  /// SourceControlContainers::IAkMap template parameter structure.
149  {
150  BSTR m_bstrStatus; ///< Text displayed in the Workgroup Manager's 'Status' column
151  BSTR m_bstrOwner; ///< Text displayed in the Workgroup Manager's 'Owners' column
152  };
153 
154  /// Operation list item. This is the type used in the AK::Wwise::ISourceControl::OperationList SourceControlContainers::IAkList template class.
156  {
157  DWORD m_dwOperationID; ///< The operation ID
158  bool m_bEnabled; ///< True: the operation is enabled in the menu, False: the operation is disabled (grayed out) in the menu
159  };
160 
161  /// FilenameToIconMap item. This is the type used to display the file status icon and tool tip text
162  /// in the Project Explorer.
164  {
165  HICON m_hIcon; ///< A handle to an icon that will be displayed in the Project Explorer
166  BSTR m_bstrToolTip; ///< The tool tip text that will be displayed when the user mouses over the icon
167  };
168 
169  /// \name List types
170  //@{
171 
172  /// String List. When Wwise needs to pass a file name list, it gives this container to the plug-in.
173  /// \sa
174  /// - AK::Wwise::SourceControlContainers::IAkList
176 
177  /// Plug-in ID list. When Wwise needs to have the list of plug-ins that a DLL contains, it requests
178  /// the list of plug-in IDs using a function exported by the DLL.
180 
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
183  /// enumeration type.
184  /// \sa
185  /// - AK::Wwise::ISourceControl::OperationListItem
186  /// - AK::Wwise::SourceControlContainers::IAkList
188 
189  //@}
190 
191  /// \name Map types
192  //@{
193 
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.
197  /// \sa
198  /// - AK::Wwise::SourceControlContainers::IAkMap
200 
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
203  /// to the text to be displayed in the 'Status' and 'Owners' columns.
204  /// \sa
205  /// - AK::Wwise::ISourceControl::FilenameToStatusMapItem
206  /// - AK::Wwise::SourceControlContainers::IAkMap
208 
209  //@}
210 
211  /// Plug-in information structure. This structure gives a simple overview of the plug-in's capabilities.
212  class PluginInfo
213  {
214  public:
215  BSTR m_bstrName; ///< The name of the plug-in displayed in the Project Settings plug-in list
216  unsigned int m_uiVersion; ///< The current version of the plug-in
217 
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
232  };
233 
234  /// This function is called when the plug-in is initialized after its creation.
235  virtual void Init(
236  AK::Wwise::ISourceControlUtilities* in_pUtilities, ///< A pointer to the utilities class. The interface is not
237  ///< destroyed while an instance of the plug-in exists.
238  bool in_bAutoAccept ///< Used when running in command line mode, where user should not be prompted to confirm source control transactions.
239  ) = 0;
240 
241  /// This function is called when the plug-in is terminated before its destruction.
242  virtual void Term() = 0;
243 
244  /// This function destroys the plug-in. The implementation is generally '{ delete this; }'.
245  virtual void Destroy() = 0;
246 
247  /// This function is called when the user clicks the 'Config...' button in the Project Settings.
248  /// \return True if the user accepts the configuration, False otherwise
249  /// \sa
250  /// - AK::Wwise::ISourceControl::PluginInfo::m_bShowConfigDlgAvailable
251  virtual bool ShowConfigDlg() = 0;
252 
253  /// Gets the operation list to be displayed in a menu.
254  /// \return The result of the operation
256  OperationMenuType in_menuType, ///< The type of menu where the operation list will be displayed
257  const StringList& in_rFilenameList, ///< The file name list for which Wwise needs to get the operation list
258  OperationList& out_rOperationList ///< The returned operation list available in this context
259  ) = 0;
260 
261  /// Gets the operation name to display in user interface
262  // \return A mask of all the applicable OperationEffect enum values
263  virtual LPCWSTR GetOperationName(
264  DWORD in_dwOperationID ///< The ID of the operation, as specified in OperationListItem
265  ) = 0;
266 
267  /// Gets the operation effect on the file(s) involved in the operation.
268  // \return A mask of all the applicable OperationEffect enum values
269  virtual DWORD GetOperationEffect(
270  DWORD in_dwOperationID ///< The ID of the operation, as specified in OperationListItem
271  ) = 0;
272 
273  /// Gets the text to be displayed in the 'Status' and 'Owners' columns of the Workgroup Manager.
274  /// \return The result of the operation
276  const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the status
277  FilenameToStatusMap& out_rFileStatusMap,///< The returned 'Filename To Status' map
278  DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
279  ) = 0;
280 
281  /// In a similar way to AK::Wwise::ISourceControl::GetFileStatus(), this function gets the icons to be displayed in the
282  /// Project Explorer.
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 icons
286  FilenameToIconMap& out_rFileIconsMap, ///< The returned 'Filename To Icons' 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  /// Gets the files that should be displayed in the Workgroup Manager file list, but that are not on the local disk.
291  /// Deleted files that need to be submitted to the server are an example of implementation.
292  /// \return The result of the operation
294  const StringList& in_rDirectoryList, ///< A list of directories in which Wwise needs to get missing files
295  StringList& out_rFilenameList ///< The returned missing files
296  ) = 0;
297 
298  /// Performs an operation on files. This function is called when the user clicks on a source control operation
299  /// in a menu.
300  /// For Rename and Move operations in No-User-Interface mode, in_pTargetFilenameList contains the list of target names are known in advance.
301  virtual IOperationResult* DoOperation(
302  DWORD in_dwOperationID, ///< The ID of the operation that the user selected from the menu
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.
305  ) = 0;
306 
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
309  /// the operation and is always followed by a call to PostCreateOrModify.
310  /// \return The result of the operation
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
315  ) = 0;
316 
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
319  /// the operation and is always preceded by a call to PreCreateOrModify.
320  /// \return The result of the operation
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
324  bool& out_rContinue ///< A returned flag that indicates if Wwise is continuing the current operation
325  ) = 0;
326 
327  /// This methods returns the list files that can be committed
328  /// \return The result of the operation
330  DWORD in_dwOperationID, ///< The operation to verify on each file
331  const StringList& in_rFilenameList, ///< The files to query
332  StringList& out_rFilenameList, ///< Out: The files that can have the operation done
333  FilenameToStatusMap& out_rFileStatusMap ///< Out: The file status of all files
334  ) = 0;
335 
336  //@}
337 
338  /// \name Exported functions prototypes
339  //@{
340 
341  /// Gets the plug-in ID list contained by the DLL file.
342  typedef void (__stdcall* GetSourceControlIDListFuncPtr)(
343  PluginIDList& out_rPluginIDList ///< The List of plug-in IDs
344  );
345 
346  /// Gets the AK::Wwise::ISourceControl::PluginInfo class associated with a given plug-in ID.
347  typedef void (__stdcall* GetSourceControlPluginInfoFuncPtr)(
348  const GUID& in_rguidPluginID, ///< The ID of the plug-in
349  PluginInfo& out_rPluginInfo ///< The returned plug-in info
350  );
351 
352  /// Gets an instance of a plug-in.
353  /// \return A pointer to an AK::Wwise::ISourceControl instance
355  const GUID& in_guidPluginID ///< The requested plug-in ID
356  );
357  };
358  }
359 }
360 
361 #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 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
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.
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
@ OperationResult_TimedOut
The operation timed out.
Definition: ISourceControl.h:78
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
@ OperationResult_Succeed
The operation succeeded.
Definition: ISourceControl.h:76
@ OperationResult_NotImplemented
The operation is not implemented.
Definition: ISourceControl.h:79
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:49
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:155
DWORD m_dwUpdateCommandID
Indicates the command ID for the Update command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:219
OperationEffect
The operation's effect on the file(s) involved.
Definition: ISourceControl.h:99
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.
@ OperationResult_Failed
The operation failed.
Definition: ISourceControl.h:77
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
DWORD m_dwOperationID
The operation ID.
Definition: ISourceControl.h:157
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
unsigned int m_uiVersion
The current version of the plug-in.
Definition: ISourceControl.h:216
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:92
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:212
@ 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:108
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