This section will provide the basic framework for plugins under Ada 95.
Typically an Ada 95 application consists of compilation units which are compiled and build into a executable binary a run time. Adaplugin allows to load parts of an application during run time. A typical application is an extensible application, such as an editor which has to handle different file formats. If there is a new format added, there is no need to replace the complete application, but only a new plugin needs to be added to the runtime environment.
This package uses the dynamic library facility of the Linux operating system and should be fairly portable over all operating systems which are providing some implementation of the dl library. Since this mechanism allows the plugin to access any entry in the application which is a security and stability risk. In order to avoid this problem, the framework allows to define two interfaces. One interface for calls from the application into the plugin and one interface for calls from the plugin into some support libraries provided by the application.
This package provides a library calles libadaplugin which is used by the application to access entries in a plugin. Since the plugin has to follow certain conventions, the package provides also a generic makefile for plugins.
Normaly only the binary of the application and the plugins are installed on the target system. There is no need to install the development environment on the target system.
Libraries and Components