MrSID Decode SDK for Raster Reference Manual  9.5.1.4427
TREData.h
Go to the documentation of this file.
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