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. 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 them. Addons are typically contained in DLLs and are sometimes called plugins.

This approach to dynamically adding functionality is different from simply loading a DLL at runtime using a function such as dlopen() because the application doesn't 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 access that functionality if it's available.

Library components: