Skip to content
Snippets Groups Projects
Commit fdc6757f authored by Niko Ehrenfeuchter's avatar Niko Ehrenfeuchter :keyboard:
Browse files

Allow specifying the base dir as a command line parameter.

Refers to #2
parent 6e1d9910
No related branches found
No related tags found
No related merge requests found
...@@ -26,9 +26,7 @@ namespace ATxTray ...@@ -26,9 +26,7 @@ namespace ATxTray
private static readonly Timer AppTimer = new Timer(1000); private static readonly Timer AppTimer = new Timer(1000);
private static bool _terminate = false; private static bool _terminate = false;
private static readonly string BaseDir = AppDomain.CurrentDomain.BaseDirectory; private static string _statusFile;
private static readonly string ConfigFile = Path.Combine(BaseDir, "configuration.xml");
private static readonly string StatusFile = Path.Combine(BaseDir, "status.xml");
private static string _submitPath; private static string _submitPath;
private static DateTime _statusAge; private static DateTime _statusAge;
private static ServiceConfig _config; private static ServiceConfig _config;
...@@ -62,10 +60,10 @@ namespace ATxTray ...@@ -62,10 +60,10 @@ namespace ATxTray
private static TaskDialog _confirmDialog; private static TaskDialog _confirmDialog;
private static DirectoryInfo _selectedDir; private static DirectoryInfo _selectedDir;
public AutoTxTray() { public AutoTxTray(string baseDir) {
#region logging configuration #region logging configuration
var logConfig = new LoggingConfiguration(); var logConfig = new LoggingConfiguration();
var fileTarget = new FileTarget { var fileTarget = new FileTarget {
FileName = Path.GetFileNameWithoutExtension(Application.ExecutablePath) + ".log", FileName = Path.GetFileNameWithoutExtension(Application.ExecutablePath) + ".log",
...@@ -80,13 +78,16 @@ namespace ATxTray ...@@ -80,13 +78,16 @@ namespace ATxTray
#endregion #endregion
var configFile = Path.Combine(baseDir, "configuration.xml");
_statusFile = Path.Combine(baseDir, "status.xml");
Log.Info("-----------------------"); Log.Info("-----------------------");
Log.Info("{0} initializing...", AppTitle); Log.Info("{0} initializing...", AppTitle);
Log.Info("build: [{0}]", Properties.Resources.BuildDate.Trim()); Log.Info("build: [{0}]", Properties.Resources.BuildDate.Trim());
Log.Info("commit: [{0}]", Properties.Resources.BuildCommit.Trim()); Log.Info("commit: [{0}]", Properties.Resources.BuildCommit.Trim());
Log.Info("-----------------------"); Log.Info("-----------------------");
Log.Debug(" - config file: [{0}]", ConfigFile); Log.Debug(" - config file: [{0}]", configFile);
Log.Debug(" - status file: [{0}]", StatusFile); Log.Debug(" - status file: [{0}]", _statusFile);
_notifyIcon.Icon = _tiStopped; _notifyIcon.Icon = _tiStopped;
_notifyIcon.Visible = true; _notifyIcon.Visible = true;
...@@ -97,7 +98,7 @@ namespace ATxTray ...@@ -97,7 +98,7 @@ namespace ATxTray
Log.Trace("Trying to read service config and status files..."); Log.Trace("Trying to read service config and status files...");
try { try {
_config = ServiceConfig.Deserialize(ConfigFile); _config = ServiceConfig.Deserialize(configFile);
ReadStatus(); ReadStatus();
Log.Trace("Completed reading service config and status files."); Log.Trace("Completed reading service config and status files.");
SetupContextMenu(); SetupContextMenu();
...@@ -342,13 +343,13 @@ namespace ATxTray ...@@ -342,13 +343,13 @@ namespace ATxTray
/// Read (or re-read) the service status file if it has changed since last time. /// Read (or re-read) the service status file if it has changed since last time.
/// </summary> /// </summary>
private static void ReadStatus() { private static void ReadStatus() {
var age = new FileInfo(StatusFile).LastWriteTime; var age = new FileInfo(_statusFile).LastWriteTime;
if (age == _statusAge) if (age == _statusAge)
return; return;
Log.Trace("Status file was updated, trying to re-read..."); Log.Trace("Status file was updated, trying to re-read...");
_statusAge = age; _statusAge = age;
_status = ServiceStatus.Deserialize(StatusFile, _config); _status = ServiceStatus.Deserialize(_statusFile, _config);
} }
/// <summary> /// <summary>
......
...@@ -9,10 +9,13 @@ namespace ATxTray ...@@ -9,10 +9,13 @@ namespace ATxTray
/// The main entry point for the application. /// The main entry point for the application.
/// </summary> /// </summary>
[STAThread] [STAThread]
private static void Main() { private static void Main(string[] args) {
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new AutoTxTray()); var baseDir = AppDomain.CurrentDomain.BaseDirectory;
if (args.Length > 0)
baseDir = args[0];
Application.Run(new AutoTxTray(baseDir));
} }
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment