VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vpfTable.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.** All rights reserved.
3 ******************************************************************************/
4 /******************************************************************************
5 * $RCSfile: vpfTable.h,v $ $Revision: 1.11 $ $State: Exp $
6 ******************************************************************************/
7 
8 #ifndef VPF_TABLE_H_
9 #define VPF_TABLE_H_
10 
13 
14 #include <string>
15 #include <iostream>
16 #include <fstream>
17 #include <vector>
18 
19 #include <vlutil/vlString.h>
20 #include <vlutil/vlFilename.h>
21 
22 #include "vmap/vmapDefines.h"
23 
24 //forward defs
25 class DtVpfIndexTable;
26 class DtVpfColumn;
27 class DtVpfRow;
28 
29 typedef std::vector<DtVpfColumn*> DtColumnList;
30 typedef std::vector<DtVpfRow*> DtRowList;
31 
32 
35 {
37  enum DtByteOrderEnum {LSB, MSB};
38 
39  private:
41  DtVpfTable(const DtVpfTable& table);
42 
44  DtVpfTable& operator=(const DtVpfTable& table);
45 
46  public:
49  DtVpfTable(const DtFilename& path);
50 
52  virtual ~DtVpfTable();
53 
56  virtual std::istream& file();
57 
60  virtual const DtFilename& fileName() const;
61 
64  virtual const DtFilename& filePath();
65 
68  virtual bool mustSwap() const;
69 
74  virtual const DtVpfColumn* column(const DtString& columnName) const;
75 
78  virtual const DtColumnList* columns() const;
79 
82  virtual unsigned int numColumns() const;
83 
88  virtual const DtVpfRow* row(int unsigned rowNumber) const;
89 
94  virtual const DtVpfRow* rowById(int unsigned id) const;
95 
98  virtual const DtRowList* rows() const;
99 
102  virtual unsigned int numRows() const;
103 
106  virtual const DtVpfTable* intDescriptionTable() const;
107 
110  virtual const DtVpfTable* charDescriptionTable() const;
111 
112  protected:
115  virtual bool readTable();
116 
119  virtual bool readHeader();
120 
123  virtual bool readData();
124 
126  virtual void calculateByteOrder();
127 
130  virtual bool loadValueDescriptionTable(const DtString &tableName);
131 
137  DtFilename myFileName;
138  DtFilename myFilePath;
139  std::ifstream myFile;
140  std::ifstream::pos_type myFileSize;
141 
144 
145  //some columns have descriptions stored in these tables
146  //a columns description() function will reference these tables
149 };
150 
151 #endif
#define DT_DLL_vmap
Definition: vmapDefines.h:23
This class is the table that holds a file from the VPF database.
Definition: vpfTable.h:34
a class representing a row of data from a table. Rows don&#39;t really own any data, the columns own the ...
Definition: vpfRow.h:32
DtRowList myRows
Definition: vpfTable.h:143
std::ifstream myFile
Definition: vpfTable.h:139
int myHeaderLength
Definition: vpfTable.h:132
std::ifstream::pos_type myFileSize
Definition: vpfTable.h:140
DtString myTableDescription
Definition: vpfTable.h:135
Definition: vpfIndexTable.h:31
A class representing a column of data from a table.
Definition: vpfColumn.h:28
DtVpfTable * myCharDescriptions
Definition: vpfTable.h:148
DtFilename myFilePath
Definition: vpfTable.h:138
DtString myNarrativeTableFileName
Definition: vpfTable.h:136
DtVpfTable * myIntDescriptions
Definition: vpfTable.h:147
DtByteOrderEnum myMachineByteOrder
Definition: vpfTable.h:134
std::vector< DtVpfColumn * > DtColumnList
Definition: vpfTable.h:27
DtFilename myFileName
Definition: vpfTable.h:137
DtByteOrderEnum myFileByteOrder
Definition: vpfTable.h:133
DtColumnList myColumns
Definition: vpfTable.h:142
DtByteOrderEnum
Enumeration for Least Significant Byte or Most Significant byte order.
Definition: vpfTable.h:37
std::vector< DtVpfRow * > DtRowList
Definition: vpfTable.h:30

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)