HamBook – Diff between revs 3 and 15

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