examples/qt/se/main.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 main.cpp
22 
23  \brief A list of examples for the TerraLib Widgets.
24  */
25 
26 // TerraLib
28 #include <terralib/common.h>
29 #include <terralib/core/plugin.h>
30 
31 #include "SymbologyWidgets.h"
32 
33 // STL
34 #include <exception>
35 #include <iostream>
36 
38 {
39  try
40  {
41  //te::plugin::PluginInfo info;
42  //info.m_name = "te.da.gdal";
43  //info.m_displayName = "GDAL DataSource Driver";
44  //info.m_description = "This data source driver supports spatial data managed by GDAL";
45  //info.m_engine = "C++";
46  //info.m_folder = TE_PLUGINS_PATH;
47  //
48  //std::pair<std::string, std::string> rsc("SharedLibraryName", "terralib_gdal");
49  //
50  //info.m_resources.push_back(rsc);
51  //
52  //te::plugin::PluginManager::getInstance().load(info);
53  //te::plugin::PluginInfo* info = te::core::JSONPluginInfoSerializer(TE_PLUGINS_PATH + std::string("/te.da.gdal.teplg.json"));
54 
55  std::string plugins_path = te::core::FindInTerraLibPath("share/terralib/plugins");
56 
57 #ifdef TERRALIB_MOD_GDAL_ENABLED
58  te::core::PluginInfo info = te::core::JSONPluginInfoSerializer(plugins_path + "/te.da.gdal.teplg.json");
61 #endif
62  }
63  catch(...)
64  {
65  std::cout << std::endl << "Failed to load data source drivers: unknow exception!" << std::endl;
66  }
67 }
68 
69 int main(int /*argc*/, char** /*argv*/)
70 {
71 // initialize Terralib support
73 
74  try
75  {
77 
79 
81  }
82  catch(const std::exception& e)
83  {
84  std::cout << std::endl << "An exception has occurred: " << e.what() << std::endl;
85 
86  return EXIT_FAILURE;
87  }
88  catch(...)
89  {
90  std::cout << std::endl << "An unexpected exception has occurred!" << std::endl;
91 
92  return EXIT_FAILURE;
93  }
94 
95 // finalize Terralib support
97 
99 
100 
101  return EXIT_SUCCESS;
102 }
Include files for Core Plugin Library.
Several examples declarations.
void insert(const PluginInfo &pinfo)
Adds plugin with its plugin information to the list of unloaded plugins.
This file is a wrapper around platform specific include files.
int main(int, char **)
void SymbologyWidgets()
It shows a set of widgets related with Symbology Encondig.
Basic information about a plugin.
void load(const std::string &plugin_name, const bool start=true)
It tries to load the informed plugin.
std::string name
The plugin name: an internal value used to identify the plugin in the system. Must be a unique value...
static PluginManager & instance()
Access the singleton.
void finalize()
It finalizes the TerraLib Platform.
static TerraLib & getInstance()
It returns a reference to the singleton instance.
void RasterSymbologyWidgets()
It shows a set of widgets related with Raster Symbology Encondig.
void initialize()
It initializes the TerraLib Platform.
TECOREEXPORT PluginInfo JSONPluginInfoSerializer(const std::string &file_name)
A plugin finder that search for plugins in some special directories defined by compile time macros...
Definition: Serializers.cpp:44
TECOREEXPORT std::string FindInTerraLibPath(const std::string &path)
Returns the path relative to a directory or file in the context of TerraLib.
void LoadGDALModule()
This file contains include headers for the TerraLib Common Runtime module.
void clear()
Stop and unload all plugins, then clear the internal list of plugins.