A plugin that provides extra functionality to Fabrique build descriptions. More...
#include <Plugin.h>
 
  
 | Classes | |
| class | Descriptor | 
| Static information about a plugin.  More... | |
| Public Member Functions | |
| const Descriptor & | descriptor () const | 
| virtual std::shared_ptr < dag::Structure > | Create (dag::DAGBuilder &) const =0 | 
|  Public Member Functions inherited from fabrique::Typed | |
| Typed (const Type &t) | |
| virtual const Type & | type () const | 
| Static Public Member Functions | |
| static Plugin::Descriptor & | nullPlugin () | 
| Protected Member Functions | |
| Plugin (const Type &, const Descriptor &descriptor) | |
A plugin that provides extra functionality to Fabrique build descriptions.
Plugins are written in C++ to provide functionality that simple shell commands don't express well. For instance, instead of parsing the output of sysctl(8) (turning a typed value into a string and back into a value according to expected type), a sysctl plugin can represent the underlying types correctly. The difference is: if a Fabrique description expects the wrong type, it can receive a type error rather than a syntactically-legal but logically-incorrect reinterpretation (e.g. "0").