HamBook – Blame information for rev 54

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