$darkmode
cloe::PluginConf Struct Reference

#include <stack.hpp>

Inheritance diagram for cloe::PluginConf:
Collaboration diagram for cloe::PluginConf:

Public Member Functions

 PluginConf (const std::string &p)
 
std::string canonical () const
 
 CONFABLE_SCHEMA (PluginConf)
 
- Public Member Functions inherited from cloe::PersistentConfable
const Confconf () const
 
void from_conf (const Conf &c) override
 
- Public Member Functions inherited from fable::Confable
 Confable (const Confable &) noexcept
 
 Confable (Confable &&) noexcept=default
 
Confableoperator= (const Confable &other) noexcept
 
Confableoperator= (Confable &&other) noexcept
 
virtual void reset_schema ()
 
Schemaschema ()
 
const Schemaschema () const
 
virtual void validate_or_throw (const Conf &c) const
 
virtual bool validate (const Conf &c, std::optional< SchemaError > &err) const
 
virtual void to_json (Json &j) const
 
Json to_json () const
 

Public Attributes

std::filesystem::path plugin_path {}
 
std::optional< std::string > plugin_name {}
 
std::optional< std::string > plugin_prefix {}
 
std::optional< bool > ignore_missing {}
 
std::optional< bool > ignore_failure {}
 
std::optional< bool > allow_clobber {}
 

Additional Inherited Members

- Protected Member Functions inherited from fable::Confable
virtual Schema schema_impl ()
 
- Protected Attributes inherited from cloe::PersistentConfable
Conf conf_
 

Detailed Description

PluginConf describes the configuration for loading one or more plugins from path.

Member Function Documentation

◆ canonical()

std::string cloe::PluginConf::canonical ( ) const

Return canonical path to plugin.

Paths that start with "builtin://" are returned as is. Otherwise, the plugin path is resolved to an absolute path, or returned in the system native format.

Here is the caller graph for this function:

Member Data Documentation

◆ allow_clobber

std::optional<bool> cloe::PluginConf::allow_clobber {}

If a plugin with the same name exists, replace it with this one.

This is dependent on the order of plugin loading, which is determined by the order of configuration files.

◆ ignore_failure

std::optional<bool> cloe::PluginConf::ignore_failure {}

Do not fail if path exists but plugin cannot be loaded. This is especially useful if trying to load from several directories, such as /usr/lib/cloe/plugins.

◆ ignore_missing

std::optional<bool> cloe::PluginConf::ignore_missing {}

Do not fail if path does not exist.

◆ plugin_name

std::optional<std::string> cloe::PluginConf::plugin_name {}

Name to give plugin if path is to a single file.

◆ plugin_path

std::filesystem::path cloe::PluginConf::plugin_path {}

Filesystem path to file or directory.

◆ plugin_prefix

std::optional<std::string> cloe::PluginConf::plugin_prefix {}

Prefix for plugin name(s).


The documentation for this struct was generated from the following files: