HamBook – Diff between revs 16 and 46
?pathlinks?
Rev 16 | Rev 46 | |||
---|---|---|---|---|
Line -... | Line 1... | |||
- | 1 | using Configuration.Annotations; |
||
1 | using System; |
2 | using System; |
|
2 | using System.Collections.Generic; |
3 | using System.Collections.Generic; |
|
3 | using System.ComponentModel; |
4 | using System.ComponentModel; |
|
4 | using System.Linq; |
5 | using System.Linq; |
|
5 | using System.Text; |
6 | using System.Text; |
|
6 | using System.Threading.Tasks; |
7 | using System.Threading.Tasks; |
|
Line 7... | Line 8... | |||
7 | |
8 | |
|
8 | namespace HamBook.Radios.Generic |
9 | namespace HamBook.Radios.Generic |
|
9 | { |
10 | { |
|
10 | public class CtcssMode |
11 | public class Ctcss |
|
11 | { |
12 | { |
|
Line 12... | Line 13... | |||
12 | public int Mode { get; set; } |
13 | public CtcssMode Mode { get; set; } |
|
13 | |
14 | |
|
14 | public CtcssMode(string mode) : this() |
15 | public Ctcss(string mode) : this() |
|
15 | { |
16 | { |
|
Line 16... | Line 17... | |||
16 | Mode = Parse(mode); |
17 | Mode = Parse(mode); |
|
17 | } |
18 | } |
|
18 | |
19 | |
|
19 | public CtcssMode(int mode) : this() |
20 | public Ctcss(int mode) : this() |
|
Line 20... | Line 21... | |||
20 | { |
21 | { |
|
21 | Mode = Parse(mode); |
22 | Mode = Parse(mode); |
|
Line 22... | Line 23... | |||
22 | } |
23 | } |
|
Line 23... | Line 24... | |||
23 | |
24 | |
|
24 | public CtcssMode() |
25 | public Ctcss() |
|
25 | { |
26 | { |
|
26 | |
- | ||
27 | } |
- | ||
28 | |
- | ||
29 | public static bool TryParse(string mode, out CtcssMode ctcssMode) |
- | ||
30 | { |
- | ||
31 | switch (mode) |
- | ||
32 | { |
- | ||
33 | case "Off": |
- | ||
34 | case "Enc/Dec": |
- | ||
35 | case "Enc": |
- | ||
36 | ctcssMode = new CtcssMode(mode); |
27 | |
|
Line 37... | Line -... | |||
37 | return true; |
- | ||
38 | default: |
- | ||
39 | ctcssMode = null; |
- | ||
40 | return false; |
- | ||
41 | } |
- | ||
42 | } |
- | ||
43 | |
- | ||
44 | public static bool TryParse(int mode, out CtcssMode ctcssMode) |
- | ||
45 | { |
- | ||
46 | switch (mode) |
- | ||
47 | { |
- | ||
48 | case 0: |
- | ||
49 | case 1: |
- | ||
50 | case 2: |
- | ||
51 | ctcssMode = new CtcssMode(mode); |
- | ||
52 | return true; |
28 | } |
|
53 | default: |
29 | |
|
54 | ctcssMode = null; |
30 | public Ctcss(CtcssMode mode) |
|
55 | return false; |
31 | { |
|
56 | } |
32 | Mode = mode; |
|
57 | } |
33 | } |
|
58 | |
34 | |
|
59 | private int Parse(string mode) |
35 | public static CtcssMode Parse(string mode) |
|
60 | { |
36 | { |
|
61 | switch (mode) |
37 | switch (mode) |
|
62 | { |
38 | { |
|
63 | case "Off": |
39 | case "Off": |
|
64 | return 0; |
40 | return CtcssMode.Off; |
|
65 | case "Enc/Dec": |
41 | case "Enc/Dec": |
|
Line 66... | Line 42... | |||
66 | return 1; |
42 | return CtcssMode.EncDec; |
|
67 | case "Enc": |
43 | case "Enc": |
|
68 | return 2; |
44 | return CtcssMode.Enc; |
|
69 | default: |
45 | default: |
|
70 | throw new ArgumentException(); |
46 | throw new ArgumentException(); |
|
- | 47 | } |
||
71 | } |
48 | } |
|
- | 49 | |
||
72 | } |
50 | public static CtcssMode Parse(int mode) |
|
73 | |
51 | { |
|
74 | private int Parse(int mode) |
52 | switch (mode) |
|
75 | { |
53 | { |
|
76 | switch (mode) |
54 | case 0: |
|
77 | { |
55 | return CtcssMode.Off; |
|
Line 78... | Line 56... | |||
78 | case 0: |
56 | case 1: |
|
79 | case 1: |
57 | return CtcssMode.EncDec; |
|
80 | case 2: |
- | ||
81 | return mode; |
- | ||
82 | default: |
- | ||
83 | throw new ArgumentException(); |
- | ||
84 | } |
- | ||
85 | } |
58 | case 2: |
|
86 | |
59 | return CtcssMode.Enc; |
|
87 | public static implicit operator CtcssMode(string mode) |
60 | default: |
|
88 | { |
61 | throw new ArgumentException(); |
|
89 | return new CtcssMode(mode); |
62 | } |
|
90 | } |
63 | } |
|
91 | |
64 | |
|
92 | public static implicit operator string(CtcssMode ctcssMode) |
65 | public static implicit operator string(Ctcss ctcss) |
|
93 | { |
66 | { |
|
94 | switch (ctcssMode.Mode) |
67 | switch (ctcss.Mode) |
|
95 | { |
68 | { |
|
96 | case 0: |
69 | case CtcssMode.Off: |
|
97 | return "Off"; |
- | ||
98 | case 1: |
- | ||
99 | return "Enc/Dec"; |
- | ||
100 | case 2: |
- | ||
101 | return "Enc"; |
- | ||
102 | default: |
- | ||
103 | throw new ArgumentException(); |
- | ||
104 | } |
- | ||
105 | } |
- | ||
106 | |
- | ||
107 | public static implicit operator CtcssMode(int mode) |
70 | return "Off"; |
|
108 | { |
71 | case CtcssMode.EncDec: |