<liclass="toctree-l3"><aclass="reference internal"href="../setup-tools.html#get-the-mobase-stubs">1. Get the <codeclass="docutils literal notranslate"><spanclass="pre">mobase</span></code> stubs</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../setup-tools.html#configure-visual-studio-code-for-mobase">2. Configure Visual Studio Code for <codeclass="docutils literal notranslate"><spanclass="pre">mobase</span></code></a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../faq.html#why-is-mo2-throwing-an-exception-when-i-try-to-create-a-type-inheriting-one-of-mo2-class">1. Why is MO2 throwing an exception when I try to create a type inheriting one of MO2 class?</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../faq.html#how-can-i-be-sure-to-implement-all-the-required-methods-when-creating-a-plugin">2. How can I be sure to implement all the required methods when creating a plugin?</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../faq.html#why-are-my-isinstance-x-qobject-and-isinstance-y-qwidget-not-working">3. Why are my <codeclass="docutils literal notranslate"><spanclass="pre">isinstance(x,</span><spanclass="pre">QObject)</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">isinstance(y,</span><spanclass="pre">QWidget)</span></code> not working?</a></li>
<h1>IPluginInstaller<aclass="headerlink"href="#iplugininstaller"title="Permalink to this headline">¶</a></h1>
<dlclass="class">
<dtid="mobase.IPluginInstaller">
<emclass="property">class </em><codeclass="sig-prename descclassname">mobase.</code><codeclass="sig-name descname">IPluginInstaller</code><aclass="headerlink"href="#mobase.IPluginInstaller"title="Permalink to this definition">¶</a></dt>
<emclass="property">abstract </em><codeclass="sig-name descname">isArchiveSupported</code><spanclass="sig-paren">(</span><emclass="sig-param">tree</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#mobase.IPluginInstaller.isArchiveSupported"title="Permalink to this definition">¶</a></dt>
<dd><p>Check if the given file tree corresponds to a supported archive for this installer.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>tree</strong>– The tree representing the content of the archive.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p>True if this installer can handle the archive, False otherwise.</p>
<emclass="property">abstract </em><codeclass="sig-name descname">isManualInstaller</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#mobase.IPluginInstaller.isManualInstaller"title="Permalink to this definition">¶</a></dt>
<dd><p>Check if this installer is a manual installer.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p>True if this installer is a manual installer, False otherwise.</p>
<codeclass="sig-name descname">onInstallationEnd</code><spanclass="sig-paren">(</span><emclass="sig-param">result</em>, <emclass="sig-param">new_mod</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#mobase.IPluginInstaller.onInstallationEnd"title="Permalink to this definition">¶</a></dt>
<dd><p>Method calls at the end of the installation process. This method is only called once
per installation process, even for recursive installations (e.g. with the bundle installer).</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>result</strong>– The result of the installation.</p></li>
<li><p><strong>new_mod</strong>– If the installation succeeded (result is RESULT_SUCCESS), contains the newly
installed mod, otherwise it contains a null pointer.</p></li>
<codeclass="sig-name descname">onInstallationStart</code><spanclass="sig-paren">(</span><emclass="sig-param">archive</em>, <emclass="sig-param">reinstallation</em>, <emclass="sig-param">current_mod</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#mobase.IPluginInstaller.onInstallationStart"title="Permalink to this definition">¶</a></dt>
<dd><p>Method calls at the start of the installation process, before any other methods.
This method is only called once per installation process, even for recursive
installations (e.g. with the bundle installer).</p>
<p>If <cite>reinstallation</cite> is true, then the given mod is the mod being reinstalled (the one
selected by the user). If <cite>reinstallation</cite> is false and <cite>currentMod</cite> is not null, then
it corresponds to a mod MO2 thinks corresponds to the archive (e.g. based on matching Nexus ID
or name).</p>
<p>The default implementation does nothing.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>archive</strong>– Path to the archive that is going to be installed.</p></li>
<li><p><strong>reinstallation</strong>– True if this is a reinstallation, False otherwise.</p></li>
<li><p><strong>current_mod</strong>– A currently installed mod corresponding to the archive being installed, or None
<emclass="property">abstract </em><codeclass="sig-name descname">priority</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#mobase.IPluginInstaller.priority"title="Permalink to this definition">¶</a></dt>
<dd><p>Retrieve the priority of this installer.</p>
<p>If multiple installers are able to handle an archive, the one with the highest priority wins.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p>The priority of this installer.</p>
<codeclass="sig-name descname">setInstallationManager</code><spanclass="sig-paren">(</span><emclass="sig-param">manager</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#mobase.IPluginInstaller.setInstallationManager"title="Permalink to this definition">¶</a></dt>
<dd><p>Set the installation manager for this installer.</p>
<p>Python plugins usually do not need to re-implement this and can directly access the installation
manager using <cite>_manager()</cite>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>manager</strong>– The installation manager.</p>
</dd>
</dl>
</dd></dl>
<dlclass="method">
<dtid="mobase.IPluginInstaller.setParentWidget">
<codeclass="sig-name descname">setParentWidget</code><spanclass="sig-paren">(</span><emclass="sig-param">parent</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#mobase.IPluginInstaller.setParentWidget"title="Permalink to this definition">¶</a></dt>
<dd><p>Set the parent widget for this installer.</p>
<p>Python plugins usually do not need to re-implement this and can directly access the parent
widget using <cite>_parentWidget()</cite> once the UI has been initialized.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>parent</strong>– The parent widget.</p>