HamBook – Diff between revs 16 and 46

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
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: