Use a struct for file timestamp
This commit is contained in:
parent
d0110b0da7
commit
26b95bdb64
6 changed files with 34 additions and 18 deletions
|
@ -282,28 +282,33 @@ namespace Ryujinx.HLE.FileSystem
|
|||
}
|
||||
|
||||
|
||||
public (DateTime, DateTime, DateTime) GetFileTimeStampRaw(string name)
|
||||
public FileTimestamp GetFileTimeStampRaw(string name)
|
||||
{
|
||||
CheckIfDescendentOfRootPath(name);
|
||||
|
||||
DateTime creationDate = DateTime.UnixEpoch;
|
||||
DateTime modifiedDate = DateTime.UnixEpoch;
|
||||
DateTime lastAccessDate = DateTime.UnixEpoch;
|
||||
DateTime creationDateTime = DateTime.UnixEpoch;
|
||||
DateTime modifiedDateTime = DateTime.UnixEpoch;
|
||||
DateTime lastAccessDateTime = DateTime.UnixEpoch;
|
||||
|
||||
if (File.Exists(name))
|
||||
{
|
||||
creationDate = File.GetCreationTime(name);
|
||||
modifiedDate = File.GetLastWriteTime(name);
|
||||
lastAccessDate = File.GetLastAccessTime(name);
|
||||
creationDateTime = File.GetCreationTime(name);
|
||||
modifiedDateTime = File.GetLastWriteTime(name);
|
||||
lastAccessDateTime = File.GetLastAccessTime(name);
|
||||
}
|
||||
else if (Directory.Exists(name))
|
||||
{
|
||||
creationDate = Directory.GetCreationTime(name);
|
||||
modifiedDate = Directory.GetLastWriteTime(name);
|
||||
lastAccessDate = Directory.GetLastAccessTime(name);
|
||||
creationDateTime = Directory.GetCreationTime(name);
|
||||
modifiedDateTime = Directory.GetLastWriteTime(name);
|
||||
lastAccessDateTime = Directory.GetLastAccessTime(name);
|
||||
}
|
||||
|
||||
return (creationDate, modifiedDate, lastAccessDate);
|
||||
return new FileTimestamp
|
||||
{
|
||||
CreationDateTime = creationDateTime,
|
||||
ModifiedDateTime = modifiedDateTime,
|
||||
LastAccessDateTime = lastAccessDateTime
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,6 @@ namespace Ryujinx.HLE.FileSystem
|
|||
|
||||
long GetTotalSpace(ServiceCtx context);
|
||||
|
||||
(DateTime, DateTime, DateTime) GetFileTimeStampRaw(string name);
|
||||
FileTimestamp GetFileTimeStampRaw(string name);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -144,7 +144,7 @@ namespace Ryujinx.HLE.FileSystem
|
|||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
public (DateTime, DateTime, DateTime) GetFileTimeStampRaw(string name)
|
||||
public FileTimestamp GetFileTimeStampRaw(string name)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
|
|
@ -161,7 +161,7 @@ namespace Ryujinx.HLE.FileSystem
|
|||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
public (DateTime, DateTime, DateTime) GetFileTimeStampRaw(string name)
|
||||
public FileTimestamp GetFileTimeStampRaw(string name)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
|
11
Ryujinx.HLE/HOS/Services/FspSrv/FileTimestamp.cs
Normal file
11
Ryujinx.HLE/HOS/Services/FspSrv/FileTimestamp.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Services.FspSrv
|
||||
{
|
||||
struct FileTimestamp
|
||||
{
|
||||
public DateTime CreationDateTime;
|
||||
public DateTime ModifiedDateTime;
|
||||
public DateTime LastAccessDateTime;
|
||||
}
|
||||
}
|
|
@ -377,11 +377,11 @@ namespace Ryujinx.HLE.HOS.Services.FspSrv
|
|||
|
||||
if (_provider.FileExists(path) || _provider.DirectoryExists(path))
|
||||
{
|
||||
(DateTime creationTime, DateTime modifiedTime, DateTime accessTime) = _provider.GetFileTimeStampRaw(path);
|
||||
FileTimestamp timestamp = _provider.GetFileTimeStampRaw(path);
|
||||
|
||||
context.ResponseData.Write(new DateTimeOffset(creationTime).ToUnixTimeSeconds());
|
||||
context.ResponseData.Write(new DateTimeOffset(modifiedTime).ToUnixTimeSeconds());
|
||||
context.ResponseData.Write(new DateTimeOffset(accessTime).ToUnixTimeSeconds());
|
||||
context.ResponseData.Write(new DateTimeOffset(timestamp.CreationDateTime).ToUnixTimeSeconds());
|
||||
context.ResponseData.Write(new DateTimeOffset(timestamp.ModifiedDateTime).ToUnixTimeSeconds());
|
||||
context.ResponseData.Write(new DateTimeOffset(timestamp.LastAccessDateTime).ToUnixTimeSeconds());
|
||||
|
||||
byte[] data = new byte[8];
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue