HamBook – Diff between revs 1 and 3

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 1 Rev 3
Line 5... Line 5...
5 using System.Text; 5 using System.Text;
6 using System.Threading.Tasks; 6 using System.Threading.Tasks;
Line 7... Line 7...
7   7  
8 namespace HamBook.Radios.Generic 8 namespace HamBook.Radios.Generic
9 { 9 {
10 public enum RadioMode 10 public class RadioMode
-   11 {
-   12 public char Mode { get; private set; }
-   13  
-   14 public RadioMode(string mode)
-   15 {
-   16 Mode = Parse(mode);
-   17 }
-   18  
-   19 public RadioMode(char mode)
-   20 {
-   21 Mode = Parse(mode);
-   22 }
-   23  
-   24 public static bool TryParse(string mode, out RadioMode radioMode)
-   25 {
-   26 switch(mode)
-   27 {
-   28  
-   29 case "SSB_1":
-   30 case "SSB_2":
-   31 case "CW_1":
-   32 case "FM":
-   33 case "AM":
-   34 case "RTTY_1":
-   35 case "CW_2":
-   36 case "DATA_1":
-   37 case "RTTY_2":
-   38 case "FM-N":
-   39 case "DATA_2":
-   40 case "AM-N":
-   41 radioMode = new RadioMode(mode);
-   42 return true;
-   43 default:
-   44 radioMode = null;
-   45 return false;
-   46 }
-   47 }
-   48  
-   49 public static bool TryParse(char mode, out RadioMode radioMode)
-   50 {
-   51 switch (mode)
-   52 {
-   53 case '1':
-   54 case '2':
-   55 case '3':
-   56 case '4':
-   57 case '5':
-   58 case '6':
-   59 case '7':
-   60 case '8':
-   61 case '9':
-   62 case 'B':
-   63 case 'C':
-   64 case 'D':
-   65 radioMode = new RadioMode(mode);
-   66 return true;
-   67 default:
-   68 radioMode = null;
-   69 return false;
-   70 }
-   71 }
-   72  
-   73 private char Parse(string mode)
-   74 {
-   75 switch (mode)
-   76 {
-   77  
-   78 case "SSB_1":
-   79 return '1';
-   80 case "SSB_2":
-   81 return '2';
-   82 case "CW_1":
-   83 return '3';
-   84 case "FM":
-   85 return '4';
-   86 case "AM":
-   87 return '5';
-   88 case "RTTY_1":
-   89 return '6';
-   90 case "CW_2":
-   91 return '7';
-   92 case "DATA_1":
-   93 return '8';
-   94 case "RTTY_2":
-   95 return '9';
-   96 case "FM-N":
-   97 return 'B';
-   98 case "DATA_2":
-   99 return 'C';
-   100 case "AM-N":
-   101 return 'D';
-   102 default:
11 { 103 throw new ArgumentException();
-   104 }
-   105 }
-   106  
-   107 private char Parse(char mode)
-   108 {
12 NONE, 109 switch (mode)
-   110 {
-   111 case '1':
-   112 case '2':
-   113 case '3':
-   114 case '4':
-   115 case '5':
-   116 case '6':
-   117 case '7':
-   118 case '8':
-   119 case '9':
-   120 case 'B':
-   121 case 'C':
-   122 case 'D':
-   123 return mode;
-   124 default:
13 SSB_1, 125 throw new ArgumentException();
14 SSB_2, 126 }
-   127 }
-   128  
15 AM, 129 public static implicit operator string(RadioMode radioMode)
-   130 {
-   131 switch (radioMode.Mode)
-   132 {
-   133 case '1':
-   134 return "SSB_1";
-   135 case '2':
-   136 return "SSB_2";
-   137 case '3':
-   138 return "CW_1";
-   139 case '4':
-   140 return "FM";
-   141 case '5':
-   142 return "AM";
-   143 case '6':
-   144 return "RTTY_1";
-   145 case '7':
-   146 return "CW_2";
-   147 case '8':
-   148 return "DATA_1";
-   149 case '9':
-   150 return "RTTY_2";
-   151 case 'B':
-   152 return "FM-N";
-   153 case 'C':
-   154 return "DATA_2";
-   155 case 'D':
-   156 return "AM-N";
-   157 default:
-   158 throw new ArgumentException();
-   159 }
-   160 }
-   161  
-   162 public static implicit operator RadioMode(char mode)
-   163 {
-   164 return new RadioMode(mode);
-   165 }
-   166  
-   167 public static implicit operator char(RadioMode radioMode)
-   168 {
16 FM, 169 return radioMode.Mode;
17 CW 170 }
18 } 171 }