private static void Main(string[] args) { Console.WriteLine(); var options = new Options(); try { Console.TreatControlCAsInput = false; Console.CancelKeyPress += CancelKeyPressed; options.Parse(args); if (options.ShowHelp) { options.PrintUsage(); return; } if (options.ShowVersion) { ShowVersion(); return; } if (options.ShowLicense) { ShowLicense(); return; } if (options.ListViews) { ListViews(); return; } if (options.ListOrders) { ListOrders(); return; } if (options.Directories.Length == 0) { throw new GetOptException("No directories specified"); } options.SetupLogging(); using (var icon = new ProgramIcon()) { var server = new HttpServer(options.Port); try { using (var authorizer = new HttpAuthorizer(server)) { if (options.Ips.Length != 0) { authorizer.AddMethod(new IPAddressAuthorizer(options.Ips)); } if (options.Macs.Length != 0) { authorizer.AddMethod(new MacAuthorizer(options.Macs)); } if (options.UserAgents.Length != 0) { authorizer.AddMethod( new UserAgentAuthorizer(options.UserAgents)); } Console.Title = "SimpleDLNA - starting ..."; var types = options.Types[0]; foreach (var t in options.Types) { types = types | t; server.InfoFormat("Enabled type {0}", t); } var friendlyName = "sdlna"; if (options.Seperate) { foreach (var d in options.Directories) { server.InfoFormat("Mounting FileServer for {0}", d.FullName); var fs = SetupFileServer( options, types, new DirectoryInfo[] { d }); friendlyName = fs.FriendlyName; server.RegisterMediaServer(fs); server.NoticeFormat("{0} mounted", d.FullName); } } else { server.InfoFormat( "Mounting FileServer for {0} ({1})", options.Directories[0], options.Directories.Length); var fs = SetupFileServer(options, types, options.Directories); friendlyName = fs.FriendlyName; server.RegisterMediaServer(fs); server.NoticeFormat( "{0} ({1}) mounted", options.Directories[0], options.Directories.Length); } Console.Title = String.Format("{0} - running ...", friendlyName); Run(server); } } finally { server.Dispose(); } } } catch (GetOptException ex) { Console.Error.WriteLine("Error: {0}\n\n", ex.Message); options.PrintUsage(); } #if !DEBUG catch (Exception ex) { LogManager.GetLogger(typeof(Program)).Fatal("Failed to run", ex); } #endif }
protected override void OnStart(string[] args) { System.Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); //Program.Start(StartupArgs); var options = new Options(); try { options.Parse(StartupArgs); if (options.ShowHelp) { //options.PrintUsage(); return; } if (options.ShowVersion) { //ShowVersion(); return; } if (options.ShowLicense) { //ShowLicense(); return; } if (options.ListViews) { //ListViews(); return; } if (options.ListOrders) { //ListOrders(); return; } if (options.Directories.Length == 0) { throw new GetOptException("No directories specified"); } options.SetupLogging(); using (var icon = new ProgramIcon()) { server = new HttpServer(options.Port); try { using (var authorizer = new HttpAuthorizer(server)) { if (options.Ips.Length != 0) { authorizer.AddMethod(new IPAddressAuthorizer(options.Ips)); } if (options.Macs.Length != 0) { authorizer.AddMethod(new MacAuthorizer(options.Macs)); } if (options.UserAgents.Length != 0) { authorizer.AddMethod( new UserAgentAuthorizer(options.UserAgents)); } var types = options.Types[0]; foreach (var t in options.Types) { types = types | t; server.InfoFormat("Enabled type {0}", t); } var friendlyName = "sdlna"; if (options.Seperate) { foreach (var d in options.Directories) { server.InfoFormat("Mounting FileServer for {0}", d.FullName); var fs = SetupFileServer( options, types, new DirectoryInfo[] { d }); friendlyName = fs.FriendlyName; server.RegisterMediaServer(fs); server.NoticeFormat("{0} mounted", d.FullName); } } else { server.InfoFormat( "Mounting FileServer for {0} ({1})", options.Directories[0], options.Directories.Length); var fs = SetupFileServer(options, types, options.Directories); friendlyName = fs.FriendlyName; server.RegisterMediaServer(fs); server.NoticeFormat( "{0} ({1}) mounted", options.Directories[0], options.Directories.Length); } } } finally { //server.Dispose(); } } } catch (GetOptException ex) { Console.Error.WriteLine("Error: {0}\n\n", ex.Message); options.PrintUsage(); } #if !DEBUG catch (Exception ex) { LogManager.GetLogger(typeof(Program)).Fatal("Failed to run", ex); } #endif }
private static void Main(string[] args) { Console.WriteLine(); var options = new Options(); try { Console.TreatControlCAsInput = false; Console.CancelKeyPress += CancelKeyPressed; options.Parse(args); MKVTools.Initialise(options.MKVTools.DirectoryName); if (options.ShowHelp) { options.PrintUsage(); return; } if (options.ShowVersion) { ShowVersion(); return; } if (options.ShowLicense) { ShowLicense(); return; } if (options.ListViews) { ListViews(); return; } if (options.ListOrders) { ListOrders(); return; } if (options.Directories.Length == 0) { throw new GetOptException("No directories specified"); } options.SetupLogging(); using (new ProgramIcon()) { var server = new HttpServer(options.Port); try { using (var authorizer = new HttpAuthorizer(server)) { if (options.Ips.Length != 0) { authorizer.AddMethod(new IPAddressAuthorizer(options.Ips)); } if (options.Macs.Length != 0) { authorizer.AddMethod(new MacAuthorizer(options.Macs)); } if (options.UserAgents.Length != 0) { authorizer.AddMethod( new UserAgentAuthorizer(options.UserAgents)); } Console.Title = "SimpleDLNA - starting ..."; var types = options.Types[0]; foreach (var t in options.Types) { types = types | t; server.InfoFormat("Enabled type {0}", t); } var friendlyName = "sdlna"; if (options.Seperate) { foreach (var d in options.Directories) { server.InfoFormat("Mounting FileServer for {0}", d.FullName); var fs = SetupFileServer( options, types, new[] { d }); friendlyName = fs.FriendlyName; server.RegisterMediaServer(fs); server.NoticeFormat("{0} mounted", d.FullName); } } else { server.InfoFormat( "Mounting FileServer for {0} ({1})", options.Directories[0], options.Directories.Length); var fs = SetupFileServer(options, types, options.Directories); friendlyName = fs.FriendlyName; server.RegisterMediaServer(fs); server.NoticeFormat( "{0} ({1}) mounted", options.Directories[0], options.Directories.Length); } Console.Title = $"{friendlyName} - running ..."; Run(server); } } finally { server.Dispose(); } } } catch (GetOptException ex) { Console.Error.WriteLine("Error: {0}\n\n", ex.Message); options.PrintUsage(); } #if !DEBUG catch (Exception ex) { LogManager.GetLogger(typeof(Program)).Fatal("Failed to run", ex); } #endif }
private static void Main(string[] args) { Console.WriteLine(); var options = new Options(); try { Console.TreatControlCAsInput = false; Console.CancelKeyPress += CancelKeyPressed; options.Parse(args); if (options.ShowHelp) { options.PrintUsage(); return; } if (options.ShowVersion) { ShowVersion(); return; } if (options.ShowLicense) { ShowLicense(); return; } if (options.ListViews) { ListViews(); return; } if (options.ListOrders) { ListOrders(); return; } if (options.Directories.Length == 0) { throw new GetOptException("No directories specified"); } options.SetupLogging(); var server = new HttpServer(options.Port); try { server.Info("CTRL-C to terminate"); Console.Title = "SimpleDLNA - starting ..."; var types = options.Types[0]; foreach (var t in options.Types) { types = types | t; server.InfoFormat("Enabled type {0}", t); } var friendlyName = "sdlna"; if (options.Seperate) { foreach (var d in options.Directories) { server.InfoFormat("Mounting FileServer for {0}", d.FullName); var fs = SetupFileServer(options, types, new DirectoryInfo[] { d }); friendlyName = fs.FriendlyName; server.RegisterMediaServer(fs); server.InfoFormat("{0} mounted", d.FullName); } } else { server.InfoFormat("Mounting FileServer for {0} ({1})", options.Directories[0], options.Directories.Length); var fs = SetupFileServer(options, types, options.Directories); friendlyName = fs.FriendlyName; server.RegisterMediaServer(fs); server.InfoFormat("{0} ({1}) mounted", options.Directories[0], options.Directories.Length); } Console.Title = String.Format("{0} - running ...", friendlyName); Run(server); } finally { server.Dispose(); } } catch (GetOptException ex) { Console.Error.WriteLine("Error: {0}\n\n", ex.Message); options.PrintUsage(); } #if DEBUG catch (Exception ex) { LogManager.GetLogger(typeof(Program)).Fatal("Failed to run", ex); } #endif }