query_service.h 1019 B

123456789101112131415161718192021222324252627282930313233343536
  1. // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "common/uuid.h"
  5. #include "core/hle/service/cmif_types.h"
  6. #include "core/hle/service/service.h"
  7. namespace Service::NS {
  8. struct PlayStatistics {
  9. u64 application_id{};
  10. u32 first_entry_index{};
  11. u32 first_timestamp_user{};
  12. u32 first_timestamp_network{};
  13. u32 last_entry_index{};
  14. u32 last_timestamp_user{};
  15. u32 last_timestamp_network{};
  16. u32 play_time_in_minutes{};
  17. u32 total_launches{};
  18. };
  19. static_assert(sizeof(PlayStatistics) == 0x28, "PlayStatistics is an invalid size");
  20. class IQueryService final : public ServiceFramework<IQueryService> {
  21. public:
  22. explicit IQueryService(Core::System& system_);
  23. ~IQueryService() override;
  24. private:
  25. Result QueryPlayStatisticsByApplicationIdAndUserAccountId(
  26. Out<PlayStatistics> out_play_statistics, bool unknown, Common::UUID account_id,
  27. u64 application_id);
  28. };
  29. } // namespace Service::NS