2019-01-26 21:33:37 -05:00
|
|
|
|
using SharedLibraryCore.RCon;
|
2020-06-16 18:16:12 -04:00
|
|
|
|
using System.Collections.Generic;
|
2020-01-15 19:43:52 -05:00
|
|
|
|
using System.Globalization;
|
2019-01-26 21:33:37 -05:00
|
|
|
|
|
|
|
|
|
namespace SharedLibraryCore.Interfaces
|
|
|
|
|
{
|
|
|
|
|
public interface IRConParserConfiguration
|
|
|
|
|
{
|
2019-02-02 20:40:37 -05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// stores the command format for console commands
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
CommandPrefix CommandPrefixes { get; }
|
2019-11-18 15:02:35 -05:00
|
|
|
|
|
2019-02-02 20:40:37 -05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// stores the regex info for parsing get status response
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
ParserRegex Status { get; }
|
2019-11-18 15:02:35 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// stores regex info for parsing the map line from rcon status response
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
ParserRegex MapStatus { get; }
|
2019-11-18 15:02:35 -05:00
|
|
|
|
|
2020-08-05 10:30:02 -04:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// stores regex info for parsing the gametype line from rcon status response
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
ParserRegex GametypeStatus { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// stores regex info for parsing hostname line from rcon status response
|
|
|
|
|
/// </summary>
|
|
|
|
|
ParserRegex HostnameStatus { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// stores regex info for parsing max players line from rcon status response
|
|
|
|
|
/// </summary>
|
|
|
|
|
ParserRegex MaxPlayersStatus { get; }
|
2020-08-05 10:30:02 -04:00
|
|
|
|
|
2019-02-02 20:40:37 -05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// stores the regex info for parsing get DVAR responses
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
ParserRegex Dvar { get; }
|
2019-11-18 15:02:35 -05:00
|
|
|
|
|
2020-04-17 16:05:16 -04:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// stores the regex info for parsing the header of a status response
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
ParserRegex StatusHeader { get; }
|
2020-04-17 16:05:16 -04:00
|
|
|
|
|
2020-01-13 17:51:16 -05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Specifies the expected response message from rcon when the server is not running
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
string ServerNotRunningResponse { get; }
|
2020-01-13 17:51:16 -05:00
|
|
|
|
|
2019-02-03 21:47:05 -05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// indicates if the application should wait for response from server
|
|
|
|
|
/// when executing a command
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
bool WaitForResponse { get; }
|
2020-01-15 19:43:52 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// indicates the format expected for parsed guids
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
NumberStyles GuidNumberStyle { get; }
|
2020-06-16 18:16:12 -04:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// specifies simple mappings for dvar names in scenarios where the needed
|
|
|
|
|
/// information is not stored in a traditional dvar name
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
IDictionary<string, string> OverrideDvarNameMapping { get; }
|
2020-06-16 18:16:12 -04:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// specifies the default dvar values for games that don't support certain dvars
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
IDictionary<string, string> DefaultDvarValues { get; }
|
2020-11-17 19:24:54 -05:00
|
|
|
|
|
2020-11-19 21:48:25 -05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// specifies how many lines can be used for ingame notice
|
|
|
|
|
/// </summary>
|
2020-11-17 19:24:54 -05:00
|
|
|
|
int NoticeMaximumLines { get; set; }
|
|
|
|
|
|
2020-11-19 21:48:25 -05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// specifies how many characters can be displayed per notice line
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
int NoticeMaxCharactersPerLine { get; }
|
2020-11-19 21:48:25 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// specifies the characters used to split a line
|
|
|
|
|
/// </summary>
|
2021-06-03 11:51:03 -04:00
|
|
|
|
string NoticeLineSeparator { get; }
|
2019-01-26 21:33:37 -05:00
|
|
|
|
}
|
|
|
|
|
}
|