4 #ifndef FIRE_SOURCE_VECTOR_METADATA_HPP_INCLUDED
5 #define FIRE_SOURCE_VECTOR_METADATA_HPP_INCLUDED
7 #include <boost/thread/mutex.hpp>
14 #include "fire/gis/export.hpp"
15 #include "fire/source/vector/Field.hpp"
16 #include "fire/source/vector/shared/FieldSh.hpp"
32 typedef std::vector< std::string > VctFldName;
46 Metadata(
const std::string& db,
const std::string& schema,
const std::string& tbl);
65 bool operator!=(
Metadata const & r)
const;
73 bool operator==(
Metadata const & r)
const;
80 bool isEqualsStricted(
Metadata const & r)
const;
105 size_t getCount()
const;
112 int nameToIndex(
const std::string& name)
const;
119 std::string indexToName(
const size_t &idx)
const;
125 void getKeyColumns(VctFldName & list)
const;
131 void getGeometryColumns(VctFldName & list)
const;
155 void getSource(std::string& db, std::string& schema, std::string& tbl)
const;
163 void setSource(std::string
const & db, std::string
const & schema, std::string
const & tbl);
168 bool _isEquals(
Metadata const & r,
bool const & strict)
const;
169 size_t _name2IndexNoWait(
const std::string& name)
const;
170 std::string _index2NameNoWait(
const size_t& index)
const;
171 void _validateIndexNoWait(
const size_t& idx)
const;
172 bool _isValidIndexNoWait(
const size_t& idx)
const;
175 typedef std::map< std::string, Field::FieldShp > MapField;
176 typedef std::vector< Field::FieldShp > VctField;
184 mutable boost::mutex _mtx;
Definition: FieldSh.hpp:21