2019-02-05 19:02:45 -05:00
|
|
|
|
using static SharedLibraryCore.Server;
|
|
|
|
|
|
|
|
|
|
namespace SharedLibraryCore.Interfaces
|
2018-04-13 02:32:30 -04:00
|
|
|
|
{
|
|
|
|
|
public interface IEventParser
|
|
|
|
|
{
|
2018-04-15 00:26:27 -04:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Generates a game event based on log line input
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="logLine">single log line string</param>
|
|
|
|
|
/// <returns></returns>
|
2018-04-26 02:13:04 -04:00
|
|
|
|
/// todo: make this integrate without needing the server
|
2019-05-13 11:36:11 -04:00
|
|
|
|
GameEvent GenerateGameEvent(string logLine);
|
2018-04-15 00:26:27 -04:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Get game specific folder prefix for log files
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>Game directory prefix</returns>
|
2019-01-26 21:33:37 -05:00
|
|
|
|
IEventParserConfiguration Configuration { get; set; }
|
2019-02-05 19:02:45 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// stores the game/client specific version (usually the value of the "version" DVAR)
|
|
|
|
|
/// </summary>
|
2019-02-02 19:54:30 -05:00
|
|
|
|
string Version { get; set; }
|
2019-02-05 19:02:45 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// specifies the game name (usually the internal studio iteration ie: IW4, T5 etc...)
|
|
|
|
|
/// </summary>
|
|
|
|
|
Game GameName { get; set; }
|
2019-04-06 22:48:49 -04:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// specifies the connect URI used to join game servers via web browser
|
|
|
|
|
/// </summary>
|
|
|
|
|
string URLProtocolFormat { get; set; }
|
2020-01-21 19:08:18 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Specifies the text name of the game the parser is for
|
|
|
|
|
/// </summary>
|
|
|
|
|
string Name { get; set; }
|
2018-04-13 02:32:30 -04:00
|
|
|
|
}
|
|
|
|
|
}
|