MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

LabelSegment.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 LabelSegment_H
13 #define LabelSegment_H
14
15 // lt_lib_base
16 #include "lt_base.h"
17
18 // local
19 #include "Segment.h"
20
21 LT_BEGIN_LIZARDTECH_NAMESPACE
22 class LTIOStreamInf;
23
24 namespace Nitf {
25
26
34 class LabelSegment : public Segment
35 {
36 public:
37 // not for public use -- to get a DataSegment, use NITFReaderManager::getLabelSegment
38 LabelSegment(NITFReaderManager&, LTIOStreamInf&,
39 int segmentNumber,
40 lt_int64 headerOffset, lt_int64 headerLength,
41 lt_int64 dataOffset, lt_int64 dataLength);
42 ~LabelSegment();
43
44 // not for public use
45 LT_STATUS initialize();
46
50 lt_uint32 getLabelDataLength() const;
51
55 lt_uint8* getLabelData() const;
56
57 // not for public use
58 LT_STATUS addMetadataLocal(LTIMetadataDatabase& db) const;
59
60 private:
61 LT_STATUS readHeader();
62 LT_STATUS readData();
63
64 char* m_LID; // 10
65 char* m_LFS; // 1
66 char* m_LCW; // 2
67 char* m_LCH; // 2
68 char* m_LDLVL; // 3
69 char* m_LALVL; // 3
70 char* m_LLOC; // 3
71 lt_uint8* m_LTC; // 3
72 lt_uint8* m_LBC; // 3
73
74 lt_uint8* m_labelData;
75 lt_uint32 m_labelDataLen;
76
77 // nope
78 LabelSegment(LabelSegment&);
79 LabelSegment& operator=(const LabelSegment&);
80 };
81
82
83 }
84 LT_END_LIZARDTECH_NAMESPACE
85
86 #endif // LabelSegment_H

LizardTech