[59] | 1 | #include "nmea0183.h"
|
---|
| 2 | #pragma hdrstop
|
---|
| 3 |
|
---|
| 4 | /*
|
---|
| 5 | ** Author: Samuel R. Blackburn
|
---|
| 6 | ** Internet: sam_blackburn@pobox.com
|
---|
| 7 | **
|
---|
| 8 | ** You can use it any way you like as long as you don't try to sell it.
|
---|
| 9 | **
|
---|
| 10 | ** Copyright, 1997, Samuel R. Blackburn
|
---|
| 11 | **
|
---|
| 12 | ** $Workfile: mlist.cpp $
|
---|
| 13 | ** $Revision: 6 $
|
---|
| 14 | ** $Modtime: 10/10/98 4:27p $
|
---|
| 15 | */
|
---|
| 16 | /*
|
---|
| 17 | #ifdef _DEBUG
|
---|
| 18 | #undef THIS_FILE
|
---|
| 19 | static char BASED_CODE THIS_FILE[] = __FILE__;
|
---|
| 20 | #define new DEBUG_NEW
|
---|
| 21 | #define new DEBUG_NEW
|
---|
| 22 | #endif
|
---|
| 23 | */
|
---|
| 24 |
|
---|
| 25 |
|
---|
| 26 | MANUFACTURER_LIST::MANUFACTURER_LIST()
|
---|
| 27 | {
|
---|
| 28 | ManufacturerTable.clear();
|
---|
| 29 | }
|
---|
| 30 |
|
---|
| 31 | MANUFACTURER_LIST::~MANUFACTURER_LIST()
|
---|
| 32 | {
|
---|
| 33 | Empty();
|
---|
| 34 | }
|
---|
| 35 |
|
---|
| 36 | void MANUFACTURER_LIST::Add( MANUFACTURER *manufacturer_p )
|
---|
| 37 | {
|
---|
| 38 | ManufacturerTable.resize(ManufacturerTable.size()+1);
|
---|
| 39 | ManufacturerTable.insert( ManufacturerTable.size(),manufacturer_p );
|
---|
| 40 | }
|
---|
| 41 |
|
---|
| 42 | void MANUFACTURER_LIST::Empty( void )
|
---|
| 43 | {
|
---|
| 44 | int loop_index = 0;
|
---|
| 45 | int number_of_entries = ManufacturerTable.size();
|
---|
| 46 | /*
|
---|
| 47 | while( loop_index < number_of_entries )
|
---|
| 48 | {
|
---|
| 49 | delete (MANUFACTURER *) ManufacturerTable[ loop_index ];
|
---|
| 50 | ManufacturerTable[ loop_index ] = NULL;
|
---|
| 51 | loop_index++;
|
---|
| 52 | }
|
---|
| 53 | */
|
---|
| 54 | ManufacturerTable.clear();
|
---|
| 55 | }
|
---|
| 56 |
|
---|
| 57 | void MANUFACTURER_LIST::Fill( void )
|
---|
| 58 | {
|
---|
| 59 | Add( new MANUFACTURER( "AAR", "Asian American Resources" ) );
|
---|
| 60 | Add( new MANUFACTURER( "ACE", "Auto-Comm Engineering Corporation" ) );
|
---|
| 61 | Add( new MANUFACTURER( "ACR", "ACR Electronics, Inc." ) );
|
---|
| 62 | Add( new MANUFACTURER( "ACS", "Arco Solar, Inc." ) );
|
---|
| 63 | Add( new MANUFACTURER( "ACT", "Advanced Control Technology" ) );
|
---|
| 64 | Add( new MANUFACTURER( "AGI", "Airguide Instrument Company" ) );
|
---|
| 65 | Add( new MANUFACTURER( "AHA", "Autohelm of America" ) );
|
---|
| 66 | Add( new MANUFACTURER( "AIP", "Aiphone Corporation" ) );
|
---|
| 67 | Add( new MANUFACTURER( "ALD", "Alden Electronics, Inc." ) );
|
---|
| 68 | Add( new MANUFACTURER( "AMR", "AMR Systems" ) );
|
---|
| 69 | Add( new MANUFACTURER( "AMT", "Airmar Technology" ) );
|
---|
| 70 | Add( new MANUFACTURER( "ANS", "Antenna Specialists" ) );
|
---|
| 71 | Add( new MANUFACTURER( "ANX", "Analytyx Electronic Systems" ) );
|
---|
| 72 | Add( new MANUFACTURER( "ANZ", "Anschutz of America" ) );
|
---|
| 73 | Add( new MANUFACTURER( "APC", "Apelco" ) );
|
---|
| 74 | Add( new MANUFACTURER( "APN", "American Pioneer, Inc." ) );
|
---|
| 75 | Add( new MANUFACTURER( "APX", "Amperex, Inc." ) );
|
---|
| 76 | Add( new MANUFACTURER( "AQC", "Aqua-Chem, Inc." ) );
|
---|
| 77 | Add( new MANUFACTURER( "AQD", "Aquadynamics, Inc." ) );
|
---|
| 78 | Add( new MANUFACTURER( "AQM", "Aqua Meter Instrument Company" ) );
|
---|
| 79 | Add( new MANUFACTURER( "ASP", "American Solar Power" ) );
|
---|
| 80 | Add( new MANUFACTURER( "ATE", "Aetna Engineering" ) );
|
---|
| 81 | Add( new MANUFACTURER( "ATM", "Atlantic Marketing Company, Inc." ) );
|
---|
| 82 | Add( new MANUFACTURER( "ATR", "Airtron" ) );
|
---|
| 83 | Add( new MANUFACTURER( "ATV", "Activation, Inc." ) );
|
---|
| 84 | Add( new MANUFACTURER( "AVN", "Advanced Navigation, Inc." ) );
|
---|
| 85 | Add( new MANUFACTURER( "AWA", "Awa New Zealand, Limited" ) );
|
---|
| 86 | Add( new MANUFACTURER( "BBL", "BBL Industries, Inc." ) );
|
---|
| 87 | Add( new MANUFACTURER( "BBR", "BBR and Associates" ) );
|
---|
| 88 | Add( new MANUFACTURER( "BDV", "Brisson Development, Inc." ) );
|
---|
| 89 | Add( new MANUFACTURER( "BEC", "Boat Electric Company" ) );
|
---|
| 90 | Add( new MANUFACTURER( "BGS", "Barringer Geoservice" ) );
|
---|
| 91 | Add( new MANUFACTURER( "BGT", "Brookes and Gatehouse, Inc." ) );
|
---|
| 92 | Add( new MANUFACTURER( "BHE", "BH Electronics" ) );
|
---|
| 93 | Add( new MANUFACTURER( "BHR", "Bahr Technologies, Inc." ) );
|
---|
| 94 | Add( new MANUFACTURER( "BLB", "Bay Laboratories" ) );
|
---|
| 95 | Add( new MANUFACTURER( "BMC", "BMC" ) );
|
---|
| 96 | Add( new MANUFACTURER( "BME", "Bartel Marine Electronics" ) );
|
---|
| 97 | Add( new MANUFACTURER( "BNI", "Neil Brown Instrument Systems" ) );
|
---|
| 98 | Add( new MANUFACTURER( "BNS", "Bowditch Navigation Systems" ) );
|
---|
| 99 | Add( new MANUFACTURER( "BRM", "Mel Barr Company" ) );
|
---|
| 100 | Add( new MANUFACTURER( "BRY", "Byrd Industries" ) );
|
---|
| 101 | Add( new MANUFACTURER( "BTH", "Benthos, Inc." ) );
|
---|
| 102 | Add( new MANUFACTURER( "BTK", "Baltek Corporation" ) );
|
---|
| 103 | Add( new MANUFACTURER( "BTS", "Boat Sentry, Inc." ) );
|
---|
| 104 | Add( new MANUFACTURER( "BXA", "Bendix-Avalex, Inc." ) );
|
---|
| 105 | Add( new MANUFACTURER( "CAT", "Catel" ) );
|
---|
| 106 | Add( new MANUFACTURER( "CBN", "Cybernet Marine Products" ) );
|
---|
| 107 | Add( new MANUFACTURER( "CCA", "Copal Corporation of America" ) );
|
---|
| 108 | Add( new MANUFACTURER( "CCC", "Coastal Communications Company" ) );
|
---|
| 109 | Add( new MANUFACTURER( "CCL", "Coastal Climate Company" ) );
|
---|
| 110 | Add( new MANUFACTURER( "CCM", "Coastal Communications" ) );
|
---|
| 111 | Add( new MANUFACTURER( "CDC", "Cordic Company" ) );
|
---|
| 112 | Add( new MANUFACTURER( "CEC", "Ceco Communications, Inc." ) );
|
---|
| 113 | Add( new MANUFACTURER( "CHI", "Charles Industries, Limited" ) );
|
---|
| 114 | Add( new MANUFACTURER( "CKM", "Cinkel Marine Electronics Industries" ) );
|
---|
| 115 | Add( new MANUFACTURER( "CMA", "Societe Nouvelle D'Equiment du Calvados" ) );
|
---|
| 116 | Add( new MANUFACTURER( "CMC", "Coe Manufacturing Company" ) );
|
---|
| 117 | Add( new MANUFACTURER( "CME", "Cushman Electronics, Inc." ) );
|
---|
| 118 | Add( new MANUFACTURER( "CMP", "C-Map, s.r.l." ) );
|
---|
| 119 | Add( new MANUFACTURER( "CMS", "Coastal Marine Sales Company" ) );
|
---|
| 120 | Add( new MANUFACTURER( "CMV", "CourseMaster USA, Inc." ) );
|
---|
| 121 | Add( new MANUFACTURER( "CNV", "Coastal Navigator" ) );
|
---|
| 122 | Add( new MANUFACTURER( "CNX", "Cynex Manufactoring Company" ) );
|
---|
| 123 | Add( new MANUFACTURER( "CPL", "Computrol, Inc." ) );
|
---|
| 124 | Add( new MANUFACTURER( "CPN", "Compunav" ) );
|
---|
| 125 | Add( new MANUFACTURER( "CPS", "Columbus Positioning, Inc." ) );
|
---|
| 126 | Add( new MANUFACTURER( "CPT", "CPT, Inc." ) );
|
---|
| 127 | Add( new MANUFACTURER( "CRE", "Crystal Electronics, Limited" ) );
|
---|
| 128 | Add( new MANUFACTURER( "CRO", "The Caro Group" ) );
|
---|
| 129 | Add( new MANUFACTURER( "CRY", "Crystek Crystals Corporation" ) );
|
---|
| 130 | Add( new MANUFACTURER( "CSM", "Comsat Maritime Services" ) );
|
---|
| 131 | Add( new MANUFACTURER( "CST", "Cast, Inc." ) );
|
---|
| 132 | Add( new MANUFACTURER( "CSV", "Combined Services" ) );
|
---|
| 133 | Add( new MANUFACTURER( "CTA", "Current Alternatives" ) );
|
---|
| 134 | Add( new MANUFACTURER( "CTB", "Cetec Benmar" ) );
|
---|
| 135 | Add( new MANUFACTURER( "CTC", "Cell-tech Communications" ) );
|
---|
| 136 | Add( new MANUFACTURER( "CTE", "Castle Electronics" ) );
|
---|
| 137 | Add( new MANUFACTURER( "CTL", "C-Tech, Limited" ) );
|
---|
| 138 | Add( new MANUFACTURER( "CNI", "Continental Instruments" ) ); // Possible error in NMEA0183 docs
|
---|
| 139 | Add( new MANUFACTURER( "CWD", "Cubic Western Data" ) );
|
---|
| 140 | Add( new MANUFACTURER( "CWV", "Celwave R.F., Inc." ) );
|
---|
| 141 | Add( new MANUFACTURER( "CYZ", "cYz, Incorporated" ) );
|
---|
| 142 | Add( new MANUFACTURER( "DCC", "Dolphin Components Corporation" ) );
|
---|
| 143 | Add( new MANUFACTURER( "DEB", "Debeg Gmbh" ) );
|
---|
| 144 | Add( new MANUFACTURER( "DFI", "Defender Industries, Inc." ) );
|
---|
| 145 | Add( new MANUFACTURER( "DGC", "Digicourse, Inc." ) );
|
---|
| 146 | Add( new MANUFACTURER( "DME", "Digital Marine Electronics Corporation" ) );
|
---|
| 147 | Add( new MANUFACTURER( "DMI", "Datamarine International, Inc." ) );
|
---|
| 148 | Add( new MANUFACTURER( "DNS", "Dornier System Gmbh" ) );
|
---|
| 149 | Add( new MANUFACTURER( "DNT", "Del Norte Technology, Inc." ) );
|
---|
| 150 | Add( new MANUFACTURER( "DPS", "Danaplus, Inc." ) );
|
---|
| 151 | Add( new MANUFACTURER( "DRL", "R.L. Drake Company" ) );
|
---|
| 152 | Add( new MANUFACTURER( "DSC", "Dynascan Corporation" ) );
|
---|
| 153 | Add( new MANUFACTURER( "DYN", "Dynamote Corporation" ) );
|
---|
| 154 | Add( new MANUFACTURER( "DYT", "Dytek Laboratories, Inc." ) );
|
---|
| 155 | Add( new MANUFACTURER( "EBC", "Emergency Beacon, Corporation" ) );
|
---|
| 156 | Add( new MANUFACTURER( "ECT", "Echotec, Inc." ) );
|
---|
| 157 | Add( new MANUFACTURER( "EEV", "EEV, Inc." ) );
|
---|
| 158 | Add( new MANUFACTURER( "EFC", "Efcom Communication Systems" ) );
|
---|
| 159 | Add( new MANUFACTURER( "ELD", "Electronic Devices, Inc." ) );
|
---|
| 160 | Add( new MANUFACTURER( "EMC", "Electric Motion Company" ) );
|
---|
| 161 | Add( new MANUFACTURER( "EMS", "Electro Marine Systems, Inc." ) );
|
---|
| 162 | Add( new MANUFACTURER( "ENA", "Energy Analysts, Inc." ) );
|
---|
| 163 | Add( new MANUFACTURER( "ENC", "Encron, Inc." ) );
|
---|
| 164 | Add( new MANUFACTURER( "EPM", "Epsco Marine" ) );
|
---|
| 165 | Add( new MANUFACTURER( "EPT", "Eastprint, Inc." ) );
|
---|
| 166 | Add( new MANUFACTURER( "ERC", "The Ericsson Corporation" ) );
|
---|
| 167 | Add( new MANUFACTURER( "ESA", "European Space Agency" ) );
|
---|
| 168 | Add( new MANUFACTURER( "FDN", "Fluiddyne" ) );
|
---|
| 169 | Add( new MANUFACTURER( "FHE", "Fish Hawk Electronics" ) );
|
---|
| 170 | Add( new MANUFACTURER( "FJN", "Jon Fluke Company" ) );
|
---|
| 171 | Add( new MANUFACTURER( "FMM", "First Mate Marine Autopilots" ) );
|
---|
| 172 | Add( new MANUFACTURER( "FNT", "Franklin Net and Twine, Limited" ) ); // Compiler Die Here
|
---|
| 173 | Add( new MANUFACTURER( "FRC", "The Fredericks Company" ) );
|
---|
| 174 | Add( new MANUFACTURER( "FTG", "T.G. Faria Corporation" ) );
|
---|
| 175 | Add( new MANUFACTURER( "FUJ", "Fujitsu Ten Corporation of America" ) );
|
---|
| 176 | Add( new MANUFACTURER( "FEC", "Furuno Electric Company" ) ); // Possible NMEA document error
|
---|
| 177 | Add( new MANUFACTURER( "FUR", "Furuno, USA Inc." ) );
|
---|
| 178 | Add( new MANUFACTURER( "GAM", "GRE America, Inc." ) );
|
---|
| 179 | Add( new MANUFACTURER( "GCA", "Gulf Cellular Associates" ) );
|
---|
| 180 | Add( new MANUFACTURER( "GES", "Geostar Corporation" ) );
|
---|
| 181 | Add( new MANUFACTURER( "GFC", "Graphic Controls, Corporation" ) );
|
---|
| 182 | Add( new MANUFACTURER( "GIS", "Galax Integrated Systems" ) );
|
---|
| 183 | Add( new MANUFACTURER( "GPI", "Global Positioning Instrument Corporation" ) );
|
---|
| 184 | Add( new MANUFACTURER( "GRM", "Garmin Corporation" ) );
|
---|
| 185 | Add( new MANUFACTURER( "GSC", "Gold Star Company, Limited" ) );
|
---|
| 186 | Add( new MANUFACTURER( "GTO", "Gro Electronics" ) );
|
---|
| 187 | Add( new MANUFACTURER( "GVE", "Guest Corporation" ) );
|
---|
| 188 | Add( new MANUFACTURER( "GVT", "Great Valley Technology" ) );
|
---|
| 189 | Add( new MANUFACTURER( "HAL", "HAL Communications Corporation" ) );
|
---|
| 190 | Add( new MANUFACTURER( "HAR", "Harris Corporation" ) );
|
---|
| 191 | Add( new MANUFACTURER( "HIG", "Hy-Gain" ) );
|
---|
| 192 | Add( new MANUFACTURER( "HIT", "Hi-Tec" ) );
|
---|
| 193 | Add( new MANUFACTURER( "HPK", "Hewlett-Packard" ) );
|
---|
| 194 | Add( new MANUFACTURER( "HRC", "Harco Manufacturing Company" ) );
|
---|
| 195 | Add( new MANUFACTURER( "HRT", "Hart Systems, Inc." ) );
|
---|
| 196 | Add( new MANUFACTURER( "HTI", "Heart Interface, Inc." ) );
|
---|
| 197 | Add( new MANUFACTURER( "HUL", "Hull Electronics Company" ) );
|
---|
| 198 | Add( new MANUFACTURER( "HWM", "Honeywell Marine Systems" ) );
|
---|
| 199 | Add( new MANUFACTURER( "ICO", "Icom of America, Inc." ) );
|
---|
| 200 | Add( new MANUFACTURER( "IFD", "International Fishing Devices" ) );
|
---|
| 201 | Add( new MANUFACTURER( "IFI", "Instruments for Industry" ) );
|
---|
| 202 | Add( new MANUFACTURER( "IME", "Imperial Marine Equipment" ) );
|
---|
| 203 | Add( new MANUFACTURER( "IMI", "I.M.I." ) );
|
---|
| 204 | Add( new MANUFACTURER( "IMM", "ITT MacKay Marine" ) );
|
---|
| 205 | Add( new MANUFACTURER( "IMP", "Impulse Manufacturing, Inc." ) );
|
---|
| 206 | Add( new MANUFACTURER( "IMT", "International Marketing and Trading, Inc." ) );
|
---|
| 207 | Add( new MANUFACTURER( "INM", "Inmar Electronic and Sales, Inc." ) );
|
---|
| 208 | Add( new MANUFACTURER( "INT", "Intech, Inc." ) );
|
---|
| 209 | Add( new MANUFACTURER( "IRT", "Intera Technologies, Limited" ) );
|
---|
| 210 | Add( new MANUFACTURER( "IST", "Innerspace Technology, Inc." ) );
|
---|
| 211 | Add( new MANUFACTURER( "ITM", "Intermarine Electronics, Inc." ) );
|
---|
| 212 | Add( new MANUFACTURER( "ITR", "Itera, Limited" ) );
|
---|
| 213 | Add( new MANUFACTURER( "JAN", "Jan Crystals" ) );
|
---|
| 214 | Add( new MANUFACTURER( "JFR", "Ray Jefferson" ) );
|
---|
| 215 | Add( new MANUFACTURER( "JMT", "Japan Marine Telecommunications" ) );
|
---|
| 216 | Add( new MANUFACTURER( "JRC", "Japan Radio Company, Inc." ) );
|
---|
| 217 | Add( new MANUFACTURER( "JRI", "J-R Industries, Inc." ) );
|
---|
| 218 | Add( new MANUFACTURER( "JTC", "J-Tech Associates, Inc." ) );
|
---|
| 219 | Add( new MANUFACTURER( "JTR", "Jotron Radiosearch, Limited" ) );
|
---|
| 220 | Add( new MANUFACTURER( "KBE", "KB Electronics, Limited" ) );
|
---|
| 221 | Add( new MANUFACTURER( "KBM", "Kennebec Marine Company" ) );
|
---|
| 222 | Add( new MANUFACTURER( "KLA", "Klein Associates, Inc." ) );
|
---|
| 223 | Add( new MANUFACTURER( "KMR", "King Marine Radio Corporation" ) );
|
---|
| 224 | Add( new MANUFACTURER( "KNG", "King Radio Corporation" ) );
|
---|
| 225 | Add( new MANUFACTURER( "KOD", "Koden Electronics Company, Limited" ) );
|
---|
| 226 | Add( new MANUFACTURER( "KRP", "Krupp International, Inc." ) );
|
---|
| 227 | Add( new MANUFACTURER( "KVH", "KVH Company" ) );
|
---|
| 228 | Add( new MANUFACTURER( "KYI", "Kyocera International, Inc." ) );
|
---|
| 229 | Add( new MANUFACTURER( "LAT", "Latitude Corporation" ) );
|
---|
| 230 | Add( new MANUFACTURER( "LEC", "Lorain Electronics Corporation" ) );
|
---|
| 231 | Add( new MANUFACTURER( "LMM", "Lamarche Manufacturing Company" ) );
|
---|
| 232 | Add( new MANUFACTURER( "LRD", "Lorad" ) );
|
---|
| 233 | Add( new MANUFACTURER( "LSE", "Littlemore Scientific Engineering" ) );
|
---|
| 234 | Add( new MANUFACTURER( "LSP", "Laser Plot, Inc." ) );
|
---|
| 235 | Add( new MANUFACTURER( "LTF", "Littlefuse, Inc." ) );
|
---|
| 236 | Add( new MANUFACTURER( "LWR", "Lowrance Electronics Corportation" ) );
|
---|
| 237 | Add( new MANUFACTURER( "MCL", "Micrologic, Inc." ) );
|
---|
| 238 | Add( new MANUFACTURER( "MDL", "Medallion Instruments, Inc." ) );
|
---|
| 239 | Add( new MANUFACTURER( "MEC", "Marine Engine Center, Inc." ) );
|
---|
| 240 | Add( new MANUFACTURER( "MEG", "Maritec Engineering GmbH" ) );
|
---|
| 241 | Add( new MANUFACTURER( "MFR", "Modern Products, Limited" ) );
|
---|
| 242 | Add( new MANUFACTURER( "MFW", "Frank W. Murphy Manufacturing" ) );
|
---|
| 243 | Add( new MANUFACTURER( "MGM", "Magellan Systems Corporation" ) ); // Thanks to Chuck Shannon, cshannon@imtn.tpd.dsccc.com
|
---|
| 244 | Add( new MANUFACTURER( "MGS", "MG Electronic Sales Corporation" ) );
|
---|
| 245 | Add( new MANUFACTURER( "MIE", "Mieco, Inc." ) );
|
---|
| 246 | Add( new MANUFACTURER( "MIM", "Marconi International Marine Company" ) );
|
---|
| 247 | Add( new MANUFACTURER( "MLE", "Martha Lake Electronics" ) );
|
---|
| 248 | Add( new MANUFACTURER( "MLN", "Matlin Company" ) );
|
---|
| 249 | Add( new MANUFACTURER( "MLP", "Marlin Products" ) );
|
---|
| 250 | Add( new MANUFACTURER( "MLT", "Miller Technologies" ) );
|
---|
| 251 | Add( new MANUFACTURER( "MMB", "Marsh-McBirney, Inc." ) );
|
---|
| 252 | Add( new MANUFACTURER( "MME", "Marks Marine Engineering" ) );
|
---|
| 253 | Add( new MANUFACTURER( "MMP", "Metal Marine Pilot, Inc." ) );
|
---|
| 254 | Add( new MANUFACTURER( "MMS", "Mars Marine Systems" ) );
|
---|
| 255 | Add( new MANUFACTURER( "MNI", "Micro-Now Instrument Company" ) );
|
---|
| 256 | Add( new MANUFACTURER( "MNT", "Marine Technology" ) );
|
---|
| 257 | Add( new MANUFACTURER( "MNX", "Marinex" ) );
|
---|
| 258 | Add( new MANUFACTURER( "MOT", "Motorola Communications and Electronics" ) );
|
---|
| 259 | Add( new MANUFACTURER( "MPN", "Memphis Net and Twine Company, Inc." ) );
|
---|
| 260 | Add( new MANUFACTURER( "MQS", "Marquis Industries, Inc." ) );
|
---|
| 261 | Add( new MANUFACTURER( "MRC", "Marinecomp, Inc." ) );
|
---|
| 262 | Add( new MANUFACTURER( "MRE", "Morad Electronics Corporation" ) );
|
---|
| 263 | Add( new MANUFACTURER( "MRP", "Mooring Products of New England" ) );
|
---|
| 264 | Add( new MANUFACTURER( "MRR", "II Morrow, Inc." ) );
|
---|
| 265 | Add( new MANUFACTURER( "MRS", "Marine Radio Service" ) );
|
---|
| 266 | Add( new MANUFACTURER( "MSB", "Mitsubishi Electric Company, Limited" ) );
|
---|
| 267 | Add( new MANUFACTURER( "MSE", "Master Electronics" ) );
|
---|
| 268 | Add( new MANUFACTURER( "MSM", "Master Mariner, Inc." ) );
|
---|
| 269 | Add( new MANUFACTURER( "MST", "Mesotech Systems, Limited" ) );
|
---|
| 270 | Add( new MANUFACTURER( "MTA", "Marine Technical Associates" ) );
|
---|
| 271 | Add( new MANUFACTURER( "MTG", "Narine Technical Assistance Group" ) );
|
---|
| 272 | Add( new MANUFACTURER( "MTK", "Martech, Inc." ) );
|
---|
| 273 | Add( new MANUFACTURER( "MTR", "Mitre Corporation, Inc." ) );
|
---|
| 274 | Add( new MANUFACTURER( "MTS", "Mets, Inc." ) );
|
---|
| 275 | Add( new MANUFACTURER( "MUR", "Murata Erie North America" ) );
|
---|
| 276 | Add( new MANUFACTURER( "MVX", "Magnavox Advanced Products and Systems Company" ) );
|
---|
| 277 | Add( new MANUFACTURER( "MXX", "Maxxima Marine" ) );
|
---|
| 278 | Add( new MANUFACTURER( "MES", "Marine Electronics Service, Inc." ) );
|
---|
| 279 | Add( new MANUFACTURER( "NAT", "Nautech, Limited" ) );
|
---|
| 280 | Add( new MANUFACTURER( "NEF", "New England Fishing Gear, Inc." ) );
|
---|
| 281 | Add( new MANUFACTURER( "NMR", "Newmar" ) );
|
---|
| 282 | Add( new MANUFACTURER( "NGS", "Navigation Sciences, Inc." ) );
|
---|
| 283 | Add( new MANUFACTURER( "NOM", "Nav-Com, Inc." ) );
|
---|
| 284 | Add( new MANUFACTURER( "NOV", "NovAtel Communications, Limited" ) );
|
---|
| 285 | Add( new MANUFACTURER( "NSM", "Northstar Marine" ) );
|
---|
| 286 | Add( new MANUFACTURER( "NTK", "Novatech Designs, Limited" ) );
|
---|
| 287 | Add( new MANUFACTURER( "NVC", "Navico" ) );
|
---|
| 288 | Add( new MANUFACTURER( "NVS", "Navstar" ) );
|
---|
| 289 | Add( new MANUFACTURER( "NVO", "Navionics, s.p.a." ) );
|
---|
| 290 | Add( new MANUFACTURER( "OAR", "O.A.R. Corporation" ) );
|
---|
| 291 | Add( new MANUFACTURER( "ODE", "Ocean Data Equipment Corporation" ) );
|
---|
| 292 | Add( new MANUFACTURER( "ODN", "Odin Electronics, Inc." ) );
|
---|
| 293 | Add( new MANUFACTURER( "OIN", "Ocean instruments, Inc." ) );
|
---|
| 294 | Add( new MANUFACTURER( "OKI", "Oki Electronic Industry Company" ) );
|
---|
| 295 | Add( new MANUFACTURER( "OLY", "Navstar Limited (Polytechnic Electronics)" ) );
|
---|
| 296 | Add( new MANUFACTURER( "OMN", "Omnetics" ) );
|
---|
| 297 | Add( new MANUFACTURER( "ORE", "Ocean Research" ) );
|
---|
| 298 | Add( new MANUFACTURER( "OTK", "Ocean Technology" ) );
|
---|
| 299 | Add( new MANUFACTURER( "PCE", "Pace" ) );
|
---|
| 300 | Add( new MANUFACTURER( "PDM", "Prodelco Marine Systems" ) );
|
---|
| 301 | Add( new MANUFACTURER( "PLA", "Plath, C. Division of Litton" ) );
|
---|
| 302 | Add( new MANUFACTURER( "PLI", "Pilot Instruments" ) );
|
---|
| 303 | Add( new MANUFACTURER( "PMI", "Pernicka Marine Products" ) );
|
---|
| 304 | Add( new MANUFACTURER( "PMP", "Pacific Marine Products" ) );
|
---|
| 305 | Add( new MANUFACTURER( "PRK", "Perko, Inc." ) );
|
---|
| 306 | Add( new MANUFACTURER( "PSM", "Pearce-Simpson" ) );
|
---|
| 307 | Add( new MANUFACTURER( "PTC", "Petro-Com" ) );
|
---|
| 308 | Add( new MANUFACTURER( "PTG", "P.T.I./Guest" ) );
|
---|
| 309 | Add( new MANUFACTURER( "PTH", "Pathcom, Inc." ) );
|
---|
| 310 | Add( new MANUFACTURER( "RAC", "Racal Marine, Inc." ) );
|
---|
| 311 | Add( new MANUFACTURER( "RAE", "RCA Astro-Electronics" ) );
|
---|
| 312 | Add( new MANUFACTURER( "RAY", "Raytheon Marine Company" ) );
|
---|
| 313 | Add( new MANUFACTURER( "RCA", "RCA Service Company" ) );
|
---|
| 314 | Add( new MANUFACTURER( "RCH", "Roach Engineering" ) );
|
---|
| 315 | Add( new MANUFACTURER( "RCI", "Rochester Instruments, Inc." ) );
|
---|
| 316 | Add( new MANUFACTURER( "RDI", "Radar Devices" ) );
|
---|
| 317 | Add( new MANUFACTURER( "RDM", "Ray-Dar Manufacturing Company" ) );
|
---|
| 318 | Add( new MANUFACTURER( "REC", "Ross Engineering Company" ) );
|
---|
| 319 | Add( new MANUFACTURER( "RFP", "Rolfite Products, Inc." ) );
|
---|
| 320 | Add( new MANUFACTURER( "RGC", "RCS Global Communications, Inc." ) );
|
---|
| 321 | Add( new MANUFACTURER( "RGY", "Regency Electronics, Inc." ) );
|
---|
| 322 | Add( new MANUFACTURER( "RMR", "RCA Missile and Surface Radar" ) );
|
---|
| 323 | Add( new MANUFACTURER( "RSL", "Ross Laboratories, Inc." ) );
|
---|
| 324 | Add( new MANUFACTURER( "RSM", "Robertson-Shipmate, USA" ) );
|
---|
| 325 | Add( new MANUFACTURER( "RWI", "Rockwell International" ) );
|
---|
| 326 | Add( new MANUFACTURER( "RME", "Racal Marine Electronics" ) );
|
---|
| 327 | Add( new MANUFACTURER( "RTN", "Robertson Tritech Nyaskaien A/S" ) );
|
---|
| 328 | Add( new MANUFACTURER( "SAI", "SAIT, Inc." ) );
|
---|
| 329 | Add( new MANUFACTURER( "SBR", "Sea-Bird electronics, Inc." ) );
|
---|
| 330 | Add( new MANUFACTURER( "SCR", "Signalcrafters, Inc." ) );
|
---|
| 331 | Add( new MANUFACTURER( "SEA", "SEA" ) );
|
---|
| 332 | Add( new MANUFACTURER( "SEC", "Sercel Electronics of Canada" ) );
|
---|
| 333 | Add( new MANUFACTURER( "SEP", "Steel and Engine Products, Inc." ) );
|
---|
| 334 | Add( new MANUFACTURER( "SFN", "Seafarer Navigation International, Limited" ) );
|
---|
| 335 | Add( new MANUFACTURER( "SGC", "SGC, Inc." ) );
|
---|
| 336 | Add( new MANUFACTURER( "SIG", "Signet, Inc." ) );
|
---|
| 337 | Add( new MANUFACTURER( "SIM", "Simrad,Inc." ) );
|
---|
| 338 | Add( new MANUFACTURER( "SKA", "Skantek Corporation" ) );
|
---|
| 339 | Add( new MANUFACTURER( "SKP", "Skipper Electronics A/S" ) );
|
---|
| 340 | Add( new MANUFACTURER( "SME", "Shakespeare Marine Electronics" ) );
|
---|
| 341 | Add( new MANUFACTURER( "SMF", "Seattle Marine and Fishing Supply Company" ) );
|
---|
| 342 | Add( new MANUFACTURER( "SML", "Simerl Instruments" ) );
|
---|
| 343 | Add( new MANUFACTURER( "SMI", "Sperry Marine, Inc." ) );
|
---|
| 344 | Add( new MANUFACTURER( "SNV", "Starnav Corporation" ) );
|
---|
| 345 | Add( new MANUFACTURER( "SOM", "Sound Marine Electronics, Inc." ) );
|
---|
| 346 | Add( new MANUFACTURER( "SOV", "Sell Overseas America" ) );
|
---|
| 347 | Add( new MANUFACTURER( "SPL", "Spelmar" ) );
|
---|
| 348 | Add( new MANUFACTURER( "SPT", "Sound Powered Telephone" ) );
|
---|
| 349 | Add( new MANUFACTURER( "SRD", "SRD Labs" ) );
|
---|
| 350 | Add( new MANUFACTURER( "SRS", "Scientific Radio Systems, Inc." ) );
|
---|
| 351 | Add( new MANUFACTURER( "SRT", "Standard Radio and Telefon AB" ) );
|
---|
| 352 | Add( new MANUFACTURER( "SSI", "Sea Scout Industries" ) );
|
---|
| 353 | Add( new MANUFACTURER( "STC", "Standard Communications" ) );
|
---|
| 354 | Add( new MANUFACTURER( "STI", "Sea-Temp Instrument Corporation" ) );
|
---|
| 355 | Add( new MANUFACTURER( "STM", "Si-Tex Marine Electronics" ) );
|
---|
| 356 | Add( new MANUFACTURER( "SVY", "Savoy Electronics" ) );
|
---|
| 357 | Add( new MANUFACTURER( "SWI", "Swoffer Marine Instruments, Inc." ) );
|
---|
| 358 | Add( new MANUFACTURER( "SRS", "Shipmate, Rauff & Sorensen, A/S" ) );
|
---|
| 359 | Add( new MANUFACTURER( "TBB", "Thompson Brothers Boat Manufacturing Company" ) );
|
---|
| 360 | Add( new MANUFACTURER( "TCN", "Trade Commission of Norway (THE)" ) );
|
---|
| 361 | Add( new MANUFACTURER( "TDL", "Tideland Signal" ) );
|
---|
| 362 | Add( new MANUFACTURER( "THR", "Thrane and Thrane A/A" ) );
|
---|
| 363 | Add( new MANUFACTURER( "TLS", "Telesystems" ) );
|
---|
| 364 | Add( new MANUFACTURER( "TMT", "Tamtech, Limited" ) );
|
---|
| 365 | Add( new MANUFACTURER( "TNL", "Trimble Navigation" ) );
|
---|
| 366 | Add( new MANUFACTURER( "TRC", "Tracor, Inc." ) );
|
---|
| 367 | Add( new MANUFACTURER( "TSI", "Techsonic Industries, Inc." ) );
|
---|
| 368 | Add( new MANUFACTURER( "TTK", "Talon Technology Corporation" ) );
|
---|
| 369 | Add( new MANUFACTURER( "TTS", "Transtector Systems" ) );
|
---|
| 370 | Add( new MANUFACTURER( "TWC", "Transworld Communications, Inc." ) );
|
---|
| 371 | Add( new MANUFACTURER( "TXI", "Texas Instruments, Inc." ) );
|
---|
| 372 | Add( new MANUFACTURER( "UME", "Umec" ) );
|
---|
| 373 | Add( new MANUFACTURER( "UNI", "Uniden Corporation of America" ) );
|
---|
| 374 | Add( new MANUFACTURER( "UNP", "Unipas, Inc." ) );
|
---|
| 375 | Add( new MANUFACTURER( "UNF", "Uniforce Electronics Company" ) );
|
---|
| 376 | Add( new MANUFACTURER( "VAN", "Vanner, Inc." ) );
|
---|
| 377 | Add( new MANUFACTURER( "VAR", "Varian Eimac Associates" ) );
|
---|
| 378 | Add( new MANUFACTURER( "VCM", "Videocom" ) );
|
---|
| 379 | Add( new MANUFACTURER( "VEX", "Vexillar" ) );
|
---|
| 380 | Add( new MANUFACTURER( "VIS", "Vessel Information Systems, Inc." ) );
|
---|
| 381 | Add( new MANUFACTURER( "VMR", "Vast Marketing Corporation" ) );
|
---|
| 382 | Add( new MANUFACTURER( "WAL", "Walport USA" ) );
|
---|
| 383 | Add( new MANUFACTURER( "WBG", "Westberg Manufacturing, Inc." ) );
|
---|
| 384 | Add( new MANUFACTURER( "WEC", "Westinghouse electric Corporation" ) );
|
---|
| 385 | Add( new MANUFACTURER( "WHA", "W-H Autopilots" ) );
|
---|
| 386 | Add( new MANUFACTURER( "WMM", "Wait Manufacturing and Marine Sales Company" ) );
|
---|
| 387 | Add( new MANUFACTURER( "WMR", "Wesmar Electronics" ) );
|
---|
| 388 | Add( new MANUFACTURER( "WNG", "Winegard Company" ) );
|
---|
| 389 | Add( new MANUFACTURER( "WSE", "Wilson Electronics Corporation" ) );
|
---|
| 390 | Add( new MANUFACTURER( "WTC", "Watercom" ) );
|
---|
| 391 | Add( new MANUFACTURER( "WST", "West Electronics Limited" ) );
|
---|
| 392 | Add( new MANUFACTURER( "YAS", "Yaesu Electronics" ) );
|
---|
| 393 |
|
---|
| 394 | Sort();
|
---|
| 395 | }
|
---|
| 396 |
|
---|
| 397 | const QString& MANUFACTURER_LIST::Find( const QString& mnemonic )
|
---|
| 398 | {
|
---|
| 399 | static QString return_value;
|
---|
| 400 |
|
---|
| 401 | MANUFACTURER *manufacturer_p = (MANUFACTURER *) NULL;
|
---|
| 402 |
|
---|
| 403 | //return_value.Empty();
|
---|
| 404 |
|
---|
| 405 | int lower_limit = 0;
|
---|
| 406 | int upper_limit = 0;
|
---|
| 407 | int index = 0;
|
---|
| 408 | int drop_dead = 0;
|
---|
| 409 | int comparison = 0;
|
---|
| 410 | int exit_loop = 0;
|
---|
| 411 |
|
---|
| 412 | /*
|
---|
| 413 | ** Check to see if the list has been filled
|
---|
| 414 | */
|
---|
| 415 |
|
---|
| 416 | if ( ManufacturerTable.size() == 0 )
|
---|
| 417 | {
|
---|
| 418 | Fill();
|
---|
| 419 | }
|
---|
| 420 |
|
---|
| 421 | /*
|
---|
| 422 | ** Do a Binary Search to call the appropriate function
|
---|
| 423 | */
|
---|
| 424 |
|
---|
| 425 | lower_limit = 0;
|
---|
| 426 | upper_limit = ManufacturerTable.size();
|
---|
| 427 | index = upper_limit / 2;
|
---|
| 428 | drop_dead = ( index < 10 ) ? 10 : index + 2;
|
---|
| 429 |
|
---|
| 430 | /*
|
---|
| 431 | ** The drop_dead is here as an insurance policy that we will never get stuck in an endless loop.
|
---|
| 432 | ** I have encountered situations where the inaccuracy of the division leaves the loop stuck when
|
---|
| 433 | ** it can't find something.
|
---|
| 434 | */
|
---|
| 435 |
|
---|
| 436 | while( exit_loop == 0 )
|
---|
| 437 | {
|
---|
| 438 | manufacturer_p = (MANUFACTURER *) ManufacturerTable[ index ];
|
---|
| 439 |
|
---|
| 440 | comparison = mnemonic.compare( manufacturer_p->Mnemonic );
|
---|
| 441 |
|
---|
| 442 | if ( comparison == 0 )
|
---|
| 443 | {
|
---|
| 444 | return_value = manufacturer_p->CompanyName;
|
---|
| 445 | exit_loop = 1;
|
---|
| 446 | }
|
---|
| 447 | else
|
---|
| 448 | {
|
---|
| 449 | if ( comparison < 0 )
|
---|
| 450 | {
|
---|
| 451 | upper_limit = index;
|
---|
| 452 | }
|
---|
| 453 | else
|
---|
| 454 | {
|
---|
| 455 | lower_limit = index;
|
---|
| 456 | }
|
---|
| 457 |
|
---|
| 458 | if ( lower_limit == upper_limit )
|
---|
| 459 | {
|
---|
| 460 | exit_loop = 1;
|
---|
| 461 | }
|
---|
| 462 | else
|
---|
| 463 | {
|
---|
| 464 | index = ( lower_limit + upper_limit ) / 2;
|
---|
| 465 | }
|
---|
| 466 | }
|
---|
| 467 |
|
---|
| 468 | drop_dead--;
|
---|
| 469 |
|
---|
| 470 | if ( drop_dead < 0 )
|
---|
| 471 | {
|
---|
| 472 | exit_loop = 1;
|
---|
| 473 | }
|
---|
| 474 | }
|
---|
| 475 |
|
---|
| 476 | return( return_value );
|
---|
| 477 | }
|
---|
| 478 |
|
---|
| 479 | void MANUFACTURER_LIST::Sort( void )
|
---|
| 480 | {
|
---|
| 481 | int index = 0;
|
---|
| 482 | int number_of_entries_in_table = ManufacturerTable.size() - 1;
|
---|
| 483 |
|
---|
| 484 | MANUFACTURER *this_manufacturer = (MANUFACTURER *) NULL;
|
---|
| 485 | MANUFACTURER *that_manufacturer = (MANUFACTURER *) NULL;
|
---|
| 486 |
|
---|
| 487 | BOOL sorted = FALSE;
|
---|
| 488 |
|
---|
| 489 | while( sorted == FALSE )
|
---|
| 490 | {
|
---|
| 491 | sorted = TRUE;
|
---|
| 492 |
|
---|
| 493 | index = 0;
|
---|
| 494 |
|
---|
| 495 | while( index < number_of_entries_in_table )
|
---|
| 496 | {
|
---|
| 497 | this_manufacturer = (MANUFACTURER *) ManufacturerTable[ index ];
|
---|
| 498 | that_manufacturer = (MANUFACTURER *) ManufacturerTable[ index + 1 ];
|
---|
| 499 |
|
---|
| 500 | if ( this_manufacturer->Mnemonic.compare( that_manufacturer->Mnemonic ) > 0 )
|
---|
| 501 | {
|
---|
| 502 | //ManufacturerTable[ index ] = that_manufacturer;
|
---|
| 503 | ManufacturerTable.insert(index,that_manufacturer);
|
---|
| 504 | //ManufacturerTable[ index + 1 ] = this_manufacturer;
|
---|
| 505 | ManufacturerTable.insert(index + 1,this_manufacturer);
|
---|
| 506 |
|
---|
| 507 | sorted = FALSE;
|
---|
| 508 | }
|
---|
| 509 |
|
---|
| 510 | index++;
|
---|
| 511 | }
|
---|
| 512 | }
|
---|
| 513 | }
|
---|
| 514 |
|
---|
| 515 | const QString& MANUFACTURER_LIST::operator [] ( const char *mnemonic )
|
---|
| 516 | {
|
---|
| 517 | return( Find( mnemonic ) );
|
---|
| 518 | }
|
---|