Move solution and projects to src
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
using LibHac.Ncm;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Services.Arp
|
||||
{
|
||||
class ApplicationLaunchProperty
|
||||
{
|
||||
public ulong TitleId;
|
||||
public int Version;
|
||||
public byte BaseGameStorageId;
|
||||
public byte UpdateGameStorageId;
|
||||
#pragma warning disable CS0649
|
||||
public short Padding;
|
||||
#pragma warning restore CS0649
|
||||
|
||||
public static ApplicationLaunchProperty Default
|
||||
{
|
||||
get
|
||||
{
|
||||
return new ApplicationLaunchProperty
|
||||
{
|
||||
TitleId = 0x00,
|
||||
Version = 0x00,
|
||||
BaseGameStorageId = (byte)StorageId.BuiltInSystem,
|
||||
UpdateGameStorageId = (byte)StorageId.None
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public static ApplicationLaunchProperty GetByPid(ServiceCtx context)
|
||||
{
|
||||
// TODO: Handle ApplicationLaunchProperty as array when pid will be supported and return the right item.
|
||||
// For now we can hardcode values, and fix it after GetApplicationLaunchProperty is implemented.
|
||||
|
||||
return new ApplicationLaunchProperty
|
||||
{
|
||||
TitleId = context.Device.Processes.ActiveApplication.ProgramId,
|
||||
Version = 0x00,
|
||||
BaseGameStorageId = (byte)StorageId.BuiltInSystem,
|
||||
UpdateGameStorageId = (byte)StorageId.None
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
8
src/Ryujinx.HLE/HOS/Services/Arp/IReader.cs
Normal file
8
src/Ryujinx.HLE/HOS/Services/Arp/IReader.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Ryujinx.HLE.HOS.Services.Arp
|
||||
{
|
||||
[Service("arp:r")]
|
||||
class IReader : IpcService
|
||||
{
|
||||
public IReader(ServiceCtx context) { }
|
||||
}
|
||||
}
|
||||
8
src/Ryujinx.HLE/HOS/Services/Arp/IWriter.cs
Normal file
8
src/Ryujinx.HLE/HOS/Services/Arp/IWriter.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Ryujinx.HLE.HOS.Services.Arp
|
||||
{
|
||||
[Service("arp:w")]
|
||||
class IWriter : IpcService
|
||||
{
|
||||
public IWriter(ServiceCtx context) { }
|
||||
}
|
||||
}
|
||||
76
src/Ryujinx.HLE/HOS/Services/Arp/LibHacIReader.cs
Normal file
76
src/Ryujinx.HLE/HOS/Services/Arp/LibHacIReader.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
using LibHac;
|
||||
using LibHac.Common;
|
||||
using LibHac.Ncm;
|
||||
using LibHac.Ns;
|
||||
using System;
|
||||
|
||||
using ApplicationId = LibHac.ApplicationId;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Services.Arp
|
||||
{
|
||||
class LibHacIReader : LibHac.Arp.Impl.IReader
|
||||
{
|
||||
public ApplicationId ApplicationId { get; set; }
|
||||
|
||||
public Result GetApplicationLaunchProperty(out LibHac.Arp.ApplicationLaunchProperty launchProperty, ulong processId)
|
||||
{
|
||||
launchProperty = new LibHac.Arp.ApplicationLaunchProperty
|
||||
{
|
||||
StorageId = StorageId.BuiltInUser,
|
||||
ApplicationId = ApplicationId
|
||||
};
|
||||
|
||||
return Result.Success;
|
||||
}
|
||||
|
||||
public void Dispose() { }
|
||||
|
||||
public Result GetApplicationLaunchPropertyWithApplicationId(out LibHac.Arp.ApplicationLaunchProperty launchProperty, ApplicationId applicationId)
|
||||
{
|
||||
launchProperty = new LibHac.Arp.ApplicationLaunchProperty
|
||||
{
|
||||
StorageId = StorageId.BuiltInUser,
|
||||
ApplicationId = applicationId
|
||||
};
|
||||
|
||||
return Result.Success;
|
||||
}
|
||||
|
||||
public Result GetApplicationControlProperty(out ApplicationControlProperty controlProperty, ulong processId)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Result GetApplicationControlPropertyWithApplicationId(out ApplicationControlProperty controlProperty, ApplicationId applicationId)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Result GetServiceObject(out object serviceObject)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
internal class LibHacArpServiceObject : LibHac.Sm.IServiceObject
|
||||
{
|
||||
private SharedRef<LibHacIReader> _serviceObject;
|
||||
|
||||
public LibHacArpServiceObject(ref SharedRef<LibHacIReader> serviceObject)
|
||||
{
|
||||
_serviceObject = SharedRef<LibHacIReader>.CreateCopy(in serviceObject);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_serviceObject.Destroy();
|
||||
}
|
||||
|
||||
public Result GetServiceObject(ref SharedRef<IDisposable> serviceObject)
|
||||
{
|
||||
serviceObject.SetByCopy(in _serviceObject);
|
||||
|
||||
return Result.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user