MrSID Decode SDK for Raster Reference Manual
9.5.1.4427
|
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 TREData_H 00013 #define TREData_H 00014 00015 // lt_lib_base 00016 #include "lt_base.h" 00017 00018 // lt_lib_io 00019 #include "lt_ioStreamInf.h" 00020 00021 #include <string.h> 00022 #include <stdio.h> 00023 00024 LT_BEGIN_LIZARDTECH_NAMESPACE 00025 namespace Nitf { 00026 00027 00033 class TREData 00034 { 00035 public: 00036 // not for public use 00037 TREData(); 00038 00039 // not for public use 00040 TREData(const TREData* tre); 00041 00051 TREData(const char* tag, int dataLength, const lt_uint8* data); 00052 00053 // not for public use 00054 ~TREData(); 00055 00056 // not for public use 00057 lt_uint8* serialize(lt_uint8* p) const; 00058 00059 // not for public use 00060 LT_STATUS serialize(LTIOStreamInf& stream) const; 00061 00065 const char* getTag() const; 00066 00070 lt_uint32 getDataLength() const; 00071 00075 const lt_uint8* getData() const; 00076 00077 private: 00078 void set(const char* t, int l, const lt_uint8* d); 00079 00080 char* m_tag; // 6 chars only 00081 int m_length; // length of data array only; serialized as "%05d" 00082 lt_uint8* m_data; 00083 00084 TREData(TREData&); 00085 TREData& operator=(const TREData&); 00086 }; 00087 00088 00089 } 00090 LT_END_LIZARDTECH_NAMESPACE 00091 00092 #endif // TREData_H