MrSID Decode SDK for Raster Reference Manual
9.5.4.4709
|
00001 /* ////////////////////////////////////////////////////////////////////////// 00002 // // 00003 // This code is Copyright (c) 2010 LizardTech, Inc, 1008 Western Avenue, // 00004 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution // 00005 // prohibited. Access to and use of this code is permitted only under // 00006 // license from LizardTech, Inc. Portions of the code are protected by // 00007 // US and foreign patents and other filings. All Rights Reserved. // 00008 // // 00010 /* PUBLIC */ 00011 00012 #ifndef TextSegment_H 00013 #define TextSegment_H 00014 00015 // lt_lib_base 00016 #include "lt_base.h" 00017 00018 // local 00019 #include "Segment.h" 00020 00021 LT_BEGIN_LIZARDTECH_NAMESPACE 00022 class LTIOStreamInf; 00023 00024 namespace Nitf { 00025 00026 class TextSegmentMetadata; 00027 00028 00036 class TextSegment : public Segment 00037 { 00038 public: 00039 // not for public use -- to get a DataSegment, use NITFReaderManager::getTextSegment 00040 TextSegment(NITFReaderManager&, LTIOStreamInf&, 00041 int segmentNumber, 00042 lt_int64 headerOffset, lt_int64 headerLength, 00043 lt_int64 dataOffset, lt_int64 dataLength); 00044 00045 // not for public use 00046 ~TextSegment(); 00047 00048 // not for public use 00049 LT_STATUS initialize(); 00050 00058 lt_uint8* getTextData() const; 00059 00067 lt_uint32 getTextDataLength() const; 00068 00069 // not for public use 00070 LT_STATUS addMetadataLocal(LTIMetadataDatabase& db) const; 00071 00072 private: 00073 LT_STATUS readHeader(); 00074 LT_STATUS readData(); 00075 00076 TextSegmentMetadata* m_textMetadata; 00077 00078 char* m_TXTALVL; // 3 00079 char* m_TXTFMT; // 3 00080 00081 lt_uint8* m_textData; 00082 lt_uint32 m_textDataLen; 00083 00084 // nope 00085 TextSegment(TextSegment&); 00086 TextSegment& operator=(const TextSegment&); 00087 }; 00088 00089 00090 } 00091 LT_END_LIZARDTECH_NAMESPACE 00092 00093 #endif // TextSegment_H