OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::Plugin Struct Reference
module nullptr

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/plugin/PluginManager.hpp>

Collaboration diagram for Slic3r::Plugin:

Public Member Functions

 Plugin ()=default
 Plugin (const Plugin &)=delete
Plugin & operator= (const Plugin &)=delete
 Plugin (Plugin &&other) noexcept
Plugin & operator= (Plugin &&other) noexcept
 ~Plugin ()
bool is_loaded () const
void release_module ()

Public Attributes

PluginDescriptor descriptor
std::string module_name
std::vector< std::string > plugin_sys_paths
std::vector< std::string > plugin_modules
std::vector< std::shared_ptr< PluginCapabilityInterface > > capabilities

Detailed Description

Constructor & Destructor Documentation

◆ Plugin() [1/3]

Slic3r::Plugin::Plugin ( )
default

Referenced by Plugin(), Plugin(), operator=(), and operator=().

Here is the caller graph for this function:

◆ Plugin() [2/3]

Slic3r::Plugin::Plugin ( const Plugin & )
delete

References Plugin().

Here is the call graph for this function:

◆ Plugin() [3/3]

Slic3r::Plugin::Plugin ( Plugin && other)
inlinenoexcept
67 : descriptor(std::move(other.descriptor)),
68 module(other.module),
69 module_name(std::move(other.module_name)),
70 plugin_sys_paths(std::move(other.plugin_sys_paths)),
71 plugin_modules(std::move(other.plugin_modules)),
72 capabilities(std::move(other.capabilities))
73 {
74 other.module = nullptr;
75 }
FileTransferModule & module()
Definition FileTransferUtils.hpp:248
std::string module_name
Definition PluginManager.hpp:53
std::vector< std::string > plugin_sys_paths
Definition PluginManager.hpp:54
std::vector< std::shared_ptr< PluginCapabilityInterface > > capabilities
Definition PluginManager.hpp:58
std::vector< std::string > plugin_modules
Definition PluginManager.hpp:55
PluginDescriptor descriptor
Definition PluginManager.hpp:51

References Plugin().

Here is the call graph for this function:

◆ ~Plugin()

Slic3r::Plugin::~Plugin ( )
inline
92{ release_module(); }
void release_module()
Definition PluginManager.cpp:62

References release_module().

Here is the call graph for this function:

Member Function Documentation

◆ is_loaded()

bool Slic3r::Plugin::is_loaded ( ) const
inline
94{ return module != nullptr; }

Referenced by Slic3r::PluginManager::check_registry_locked(), Slic3r::PluginManager::is_plugin_loaded(), Slic3r::PluginManager::load_plugin(), Slic3r::PluginManager::set_capability_enabled(), Slic3r::PluginManager::unload_plugin(), and Slic3r::PluginManager::write_loaded_plugin_install_state().

Here is the caller graph for this function:

◆ operator=() [1/2]

Plugin & Slic3r::Plugin::operator= ( const Plugin & )
delete

References Plugin().

Here is the call graph for this function:

◆ operator=() [2/2]

Plugin & Slic3r::Plugin::operator= ( Plugin && other)
inlinenoexcept
78 {
79 if (this != &other) {
81 descriptor = std::move(other.descriptor);
82 module = other.module;
83 module_name = std::move(other.module_name);
84 plugin_sys_paths = std::move(other.plugin_sys_paths);
85 plugin_modules = std::move(other.plugin_modules);
86 capabilities = std::move(other.capabilities);
87 other.module = nullptr;
88 }
89 return *this;
90 }

References Plugin(), capabilities, descriptor, module_name, plugin_modules, plugin_sys_paths, and release_module().

Here is the call graph for this function:

◆ release_module()

void Slic3r::Plugin::release_module ( )
63{
64 if (module == nullptr && plugin_sys_paths.empty() && plugin_modules.empty())
65 return;
66
68 module = nullptr;
69 module_name.clear();
70 plugin_sys_paths.clear();
71 plugin_modules.clear();
72}
static PythonInterpreter & instance()
Definition PythonInterpreter.cpp:434
void unload_module(PyObject *module, const std::string &module_name, const std::vector< std::string > &plugin_paths, const std::vector< std::string > &plugin_modules)
Definition PythonInterpreter.cpp:1069

References Slic3r::PythonInterpreter::instance(), Slic3r::module(), module_name, plugin_modules, plugin_sys_paths, and Slic3r::PythonInterpreter::unload_module().

Referenced by ~Plugin(), operator=(), and Slic3r::plugin_loader::unload().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ capabilities

◆ descriptor

◆ module_name

std::string Slic3r::Plugin::module_name

◆ plugin_modules

std::vector<std::string> Slic3r::Plugin::plugin_modules

◆ plugin_sys_paths

std::vector<std::string> Slic3r::Plugin::plugin_sys_paths

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