1 |
9cc42e60
|
Eliška Mourycová
|
//
|
2 |
|
|
// Author: Eliska Mourycova
|
3 |
|
|
//
|
4 |
|
|
|
5 |
4129ce12
|
Eliška Mourycová
|
using System.Collections.Generic;
|
6 |
|
|
|
7 |
|
|
namespace ServerApp.User
|
8 |
|
|
{
|
9 |
9cc42e60
|
Eliška Mourycová
|
/// <summary>
|
10 |
|
|
/// This class represents a command input by the admin
|
11 |
|
|
/// </summary>
|
12 |
4129ce12
|
Eliška Mourycová
|
public class Command
|
13 |
|
|
{
|
14 |
9cc42e60
|
Eliška Mourycová
|
/// <summary>
|
15 |
|
|
/// The whole string input
|
16 |
|
|
/// </summary>
|
17 |
c4383c00
|
Eliška Mourycová
|
public string WholeCommand { get; set; }
|
18 |
9cc42e60
|
Eliška Mourycová
|
|
19 |
|
|
/// <summary>
|
20 |
|
|
/// The main part of the command
|
21 |
|
|
/// </summary>
|
22 |
4129ce12
|
Eliška Mourycová
|
public string MainCommand { get; set; }
|
23 |
9cc42e60
|
Eliška Mourycová
|
|
24 |
|
|
/// <summary>
|
25 |
|
|
/// The flags and data associated with the command
|
26 |
|
|
/// </summary>
|
27 |
4129ce12
|
Eliška Mourycová
|
public Dictionary<string, List<string>> FlagsAndData { get; }
|
28 |
9cc42e60
|
Eliška Mourycová
|
|
29 |
|
|
// the last flag used
|
30 |
4129ce12
|
Eliška Mourycová
|
private string lastFlag;
|
31 |
|
|
|
32 |
|
|
public Command()
|
33 |
|
|
{
|
34 |
|
|
MainCommand = "";
|
35 |
|
|
FlagsAndData = new Dictionary<string, List<string>>();
|
36 |
|
|
lastFlag = "";
|
37 |
|
|
}
|
38 |
|
|
|
39 |
9cc42e60
|
Eliška Mourycová
|
/// <summary>
|
40 |
|
|
/// Adds a flag to the dictionary
|
41 |
|
|
/// </summary>
|
42 |
|
|
/// <param name="flag">The flag to add</param>
|
43 |
4129ce12
|
Eliška Mourycová
|
public void AddFlag(string flag)
|
44 |
|
|
{
|
45 |
|
|
FlagsAndData.Add(flag, new List<string>());
|
46 |
|
|
lastFlag = flag;
|
47 |
|
|
}
|
48 |
|
|
|
49 |
9cc42e60
|
Eliška Mourycová
|
/// <summary>
|
50 |
|
|
/// Adds data after a flag
|
51 |
|
|
/// </summary>
|
52 |
|
|
/// <param name="data">The data to add</param>
|
53 |
4129ce12
|
Eliška Mourycová
|
public void AddData(string data)
|
54 |
|
|
{
|
55 |
9cc42e60
|
Eliška Mourycová
|
if(FlagsAndData.ContainsKey(lastFlag))
|
56 |
|
|
FlagsAndData[lastFlag].Add(data);
|
57 |
4129ce12
|
Eliška Mourycová
|
}
|
58 |
|
|
}
|
59 |
|
|
}
|