Implement IApplicationFunctions & IQueryService commands (#823)
* Implement IApplicationFunctions & IQueryService commands - Fix some nits in `IApplicationFunctions` - Implement `QueryApplicationPlayStatistics` and `QueryApplicationPlayStatisticsByUid` checked by RE. - Implement `QueryApplicationPlayStatisticsForSystem` and `QueryApplicationPlayStatisticsByUserAccountIdForSystem` checked by RE. - Implement `QueryPlayStatisticsManager` to get/set played games statistics. We currently don't store any statistics because it's handled by qlaunch (or maybe am service?) on Switch. We can add support later if games use returned statistics for something. * Fix reviews
This commit is contained in:
parent
b9ae0b09d9
commit
79abc6ed93
7 changed files with 162 additions and 12 deletions
|
@ -1,8 +1,24 @@
|
|||
namespace Ryujinx.HLE.HOS.Services.Sdb.Pdm
|
||||
using Ryujinx.HLE.HOS.Services.Sdb.Pdm.QueryService;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Services.Sdb.Pdm
|
||||
{
|
||||
[Service("pdm:qry")]
|
||||
class IQueryService : IpcService
|
||||
{
|
||||
public IQueryService(ServiceCtx context) { }
|
||||
|
||||
[Command(13)] // 5.0.0+
|
||||
// QueryApplicationPlayStatisticsForSystem(buffer<bytes, 5> title_id_list) -> (buffer<bytes, 6> entries, s32 entries_count)
|
||||
public ResultCode QueryApplicationPlayStatisticsForSystem(ServiceCtx context)
|
||||
{
|
||||
return QueryPlayStatisticsManager.GetPlayStatistics(context);
|
||||
}
|
||||
|
||||
[Command(16)] // 6.0.0+
|
||||
// QueryApplicationPlayStatisticsByUserAccountIdForSystem(nn::account::Uid, buffer<bytes, 5> title_id_list) -> (buffer<bytes, 6> entries, s32 entries_count)
|
||||
public ResultCode QueryApplicationPlayStatisticsByUserAccountIdForSystem(ServiceCtx context)
|
||||
{
|
||||
return QueryPlayStatisticsManager.GetPlayStatistics(context, true);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue