time: Refactor time:* to use a single shared module

This commit is contained in:
Rozlette
2018-01-18 10:58:29 -06:00
parent be0e14ab3e
commit c7c180fdf1
7 changed files with 106 additions and 25 deletions

View File

@ -33,16 +33,20 @@ struct CalendarAdditionalInfo {
static_assert(sizeof(CalendarAdditionalInfo) == 0x18,
"CalendarAdditionalInfo structure has incorrect size");
class TIME final : public ServiceFramework<TIME> {
class Module final {
public:
explicit TIME(const char* name);
~TIME() = default;
class Interface : public ServiceFramework<Interface> {
public:
Interface(std::shared_ptr<Module> time, const char* name);
private:
void GetStandardUserSystemClock(Kernel::HLERequestContext& ctx);
void GetStandardNetworkSystemClock(Kernel::HLERequestContext& ctx);
void GetStandardSteadyClock(Kernel::HLERequestContext& ctx);
void GetTimeZoneService(Kernel::HLERequestContext& ctx);
void GetStandardUserSystemClock(Kernel::HLERequestContext& ctx);
void GetStandardNetworkSystemClock(Kernel::HLERequestContext& ctx);
void GetStandardSteadyClock(Kernel::HLERequestContext& ctx);
void GetTimeZoneService(Kernel::HLERequestContext& ctx);
protected:
std::shared_ptr<Module> time;
};
};
/// Registers all Time services with the specified service manager.