Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Clients.cs
1using System.Text;
2using System.Threading.Tasks;
5
7{
12 {
16 public Clients()
17 {
18 }
19
23 public override string Name => "Clients";
24
32 public override async Task Execute(ChatState State, string[] Arguments, string OrgMessage, ResponseCallbackHandler ResponseCallback)
33 {
34 StringBuilder Markdown = new StringBuilder();
35
36 Markdown.AppendLine("| User Name | Resource | Binding | State | Last Presence | Endpoint |");
37 Markdown.AppendLine("|:----------|:---------|:--------|:------|:--------------|:---------|");
38
39 foreach (IClientConnection Connection in XmppServerModule.GetClientConnections())
40 {
41 Markdown.Append("| ");
42 Markdown.Append(MarkdownDocument.Encode(Connection.UserName));
43 Markdown.Append(" | ");
44 Markdown.Append(MarkdownDocument.Encode(Connection.Address.Resource));
45 Markdown.Append(" | ");
46 Markdown.Append(Connection.Binding);
47 Markdown.Append(" | ");
48 Markdown.Append(Connection.State.ToString());
49 Markdown.Append(" | ");
50 Markdown.Append(MarkdownDocument.Encode(Connection.LastPresence?.Timestamp.ToString() ?? string.Empty));
51 Markdown.Append(" | ");
52 Markdown.Append(MarkdownDocument.Encode(Connection.RemoteEndpoint));
53 Markdown.AppendLine(" |");
54 }
55
56 await ResponseCallback(Markdown.ToString(), string.Empty);
57 }
58
62 public override string[] HelpParagraphs => new string[] { "Returns a list of currently connected clients." };
63 }
64}
Contains a markdown document. This markdown document class supports original markdown,...
static string Encode(string s)
Encodes all special characters in a string so that it can be included in a markdown document without ...
DateTimeOffset Timestamp
Timestamp of reception.
CaseInsensitiveString Resource
Resource part.
Definition: XmppAddress.cs:71
An administrative command with no parameters.
Returns a list of currently connected clients.
Definition: Clients.cs:12
override async Task Execute(ChatState State, string[] Arguments, string OrgMessage, ResponseCallbackHandler ResponseCallback)
Executes the command.
Definition: Clients.cs:32
override string[] HelpParagraphs
Markdown description of syntax.
Definition: Clients.cs:62
override string Name
Command name
Definition: Clients.cs:23
Clients()
Returns a list of currently connected clients.
Definition: Clients.cs:16
Service Module hosting the XMPP broker and its components.
CaseInsensitiveString UserName
User name
string RemoteEndpoint
Remote endpoint.
PresenceEventArgs LastPresence
Last presence received.
XmppConnectionState State
Connection state.
delegate Task< string > ResponseCallbackHandler(string Markdown, string MessageId)
Delegate for response callback handler methods.