public static bool LoadConfig()
{
bool result = false;
try
{
using (StreamReader sr = new StreamReader(config_file))
{
while (!sr.EndOfStream)
{
string line = sr.ReadLine().Trim();
Func<string, string> get_line_value = (key) =>
{
if (line.StartsWith(key))
{
int i = key.Length;
while (char.IsWhiteSpace(line[i]))
{
i++;
}
if (line[i] != '=')
{
return null;
}
return line.Substring(i + 1).Trim();
}
return null;
};
string value = get_line_value(wake_up_time_key);
if (value != null)
{
WakeUpTime = DateTime.Parse(value);
continue;
}
value = get_line_value(run_program_key);
if (value != null)
{
RunProgram = value;
continue;
}
value = get_line_value(run_program_parameter_key);
if (value != null)
{
RunProgramParameter = value;
continue;
}
value = get_line_value(rest_time_key);
if (value != null)
{
WaitUntilTime = DateTime.Parse(value);
continue;
}
value = get_line_value(rest_operation_key);
if (value != null)
{
DoStuff = value;
continue;
}
}
result = true;
}
}
catch (Exception)
{
}
return result;
}