forked from neo-project/neo-modules
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSettings.cs
39 lines (33 loc) · 1.21 KB
/
Settings.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (C) 2015-2024 The Neo Project.
//
// Settings.cs file belongs to the neo project and is free
// software distributed under the MIT software license, see the
// accompanying file LICENSE in the main directory of the
// repository or http://www.opensource.org/licenses/mit-license.php
// for more details.
//
// Redistribution and use in source and binary forms with or without
// modifications are permitted.
using Microsoft.Extensions.Configuration;
namespace Neo.Plugins
{
internal class Settings
{
public string Path { get; }
public uint Network { get; }
public int MaxStackSize { get; }
public bool Debug { get; }
public static Settings Default { get; private set; }
private Settings(IConfigurationSection section)
{
this.Path = section.GetValue("Path", "ApplicationLogs_{0}");
this.Network = section.GetValue("Network", 5195086u);
this.MaxStackSize = section.GetValue("MaxStackSize", (int)ushort.MaxValue);
this.Debug = section.GetValue("Debug", false);
}
public static void Load(IConfigurationSection section)
{
Default = new Settings(section);
}
}
}