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
LizardTech |