MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
SecurityBlock.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 SecurityBlock_H
00013 #define SecurityBlock_H
00014 
00015 // lt_lib_base
00016 #include "lt_base.h"
00017 
00018 // local
00019 #include "nitf_types.h"
00020 
00021 LT_BEGIN_LIZARDTECH_NAMESPACE
00022 class LTIMetadataDatabase;
00023 
00024 namespace Nitf {
00025 
00026 class FieldReader;
00027 class MetadataHelper;
00028 class SecurityMetadata;
00029 
00030 
00042 class SecurityBlock
00043 {
00044 public:
00045    SecurityBlock(FieldReader&, Version, const char* tagPrefix);
00046    ~SecurityBlock();
00047 
00048    LT_STATUS addMetadata(LTIMetadataDatabase&);
00049 
00050    const SecurityMetadata* getMetadata() const;
00051 
00052 private:
00053    void read20();
00054    void read21();
00055 
00056    const Version m_version;
00057    FieldReader& m_reader;
00058 
00059    MetadataHelper* m_mdHelper;
00060 
00061    SecurityMetadata* m_metadata;
00062 
00063    // nope
00064    SecurityBlock(SecurityBlock&);
00065    SecurityBlock& operator=(const SecurityBlock&);
00066 };
00067 
00068 
00069 }
00070 LT_END_LIZARDTECH_NAMESPACE
00071 
00072 #endif // SecurityBlock_H