using System.Collections.Generic;
using System.Globalization;
using SharedLibraryCore.Formatting;
using SharedLibraryCore.RCon;
namespace SharedLibraryCore.Interfaces
{
public interface IRConParserConfiguration
{
///
/// stores the command format for console commands
///
CommandPrefix CommandPrefixes { get; }
///
/// stores the regex info for parsing get status response
///
ParserRegex Status { get; }
///
/// stores regex info for parsing the map line from rcon status response
///
ParserRegex MapStatus { get; }
///
/// stores regex info for parsing the gametype line from rcon status response
///
ParserRegex GametypeStatus { get; }
///
/// stores regex info for parsing hostname line from rcon status response
///
ParserRegex HostnameStatus { get; }
///
/// stores regex info for parsing max players line from rcon status response
///
ParserRegex MaxPlayersStatus { get; }
///
/// stores the regex info for parsing get DVAR responses
///
ParserRegex Dvar { get; }
///
/// stores the regex info for parsing the header of a status response
///
ParserRegex StatusHeader { get; }
///
/// Specifies the expected response message from rcon when the server is not running
///
string ServerNotRunningResponse { get; }
///
/// indicates if the application should wait for response from server
/// when executing a command
///
bool WaitForResponse { get; }
///
/// indicates the format expected for parsed guids
///
NumberStyles GuidNumberStyle { get; }
///
/// specifies simple mappings for dvar names in scenarios where the needed
/// information is not stored in a traditional dvar name
///
IDictionary OverrideDvarNameMapping { get; }
///
/// specifies the default dvar values for games that don't support certain dvars
///
IDictionary DefaultDvarValues { get; }
///
/// specifies how many lines can be used for ingame notice
///
int NoticeMaximumLines { get; set; }
///
/// specifies how many characters can be displayed per notice line
///
int NoticeMaxCharactersPerLine { get; }
///
/// specifies the characters used to split a line
///
string NoticeLineSeparator { get; }
///
/// Default port the game listens to RCon requests on
///
int? DefaultRConPort { get; }
///
/// Default Indicator of where the game is installed (ex file path or registry entry)
///
string DefaultInstallationDirectoryHint { get; }
ColorCodeMapping ColorCodeMapping { get; }
short FloodProtectInterval { get; }
}
}