mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-06-20 04:27:52 -05:00
glue: Implement arp:w and arp:r services
These keep track of running process' launch properties and control properties and allows for issuing and reading them by process and title ID.
This commit is contained in:
43
src/core/hle/service/glue/arp.h
Normal file
43
src/core/hle/service/glue/arp.h
Normal file
@ -0,0 +1,43 @@
|
||||
// Copyright 2019 yuzu emulator team
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
namespace Service::Glue {
|
||||
|
||||
class ARPManager;
|
||||
class IRegistrar;
|
||||
|
||||
class ARP_R final : public ServiceFramework<ARP_R> {
|
||||
public:
|
||||
explicit ARP_R(const Core::System& system, const ARPManager& manager);
|
||||
~ARP_R() override;
|
||||
|
||||
private:
|
||||
void GetApplicationLaunchProperty(Kernel::HLERequestContext& ctx);
|
||||
void GetApplicationLaunchPropertyWithApplicationId(Kernel::HLERequestContext& ctx);
|
||||
void GetApplicationControlProperty(Kernel::HLERequestContext& ctx);
|
||||
void GetApplicationControlPropertyWithApplicationId(Kernel::HLERequestContext& ctx);
|
||||
|
||||
const Core::System& system;
|
||||
const ARPManager& manager;
|
||||
};
|
||||
|
||||
class ARP_W final : public ServiceFramework<ARP_W> {
|
||||
public:
|
||||
explicit ARP_W(const Core::System& system, ARPManager& manager);
|
||||
~ARP_W() override;
|
||||
|
||||
private:
|
||||
void AcquireRegistrar(Kernel::HLERequestContext& ctx);
|
||||
void DeleteProperties(Kernel::HLERequestContext& ctx);
|
||||
|
||||
const Core::System& system;
|
||||
ARPManager& manager;
|
||||
std::shared_ptr<IRegistrar> registrar;
|
||||
};
|
||||
|
||||
} // namespace Service::Glue
|
Reference in New Issue
Block a user