MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

lti_metadataDatabase.h
Go to the documentation of this file.
1 /* $Id$ */
2 /* //////////////////////////////////////////////////////////////////////////
3 // //
4 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6 // prohibited. Access to and use of this code is permitted only under //
7 // license from LizardTech, Inc. Portions of the code are protected by //
8 // US and foreign patents and other filings. All Rights Reserved. //
9 // //
11 /* PUBLIC */
12
13 #ifndef LTIMETADATADATABASE_H
14 #define LTIMETADATADATABASE_H
15
16 // lt_lib_base
17 #include "lt_base.h"
18
19 // lt_lib_mrsid_metadata
20 #include "lti_metadataTypes.h"
21
22
23 LT_BEGIN_NAMESPACE(LizardTech)
24
25 #if defined(LT_COMPILER_MS)
26 #pragma warning(push,4)
27 #endif
28
29 class LTIMetadataRecord;
30
31
45 class LTIMetadataDatabase
46 {
47 public:
53 LTIMetadataDatabase();
54
58 LTIMetadataDatabase(const LTIMetadataDatabase&);
59
63 virtual ~LTIMetadataDatabase();
64
65
70
82 LT_STATUS add(const LTIMetadataRecord& record);
83
97 LT_STATUS add(const LTIMetadataDatabase& database);
98
106
120 LT_STATUS get(const char* tagName,
121 const LTIMetadataRecord*& record) const;
122
136 LT_STATUS get(LTIMetadataTag tag,
137 const LTIMetadataRecord*& record) const;
138
148 bool has(const char* tagName) const;
149
159 bool has(LTIMetadataTag tag) const;
160
179 LT_STATUS getDataByIndex(lt_uint32 index,
180 const LTIMetadataRecord*& record) const;
181
189 lt_uint32 getIndexCount() const;
190
198
211 LT_STATUS remove(const char* tagName);
212
225 LT_STATUS remove(LTIMetadataTag tag);
226
234 LT_STATUS removeAll();
235
246 lt_int32 getApproximateSize() const;
247
252 void sort(void);
253
254 private:
255 class RecordListX;
256 RecordListX* m_recordList;
257
258 // nope
259 LTIMetadataDatabase& operator=(const LTIMetadataDatabase&);
260 };
261
262
263 LT_END_NAMESPACE(LizardTech)
264
265 #if defined(LT_COMPILER_MS)
266 #pragma warning(pop)
267 #endif
268
269 #endif // LTIMETADATADATABASE_H

LizardTech