Module.h
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/gdal/Module.h
22 
23  \brief The TerraLib GDAL driver as a plugin.
24  */
25 
26 #ifndef __TERRALIB_GDAL_INTERNAL_MODULE_H
27 #define __TERRALIB_GDAL_INTERNAL_MODULE_H
28 
29 // TerraLib
30 #include "../plugin/Plugin.h"
31 #include "Config.h"
32 
33 namespace te
34 {
35  namespace gdal
36  {
37  /*!
38  \class Module
39 
40  \brief The TerraLib GDAL driver is a plugin.
41  */
42  class Module : public te::plugin::Plugin
43  {
44  public:
45 
46  /*!
47  \brief Plugin constructor.
48 
49  \param pInfo Basic information provided to initialize this module through the plugin API.
50  */
51  Module(const te::plugin::PluginInfo& pluginInfo);
52 
53  /*! \brief Destructor. */
54  ~Module();
55 
56  //@}
57 
58  /** @name Re-Implmentation from Plugin Interface
59  * Re-Implementation from Plugin Interface.
60  */
61  //@{
62 
63  /*!
64  \brief This method will be called by TerraLib to startup some plugin's functionality.
65 
66  \exception Exception It throws an exception if the plugin can not be started.
67  */
68  void startup();
69 
70  /*!
71  \brief This method will be called by TerraLib to shutdown plugin's functionality.
72 
73  \exception Exception It throws an exception if the plugin can not be shutdown.
74  */
75  void shutdown();
76  //@}
77  };
78  } // end namespace gdal
79 } // end namespace te
80 
82 
83 #endif // __TERRALIB_GDAL_INTERNAL_MODULE_H
84 
void startup()
This method will be called by TerraLib to startup some plugin's functionality.
#define TEGDALEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:67
Module(const te::plugin::PluginInfo &pluginInfo)
Plugin constructor.
~Module()
Destructor.
PLUGIN_CALL_BACK_DECLARATION(TEADOEXPORT)
void shutdown()
This method will be called by TerraLib to shutdown plugin's functionality.
URI C++ Library.
The TerraLib GDAL driver is a plugin.
Definition: Module.h:42
A base class for plugin types.
Definition: Plugin.h:50
The basic information about a plugin.
Definition: PluginInfo.h:61
Configuration flags for the GDAL Driver of TerraLib.