IStreamerMock.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <gmock/gmock.h>
  10. #include <AzCore/IO/IStreamer.h>
  11. #include <AzCore/IO/Streamer/FileRequest.h>
  12. using namespace AZ::IO;
  13. class StreamerMock : public AZ::IO::IStreamer
  14. {
  15. public:
  16. MOCK_METHOD7(Read, FileRequestPtr(AZStd::string_view, void*, size_t, size_t,
  17. AZStd::chrono::microseconds, IStreamerTypes::Priority, size_t));
  18. MOCK_METHOD8(Read, FileRequestPtr& (FileRequestPtr&, AZStd::string_view, void*, size_t, size_t,
  19. AZStd::chrono::microseconds, IStreamerTypes::Priority, size_t));
  20. MOCK_METHOD6(Read, FileRequestPtr(AZStd::string_view, IStreamerTypes::RequestMemoryAllocator&,
  21. size_t, AZStd::chrono::microseconds, IStreamerTypes::Priority, size_t));
  22. MOCK_METHOD7(Read, FileRequestPtr& (FileRequestPtr&, AZStd::string_view, IStreamerTypes::RequestMemoryAllocator&,
  23. size_t, AZStd::chrono::microseconds, IStreamerTypes::Priority, size_t));
  24. MOCK_METHOD1(Cancel, FileRequestPtr(FileRequestPtr));
  25. MOCK_METHOD2(Cancel, FileRequestPtr& (FileRequestPtr&, FileRequestPtr));
  26. MOCK_METHOD3(RescheduleRequest, FileRequestPtr(FileRequestPtr, AZStd::chrono::microseconds, IStreamerTypes::Priority));
  27. MOCK_METHOD4(RescheduleRequest, FileRequestPtr& (FileRequestPtr&, FileRequestPtr, AZStd::chrono::microseconds, IStreamerTypes::Priority));
  28. MOCK_METHOD1(CreateDedicatedCache, FileRequestPtr(AZStd::string_view));
  29. MOCK_METHOD2(CreateDedicatedCache, FileRequestPtr& (FileRequestPtr&, AZStd::string_view));
  30. MOCK_METHOD1(DestroyDedicatedCache, FileRequestPtr(AZStd::string_view));
  31. MOCK_METHOD2(DestroyDedicatedCache, FileRequestPtr&(FileRequestPtr&, AZStd::string_view));
  32. MOCK_METHOD1(FlushCache, FileRequestPtr(AZStd::string_view));
  33. MOCK_METHOD2(FlushCache, FileRequestPtr& (FileRequestPtr&, AZStd::string_view));
  34. MOCK_METHOD0(FlushCaches, FileRequestPtr());
  35. MOCK_METHOD1(FlushCaches, FileRequestPtr& (FileRequestPtr&));
  36. MOCK_METHOD2(Report, FileRequestPtr(AZStd::vector<Statistic>& output, IStreamerTypes::ReportType reportType));
  37. MOCK_METHOD3(Report, FileRequestPtr&(FileRequestPtr& request, AZStd::vector<Statistic>& output, IStreamerTypes::ReportType reportType));
  38. MOCK_METHOD1(Custom, FileRequestPtr(AZStd::any));
  39. MOCK_METHOD2(Custom, FileRequestPtr& (FileRequestPtr&, AZStd::any));
  40. MOCK_METHOD2(SetRequestCompleteCallback, FileRequestPtr&(FileRequestPtr&, OnCompleteCallback));
  41. MOCK_METHOD0(CreateRequest, FileRequestPtr());
  42. MOCK_METHOD2(CreateRequestBatch, void(AZStd::vector<FileRequestPtr>&, size_t));
  43. MOCK_METHOD1(QueueRequest, void(const FileRequestPtr&));
  44. MOCK_METHOD1(QueueRequestBatch, void(const AZStd::vector<FileRequestPtr>&));
  45. MOCK_METHOD1(QueueRequestBatch, void(AZStd::vector<FileRequestPtr>&&));
  46. MOCK_CONST_METHOD1(HasRequestCompleted, bool(FileRequestHandle));
  47. MOCK_CONST_METHOD1(GetRequestStatus, IStreamerTypes::RequestStatus(FileRequestHandle));
  48. MOCK_CONST_METHOD1(GetEstimatedRequestCompletionTime, AZStd::chrono::steady_clock::time_point(FileRequestHandle));
  49. MOCK_CONST_METHOD4(GetReadRequestResult, bool(FileRequestHandle, void*&, AZ::u64&, IStreamerTypes::ClaimMemory));
  50. MOCK_METHOD1(CollectStatistics, void(AZStd::vector<Statistic>&));
  51. MOCK_CONST_METHOD0(GetRecommendations, const IStreamerTypes::Recommendations&());
  52. MOCK_METHOD0(SuspendProcessing, void());
  53. MOCK_METHOD0(ResumeProcessing, void());
  54. MOCK_CONST_METHOD0(IsSuspended, bool());
  55. };