SafeNet/Hytera_SOC/Config.cs
2021-02-24 13:50:23 +02:00

117 lines
4.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Nini.Config;
using System.Collections;
using SafeNetLib;
namespace Hytera_SOC
{
public class Config
{
private IConfigSource source = null;
private string CFG_FILE = "config.ini";
public string hyteraIP;
public string hyteraIMEI;
public string gatewayID;
public byte subNet;
public int ping_interval;
public bool useRadioTime;
public bool gw_restart;
public string SERVER;
public string DATABASE;
public string UID;
public string PASSWORD;
public string report;
public bool db_active;
public int debug_port;
//email service
public string smtpServer = "";
public string pop3Server = "";
public string pop3Port = "";
public string smtpPort = "";
public bool sslState = false;
public bool enableEmailService = false;
public string user, psw;
public ArrayList ar_radioIPs = new ArrayList();
public Config(string CFG_FILE = "config.ini")
{
LoadConfig();
}
private void LoadConfig()
{
try
{
source = new IniConfigSource(CFG_FILE);
pop3Server = source.Configs["EmailService"].Get("Pop3Server");
smtpServer = source.Configs["EmailService"].Get("SmtpServer");
pop3Port = source.Configs["EmailService"].Get("Pop3Port");
smtpPort = source.Configs["EmailService"].Get("SmtpPort");
sslState = Convert.ToBoolean(source.Configs["EmailService"].Get("EnableSSL"));
enableEmailService = Convert.ToBoolean(source.Configs["EmailService"].Get("Enable"));
user = source.Configs["EmailService"].Get("User");
psw = source.Configs["EmailService"].Get("Pass");
gatewayID = source.Configs["GATEWAY"].Get("id");
report = source.Configs["GATEWAY"].Get("report");
hyteraIP = source.Configs["GATEWAY"].Get("MasterRadioIP");
hyteraIMEI = source.Configs["GATEWAY"].Get("MasterRadioIMEI");
subNet = Convert.ToByte(source.Configs["GATEWAY"].Get("MR_subnet"));
ping_interval = Convert.ToInt32(source.Configs["GATEWAY"].Get("ping_interval"));
useRadioTime = Convert.ToBoolean(source.Configs["GATEWAY"].Get("UseRadioTime"));
gw_restart = Convert.ToBoolean(source.Configs["GATEWAY"].Get("gw_restart"));
//MySQL connection info (for SMS)
SERVER = source.Configs["MySQL"].Get("SERVER");
DATABASE = source.Configs["MySQL"].Get("DATABASE");
UID = source.Configs["MySQL"].Get("UID");
PASSWORD = source.Configs["MySQL"].Get("PASSWORD");
db_active = Convert.ToBoolean(source.Configs["MySQL"].Get("active"));
//debug port is GWID with the first digit replage by 3. ex: 95001 -> 35001
string str_debug_port = "3" + gatewayID.Substring(1);
debug_port = Int32.Parse(str_debug_port);
LoadRadioIP();
}
catch (Exception ex)
{
Utils.ConsWrite(DebugMSG_Type.always, "LoadSetup() Exception: " + ex.ToString());
}
Utils.ConsWrite(DebugMSG_Type.CTRL, "LoadSetup file OK !");
}
private void LoadRadioIP()
{
try
{
source = new IniConfigSource(CFG_FILE);
ar_radioIPs.Add(source.Configs["GATEWAY"].Get("MasterRadioIP"));
/*
string[] keys = source.Configs["GATEWAY_IPS"].GetKeys();
foreach (string key in keys)
{
if (!ar_radioIPs.Contains(source.Configs["GATEWAY_IPS"].Get(key)))
ar_radioIPs.Add(source.Configs["GATEWAY_IPS"].Get(key));
}
*/
}
catch (Exception ex)
{
Utils.ConsWrite(DebugMSG_Type.always, "LoadRadiosIP() Exception: " + ex.ToString());
}
Utils.ConsWrite(DebugMSG_Type.CTRL, "LoadRadiosIP OK !");
}
}
}