ISourceControlProgress.h 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. Commercial License Usage
  5. Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
  6. may use this file in accordance with the end user license agreement provided
  7. with the software or, alternatively, in accordance with the terms contained in a
  8. written agreement between you and Audiokinetic Inc.
  9. Apache License Usage
  10. Alternatively, this file may be used under the Apache License, Version 2.0 (the
  11. "Apache License"); you may not use this file except in compliance with the
  12. Apache License. You may obtain a copy of the Apache License at
  13. http://www.apache.org/licenses/LICENSE-2.0.
  14. Unless required by applicable law or agreed to in writing, software distributed
  15. under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
  16. OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
  17. the specific language governing permissions and limitations under the License.
  18. Copyright (c) 2023 Audiokinetic Inc.
  19. *******************************************************************************/
  20. /// \file
  21. /// Wwise source control plug-in operation progress dialog interface, used to display progress during source control operations
  22. #ifndef _AK_WWISE_ISOURCECONTROLOPERATIONPROGRESS_H
  23. #define _AK_WWISE_ISOURCECONTROLOPERATIONPROGRESS_H
  24. #include <AK/SoundEngine/Common/AkTypes.h>
  25. // Audiokinetic namespace
  26. namespace AK
  27. {
  28. // Audiokinetic Wwise namespace
  29. namespace Wwise
  30. {
  31. /// Wwise progress dialog interface. This interface is given by AK::Wwise::ISourceControlUtilities.
  32. /// You can use this interface to display a simple progress dialog while performing operations.
  33. /// \akwarning
  34. /// The functions in this interface are not thread-safe, unless stated otherwise.
  35. /// \endakwarning
  36. /// \sa
  37. /// - \ref source_control_dll_creation_progress
  38. class ISourceControlProgress
  39. {
  40. public:
  41. enum Severity
  42. {
  43. Severity_Info,
  44. Severity_Warning,
  45. Severity_Error
  46. };
  47. /// Creates and displays the progress dialog.
  48. virtual void BeginOperation() = 0;
  49. /// Adds a new text line in the log message list. Note that escape characters (such as '\n') are not effective
  50. /// in this message list.
  51. virtual void AddLogMessage (
  52. Severity in_severity, ///< The severity of the text line to log.
  53. LPCWSTR in_pszMessage ///< The text line to add to the list.
  54. ) = 0;
  55. /// This function is used to know if the user clicked the 'Cancel' button.
  56. /// \return True if the user clicked 'Cancel', False otherwise
  57. virtual bool IsCanceled() const = 0;
  58. /// Manually cancels the operation. This result is the same as if the user pressed 'Cancel'. When using
  59. /// this function, AK:Wwise::ISourceControlProgress::EndOperation() must be called to
  60. /// close the dialog.
  61. virtual void Cancel() = 0;
  62. /// Call this function when the operation is completed.
  63. /// When in_bWaitForOK is true, the function will not return until the
  64. /// user clicks the 'OK' button.
  65. /// The progress dialog will be destroyed.
  66. virtual void EndOperation( bool in_bWaitForOK = true ) = 0;
  67. virtual bool IsSilent() const = 0;
  68. virtual bool IsAutoCheckout() const = 0;
  69. virtual bool IsAutoAdd() const = 0;
  70. virtual LPCWSTR GetCommitMessage() const = 0;
  71. };
  72. }
  73. }
  74. #endif // _AK_WWISE_ISOURCECONTROLOPERATIONPROGRESS_H