TerraLib and TerraView Wiki Page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:designimplementation:plugin [2014/09/10 13:28]
gribeiro [TerraLib → Plugin]
wiki:designimplementation:plugin [2014/09/10 13:33] (current)
gribeiro [TerraLib → Plugin]
Line 1: Line 1:
 ====== TerraLib → Plugin ====== ====== TerraLib → Plugin ======
  
-**Autor:** Gilberto Ribeiro de Queiroz 
- 
-**Data:** 09/10/2014 
  
 ===== Introduction ===== ===== Introduction =====
  
-A plugin is a computer program that interacts with a host application such as TerraView or TerraMA2 adding new capabilities/​functionalities to it, in general at runtime. There are several terms used instead of plugin: plug-in, addin, add-in, addon, add-on, snap-in, extension or supplement, for more information on plugin definitions see [[http://​en.wikipedia.org/​wiki/​Plug-in_%28computing%29|Wikipedia]]. ​+A plugin is a computer program that interacts with a host application such as TerraView or TerraMA2 adding new capabilities/​functionalities to it. These functionalities are added, in generalat runtime. There are several terms used instead of plugin: plug-in, addin, add-in, addon, add-on, snap-in, extension or supplement, for more information on plugin definitions see [[http://​en.wikipedia.org/​wiki/​Plug-in_%28computing%29|Wikipedia]]. ​
  
-This module provides a basic framework for those who want to create plugins in the TerraLib Platform. Instead of having ​a framework target to a specific application such as TerraView or TerraMA2, this plugin framework ​just handle ​the extensions (plugins) and is capable of loading then dynamically. It provides the basic foundation to simplify the burden of dealing with plugins: check-up of dependencies,​ configuration reading, plugin management and startup/​shutdown actions. Besides that, this framework allows plugins written using other programming languages, meanly the ones supported in the [[language binding modules]]. For instance you can create plugins in Lua, Java or R.+This module provides a basic framework for those who want to create plugins in the TerraLib Platform. Instead of a framework target to a specific application such as TerraView or TerraMA2, this plugin framework ​handles ​the extensions (plugins) and is capable of loading then dynamically. It provides the basic foundation to simplify the burden of dealing with plugins: check-up of dependencies,​ configuration reading, plugin management and startup/​shutdown actions. Besides that, this framework allows plugins written using other programming languages, meanly the ones supported in the [[language binding modules]]. For instance you can create plugins in Lua, Java or R.
  
 As pointed out by Vandevoorde (2006), for C and C++ programs plugins are typically implemented as shared libraries that are dynamically loaded (and sometimes unloaded) by the main program. As pointed out by Vandevoorde (2006), for C and C++ programs plugins are typically implemented as shared libraries that are dynamically loaded (and sometimes unloaded) by the main program.
  
 The next section will explain in details the design of this module. The next section will explain in details the design of this module.
- 
 ===== Design Rationale ===== ===== Design Rationale =====