Table of Contents

Wwise SDK 2019.1.6
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  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 #include <wtypes.h>
36 
37 #include "ISourceControlUtilities.h"
38 #include "SourceControlContainers.h"
39 
40 // Audiokinetic namespace
41 namespace AK
42 {
43  // Audiokinetic Wwise namespace
44  namespace Wwise
45  {
46  /// This class contains static constants that can be useful to the plug-in.
48  {
49  public:
50  /// Maximum length that a work unit name can be
51  static const unsigned int s_uiMaxWorkUnitName = 128;
52  /// Invalid operation ID (MUST NOT BE USED as an operation ID in OperationListItem)
53  static const DWORD s_dwInvalidOperationID = (DWORD)-1;
54  };
55 
56  /// Wwise source control plug-in interface. This is the interface that the plug-in must implement. It contains
57  /// all the necessary functions to perform source control operations and manage the Wwise source control UI.
58  /// \warning The functions in this interface are not thread-safe, unless stated otherwise.
59  /// \sa
60  /// - \ref source_control_dll_creation_object_information
62  {
63  public:
64 
65  /// \name Enumeration types
66  //@{
67 
68  /// Operation result. Some interface functions need to return the result of the operation. This is used
69  /// by Wwise to manage various errors.
71  {
72  OperationResult_Succeed = 0, ///< The operation succeeded
73  OperationResult_Failed, ///< The operation failed
74  OperationResult_TimedOut, ///< The operation timed out
75  OperationResult_NotImplemented ///< The operation is not implemented
76  };
77 
78  /// Menu type. The operation list may vary depending on the location where a menu containing operations
79  /// needs to be displayed.
81  {
82  OperationMenuType_WorkUnits = 0,///< The menu is displayed in the Workgroup Manager's 'Work Units' tab
83  OperationMenuType_Sources, ///< The menu is displayed in the Workgroup Manager's 'Sources' tab
84  OperationMenuType_Explorer ///< The menu is displayed in the Project Explorer
85  };
86 
87  /// Pre/PostCreateOrModify Operation flags. These flags represent the operation(s) performed on files.
89  {
90  CreateOrModifyOperation_Create = 1 << 0, ///< Files will be created during the operation
91  CreateOrModifyOperation_Modify = 1 << 1, ///< Files will be modified during the operation
92  };
93 
94  /// The operation's effect on the file(s) involved.
96  {
97  OperationEffect_LocalContentModification = 1 << 0, ///< The operation will modify the local content of the file
98  OperationEffect_ServerContentModification = 1 << 1, ///< The operation will modify the remote content (on the server) of the file
99  };
100 
101  //@}
102 
103  /// The base interface for operations that return information to Wwise
105  {
106  public:
107  /// Returns OperationResult_Succeed or OperationResult_Failed
108  virtual OperationResult GetOperationResult() = 0;
109 
110  /// Implementations should call "delete this;".
111  virtual void Destroy() = 0;
112  };
113 
114  /// The result returned by DoOperation for a Move, Rename or Delete operation
115  /// A instance of this class is allocated by the plugin and freed by Wwise
116  /// The operation ID must be identified by :
117  /// PluginInfo::m_dwMoveCommandID, PluginInfo::m_dwMoveNoUICommandID,
118  /// PluginInfo::m_dwRenameCommandID or PluginInfo::m_dwRenameNoUICommandID
119  /// PluginInfo::m_dwDeleteCommandID or PluginInfo::m_dwDeleteNoUICommandID
121  {
122  public:
123  /// Return the move source and destination for the file at index in_uiIndex
124  virtual void GetMovedFile(
125  unsigned int in_uiIndex, ///< in: The index of the moved file. Must be >= 0 and < GetFileCount()
126  LPWSTR out_szFrom, ///< out: String buffer to receive the source path
127  LPWSTR out_szTo, ///< out: String buffer to receive the destination path
128  unsigned int in_uiArraySize ///< in: Size of the buffers (out_szFrom and out_szTo)
129  ) = 0;
130 
131  /// Return the successful file at index in_uiIndex
132  virtual void GetFile(
133  unsigned int in_uiIndex, ///< in: The index of the file. Must be >= 0 and < GetFileCount()
134  LPWSTR out_szPath, ///< out: String buffer to receive the source path
135  unsigned int in_uiArraySize ///< in: Size of the buffers (out_szFrom and out_szTo)
136  ) = 0;
137 
138  /// Returns how many files were moved during the operation
139  virtual unsigned int GetFileCount() = 0;
140  };
141 
142  /// 'Filename to Status' map item. This is the type used in the AK::Wwise::ISourceControl::FilenameToStatusMap
143  /// SourceControlContainers::IAkMap template parameter structure.
145  {
146  BSTR m_bstrStatus; ///< Text displayed in the Workgroup Manager's 'Status' column
147  BSTR m_bstrOwner; ///< Text displayed in the Workgroup Manager's 'Owners' column
148  };
149 
150  /// Operation list item. This is the type used in the AK::Wwise::ISourceControl::OperationList SourceControlContainers::IAkList template class.
152  {
153  DWORD m_dwOperationID; ///< The operation ID
154  bool m_bEnabled; ///< True: the operation is enabled in the menu, False: the operation is disabled (grayed out) in the menu
155  };
156 
157  /// FilenameToIconMap item. This is the type used to display the file status icon and tool tip text
158  /// in the Project Explorer.
160  {
161  HICON m_hIcon; ///< A handle to an icon that will be displayed in the Project Explorer
162  BSTR m_bstrToolTip; ///< The tool tip text that will be displayed when the user mouses over the icon
163  };
164 
165  /// \name List types
166  //@{
167 
168  /// String List. When Wwise needs to pass a file name list, it gives this container to the plug-in.
169  /// \sa
170  /// - AK::Wwise::SourceControlContainers::IAkList
172 
173  /// Plug-in ID list. When Wwise needs to have the list of plug-ins that a DLL contains, it requests
174  /// the list of plug-in IDs using a function exported by the DLL.
176 
177  /// When Wwise needs to have the list of operations that are available in a certain context, it requests
178  /// the list of operations using this list type. The contexts are determined by the AK::Wwise::ISourceControl::OperationMenuType
179  /// enumeration type.
180  /// \sa
181  /// - AK::Wwise::ISourceControl::OperationListItem
182  /// - AK::Wwise::SourceControlContainers::IAkList
184 
185  //@}
186 
187  /// \name Map types
188  //@{
189 
190  /// The AK:Wwise::ISourceControl interface offers a way to display custom icons in the Project Explorer. This map
191  /// type must be filled in by the plug-in when Wwise gives it a file name list. CString objects are used as keys, and are associated
192  /// to FilenameToIconMapItem objects. The HICON m_hIcon member will be NULL when there is no icon associated with the file.
193  /// \sa
194  /// - AK::Wwise::SourceControlContainers::IAkMap
196 
197  /// When the Workgroup Manager needs to fill in the 'Status' and 'Owners' columns of work units or source lists,
198  /// the plug-in needs to fill in this map with the corresponding text. File names are used as keys, and are associated
199  /// to the text to be displayed in the 'Status' and 'Owners' columns.
200  /// \sa
201  /// - AK::Wwise::ISourceControl::FilenameToStatusMapItem
202  /// - AK::Wwise::SourceControlContainers::IAkMap
204 
205  //@}
206 
207  /// Plug-in information structure. This structure gives a simple overview of the plug-in's capabilities.
208  class PluginInfo
209  {
210  public:
211  BSTR m_bstrName; ///< The name of the plug-in displayed in the Project Settings plug-in list
212  unsigned int m_uiVersion; ///< The current version of the plug-in
213 
214  bool m_bShowConfigDlgAvailable; ///< Used to enable/disable the 'Config...' button in the Project Settings
215  DWORD m_dwUpdateCommandID; ///< Indicates the command ID for the Update command, s_dwInvalidOperationID (-1) if not supported
216  DWORD m_dwCommitCommandID; ///< Indicates the command ID for the Commit/Submit/Checkin command, s_dwInvalidOperationID (-1) if not supported
217  DWORD m_dwRenameCommandID; ///< Indicates the command ID for the Rename command, s_dwInvalidOperationID (-1) if not supported
218  DWORD m_dwMoveCommandID; ///< Indicates the command ID for the Move command, s_dwInvalidOperationID (-1) if not supported
219  DWORD m_dwAddCommandID; ///< Indicates the command ID for the Add command, s_dwInvalidOperationID (-1) if not supported
220  DWORD m_dwDeleteCommandID; ///< Indicates the command ID for the Delete command, s_dwInvalidOperationID (-1) if not supported
221  DWORD m_dwRevertCommandID; ///< Indicates the command ID for the Revert command, s_dwInvalidOperationID (-1) if not supported
222  DWORD m_dwDiffCommandID; ///< Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported
223  DWORD m_dwCheckOutCommandID; ///< Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported
224  DWORD m_dwRenameNoUICommandID; ///< Indicates the command ID for the Rename command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
225  DWORD m_dwMoveNoUICommandID; ///< Indicates the command ID for the Move command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
226  DWORD m_dwDeleteNoUICommandID; ///< Indicates the command ID for the Delete command, showing no User Interface, s_dwInvalidOperationID (-1) if not supported
227  bool m_bStatusIconAvailable; ///< Indicates that the plug-in supports Project Explorer custom icons
228  };
229 
230  /// This function is called when the plug-in is initialized after its creation.
231  virtual void Init(
232  AK::Wwise::ISourceControlUtilities* in_pUtilities, ///< A pointer to the utilities class. The interface is not
233  ///< destroyed while an instance of the plug-in exists.
234  bool in_bAutoAccept ///< Used when running in command line mode, where user should not be prompted to confirm source control transactions.
235  ) = 0;
236 
237  /// This function is called when the plug-in is terminated before its destruction.
238  virtual void Term() = 0;
239 
240  /// This function destroys the plug-in. The implementation is generally '{ delete this; }'.
241  virtual void Destroy() = 0;
242 
243  /// This function is called when the user clicks the 'Config...' button in the Project Settings.
244  /// \return True if the user accepts the configuration, False otherwise
245  /// \sa
246  /// - AK::Wwise::ISourceControl::PluginInfo::m_bShowConfigDlgAvailable
247  virtual bool ShowConfigDlg() = 0;
248 
249  /// Gets the operation list to be displayed in a menu.
250  /// \return The result of the operation
252  OperationMenuType in_menuType, ///< The type of menu where the operation list will be displayed
253  const StringList& in_rFilenameList, ///< The file name list for which Wwise needs to get the operation list
254  OperationList& out_rOperationList ///< The returned operation list available in this context
255  ) = 0;
256 
257  /// Gets the operation name to display in user interface
258  // \return A mask of all the applicable OperationEffect enum values
259  virtual LPCWSTR GetOperationName(
260  DWORD in_dwOperationID ///< The ID of the operation, as specified in OperationListItem
261  ) = 0;
262 
263  /// Gets the operation effect on the file(s) involved in the operation.
264  // \return A mask of all the applicable OperationEffect enum values
265  virtual DWORD GetOperationEffect(
266  DWORD in_dwOperationID ///< The ID of the operation, as specified in OperationListItem
267  ) = 0;
268 
269  /// Gets the text to be displayed in the 'Status' and 'Owners' columns of the Workgroup Manager.
270  /// \return The result of the operation
272  const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the status
273  FilenameToStatusMap& out_rFileStatusMap,///< The returned 'Filename To Status' map
274  DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
275  ) = 0;
276 
277  /// In a similar way to AK::Wwise::ISourceControl::GetFileStatus(), this function gets the icons to be displayed in the
278  /// Project Explorer.
279  /// \return The result of the operation
281  const StringList& in_rFilenameList, ///< A list of the file names for which Wwise needs to get the icons
282  FilenameToIconMap& out_rFileIconsMap, ///< The returned 'Filename To Icons' map
283  DWORD in_dwTimeoutMs = INFINITE ///< The maximum timeout in millisecond for the request to be cancelled, pass INFINITE for no timeout
284  ) = 0;
285 
286  /// Gets the files that should be displayed in the Workgroup Manager file list, but that are not on the local disk.
287  /// Deleted files that need to be submitted to the server are an example of implementation.
288  /// \return The result of the operation
290  const StringList& in_rDirectoryList, ///< A list of directories in which Wwise needs to get missing files
291  StringList& out_rFilenameList ///< The returned missing files
292  ) = 0;
293 
294  /// Performs an operation on files. This function is called when the user clicks on a source control operation
295  /// in a menu.
296  /// For Rename and Move operations in No-User-Interface mode, in_pTargetFilenameList contains the list of target names are known in advance.
297  virtual IOperationResult* DoOperation(
298  DWORD in_dwOperationID, ///< The ID of the operation that the user selected from the menu
299  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.
300  const StringList* in_pTargetFilenameList = NULL ///< Optional: A list of the names of the destination files. Pass NULL when not specified.
301  ) = 0;
302 
303  /// This method is called when the user adds files to the project (Work Units or Sources), saves the project,
304  /// or triggers any call to a Wwise operation that could alter source control files. It is called before Wwise performs
305  /// the operation and is always followed by a call to PostCreateOrModify.
306  /// \return The result of the operation
308  const StringList& in_rFilenameList, ///< A list of the names of the files that are to be added (some files may already exist)
309  CreateOrModifyOperation in_eOperation, ///< The operation(s) that will be performed on these files
310  bool& out_rContinue ///< A returned flag that indicates if Wwise is continuing the current operation
311  ) = 0;
312 
313  /// This method is called when the user adds files to the project (Work Units or Sources), saves the project,
314  /// or triggers any call to a Wwise operation that could alter source control files. It is called after Wwise performs
315  /// the operation and is always preceded by a call to PreCreateOrModify.
316  /// \return The result of the operation
318  const StringList& in_rFilenameList, ///< A list of the names of the files that are to be added (Some files may already exist)
319  CreateOrModifyOperation in_eOperation, ///< The operation(s) that will be performed on these files
320  bool& out_rContinue ///< A returned flag that indicates if Wwise is continuing the current operation
321  ) = 0;
322 
323  /// This methods returns the list files that can be committed
324  /// \return The result of the operation
326  DWORD in_dwOperationID, ///< The operation to verify on each file
327  const StringList& in_rFilenameList, ///< The files to query
328  StringList& out_rFilenameList, ///< Out: The files that can have the operation done
329  FilenameToStatusMap& out_rFileStatusMap ///< Out: The file status of all files
330  ) = 0;
331 
332  //@}
333 
334  /// \name Exported functions prototypes
335  //@{
336 
337  /// Gets the plug-in ID list contained by the DLL file.
338  typedef void (__stdcall* GetSourceControlIDListFuncPtr)(
339  PluginIDList& out_rPluginIDList ///< The List of plug-in IDs
340  );
341 
342  /// Gets the AK::Wwise::ISourceControl::PluginInfo class associated with a given plug-in ID.
343  typedef void (__stdcall* GetSourceControlPluginInfoFuncPtr)(
344  const GUID& in_rguidPluginID, ///< The ID of the plug-in
345  PluginInfo& out_rPluginInfo ///< The returned plug-in info
346  );
347 
348  /// Gets an instance of a plug-in.
349  /// \return A pointer to an AK::Wwise::ISourceControl instance
351  const GUID& in_guidPluginID ///< The requested plug-in ID
352  );
353  };
354  }
355 }
356 
357 #endif // _AK_WWISE_ISOURCECONTROL_H
virtual DWORD GetOperationEffect(DWORD in_dwOperationID)=0
Gets the operation effect on the file(s) involved in the operation.
This class contains static constants that can be useful to the plug-in.
Definition: ISourceControl.h:47
The base interface for operations that return information to Wwise.
Definition: ISourceControl.h:104
The menu is displayed in the Project Explorer.
Definition: ISourceControl.h:84
bool m_bEnabled
True: the operation is enabled in the menu, False: the operation is disabled (grayed out) in the menu...
Definition: ISourceControl.h:154
ISourceControl *(__stdcall * GetSourceControlInstanceFuncPtr)(const GUID &in_guidPluginID)
Definition: ISourceControl.h:350
virtual void Destroy()=0
This function destroys the plug-in. The implementation is generally '{ delete this; }'.
BSTR m_bstrName
The name of the plug-in displayed in the Project Settings plug-in list.
Definition: ISourceControl.h:211
virtual AK::Wwise::ISourceControl::OperationResult PreCreateOrModify(const StringList &in_rFilenameList, CreateOrModifyOperation in_eOperation, bool &out_rContinue)=0
DWORD m_dwDeleteCommandID
Indicates the command ID for the Delete command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:220
DWORD m_dwCommitCommandID
Indicates the command ID for the Commit/Submit/Checkin command, s_dwInvalidOperationID (-1) if not su...
Definition: ISourceControl.h:216
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.
virtual AK::Wwise::ISourceControl::OperationResult GetFileStatus(const StringList &in_rFilenameList, FilenameToStatusMap &out_rFileStatusMap, DWORD in_dwTimeoutMs=INFINITE)=0
virtual OperationResult GetOperationResult()=0
Returns OperationResult_Succeed or OperationResult_Failed.
SourceControlContainers::IAkList< GUID > PluginIDList
Definition: ISourceControl.h:175
Audiokinetic namespace.
DWORD m_dwMoveNoUICommandID
Indicates the command ID for the Move command, showing no User Interface, s_dwInvalidOperationID (-1)...
Definition: ISourceControl.h:225
BSTR m_bstrStatus
Text displayed in the Workgroup Manager's 'Status' column.
Definition: ISourceControl.h:146
DWORD m_dwCheckOutCommandID
Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:223
DWORD m_dwUpdateCommandID
Indicates the command ID for the Update command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:215
virtual AK::Wwise::ISourceControl::OperationResult GetMissingFilesInDirectories(const StringList &in_rDirectoryList, StringList &out_rFilenameList)=0
bool m_bStatusIconAvailable
Indicates that the plug-in supports Project Explorer custom icons.
Definition: ISourceControl.h:227
virtual LPCWSTR GetOperationName(DWORD in_dwOperationID)=0
Gets the operation name to display in user interface.
SourceControlContainers::IAkMap< LPCWSTR, LPCWSTR, FilenameToIconMapItem, const FilenameToIconMapItem & > FilenameToIconMap
Definition: ISourceControl.h:195
virtual IOperationResult * DoOperation(DWORD in_dwOperationID, const StringList &in_rFilenameList, const StringList *in_pTargetFilenameList=NULL)=0
DWORD m_dwRenameNoUICommandID
Indicates the command ID for the Rename command, showing no User Interface, s_dwInvalidOperationID (-...
Definition: ISourceControl.h:224
DWORD m_dwRenameCommandID
Indicates the command ID for the Rename command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:217
static const unsigned int s_uiMaxWorkUnitName
Maximum length that a work unit name can be.
Definition: ISourceControl.h:51
Plug-in information structure. This structure gives a simple overview of the plug-in's capabilities.
Definition: ISourceControl.h:208
BSTR m_bstrOwner
Text displayed in the Workgroup Manager's 'Owners' column.
Definition: ISourceControl.h:147
DWORD m_dwDiffCommandID
Indicates the command ID for the Diff command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:222
void(__stdcall * GetSourceControlIDListFuncPtr)(PluginIDList &out_rPluginIDList)
Gets the plug-in ID list contained by the DLL file.
Definition: ISourceControl.h:338
virtual AK::Wwise::ISourceControl::OperationResult GetOperationList(OperationMenuType in_menuType, const StringList &in_rFilenameList, OperationList &out_rOperationList)=0
BSTR m_bstrToolTip
The tool tip text that will be displayed when the user mouses over the icon.
Definition: ISourceControl.h:162
HICON m_hIcon
A handle to an icon that will be displayed in the Project Explorer.
Definition: ISourceControl.h:161
DWORD m_dwDeleteNoUICommandID
Indicates the command ID for the Delete command, showing no User Interface, s_dwInvalidOperationID (-...
Definition: ISourceControl.h:226
DWORD m_dwRevertCommandID
Indicates the command ID for the Revert command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:221
#define NULL
Definition: AkTypes.h:49
virtual unsigned int GetFileCount()=0
Returns how many files were moved during the operation.
The menu is displayed in the Workgroup Manager's 'Sources' tab.
Definition: ISourceControl.h:83
SourceControlContainers::IAkMap< LPCWSTR, LPCWSTR, FilenameToStatusMapItem, const FilenameToStatusMapItem & > FilenameToStatusMap
Definition: ISourceControl.h:203
virtual void Term()=0
This function is called when the plug-in is terminated before its destruction.
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:343
virtual AK::Wwise::ISourceControl::OperationResult GetFilesForOperation(DWORD in_dwOperationID, const StringList &in_rFilenameList, StringList &out_rFilenameList, FilenameToStatusMap &out_rFileStatusMap)=0
Files will be created during the operation.
Definition: ISourceControl.h:90
SourceControlContainers::IAkList< LPCWSTR, LPCWSTR > StringList
Definition: ISourceControl.h:171
DWORD m_dwAddCommandID
Indicates the command ID for the Add command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:219
DWORD m_dwOperationID
The operation ID.
Definition: ISourceControl.h:153
The operation will modify the remote content (on the server) of the file.
Definition: ISourceControl.h:98
OperationEffect
The operation's effect on the file(s) involved.
Definition: ISourceControl.h:95
CreateOrModifyOperation
Pre/PostCreateOrModify Operation flags. These flags represent the operation(s) performed on files.
Definition: ISourceControl.h:88
virtual AK::Wwise::ISourceControl::OperationResult GetFileStatusIcons(const StringList &in_rFilenameList, FilenameToIconMap &out_rFileIconsMap, DWORD in_dwTimeoutMs=INFINITE)=0
static const DWORD s_dwInvalidOperationID
Invalid operation ID (MUST NOT BE USED as an operation ID in OperationListItem)
Definition: ISourceControl.h:53
DWORD m_dwMoveCommandID
Indicates the command ID for the Move command, s_dwInvalidOperationID (-1) if not supported.
Definition: ISourceControl.h:218
virtual AK::Wwise::ISourceControl::OperationResult PostCreateOrModify(const StringList &in_rFilenameList, CreateOrModifyOperation in_eOperation, bool &out_rContinue)=0
The menu is displayed in the Workgroup Manager's 'Work Units' tab.
Definition: ISourceControl.h:82
virtual bool ShowConfigDlg()=0
SourceControlContainers::IAkList< OperationListItem > OperationList
Definition: ISourceControl.h:183
unsigned int m_uiVersion
The current version of the plug-in.
Definition: ISourceControl.h:212
The operation will modify the local content of the file.
Definition: ISourceControl.h:97
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.
bool m_bShowConfigDlgAvailable
Used to enable/disable the 'Config...' button in the Project Settings.
Definition: ISourceControl.h:214
Operation list item. This is the type used in the AK::Wwise::ISourceControl::OperationList SourceCont...
Definition: ISourceControl.h:151
virtual void Destroy()=0
Implementations should call "delete this;".
Files will be modified during the operation.
Definition: ISourceControl.h:91
virtual void GetFile(unsigned int in_uiIndex, LPWSTR out_szPath, unsigned int in_uiArraySize)=0
Return the successful file at index in_uiIndex.