OpenCPN Partial API docs
Loading...
Searching...
No Matches
TCDataFactory.h
1/***************************************************************************
2 *
3 * Project: OpenCPN
4 *
5 ***************************************************************************
6 * Copyright (C) 2013 by David S. Register *
7 * *
8 * This program is free software; you can redistribute it and/or modify *
9 * it under the terms of the GNU General Public License as published by *
10 * the Free Software Foundation; either version 2 of the License, or *
11 * (at your option) any later version. *
12 * *
13 * This program is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU General Public License *
19 * along with this program; if not, write to the *
20 * Free Software Foundation, Inc., *
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
22 **************************************************************************/
23
24#ifndef __TCDATAFACTORY_H__
25#define __TCDATAFACTORY_H__
26
27#include <wx/string.h>
28#include <wx/dynarray.h>
29#include "TC_Error_Code.h"
30
31#define NUMUNITS 4
32
33#define REGION 1
34#define COUNTRY 2
35#define STATE 3
36
37class IDX_entry;
38
39typedef enum { LENGTH, VELOCITY, BOGUS } unit_type;
40
41typedef struct {
42 const char *name;
43 const char *abbrv;
44 unit_type type;
45 double conv_factor;
46} unit;
47
49public:
50 int type;
51 wxString short_s;
52 wxString long_s;
53};
54
56public:
57 TCDataFactory() {}
58 virtual ~TCDataFactory() {}
59
60 virtual TC_Error_Code LoadData(const wxString &data_file_path) = 0;
61
62 virtual int GetMaxIndex(void) = 0;
63 virtual IDX_entry *GetIndexEntry(int n_index) = 0;
64
65 static int findunit(const char *unit);
66 static const unit known_units[NUMUNITS];
67
68 wxString source_ident;
69};
70
71#endif
Definition: IDX_entry.h:41
Definition: TCDataFactory.h:48