An abstract class for TerraLib Plugins. More...
#include <AbstractPlugin.h>
Public Member Functions | |
AbstractPlugin () | |
Constructor. More... | |
virtual const PluginInfo & | getInfo () const =0 |
It return the information associated to the plugin. More... | |
virtual bool | isStarted () const =0 |
It tells if the plugin was started or not. More... | |
bool | operator< (const AbstractPlugin &rhs) const |
This overloaded operator can be used to index the plugin in a set. More... | |
virtual void | shutdown ()=0 |
This method will be called by TerraLib to shutdown plugin's functionality. More... | |
virtual void | startup ()=0 |
This method will be called by TerraLib to startup some plugin's functionality. More... | |
virtual | ~AbstractPlugin () |
Virtual destructor. More... | |
An abstract class for TerraLib Plugins.
A plugin (also called plug-in, addin, add-in, addon, add-on, snap-in, extension or suplement) is a computer program that interacts with a host application like TerraView adding new capabilities/functionalities to it.
For more information on plugin definitions, please, see Wikipedia at http://en.wikipedia.org/wiki/Plug-in_%28computing%29.
In TerraLib, the easy way to create a plugin for TerraView is to use the Plugin class interface. This is the same interface for C++, PHP, Lua and other languages plugins.
Note that in TerraLib any plugin may have access to all other system parts. You can put no restrictions on it, so you can easily use all TerraLib/TerraView API without worry about doing trickies!
Definition at line 65 of file AbstractPlugin.h.
te::plugin::AbstractPlugin::AbstractPlugin | ( | ) |
Constructor.
Definition at line 30 of file AbstractPlugin.cpp.
|
virtual |
Virtual destructor.
Definition at line 34 of file AbstractPlugin.cpp.
|
pure virtual |
It return the information associated to the plugin.
Implemented in te::plugin::CppPluginProxy, and te::plugin::Plugin.
Referenced by te::plugin::PluginManager::detach(), operator<(), te::plugin::CppPluginEngine::unload(), and te::plugin::PluginManager::unload().
|
pure virtual |
It tells if the plugin was started or not.
Implemented in te::plugin::CppPluginProxy, and te::plugin::Plugin.
Referenced by te::plugin::PluginManager::unload().
bool te::plugin::AbstractPlugin::operator< | ( | const AbstractPlugin & | rhs | ) | const |
This overloaded operator can be used to index the plugin in a set.
rhs | The right-hand-side plugin. |
Definition at line 38 of file AbstractPlugin.cpp.
References getInfo().
|
pure virtual |
This method will be called by TerraLib to shutdown plugin's functionality.
Exception | It throws and exception if the plugin can not be shutdown. |
Implemented in te::ogr::Module, te::grib::Platform, te::ado::Module, te::plugin::CppPluginProxy, terralib4::Module, te::gdal::Module, te::wcs::Module, te::wfs::Module, te::wms::Module, te::pgis::Module, te::qt::plugins::rp::Plugin, te::xerces::Module, te::qt::plugins::sa::Plugin, te::qt::plugins::vp::Plugin, te::plugin::Plugin, te::qt::plugins::addressgeocoding::Plugin, te::qt::plugins::gdal::Plugin, te::qt::plugins::ogr::Plugin, te::qt::plugins::terralib4::Plugin, te::qt::plugins::st::Plugin, te::qt::plugins::attributefill::Plugin, te::qt::plugins::cellspace::Plugin, te::qt::plugins::edit::Plugin, te::qt::plugins::layout::Plugin, te::qt::plugins::ado::Plugin, te::qt::plugins::geofile::Plugin, te::qt::plugins::mysql::Plugin, te::qt::plugins::pgis::Plugin, te::qt::plugins::sqlite::Plugin, te::qt::plugins::wcs::Plugin, te::qt::plugins::wfs::Plugin, te::qt::plugins::wms::Plugin, and te::sqlite::Module.
Referenced by te::plugin::PluginManager::remove(), and te::plugin::PluginManager::unload().
|
pure virtual |
This method will be called by TerraLib to startup some plugin's functionality.
Exception | It throws and exception if the plugin can not be started. |
Implemented in te::ogr::Module, te::plugin::CppPluginProxy, te::grib::Platform, te::ado::Module, terralib4::Module, te::gdal::Module, te::wcs::Module, te::wfs::Module, te::wms::Module, te::qt::plugins::rp::Plugin, te::pgis::Module, te::qt::plugins::sa::Plugin, te::qt::plugins::vp::Plugin, te::xerces::Module, te::plugin::Plugin, te::qt::plugins::addressgeocoding::Plugin, te::qt::plugins::gdal::Plugin, te::qt::plugins::ogr::Plugin, te::qt::plugins::terralib4::Plugin, te::qt::plugins::st::Plugin, te::qt::plugins::attributefill::Plugin, te::qt::plugins::cellspace::Plugin, te::qt::plugins::edit::Plugin, te::qt::plugins::layout::Plugin, te::qt::plugins::ado::Plugin, te::qt::plugins::geofile::Plugin, te::qt::plugins::mysql::Plugin, te::qt::plugins::pgis::Plugin, te::qt::plugins::sqlite::Plugin, te::qt::plugins::wcs::Plugin, te::qt::plugins::wfs::Plugin, te::qt::plugins::wms::Plugin, and te::sqlite::Module.