HamBook – Blame information for rev 46
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
46 | office | 1 | using Configuration.Annotations; |
2 | using System; |
||
3 | office | 3 | using System.Collections.Generic; |
15 | office | 4 | using System.ComponentModel; |
3 | office | 5 | using System.Linq; |
6 | using System.Text; |
||
7 | using System.Threading.Tasks; |
||
8 | |||
9 | namespace HamBook.Radios.Generic |
||
10 | { |
||
46 | office | 11 | public class Ctcss |
3 | office | 12 | { |
46 | office | 13 | public CtcssMode Mode { get; set; } |
15 | office | 14 | |
46 | office | 15 | public Ctcss(string mode) : this() |
15 | office | 16 | { |
17 | Mode = Parse(mode); |
||
18 | } |
||
19 | |||
46 | office | 20 | public Ctcss(int mode) : this() |
15 | office | 21 | { |
22 | Mode = Parse(mode); |
||
23 | } |
||
24 | |||
46 | office | 25 | public Ctcss() |
16 | office | 26 | { |
27 | |||
28 | } |
||
29 | |||
46 | office | 30 | public Ctcss(CtcssMode mode) |
15 | office | 31 | { |
46 | office | 32 | Mode = mode; |
15 | office | 33 | } |
34 | |||
46 | office | 35 | public static CtcssMode Parse(string mode) |
15 | office | 36 | { |
37 | switch (mode) |
||
38 | { |
||
39 | case "Off": |
||
46 | office | 40 | return CtcssMode.Off; |
15 | office | 41 | case "Enc/Dec": |
46 | office | 42 | return CtcssMode.EncDec; |
15 | office | 43 | case "Enc": |
46 | office | 44 | return CtcssMode.Enc; |
15 | office | 45 | default: |
46 | throw new ArgumentException(); |
||
47 | } |
||
48 | } |
||
49 | |||
46 | office | 50 | public static CtcssMode Parse(int mode) |
15 | office | 51 | { |
52 | switch (mode) |
||
53 | { |
||
54 | case 0: |
||
46 | office | 55 | return CtcssMode.Off; |
15 | office | 56 | case 1: |
46 | office | 57 | return CtcssMode.EncDec; |
15 | office | 58 | case 2: |
46 | office | 59 | return CtcssMode.Enc; |
15 | office | 60 | default: |
61 | throw new ArgumentException(); |
||
62 | } |
||
63 | } |
||
64 | |||
46 | office | 65 | public static implicit operator string(Ctcss ctcss) |
15 | office | 66 | { |
46 | office | 67 | switch (ctcss.Mode) |
15 | office | 68 | { |
46 | office | 69 | case CtcssMode.Off: |
15 | office | 70 | return "Off"; |
46 | office | 71 | case CtcssMode.EncDec: |
15 | office | 72 | return "Enc/Dec"; |
46 | office | 73 | case CtcssMode.Enc: |
15 | office | 74 | return "Enc"; |
75 | default: |
||
76 | throw new ArgumentException(); |
||
77 | } |
||
78 | } |
||
3 | office | 79 | } |
80 | } |