1 // Copyright 2019 yuzu emulator team 2 // Licensed under GPLv2 or any later version 3 // Refer to the license.txt file included. 4 5 #pragma once 6 7 #include "core/hle/service/service.h" 8 9 namespace Core { 10 class System; 11 } 12 13 namespace Service::Time { 14 15 namespace TimeZone { 16 class TimeZoneContentManager; 17 } 18 19 class ITimeZoneService final : public ServiceFramework<ITimeZoneService> { 20 public: 21 explicit ITimeZoneService(Core::System& system_, 22 TimeZone::TimeZoneContentManager& time_zone_manager_); 23 24 private: 25 void GetDeviceLocationName(Kernel::HLERequestContext& ctx); 26 void LoadTimeZoneRule(Kernel::HLERequestContext& ctx); 27 void ToCalendarTime(Kernel::HLERequestContext& ctx); 28 void ToCalendarTimeWithMyRule(Kernel::HLERequestContext& ctx); 29 void ToPosixTime(Kernel::HLERequestContext& ctx); 30 void ToPosixTimeWithMyRule(Kernel::HLERequestContext& ctx); 31 32 private: 33 TimeZone::TimeZoneContentManager& time_zone_content_manager; 34 }; 35 36 } // namespace Service::Time 37