blob: 2a2e5f5c36e2a087c94ba2a48e0a19b79435bdff (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
using System;
using System.Diagnostics.CodeAnalysis;
namespace StardewModdingAPI.Web.Framework.LogParsing.Models
{
/// <summary>Parsed metadata for a log.</summary>
public class ParsedLog
{
/*********
** Accessors
*********/
/****
** Metadata
****/
/// <summary>Whether the log file was successfully parsed.</summary>
[MemberNotNullWhen(true, nameof(ParsedLog.RawText))]
public bool IsValid { get; set; }
/// <summary>An error message indicating why the log file is invalid.</summary>
public string? Error { get; set; }
/// <summary>The raw log text.</summary>
public string? RawText { get; set; }
/// <summary>Whether there are messages from multiple screens in the log.</summary>
public bool IsSplitScreen { get; set; }
/****
** Log data
****/
/// <summary>Whether SMAPI is running in strict mode, which disables all deprecated APIs.</summary>
public bool IsStrictMode { get; set; }
/// <summary>The SMAPI version.</summary>
public string? ApiVersion { get; set; }
/// <summary>The parsed SMAPI version, if it's valid.</summary>
public ISemanticVersion? ApiVersionParsed { get; set; }
/// <summary>The game version.</summary>
public string? GameVersion { get; set; }
/// <summary>The player's operating system.</summary>
public string? OperatingSystem { get; set; }
/// <summary>The game install path.</summary>
public string? GamePath { get; set; }
/// <summary>The mod folder path.</summary>
public string? ModPath { get; set; }
/// <summary>The ISO 8601 timestamp when the log was started.</summary>
public DateTimeOffset Timestamp { get; set; }
/// <summary>Metadata about installed mods and content packs.</summary>
public LogModInfo[] Mods { get; set; } = Array.Empty<LogModInfo>();
/// <summary>The log messages.</summary>
public LogMessage[] Messages { get; set; } = Array.Empty<LogMessage>();
}
}
|