KiCad PCB EDA Suite
|
A plugin that is invoked by KiCad and runs as an external process; communicating with KiCad via the IPC API. More...
#include <api_plugin.h>
Public Member Functions | |
API_PLUGIN (const wxFileName &aConfigFile) | |
~API_PLUGIN () | |
bool | IsOk () const |
const wxString & | Identifier () const |
const wxString & | Name () const |
const wxString & | Description () const |
const PLUGIN_RUNTIME & | Runtime () const |
wxString | BasePath () const |
const std::vector< PLUGIN_ACTION > & | Actions () const |
wxString | ActionSettingsKey (const PLUGIN_ACTION &aAction) const |
Private Member Functions | |
std::optional< PLUGIN_ACTION > | createActionFromJson (const nlohmann::json &aJson) |
Private Attributes | |
wxFileName | m_configFile |
std::unique_ptr< API_PLUGIN_CONFIG > | m_config |
Friends | |
struct | API_PLUGIN_CONFIG |
A plugin that is invoked by KiCad and runs as an external process; communicating with KiCad via the IPC API.
The plugin metadata is read from a JSON file containing things like which actions the plugin is capable of and how to invoke each one.
Definition at line 104 of file api_plugin.h.
API_PLUGIN::API_PLUGIN | ( | const wxFileName & | aConfigFile | ) |
Definition at line 157 of file api_plugin.cpp.
API_PLUGIN::~API_PLUGIN | ( | ) |
Definition at line 164 of file api_plugin.cpp.
const std::vector< PLUGIN_ACTION > & API_PLUGIN::Actions | ( | ) | const |
Definition at line 199 of file api_plugin.cpp.
References m_config.
wxString API_PLUGIN::ActionSettingsKey | ( | const PLUGIN_ACTION & | aAction | ) | const |
Definition at line 211 of file api_plugin.cpp.
References PLUGIN_ACTION::identifier, and Identifier().
wxString API_PLUGIN::BasePath | ( | ) | const |
Definition at line 205 of file api_plugin.cpp.
References m_configFile.
Referenced by API_PLUGIN_MANAGER::InvokeAction(), and API_PLUGIN_MANAGER::RecreatePluginEnvironment().
|
private |
Definition at line 218 of file api_plugin.cpp.
References PLUGIN_ACTION::args, PLUGIN_ACTION::description, PLUGIN_ACTION::entrypoint, PLUGIN_ACTION::icon_dark, PLUGIN_ACTION::icon_light, PLUGIN_ACTION::identifier, m_configFile, PLUGIN_ACTION::name, PLUGIN_ACTION::scopes, PLUGIN_ACTION::show_button, and traceApi.
Referenced by API_PLUGIN_CONFIG::API_PLUGIN_CONFIG().
const wxString & API_PLUGIN::Description | ( | ) | const |
Definition at line 187 of file api_plugin.cpp.
References m_config.
const wxString & API_PLUGIN::Identifier | ( | ) | const |
Definition at line 175 of file api_plugin.cpp.
References m_config.
Referenced by ActionSettingsKey(), API_PLUGIN_MANAGER::InvokeAction(), and API_PLUGIN_MANAGER::RecreatePluginEnvironment().
bool API_PLUGIN::IsOk | ( | ) | const |
Definition at line 169 of file api_plugin.cpp.
References m_config.
const wxString & API_PLUGIN::Name | ( | ) | const |
Definition at line 181 of file api_plugin.cpp.
References m_config.
const PLUGIN_RUNTIME & API_PLUGIN::Runtime | ( | ) | const |
Definition at line 193 of file api_plugin.cpp.
References m_config.
Referenced by API_PLUGIN_MANAGER::InvokeAction().
|
friend |
Definition at line 124 of file api_plugin.h.
|
private |
Definition at line 130 of file api_plugin.h.
Referenced by Actions(), Description(), Identifier(), IsOk(), Name(), and Runtime().
|
private |
Definition at line 128 of file api_plugin.h.
Referenced by BasePath(), and createActionFromJson().