summaryrefslogtreecommitdiff
path: root/src/plugincontainer.h
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-11-11 22:45:33 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2020-11-11 22:45:33 +0100
commit90beed8c7b356ef58431721ffe8eb4abff3da032 (patch)
treedae08a323a54f9a53d05e6d3d50cbe40fd094da1 /src/plugincontainer.h
parent7ec0128eb59c085cd5961995280238cc22683b8e (diff)
Handle proxy dependencies differently.
Diffstat (limited to 'src/plugincontainer.h')
-rw-r--r--src/plugincontainer.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plugincontainer.h b/src/plugincontainer.h
index e9761cb1..b37b48cd 100644
--- a/src/plugincontainer.h
+++ b/src/plugincontainer.h
@@ -50,6 +50,11 @@ public:
MOBase::IPluginProxy* proxy() const;
/**
+ * @return the list of plugins this plugin proxies (if it's a proxy plugin).
+ */
+ std::vector<MOBase::IPlugin*> proxied() const;
+
+ /**
* @return the master of this plugin, if any.
*/
MOBase::IPlugin* master() const;
@@ -81,6 +86,11 @@ private:
// Accumulator version for requiredFor() to avoid infinite recursion.
void requiredFor(std::vector<MOBase::IPlugin*>& required, std::set<MOBase::IPlugin*>& visited) const;
+ // Retrieve the requirements from the underlying plugin, take ownership on them
+ // and store them. We cannot do this in the constructor because we want to have a
+ // constructed object before calling init().
+ void fetchRequirements();
+
friend class PluginContainer;
PluginContainer* m_PluginContainer;