// /** // * File: SkyScannerHttpManagement.cs // * Author: haraldwolff // * // * This file and it's content is copyrighted by the Author and / or copyright holder. // * Any use wihtout proper permission is illegal and may lead to legal actions. // * // * // **/ using System; using ln.http.resources; using ln.logging; using System.Threading; using ln.logging; namespace ln.skyscanner.http { public class SkyScannerHttpManagement : JsonCallResource { public SkyScanner SkyScanner { get; } public SkyScannerHttpManagement(Resource container,SkyScanner skyScanner) : base(container, "management") { SkyScanner = skyScanner; } public SkyScannerHttpManagement(Resource container, string name, SkyScanner skyScanner) : base(container, name) { SkyScanner = skyScanner; } /* [Callable] public SkyScannerStatistics GetStatistics() { SkyScannerStatistics statistics = new SkyScannerStatistics(SkyScanner); return statistics; } [Callable] public void StartCrawler() { Logging.Log(LogLevel.INFO, "Management: StartCrawler() called"); SkyScanner.ConveniencePool.Enqueue(() => SkyScanner.StartCrawler()); } [Callable] public void StopCrawler() { Logging.Log(LogLevel.INFO, "Management: StopCrawler() called"); SkyScanner.ConveniencePool.Enqueue(() => SkyScanner.StopCrawler()); } [Callable] public void Shutdown() { Thread thread = new Thread(()=>SkyScanner.Stop()); thread.Start(); } [Callable] public MemoryLogger.LogEntry[] GetLogEntries() { return SkyScanner.MemoryLogger.GetLogEntries(); } [Callable] public MemoryLogger.LogEntry[] GetLogEntries(String _maxLogLevel) { return SkyScanner.MemoryLogger.GetLogEntries((LogLevel)int.Parse(_maxLogLevel)); } public class SkyScannerStatistics { public SkyScannerState States; public string ServerTime; public SkyScannerStatistics(SkyScanner skyScanner) { ServerTime = DateTime.Now.ToString(); States.Crawler = skyScanner.CrawlerStatus; States.Checks = ComponentState.STOPPED; States.Dispatcher = ComponentState.STOPPED; States.Manager = ComponentState.STARTED; } } public struct SkyScannerState { public ComponentState HttpServer; public ComponentState Crawler; public ComponentState Manager; public ComponentState Checks; public ComponentState Dispatcher; } */ } }