NTP Analyzer
0.8.2
Analyze the operation of time servers
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
CommandFactory.cs
Go to the documentation of this file.
1
//
2
// Copyright (c) 2013-2017 Carsten Sonne Larsen <cs@innolan.net>
3
//
4
// Permission is hereby granted, free of charge, to any person obtaining a copy
5
// of this software and associated documentation files (the "Software"), to deal
6
// in the Software without restriction, including without limitation the rights
7
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
// copies of the Software, and to permit persons to whom the Software is
9
// furnished to do so, subject to the following conditions:
10
//
11
// The above copyright notice and this permission notice shall be included in
12
// all copies or substantial portions of the Software.
13
//
14
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
// THE SOFTWARE.
21
22
using
System
;
23
using
System
.Collections.Generic;
24
using
System
.Linq;
25
using
Ntp
.
Analyzer
.
Monitor
.
Server
.
TextCommand
;
26
27
namespace
Ntp
.Analyzer.Monitor.Server
28
{
29
public
static
class
CommandFactory
30
{
31
public
static
readonly IList<ICommandDescription> Commands =
new
List<ICommandDescription>
32
{
33
new
CommandDescription<ConfigFileCommand>
(
"config"
,
"Shows name and path of current configuration."
),
34
new
CommandDescription<HelpCommand>
(
"help"
,
"Shows valid commands."
),
35
new
CommandDescription<JobsCommand>
(
"jobs"
,
"Shows a list of jobs in scheduler."
),
36
new
CommandDescription<NextJobCommand>
(
"next"
,
"Shows when next scheduled job will be active."
),
37
new
CommandDescription<PidCommand>
(
"pid"
,
"Shows process id of NTPA daemon."
),
38
new
CommandDescription<PingCommand>
(
"ping"
,
"Responds if daemon is running."
),
39
new
CommandDescription<ProgCommand>
(
"prog"
,
"Shows active configuration."
),
40
new
CommandDescription<ScheduleCommand>
(
"schedule"
,
"Shows schedule for active jobs."
),
41
new
CommandDescription<ServerCommand>
(
"pages"
,
"Shows number of configured pages on NTPA daemon."
),
42
new
CommandDescription<TimeCommand>
(
"time"
,
"Shows current server time in UTC."
),
43
new
CommandDescription<UptimeCommand>
(
"uptime"
,
"Shows uptime of NTPA daemon."
),
44
new
CommandDescription<VersionCommand>
(
"version"
,
"Shows name and version."
),
45
new
CommandDescription<RunningCommand>
(
"running"
,
"Shows a list of running jobs."
),
46
new
CommandDescription<ProcCommand>
(
"proc"
,
"Shows a list of jobs and execution time."
),
47
new
CommandDescription<ActivityCommand>
(
"activity"
,
"Shows recent activity in scheduler."
)
48
};
49
50
internal
static
Command
Create
(
string
command,
string
[] args)
51
{
52
var commandDescription = Commands.SingleOrDefault(
c
=>
c
.Name == command);
53
54
if
(commandDescription == null)
55
return
new
HelpCommand
(
true
);
56
57
return
Activator.CreateInstance(commandDescription.Type,
new
object
[] {args}) as
Command
;
58
}
59
}
60
}
Ntp.Analyzer.Monitor.Server.Command
Definition:
Command.cs:24
Ntp.Analyzer.Monitor
Ntp.Analyzer.Monitor.Server
Definition:
ApplicationState.cs:27
Ntp.Analyzer.Monitor.Server.TextCommand
Definition:
ActivityCommand.cs:25
Ntp.Analyzer.Monitor.Server.CommandDescription
Definition:
CommandDescription.cs:26
Ntp
c
var c
Definition:
bootstrap.min.js:6
System
Ntp.Analyzer.Monitor.Server.CommandFactory
Definition:
CommandFactory.cs:29
Ntp.Analyzer
Ntp.Analyzer.Monitor.Server.TextCommand.HelpCommand
Definition:
HelpCommand.cs:27
Ntp.Analyzer.Monitor.Server.CommandFactory.Create
static Command Create(string command, string[] args)
Definition:
CommandFactory.cs:50
Ntp.Analyzer.Monitor.Server
CommandFactory.cs
Generated by
1.8.11