Overview

The Addon Interfaces Library, libaoi.so, contains functions for accessing addon interfaces. An addon is an implementation of a set of interfaces that provide some new functionality, and that can be dynamically loaded and unloaded by an application at runtime. An interface is a group of related functions and data. By using a known set of interfaces, you can add functionality to deployed applications without having to recompile and redeploy the application. Addons are typically contained in DLLs, and are sometimes also called plugins.

This approach to dynamically adding functionality is different from simply loading a DLL at runtime using a function such as dlopen(), as the application does not have to know the specific functionality contained by the DLL ahead of time. Rather, the application can search the DLL for a known interface, and if available, that functionality can be accessed.