src/terralib/dataaccess/Module.cpp
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file terralib/dataaccess/Module.cpp
22 
23  \brief This singleton defines the TerraLib Data Access module entry.
24 */
25 
26 // TerraLib
27 #include "../core/logger/Logger.h"
28 #include "../common/TerraLib.h"
29 #include "../core/translator/Translator.h"
33 #include "Config.h"
34 #include "Module.h"
35 
37 
39 {
43  };
44 
45 // initialize TerraLib singleton
47 
49 }
50 
52 {
54 }
55 
57 {
58  // Reg the Attribute Converters
59  AttributeConverterManager::getInstance().addConverter("GenericAttributeConverter", te::da::GenericAttributeConverter);
60  AttributeConverterManager::getInstance().addConverter("XYToPointConverter", te::da::XYToPointConverter);
61  AttributeConverterManager::getInstance().addConverter("XYZToPointConverter", te::da::XYZToPointConverter);
62  AttributeConverterManager::getInstance().addConverter("XYMToPointConverter", te::da::XYMToPointConverter);
63  AttributeConverterManager::getInstance().addConverter("XYZMToPointConverter", te::da::XYZMToPointConverter);
64  AttributeConverterManager::getInstance().addConverter("PointToXConverter", te::da::PointToXConverter);
65  AttributeConverterManager::getInstance().addConverter("PointToYConverter", te::da::PointToYConverter);
66  AttributeConverterManager::getInstance().addConverter("PointToZConverter", te::da::PointToZConverter);
67  AttributeConverterManager::getInstance().addConverter("PointToMConverter", te::da::PointToMConverter);
68  AttributeConverterManager::getInstance().addConverter("TupleToStringConverter", te::da::TupleToStringConverter);
69 
70  TE_LOG_TRACE(TE_TR("TerraLib Data Access module initialized!"));
71 }
72 
74 {
76 
77  TE_LOG_TRACE(TE_TR("TerraLib Data Access module finalized!"));
78 }
79 
TEDATAACCESSEXPORT te::dt::AbstractData * XYMToPointConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)
This singleton defines the TerraLib Data Access module entry.
TEDATAACCESSEXPORT te::dt::AbstractData * PointToMConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)
TEDATAACCESSEXPORT te::dt::AbstractData * GenericAttributeConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)
This is a singleton for managing all data source instances available in the system.
A singleton to keep all the registered Attribute Converter.
TEDATAACCESSEXPORT te::dt::AbstractData * PointToXConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)
#define TE_TR(message)
It marks a string in order to get translated.
Definition: Translator.h:242
static void finalize()
This is the cleanup function for the TerraLib Data Access module.
This singleton defines the TerraLib Data Access module entry.
static Module & getInstance()
It returns a reference to the singleton instance.
TEDATAACCESSEXPORT te::dt::AbstractData * PointToZConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)
Module()
The singleton constructor is not callable outside the class.
Configuration flags for the Data Access module of TerraLib.
void remove(const std::string &moduleName)
It removes the module entry identified by the given name.
TEDATAACCESSEXPORT te::dt::AbstractData * XYToPointConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)
Definition of attribute converter and a set of them.
void add(const Module &m)
It registers the module in the TerraLib Platform.
#define TE_DATAACCESS_MODULE_NAME
An identifier for this module.
TEDATAACCESSEXPORT te::dt::AbstractData * XYZToPointConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)
#define TE_LOG_TRACE(message)
Use this tag in order to log a message to the TerraLib default logger with the TRACE level...
Definition: Logger.h:293
const te::da::Module & sm_module
This internal structure is used to model the basic information about a TerraLib module.
TEDATAACCESSEXPORT te::dt::AbstractData * PointToYConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)
static void initialize()
This is the startup function for the TerraLib Data Access module.
TEDATAACCESSEXPORT te::dt::AbstractData * XYZMToPointConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)
TEDATAACCESSEXPORT te::dt::AbstractData * TupleToStringConverter(DataSet *dataset, const std::vector< std::size_t > &indexes, int dstType)