MrSID Decode SDK for Raster Reference Manual
9.5.1.4427
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
FileHeader.h
Go to the documentation of this file.
1
/* //////////////////////////////////////////////////////////////////////////
2
// //
3
// This code is Copyright (c) 2010 LizardTech, Inc, 1008 Western Avenue, //
4
// Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
5
// prohibited. Access to and use of this code is permitted only under //
6
// license from LizardTech, Inc. Portions of the code are protected by //
7
// US and foreign patents and other filings. All Rights Reserved. //
8
// //
10
/* PUBLIC */
11
12
#ifndef FileHeader_H
13
#define FileHeader_H
14
15
// local
16
#include "
Segment.h
"
17
18
19
LT_BEGIN_LIZARDTECH_NAMESPACE
20
class
LTIOStreamInf
;
21
22
namespace
Nitf {
23
class
ImageSegment;
24
class
GraphicSegment;
25
class
LabelSegment;
26
class
TextSegment;
27
class
DataSegment;
28
class
ReservedSegment;
29
class
FieldReader;
30
class
FileMetadata;
31
32
41
class
FileHeader
:
public
Segment
42
{
43
public
:
44
// not for public use
45
FileHeader
(NITFReaderManager&,
LTIOStreamInf
&, lt_int64 fileSize);
46
~FileHeader
();
47
48
// not for public use
49
LT_STATUS
initialize
();
50
58
Version
getVersion
()
const
;
59
60
// not for public use
61
LT_STATUS
createSegments
(
ImageSegment
**& imageSegments,
lt_uint32
& numImageSegments,
62
GraphicSegment
**& graphicSegments,
lt_uint32
& numGraphicSegments,
63
LabelSegment
**& labelSegments,
lt_uint32
& numLabelSegments,
64
TextSegment
**& textSegments,
lt_uint32
& numTextSegments,
65
DataSegment
**& dataSegments,
lt_uint32
& numDataSegments,
66
ReservedSegment
**& resSegments,
lt_uint32
& numResSegments);
67
68
// not for public use
69
LT_STATUS
addMetadataLocal
(
LTIMetadataDatabase
& db)
const
;
70
79
const
lt_uint8
*
getFBKGC
()
const
;
80
88
const
FileMetadata
*
getFileMetadata
()
const
;
89
90
private
:
91
LT_STATUS
readHeader();
92
LT_STATUS
readData();
93
LT_STATUS
readHeader_v2x();
94
LT_STATUS
parseVersion();
95
96
const
lt_int64 m_fileSize;
97
98
Version
m_ver;
99
char
* m_FHDR;
// 4
100
char
* m_FVER;
// 5
101
int
m_CLEVEL;
102
char
* m_STYPE;
// 4
103
int
m_FSCOP;
104
int
m_FSCPYS;
105
lt_uint8
m_FBKGC[3];
106
lt_int64 m_FL;
107
lt_int64 m_HL;
108
lt_int32
m_NUMI;
109
lt_int64* m_LISH;
110
lt_int64* m_LI;
111
lt_int32
m_NUMS;
112
lt_int64* m_LSSH;
113
lt_int64* m_LS;
114
lt_int32
m_NUML;
115
lt_int64* m_LLSH;
116
lt_int64* m_LL;
117
lt_int32
m_NUMT;
118
lt_int64* m_LTSH;
119
lt_int64* m_LT;
120
lt_int32
m_NUMDES;
121
lt_int64* m_LDSH;
122
lt_int64* m_LD;
123
lt_int32
m_NUMRES;
124
lt_int64* m_LRESH;
125
lt_int64* m_LRE;
126
127
char
* m_FTITLE;
128
129
FileMetadata
* m_fileMetadata;
130
131
// nope
132
FileHeader
(
FileHeader
&);
133
FileHeader
& operator=(
const
FileHeader
&);
134
};
135
136
137
}
138
LT_END_LIZARDTECH_NAMESPACE
139
140
#endif // FileHeader_H
LizardTech