Files
proxd-man/Proxd-man/Config/Stream/BaseStreamSetting.cs
T

30 lines
716 B
C#

using System.Text.Json.Nodes;
namespace Proxd_man.Config.Stream;
public abstract class BaseStreamSetting
{
public StreamType StreamType { get; init; }
public JsonObject ToJsonSetting()
{
var setting = new JsonObject
{
{ "network", StreamType.ToString().ToLower() }
};
var specificSettingFieldName = GetSpecificSettingFieldName();
if (!string.IsNullOrEmpty(specificSettingFieldName))
{
setting.Add(specificSettingFieldName, ToJsonSpecificSetting());
}
return setting;
}
protected abstract string? GetSpecificSettingFieldName();
protected abstract JsonObject? ToJsonSpecificSetting();
}