ln.skyscanner/http/SkyScannerHttpManagement.cs

103 lines
2.8 KiB
C#

// /**
// * 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;
}
*/
}
}