sf: Change interface definition methodology (#1074)
* sf: Begin experimenting with new interface declaration format * sf: convert fs interfaces to new format * sf: finish conversion of libstrat to new definitions * sf: convert loader to new format * sf: convert spl to new format * sf: update ncm for new format * sf: convert pm to new format * sf: convert ro/sm to new format * sf: update fatal for new format * sf: support building dmnt under new scheme * sf: update ams.mitm for new format * sf: correct invocation def for pointer holder * fs: correct 10.x+ user bindings for Get*SpaceSize
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
|
||||
namespace ams::lr {
|
||||
|
||||
class AddOnContentLocationResolverImpl : public IAddOnContentLocationResolver {
|
||||
class AddOnContentLocationResolverImpl {
|
||||
private:
|
||||
/* Storage for RegisteredData entries by data id. */
|
||||
RegisteredStorages<ncm::DataId, 0x800> registered_storages;
|
||||
@@ -29,12 +29,13 @@ namespace ams::lr {
|
||||
AddOnContentLocationResolverImpl() : registered_storages(hos::GetVersion() < hos::Version_9_0_0 ? 0x800 : 0x2) { /* ... */ }
|
||||
|
||||
/* Actual commands. */
|
||||
virtual Result ResolveAddOnContentPath(sf::Out<Path> out, ncm::DataId id) override;
|
||||
virtual Result RegisterAddOnContentStorageDeprecated(ncm::DataId id, ncm::StorageId storage_id) override;
|
||||
virtual Result RegisterAddOnContentStorage(ncm::DataId id, ncm::ApplicationId application_id, ncm::StorageId storage_id) override;
|
||||
virtual Result UnregisterAllAddOnContentPath() override;
|
||||
virtual Result RefreshApplicationAddOnContent(const sf::InArray<ncm::ApplicationId> &ids) override;
|
||||
virtual Result UnregisterApplicationAddOnContent(ncm::ApplicationId id) override;
|
||||
Result ResolveAddOnContentPath(sf::Out<Path> out, ncm::DataId id);
|
||||
Result RegisterAddOnContentStorageDeprecated(ncm::DataId id, ncm::StorageId storage_id);
|
||||
Result RegisterAddOnContentStorage(ncm::DataId id, ncm::ApplicationId application_id, ncm::StorageId storage_id);
|
||||
Result UnregisterAllAddOnContentPath();
|
||||
Result RefreshApplicationAddOnContent(const sf::InArray<ncm::ApplicationId> &ids);
|
||||
Result UnregisterApplicationAddOnContent(ncm::ApplicationId id);
|
||||
};
|
||||
static_assert(lr::IsIAddOnContentLocationResolver<AddOnContentLocationResolverImpl>);
|
||||
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace ams::lr {
|
||||
LrLocationResolver lr;
|
||||
R_TRY(lrOpenLocationResolver(static_cast<NcmStorageId>(storage_id), std::addressof(lr)));
|
||||
|
||||
*out = LocationResolver(std::make_shared<RemoteLocationResolverImpl>(lr));
|
||||
*out = LocationResolver(sf::MakeShared<ILocationResolver, RemoteLocationResolverImpl>(lr));
|
||||
return ResultSuccess();
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace ams::lr {
|
||||
LrRegisteredLocationResolver lr;
|
||||
R_TRY(lrOpenRegisteredLocationResolver(std::addressof(lr)));
|
||||
|
||||
*out = RegisteredLocationResolver(std::make_shared<RemoteRegisteredLocationResolverImpl>(lr));
|
||||
*out = RegisteredLocationResolver(sf::MakeShared<IRegisteredLocationResolver, RemoteRegisteredLocationResolverImpl>(lr));
|
||||
return ResultSuccess();
|
||||
}
|
||||
|
||||
|
||||
@@ -35,32 +35,33 @@ namespace ams::lr {
|
||||
void GetContentStoragePath(Path *out, ncm::ContentId content_id);
|
||||
public:
|
||||
/* Actual commands. */
|
||||
virtual Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result RedirectProgramPath(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result ResolveApplicationControlPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result ResolveApplicationHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result ResolveDataPath(sf::Out<Path> out, ncm::DataId id) override;
|
||||
virtual Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result ResolveApplicationLegalInformationPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result Refresh() override;
|
||||
virtual Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result ClearApplicationRedirectionDeprecated() override;
|
||||
virtual Result ClearApplicationRedirection(const sf::InArray<ncm::ProgramId> &excluding_ids) override;
|
||||
virtual Result EraseProgramRedirection(ncm::ProgramId id) override;
|
||||
virtual Result EraseApplicationControlRedirection(ncm::ProgramId id) override;
|
||||
virtual Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId id) override;
|
||||
virtual Result EraseApplicationLegalInformationRedirection(ncm::ProgramId id) override;
|
||||
virtual Result ResolveProgramPathForDebug(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result EraseProgramRedirectionForDebug(ncm::ProgramId id) override;
|
||||
Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result RedirectProgramPath(const Path &path, ncm::ProgramId id);
|
||||
Result ResolveApplicationControlPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result ResolveApplicationHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result ResolveDataPath(sf::Out<Path> out, ncm::DataId id);
|
||||
Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result ResolveApplicationLegalInformationPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result Refresh();
|
||||
Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result ClearApplicationRedirectionDeprecated();
|
||||
Result ClearApplicationRedirection(const sf::InArray<ncm::ProgramId> &excluding_ids);
|
||||
Result EraseProgramRedirection(ncm::ProgramId id);
|
||||
Result EraseApplicationControlRedirection(ncm::ProgramId id);
|
||||
Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId id);
|
||||
Result EraseApplicationLegalInformationRedirection(ncm::ProgramId id);
|
||||
Result ResolveProgramPathForDebug(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result EraseProgramRedirectionForDebug(ncm::ProgramId id);
|
||||
};
|
||||
static_assert(lr::IsILocationResolver<ContentLocationResolverImpl>);
|
||||
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
namespace ams::lr {
|
||||
|
||||
class LocationResolverImplBase : public ILocationResolver {
|
||||
class LocationResolverImplBase {
|
||||
NON_COPYABLE(LocationResolverImplBase);
|
||||
NON_MOVEABLE(LocationResolverImplBase);
|
||||
protected:
|
||||
|
||||
@@ -30,10 +30,10 @@ namespace ams::lr {
|
||||
/* No existing resolver is present, create one. */
|
||||
if (!resolver) {
|
||||
if (storage_id == ncm::StorageId::Host) {
|
||||
AMS_ABORT_UNLESS(this->location_resolvers.Insert(storage_id, std::make_shared<RedirectOnlyLocationResolverImpl>()));
|
||||
AMS_ABORT_UNLESS(this->location_resolvers.Insert(storage_id, sf::MakeShared<ILocationResolver, RedirectOnlyLocationResolverImpl>()));
|
||||
} else {
|
||||
auto content_resolver = std::make_shared<ContentLocationResolverImpl>(storage_id);
|
||||
R_TRY(content_resolver->Refresh());
|
||||
auto content_resolver = sf::MakeShared<ILocationResolver, ContentLocationResolverImpl>(storage_id);
|
||||
R_TRY(content_resolver->GetImpl().Refresh());
|
||||
AMS_ABORT_UNLESS(this->location_resolvers.Insert(storage_id, std::move(content_resolver)));
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace ams::lr {
|
||||
|
||||
/* No existing resolver is present, create one. */
|
||||
if (!this->registered_location_resolver) {
|
||||
this->registered_location_resolver = std::make_shared<RegisteredLocationResolverImpl>();
|
||||
this->registered_location_resolver = sf::MakeShared<IRegisteredLocationResolver, RegisteredLocationResolverImpl>();
|
||||
}
|
||||
|
||||
/* Copy the output interface. */
|
||||
@@ -79,7 +79,7 @@ namespace ams::lr {
|
||||
|
||||
/* No existing resolver is present, create one. */
|
||||
if (!this->add_on_content_location_resolver) {
|
||||
this->add_on_content_location_resolver = std::make_shared<AddOnContentLocationResolverImpl>();
|
||||
this->add_on_content_location_resolver = sf::MakeShared<IAddOnContentLocationResolver, AddOnContentLocationResolverImpl>();
|
||||
}
|
||||
|
||||
/* Copy the output interface. */
|
||||
|
||||
@@ -24,32 +24,33 @@ namespace ams::lr {
|
||||
~RedirectOnlyLocationResolverImpl();
|
||||
public:
|
||||
/* Actual commands. */
|
||||
virtual Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result RedirectProgramPath(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result ResolveApplicationControlPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result ResolveApplicationHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result ResolveDataPath(sf::Out<Path> out, ncm::DataId id) override;
|
||||
virtual Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result ResolveApplicationLegalInformationPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result Refresh() override;
|
||||
virtual Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result ClearApplicationRedirectionDeprecated() override;
|
||||
virtual Result ClearApplicationRedirection(const sf::InArray<ncm::ProgramId> &excluding_ids) override;
|
||||
virtual Result EraseProgramRedirection(ncm::ProgramId id) override;
|
||||
virtual Result EraseApplicationControlRedirection(ncm::ProgramId id) override;
|
||||
virtual Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId id) override;
|
||||
virtual Result EraseApplicationLegalInformationRedirection(ncm::ProgramId id) override;
|
||||
virtual Result ResolveProgramPathForDebug(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result EraseProgramRedirectionForDebug(ncm::ProgramId id) override;
|
||||
Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result RedirectProgramPath(const Path &path, ncm::ProgramId id);
|
||||
Result ResolveApplicationControlPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result ResolveApplicationHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result ResolveDataPath(sf::Out<Path> out, ncm::DataId id);
|
||||
Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result ResolveApplicationLegalInformationPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result Refresh();
|
||||
Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result ClearApplicationRedirectionDeprecated();
|
||||
Result ClearApplicationRedirection(const sf::InArray<ncm::ProgramId> &excluding_ids);
|
||||
Result EraseProgramRedirection(ncm::ProgramId id);
|
||||
Result EraseApplicationControlRedirection(ncm::ProgramId id);
|
||||
Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId id);
|
||||
Result EraseApplicationLegalInformationRedirection(ncm::ProgramId id);
|
||||
Result ResolveProgramPathForDebug(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result EraseProgramRedirectionForDebug(ncm::ProgramId id);
|
||||
};
|
||||
static_assert(lr::IsILocationResolver<RedirectOnlyLocationResolverImpl>);
|
||||
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
namespace ams::lr {
|
||||
|
||||
class RegisteredLocationResolverImpl : public IRegisteredLocationResolver {
|
||||
class RegisteredLocationResolverImpl {
|
||||
private:
|
||||
static constexpr size_t MaxRegisteredLocationsDeprecated = 0x10;
|
||||
static constexpr size_t MaxRegisteredLocations = 0x20;
|
||||
@@ -49,20 +49,21 @@ namespace ams::lr {
|
||||
~RegisteredLocationResolverImpl();
|
||||
public:
|
||||
/* Actual commands. */
|
||||
virtual Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result RegisterProgramPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RegisterProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result UnregisterProgramPath(ncm::ProgramId id) override;
|
||||
virtual Result RedirectProgramPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result ResolveHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id) override;
|
||||
virtual Result RegisterHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RegisterHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result UnregisterHtmlDocumentPath(ncm::ProgramId id) override;
|
||||
virtual Result RedirectHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) override;
|
||||
virtual Result RedirectHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override;
|
||||
virtual Result Refresh() override;
|
||||
virtual Result RefreshExcluding(const sf::InArray<ncm::ProgramId> &ids) override;
|
||||
Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result RegisterProgramPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RegisterProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result UnregisterProgramPath(ncm::ProgramId id);
|
||||
Result RedirectProgramPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result ResolveHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id);
|
||||
Result RegisterHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RegisterHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result UnregisterHtmlDocumentPath(ncm::ProgramId id);
|
||||
Result RedirectHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id);
|
||||
Result RedirectHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id);
|
||||
Result Refresh();
|
||||
Result RefreshExcluding(const sf::InArray<ncm::ProgramId> &ids);
|
||||
};
|
||||
static_assert(lr::IsIRegisteredLocationResolver<RegisteredLocationResolverImpl>);
|
||||
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
namespace ams::lr {
|
||||
|
||||
class RemoteLocationResolverImpl : public ILocationResolver {
|
||||
class RemoteLocationResolverImpl {
|
||||
private:
|
||||
::LrLocationResolver srv;
|
||||
public:
|
||||
@@ -27,121 +27,122 @@ namespace ams::lr {
|
||||
~RemoteLocationResolverImpl() { ::serviceClose(&srv.s); }
|
||||
public:
|
||||
/* Actual commands. */
|
||||
virtual Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id) override {
|
||||
return lrLrResolveProgramPath(std::addressof(this->srv), id.value, out->str);
|
||||
Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id) {
|
||||
return ::lrLrResolveProgramPath(std::addressof(this->srv), id.value, out->str);
|
||||
}
|
||||
|
||||
virtual Result RedirectProgramPath(const Path &path, ncm::ProgramId id) override {
|
||||
return lrLrRedirectProgramPath(std::addressof(this->srv), id.value, path.str);
|
||||
Result RedirectProgramPath(const Path &path, ncm::ProgramId id) {
|
||||
return ::lrLrRedirectProgramPath(std::addressof(this->srv), id.value, path.str);
|
||||
}
|
||||
|
||||
virtual Result ResolveApplicationControlPath(sf::Out<Path> out, ncm::ProgramId id) override {
|
||||
return lrLrResolveApplicationControlPath(std::addressof(this->srv), id.value, out->str);
|
||||
Result ResolveApplicationControlPath(sf::Out<Path> out, ncm::ProgramId id) {
|
||||
return ::lrLrResolveApplicationControlPath(std::addressof(this->srv), id.value, out->str);
|
||||
}
|
||||
|
||||
virtual Result ResolveApplicationHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id) override {
|
||||
return lrLrResolveApplicationHtmlDocumentPath(std::addressof(this->srv), id.value, out->str);
|
||||
Result ResolveApplicationHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id) {
|
||||
return ::lrLrResolveApplicationHtmlDocumentPath(std::addressof(this->srv), id.value, out->str);
|
||||
}
|
||||
|
||||
virtual Result ResolveDataPath(sf::Out<Path> out, ncm::DataId id) override {
|
||||
return lrLrResolveDataPath(std::addressof(this->srv), id.value, out->str);
|
||||
Result ResolveDataPath(sf::Out<Path> out, ncm::DataId id) {
|
||||
return ::lrLrResolveDataPath(std::addressof(this->srv), id.value, out->str);
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId id) override {
|
||||
return lrLrRedirectApplicationControlPath(std::addressof(this->srv), id.value, 0, path.str);
|
||||
Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId id) {
|
||||
return ::lrLrRedirectApplicationControlPath(std::addressof(this->srv), id.value, 0, path.str);
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override {
|
||||
return lrLrRedirectApplicationControlPath(std::addressof(this->srv), id.value, owner_id.value, path.str);
|
||||
Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) {
|
||||
return ::lrLrRedirectApplicationControlPath(std::addressof(this->srv), id.value, owner_id.value, path.str);
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) override {
|
||||
return lrLrRedirectApplicationHtmlDocumentPath(std::addressof(this->srv), id.value, 0, path.str);
|
||||
Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) {
|
||||
return ::lrLrRedirectApplicationHtmlDocumentPath(std::addressof(this->srv), id.value, 0, path.str);
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override {
|
||||
return lrLrRedirectApplicationHtmlDocumentPath(std::addressof(this->srv), id.value, owner_id.value, path.str);
|
||||
Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) {
|
||||
return ::lrLrRedirectApplicationHtmlDocumentPath(std::addressof(this->srv), id.value, owner_id.value, path.str);
|
||||
}
|
||||
|
||||
virtual Result ResolveApplicationLegalInformationPath(sf::Out<Path> out, ncm::ProgramId id) override {
|
||||
return lrLrResolveApplicationLegalInformationPath(std::addressof(this->srv), id.value, out->str);
|
||||
Result ResolveApplicationLegalInformationPath(sf::Out<Path> out, ncm::ProgramId id) {
|
||||
return ::lrLrResolveApplicationLegalInformationPath(std::addressof(this->srv), id.value, out->str);
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId id) override {
|
||||
return lrLrRedirectApplicationLegalInformationPath(std::addressof(this->srv), id.value, 0, path.str);
|
||||
Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId id) {
|
||||
return ::lrLrRedirectApplicationLegalInformationPath(std::addressof(this->srv), id.value, 0, path.str);
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override {
|
||||
return lrLrRedirectApplicationLegalInformationPath(std::addressof(this->srv), id.value, owner_id.value, path.str);
|
||||
Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) {
|
||||
return ::lrLrRedirectApplicationLegalInformationPath(std::addressof(this->srv), id.value, owner_id.value, path.str);
|
||||
}
|
||||
|
||||
virtual Result Refresh() override {
|
||||
return lrLrRefresh(std::addressof(this->srv));
|
||||
Result Refresh() {
|
||||
return ::lrLrRefresh(std::addressof(this->srv));
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId id) override {
|
||||
Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override {
|
||||
Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result ClearApplicationRedirectionDeprecated() override {
|
||||
Result ClearApplicationRedirectionDeprecated() {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result ClearApplicationRedirection(const sf::InArray<ncm::ProgramId> &excluding_ids) override {
|
||||
Result ClearApplicationRedirection(const sf::InArray<ncm::ProgramId> &excluding_ids) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result EraseProgramRedirection(ncm::ProgramId id) override {
|
||||
return lrLrEraseProgramRedirection(std::addressof(this->srv), id.value);
|
||||
Result EraseProgramRedirection(ncm::ProgramId id) {
|
||||
return ::lrLrEraseProgramRedirection(std::addressof(this->srv), id.value);
|
||||
}
|
||||
|
||||
virtual Result EraseApplicationControlRedirection(ncm::ProgramId id) override {
|
||||
Result EraseApplicationControlRedirection(ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId id) override {
|
||||
Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result EraseApplicationLegalInformationRedirection(ncm::ProgramId id) override {
|
||||
Result EraseApplicationLegalInformationRedirection(ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result ResolveProgramPathForDebug(sf::Out<Path> out, ncm::ProgramId id) override {
|
||||
Result ResolveProgramPathForDebug(sf::Out<Path> out, ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId id) override {
|
||||
Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId id) override {
|
||||
Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override {
|
||||
Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result EraseProgramRedirectionForDebug(ncm::ProgramId id) override {
|
||||
Result EraseProgramRedirectionForDebug(ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
};
|
||||
static_assert(lr::IsILocationResolver<RemoteLocationResolverImpl>);
|
||||
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
namespace ams::lr {
|
||||
|
||||
class RemoteRegisteredLocationResolverImpl : public IRegisteredLocationResolver {
|
||||
class RemoteRegisteredLocationResolverImpl {
|
||||
private:
|
||||
::LrRegisteredLocationResolver srv;
|
||||
public:
|
||||
@@ -28,74 +28,75 @@ namespace ams::lr {
|
||||
~RemoteRegisteredLocationResolverImpl() { ::serviceClose(&srv.s); }
|
||||
public:
|
||||
/* Actual commands. */
|
||||
virtual Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id) override {
|
||||
return lrRegLrResolveProgramPath(std::addressof(this->srv), static_cast<u64>(id), out->str);
|
||||
Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId id) {
|
||||
return ::lrRegLrResolveProgramPath(std::addressof(this->srv), static_cast<u64>(id), out->str);
|
||||
}
|
||||
|
||||
virtual Result RegisterProgramPathDeprecated(const Path &path, ncm::ProgramId id) override {
|
||||
Result RegisterProgramPathDeprecated(const Path &path, ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RegisterProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override {
|
||||
Result RegisterProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result UnregisterProgramPath(ncm::ProgramId id) override {
|
||||
Result UnregisterProgramPath(ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RedirectProgramPathDeprecated(const Path &path, ncm::ProgramId id) override {
|
||||
Result RedirectProgramPathDeprecated(const Path &path, ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RedirectProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override {
|
||||
Result RedirectProgramPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result ResolveHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id) override {
|
||||
Result ResolveHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RegisterHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) override {
|
||||
Result RegisterHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RegisterHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override {
|
||||
Result RegisterHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result UnregisterHtmlDocumentPath(ncm::ProgramId id) override {
|
||||
Result UnregisterHtmlDocumentPath(ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RedirectHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) override {
|
||||
Result RedirectHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RedirectHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) override {
|
||||
Result RedirectHtmlDocumentPath(const Path &path, ncm::ProgramId id, ncm::ProgramId owner_id) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result Refresh() override {
|
||||
Result Refresh() {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
|
||||
virtual Result RefreshExcluding(const sf::InArray<ncm::ProgramId> &ids) override {
|
||||
Result RefreshExcluding(const sf::InArray<ncm::ProgramId> &ids) {
|
||||
/* TODO: libnx bindings */
|
||||
AMS_ABORT();
|
||||
}
|
||||
};
|
||||
static_assert(lr::IsIRegisteredLocationResolver<RemoteRegisteredLocationResolverImpl>);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user