/usr/include/terralib/kernel/TeMetaModelCache.h is in libterralib-dev 4.3.0+dfsg.2-11.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | /************************************************************************************
TerraLib - a library for developing GIS applications.
Copyright © 2001-2007 INPE and Tecgraf/PUC-Rio.
This code is part of the TerraLib library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
You should have received a copy of the GNU Lesser General Public
License along with this library.
The authors reassure the license terms regarding the warranties.
They specifically disclaim any warranties, including, but not limited to,
the implied warranties of merchantability and fitness for a particular purpose.
The library provided hereunder is on an "as is" basis, and the authors have no
obligation to provide maintenance, support, updates, enhancements, or modifications.
In no event shall INPE and Tecgraf / PUC-Rio be held liable to any party for direct,
indirect, special, incidental, or consequential damages arising out of the use
of this library and its documentation.
*************************************************************************************/
/*! \file TeMetaModelCache.h
\brief This file contains structures and definitions about TerraLib database meta model.
*/
#ifndef __TERRALIB_INTERNAL_METAMODELCACHE_H
#define __TERRALIB_INTERNAL_METAMODELCACHE_H
#include "TeLayer.h"
#include "TeAbstractTheme.h"
#include "TeView.h"
#include "TeProject.h"
//! A class for storing TerraLib's metamodel objects (TeTheme, TeLayer, ...)
/*!
An instance of this class keeps track of
meta objects stored in a TerraLib Database.
This instance can be shared by all database connections.
\sa TeTheme, TeView, TeLayer, TeAttribute
*/
class TL_DLL TeMetaModelCache
{
public:
//! Empty constructor
TeMetaModelCache()
{}
//! Destructor
~TeMetaModelCache()
{ clear(); }
//! Clears metadata
void clear();
//! Returns the map of layers in the database
TeLayerMap& layerMap ()
{ return layerMap_; }
//! Returns the map of views in the database
TeViewMap& viewMap ()
{ return viewMap_; }
//! Returns the map of themes in the database
TeThemeMap& themeMap ()
{ return themeMap_; }
//! Returns the map of invalid themes in the database
TeThemeMap& invalidThemeMap ()
{ return invalidThemeMap_; }
//! Returns the map of projects in the database
TeProjectMap& projectMap ()
{ return projectMap_; }
//! Returns the map of legends in the database
TeLegendEntryMap& legendMap ()
{ return legendMap_; }
//! Returns the set of relations between tables
multiset<int>& relationMSet ()
{ return relationMSet_; }
map<int, map<string, string> >& mapThemeAlias()
{return mapThemeAlias_;}
private:
//! Copy constructor not allowed.
TeMetaModelCache(const TeMetaModelCache& rhs);
//! Assignment operator not allowed.
TeMetaModelCache& operator=(const TeMetaModelCache& rhs);
private:
TeLayerMap layerMap_; //!< layer map
TeViewMap viewMap_; //!< view map
TeThemeMap themeMap_; //!< theme map
TeThemeMap invalidThemeMap_; //!< invalid theme map
TeLegendEntryMap legendMap_; //!< view map
TeProjectMap projectMap_; //!< project map
multiset<int> relationMSet_; //!< multiset of relations between tables
/*! \brief An associative container from theme identifier (int)
to legend alias (map<string, string>). The theme alias
is another container, where key is a string with a column name
used in a group that maps to a legend alias (string value).
*/
map<int, map<string, string> > mapThemeAlias_;
};
#endif
|