summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/pctl/parental_control_service_factory.h
blob: 362988add126f20567d3057ce64dd519e2a9d4cc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "core/hle/service/cmif_types.h"
#include "core/hle/service/pctl/pctl_types.h"
#include "core/hle/service/service.h"

namespace Service::PCTL {

class IParentalControlService;

class IParentalControlServiceFactory : public ServiceFramework<IParentalControlServiceFactory> {
public:
    explicit IParentalControlServiceFactory(Core::System& system_, const char* name_,
                                            Capability capability_);
    ~IParentalControlServiceFactory() override;

    Result CreateService(Out<SharedPointer<IParentalControlService>> out_service,
                         ClientProcessId process_id);
    Result CreateServiceWithoutInitialize(Out<SharedPointer<IParentalControlService>> out_service,
                                          ClientProcessId process_id);

private:
    Capability capability{};
};

void LoopProcess(Core::System& system);

} // namespace Service::PCTL