MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
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 
24 
25 #if defined(LT_COMPILER_MS)
26  #pragma warning(push,4)
27 #endif
28 
29 class LTIMetadataRecord;
30 
31 
46 {
47 public:
54 
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 
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 
235 
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 
264 
265 #if defined(LT_COMPILER_MS)
266  #pragma warning(pop)
267 #endif
268 
269 #endif // LTIMETADATADATABASE_H
LT_STATUS getDataByIndex(lt_uint32 index, const LTIMetadataRecord *&record) const
retrieve a record, given an index number
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
virtual ~LTIMetadataDatabase()
destructor
Include file for all LizardTech sources.
representation of a metadata record
signed int lt_int32
signed 32-bit integer
Definition: lt_types.h:52
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
lt_int32 getApproximateSize() const
get size of metadata database
class for storing metadata associated with an image
lt_uint32 getIndexCount() const
get number of records
LT_STATUS add(const LTIMetadataRecord &record)
add a record
void sort(void)
Sorts the database records by tag name.
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
LTIMetadataTag
enums corresponding to tag strings
unsigned int lt_uint32
unsigned 32-bit integer
Definition: lt_types.h:54
LT_STATUS removeAll()
remove all records
LTIMetadataDatabase()
default constructor
bool has(const char *tagName) const
lookup a record, given a tag name

LizardTech