MrSID Decode SDK for Raster Reference Manual  9.0.0.3864
lti_metadataDumper.h
Go to the documentation of this file.
00001 /* $Id$ */
00002 /* //////////////////////////////////////////////////////////////////////////
00003 //                                                                         //
00004 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue,   //
00005 // Suite 200, Seattle, WA 98104.  Unauthorized use or distribution         //
00006 // prohibited.  Access to and use of this code is permitted only under     //
00007 // license from LizardTech, Inc.  Portions of the code are protected by    //
00008 // US and foreign patents and other filings. All Rights Reserved.          //
00009 //                                                                         //
00011 /* PUBLIC */
00012 
00013 #ifndef LTIMETADATADUMPER_H
00014 #define LTIMETADATADUMPER_H
00015 
00016 // lt_lib_mrsid_metadata
00017 #include "lti_metadataWriter.h"
00018 
00019 LT_BEGIN_NAMESPACE(LizardTech)
00020 
00021 #if defined(LT_COMPILER_MS)
00022    #pragma warning(push,4)
00023 #endif
00024 
00025 class LTIOStreamInf;
00026 class LTIMetadataRecord;
00027 
00028 
00035 class LTIMetadataDumper: public LTIMetadataWriter
00036 {
00037 public:
00048    LTIMetadataDumper(const LTIMetadataDatabase& database,
00049                      LTIOStreamInf* stream,
00050                      bool abbreviated=false);
00051 
00055    ~LTIMetadataDumper();
00056 
00060    LT_STATUS write() const;
00061 
00074    static LT_STATUS writeRecord(const LTIMetadataRecord& record,
00075                                 LTIOStreamInf& stream,
00076                                 bool abbreviated=false);
00077 
00078 
00079 
00090    static LT_STATUS writeRecordData(const LTIMetadataRecord& record,
00091                                     LTIOStreamInf& stream,
00092                                     int idx);
00093 
00104    void setWriteInputFilename(bool enable); 
00105 
00109    LT_STATUS writeFormatted(bool isShapefile=false) const;
00110 
00114    static LT_STATUS writeFormattedRecord(const LTIMetadataRecord& record,
00115                                          LTIOStreamInf& stream,
00116                                          bool isShapefile=false);
00117 
00118 private:
00119    LTIOStreamInf* m_stream;
00120    bool m_ownsStream;
00121    bool m_writeInputFilename;
00122    const bool m_abbreviated;
00123 
00124    // nope
00125    LTIMetadataDumper(const LTIMetadataDumper&);
00126    LTIMetadataDumper& operator=(const LTIMetadataDumper&);
00127 };
00128 
00129 
00130 LT_END_NAMESPACE(LizardTech)
00131 
00132 #if defined(LT_COMPILER_MS)
00133    #pragma warning(pop)
00134 #endif
00135 
00136 #endif // LTIMETADATADUMPER_H