Files
citron/src/core/hle/service/glue/ectx.h
Zephyron 98d0c627e6 hle/service: Implement missing Glue services for 20.0.0+ support
- **ARP Service (arp:r/arp:w)**: Added 20.0.0+ function support
  * arp:r: GetApplicationInstanceUnregistrationNotifier, ListApplicationInstanceId,
    GetMicroApplicationInstanceId, GetApplicationCertificate, GetPreomiaApplicationLaunchProperty,
    GetPreomiaApplicationControlProperty
  * arp:w: AcquireApplicationProcessPropertyUpdater, AcquireApplicationCertificateUpdater,
    RegisterApplicationControlProperty
  * Added interface classes: IUnregistrationNotifier, IApplicationProcessPropertyUpdater,
    IApplicationCertificateUpdater

- **Platform Service Manager (pl:u)**: Added Switch 2 [S2] functions
  * Commands 2010, 2020, 2100 (Unknown2010, Unknown2020, OpenFont)

- **ECTX Service**: Added missing ectx:r service implementation
  * Registered ectx:r service alongside existing ectx:aw

- All functions properly stubbed
- Fixed PushIpcInterface usage with shared_ptr
- Command mappings follow switchbrew.org documentation
- Ensures compatibility with 20.0.0+ system versions

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-07-01 20:06:45 +10:00

31 lines
660 B
C++

// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-FileCopyrightText: Copyright 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "core/hle/service/service.h"
namespace Core {
class System;
}
namespace Service::Glue {
class ECTX_AW final : public ServiceFramework<ECTX_AW> {
public:
explicit ECTX_AW(Core::System& system_);
~ECTX_AW() override;
private:
void CreateContextRegistrar(HLERequestContext& ctx);
};
class ECTX_R final : public ServiceFramework<ECTX_R> {
public:
explicit ECTX_R(Core::System& system_);
~ECTX_R() override;
};
} // namespace Service::Glue