]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/plugins/README
First cut SD plugin + minor plugin changes
[bacula/bacula] / bacula / src / plugins / README
1
2 This is a first cut of a plugins implementation for Bacula.
3 The current code is simply a test program named main, which
4 when executed will load the plugin named plugin.so and then
5 call it with a few calls, then exit.
6
7 What is implemented:
8 - load a plugin
9 - get main entry points in plugin (two)
10 - pass plugin Bacula entry points
11 - get plugin's entry points
12 - keep list of plugins that are loaded 
13 - The plugin currently only needs config.h and bc_types.h
14   in the Bacula src directory to be build.  Otherwise, it is
15   totally independent of Bacula.
16 - The main test program is intended to be integrated into
17   Bacula (at least a number of the functions therein).
18 - Search for all plugins in the plugin directory
19 - Implement Bacula context for plugin instances
20 - Implement plugin context for plugin instances
21 - Integrate the code into Bacula
22 - Figure out a way to deal with 3 types of plugins (Director,
23   File daemon, Storage daemon).
24 - Pass Version information in plugin Initialize
25
26 What is not yet implemented:
27 - Document the interface
28 - Test Win32 plugins
29 - Print all plugins loaded when Bacula starts
30 - Print all plugins loaded during traceback
31 - Implement plugin license/version checking
32 - Some better method to pass variables
33 - Define more functionality (Bacula entry points, ...)
34 - Make libbac.a into a shared object and allow plugin
35   to call functions in directly so that plugins can use
36   the same "safe" system utilities that Bacula uses.
37 - Document libbac.so (when implemented)
38 - Write more plugins that really do something.
39 - Error handling must be much improved and brought into Bacula
40   programming style. It currently just printf()s a message then
41   exits (partially done).