30 lines
716 B
C#
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();
|
|
|
|
} |