58 lines
2.0 KiB
C#
58 lines
2.0 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Text.Json;
|
|
|
|
namespace VideoReader
|
|
{
|
|
public class ServerConfig
|
|
{
|
|
public string ServerType { get; set; } = "standard";
|
|
public string ServerAddress { get; set; } = "vidser.top";
|
|
public int Port { get; set; } = 3033;
|
|
public int Channel { get; set; } = 0;
|
|
public string Description { get; set; } = "Standard VideoReader server configuration";
|
|
|
|
public static ServerConfig LoadConfig()
|
|
{
|
|
const string configFile = "server-config.json";
|
|
|
|
try
|
|
{
|
|
if (File.Exists(configFile))
|
|
{
|
|
var json = File.ReadAllText(configFile);
|
|
var config = JsonSerializer.Deserialize<ServerConfig>(json);
|
|
Console.WriteLine($"Configuration loaded from {configFile}");
|
|
return config ?? new ServerConfig();
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine($"Configuration file {configFile} not found, using defaults");
|
|
var defaultConfig = new ServerConfig();
|
|
SaveConfig(defaultConfig);
|
|
return defaultConfig;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine($"Error loading configuration: {ex.Message}");
|
|
return new ServerConfig();
|
|
}
|
|
}
|
|
|
|
public static void SaveConfig(ServerConfig config)
|
|
{
|
|
const string configFile = "server-config.json";
|
|
try
|
|
{
|
|
var json = JsonSerializer.Serialize(config, new JsonSerializerOptions { WriteIndented = true });
|
|
File.WriteAllText(configFile, json);
|
|
Console.WriteLine($"Configuration saved to {configFile}");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine($"Error saving configuration: {ex.Message}");
|
|
}
|
|
}
|
|
}
|
|
} |