Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Installed.cs
1using System;
2using System.IO;
3using System.Text;
4using System.Text.RegularExpressions;
5using System.Threading.Tasks;
9
11{
15 public class Installed : CommandRegEx
16 {
20 public Installed()
21 : base(@"^installed(\s+[^\s]+)?$")
22 {
23 }
24
28 public override string Name => "Installed";
29
38 public override async Task Execute(ChatState State, string[] Arguments, string OrgMessage, Match Details,
39 ResponseCallbackHandler ResponseCallback)
40 {
41 if (Arguments.Length == 0)
42 {
43 StringBuilder sb = new StringBuilder();
44 bool First = true;
45
46 foreach (Package Package in await ProvisioningComponent.GetPackages())
47 {
48 if (Package.Installed > DateTime.MinValue)
49 {
50 if (First)
51 First = false;
52 else
53 sb.Append("; ");
54
55 sb.Append(Package.FileName);
56 }
57 }
58
59 await ResponseCallback(sb.ToString(), string.Empty);
60 }
61 else
62 {
63 Package Package = await ProvisioningComponent.GetPackage(Arguments[0]);
64
65 if (Package is null)
66 await ResponseCallback("-", string.Empty);
67 else if (Package.Installed == DateTime.MinValue)
68 await ResponseCallback("No", string.Empty);
69 else
70 await ResponseCallback("Yes", string.Empty);
71 }
72 }
73
78 public override HelpItem[] GetHelp()
79 {
80 return new HelpItem[]
81 {
82 new HelpItem("installed", "Lists packages that are installed."),
83 new HelpItem("installed PACKAGE", "Checks if a specific package is installed or not.")
84 };
85 }
86 }
87}
An administrative command whose syntax is validated with a regular expression.
Definition: CommandRegEx.cs:12
Contains an item of information about a command.
Definition: HelpItem.cs:9
Upgrades the service to the latest version.
Definition: Installed.cs:16
override HelpItem[] GetHelp()
Gets help about the command.
Definition: Installed.cs:78
override async Task Execute(ChatState State, string[] Arguments, string OrgMessage, Match Details, ResponseCallbackHandler ResponseCallback)
Executes the command.
Definition: Installed.cs:38
Installed()
Upgrades the service to the latest version.
Definition: Installed.cs:20
Contains information about a software package.
Definition: Package.cs:18
DateTime Installed
When package was installed (if installed).
Definition: Package.cs:94
CaseInsensitiveString FileName
Filename of package.
Definition: Package.cs:40
delegate Task< string > ResponseCallbackHandler(string Markdown, string MessageId)
Delegate for response callback handler methods.