2 This is the plugins implementation for Bacula.
3 The current plugins for the DIR and SD are untested.
4 For the File daemon, there are three plugins. The
5 first is purely experimental. The second is quite functional
6 and useful -- bpipe, and the third is the Exchange plugin
8 For more details on plugins please see the New Features
9 chapter of the Concepts document.
13 - get main entry points in plugin (two)
14 - pass plugin Bacula entry points
15 - get plugin's entry points
16 - keep list of plugins that are loaded
17 - The plugin currently only needs config.h and bc_types.h
18 in the Bacula src directory to be build. Otherwise, it is
19 totally independent of Bacula.
20 - The main test program is intended to be integrated into
21 Bacula (at least a number of the functions therein).
22 - Search for all plugins in the plugin directory
23 - Implement Bacula context for plugin instances
24 - Implement plugin context for plugin instances
25 - Integrate the code into Bacula
26 - Figure out a way to deal with 3 types of plugins (Director,
27 File daemon, Storage daemon).
28 - Pass Version information in plugin Initialize
29 - Document the interface
31 - Print all plugins loaded when Bacula starts
32 - Print all plugins loaded during traceback
33 - Make libbac.a into a shared object and allow plugin
34 to call functions in directly so that plugins can use
35 the same "safe" system utilities that Bacula uses.
36 - Document libbac.so (when implemented)
37 - Write more plugins that really do something.
38 - Error handling must be much improved and brought into Bacula
39 programming style. It currently just printf()s a message then
40 exits (partially done).
42 What is not yet implemented:
43 - Implement plugin license/version checking
44 - Some better method to pass variables
45 - Define more functionality (Bacula entry points, ...)
46 especially for DIR and SD plugins