MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

DataSegment.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 DataSegment_H
13 #define DataSegment_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 DataSegment : public Segment
35 {
36 public:
37 // not for public use -- to get a DataSegment, use NITFReaderManager::getDataSegment
38 DataSegment(NITFReaderManager&, LTIOStreamInf&,
39 int segmentNumber,
40 lt_int64 headerOffset, lt_int64 headerLength,
41 lt_int64 dataOffset, lt_int64 dataLength);
42 ~DataSegment();
43
44 // not for public use
45 LT_STATUS initialize();
46
47 // not for public use
48 LT_STATUS addMetadataLocal(LTIMetadataDatabase& db) const;
49
50 // not for public use
51 LT_STATUS addMetadataLocal(LTIMetadataDatabase& db,
52 const char* prefixOverride) const;
53
54 // not for public use
55 bool verifyIsOverflow(const char* code, bool isU, int segmentNum) const;
56
64 const char* getDESID() const;
65
73 const char* getDESVER() const;
74
82 lt_uint32 getDataLen() const;
83
92 const lt_uint8* getData() const;
93
94 private:
95 LT_STATUS readHeader();
96 LT_STATUS readData();
97
98 char* m_DESID; // 25
99 char* m_DESVER; // 2
100 char* m_DESOFLW; // 6
101 int m_DESITEM;
102 int m_DESSHL;
103 lt_uint8* m_DESSHF;
104
105 lt_uint32 m_bytesLen;
106 lt_uint8* m_bytes;
107
108 // nope
109 DataSegment(DataSegment&);
110 DataSegment& operator=(const DataSegment&);
111 };
112
113
114 }
115 LT_END_LIZARDTECH_NAMESPACE
116
117 #endif // DataSegment_H

LizardTech