mirror of https://github.com/winsw/winsw
Update Yaml extension support
parent
dcec99c261
commit
42df5eeff9
|
@ -654,12 +654,12 @@ namespace WinSW.Configuration
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
var extensionConfigListObject = new ObjectQuery(extensions).ToList<object>();
|
var extensionConfigListObject = new ObjectQuery(extensions).AsList<object>();
|
||||||
|
|
||||||
foreach (var item in extensionConfigListObject)
|
foreach (var item in extensionConfigListObject)
|
||||||
{
|
{
|
||||||
var configObject = new ObjectQuery(item);
|
var configObject = new ObjectQuery(item);
|
||||||
var id = configObject.On("id").ToString();
|
var id = configObject.On("id").AsString();
|
||||||
result.Add(id);
|
result.Add(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,16 +40,16 @@ namespace WinSW.Extensions
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
var extensionNodes = new ObjectQuery(extensions).ToList<object>();
|
var extensionNodes = new ObjectQuery(extensions).AsList<object>();
|
||||||
|
|
||||||
foreach (var extension in extensionNodes)
|
foreach (var extension in extensionNodes)
|
||||||
{
|
{
|
||||||
var query = new ObjectQuery(extension);
|
var query = new ObjectQuery(extension);
|
||||||
|
|
||||||
var id = query.On("id").ToString();
|
var id = query.On("id").AsString();
|
||||||
var enabled = query.On("enabled").ToBoolean();
|
var enabled = query.On("enabled").AsBool();
|
||||||
var className = query.On("classname").ToString();
|
var className = query.On("classname").AsString();
|
||||||
var settings = query.On("settings");
|
var settings = query.On("settings").AsParent();
|
||||||
|
|
||||||
var extensionConfig = new WinSWExtensionConfiguration(id, enabled, className, settings);
|
var extensionConfig = new WinSWExtensionConfiguration(id, enabled, className, settings);
|
||||||
result.Add(extensionConfig);
|
result.Add(extensionConfig);
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace WinSW.Util
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public new string ToString()
|
public string AsString()
|
||||||
{
|
{
|
||||||
if (this.current == null)
|
if (this.current == null)
|
||||||
{
|
{
|
||||||
|
@ -57,7 +57,7 @@ namespace WinSW.Util
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<T> ToList<T>()
|
public List<T> AsList<T>()
|
||||||
{
|
{
|
||||||
if (this.current == null)
|
if (this.current == null)
|
||||||
{
|
{
|
||||||
|
@ -80,7 +80,7 @@ namespace WinSW.Util
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ToBoolean()
|
public bool AsBool()
|
||||||
{
|
{
|
||||||
if (this.current == null)
|
if (this.current == null)
|
||||||
{
|
{
|
||||||
|
@ -135,7 +135,7 @@ namespace WinSW.Util
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private object? Query(object dic, string key)
|
private object? Query(object? dic, string key)
|
||||||
{
|
{
|
||||||
if (dic == null)
|
if (dic == null)
|
||||||
{
|
{
|
||||||
|
@ -156,5 +156,10 @@ namespace WinSW.Util
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ObjectQuery AsParent()
|
||||||
|
{
|
||||||
|
return new ObjectQuery(this.current);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,10 +181,17 @@ namespace WinSW.Plugins.RunawayProcessKiller
|
||||||
|
|
||||||
public override void Configure(IWinSWConfiguration descriptor, ObjectQuery settings)
|
public override void Configure(IWinSWConfiguration descriptor, ObjectQuery settings)
|
||||||
{
|
{
|
||||||
this.Pidfile = settings.Get("pidfile").ToString();
|
this.Pidfile = settings.On("pidfile").AsString();
|
||||||
this.StopTimeout = TimeSpan.FromMilliseconds(int.Parse(settings.Get("stopTimeOut").ToString()));
|
this.StopTimeout = TimeSpan.FromMilliseconds(int.Parse(settings.On("stopTimeOut").AsString()));
|
||||||
this.StopParentProcessFirst = settings.Get("StopParentFirst").ToBoolean();
|
this.StopParentProcessFirst = settings.On("StopParentFirst").AsBool();
|
||||||
this.CheckWinSWEnvironmentVariable = settings.Get("checkWinSWEnvironmentVariable").ToBoolean();
|
try
|
||||||
|
{
|
||||||
|
this.CheckWinSWEnvironmentVariable = settings.Get("checkWinSWEnvironmentVariable").AsBool();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
this.CheckWinSWEnvironmentVariable = true;
|
||||||
|
}
|
||||||
this.ServiceId = descriptor.Id;
|
this.ServiceId = descriptor.Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,14 +28,14 @@ namespace WinSW.Plugins.SharedDirectoryMapper
|
||||||
|
|
||||||
public override void Configure(IWinSWConfiguration descriptor, ObjectQuery settings)
|
public override void Configure(IWinSWConfiguration descriptor, ObjectQuery settings)
|
||||||
{
|
{
|
||||||
var maps = settings.Get("mapping").ToList<object>();
|
var maps = settings.On("mapping").AsList<object>();
|
||||||
|
|
||||||
foreach (var map in maps)
|
foreach (var map in maps)
|
||||||
{
|
{
|
||||||
var mapObject = new ObjectQuery(map);
|
var mapObject = new ObjectQuery(map);
|
||||||
var enable = mapObject.Get("enabled").ToBoolean();
|
var enable = mapObject.On("enabled").AsBool();
|
||||||
var label = mapObject.Get("label").ToString();
|
var label = mapObject.On("label").AsString();
|
||||||
var uncpath = mapObject.Get("uncpath").ToString();
|
var uncpath = mapObject.On("uncpath").AsString();
|
||||||
|
|
||||||
var config = new SharedDirectoryMapperConfig(enable, label, uncpath);
|
var config = new SharedDirectoryMapperConfig(enable, label, uncpath);
|
||||||
this._entries.Add(config);
|
this._entries.Add(config);
|
||||||
|
|
|
@ -57,9 +57,10 @@ extensions:
|
||||||
{
|
{
|
||||||
ExtensionConfigurationProvider provider = new ExtensionConfigurationProvider(this._testServiceDescriptor);
|
ExtensionConfigurationProvider provider = new ExtensionConfigurationProvider(this._testServiceDescriptor);
|
||||||
var config = provider.GetExtenstionConfiguration("killOnStartup");
|
var config = provider.GetExtenstionConfiguration("killOnStartup");
|
||||||
var pid = config.Settings.On("pidfile").ToString();
|
|
||||||
var stopTimeOut = config.Settings.Get("stopTimeOut").ToString();
|
var pid = config.Settings.On("pidfile").AsString();
|
||||||
var StopParentFirst = config.Settings.Get("StopParentFirst").ToString();
|
var stopTimeOut = config.Settings.On("stopTimeOut").AsString();
|
||||||
|
var StopParentFirst = config.Settings.On("StopParentFirst").AsString();
|
||||||
|
|
||||||
System.Console.WriteLine(pid);
|
System.Console.WriteLine(pid);
|
||||||
System.Console.WriteLine(stopTimeOut);
|
System.Console.WriteLine(stopTimeOut);
|
||||||
|
|
Loading…
Reference in New Issue