1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <title>Pluma - Plug-in Management Framework</title>
5 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
6 <link href="doxygen.css" rel="stylesheet" type="text/css" />
7 <link href="tabs.css" rel="stylesheet" type="text/css" />
11 <img src="./logo.png" title="Pluma home" alt="Pluma logo" />
13 <!-- Generated by Doxygen 1.8.6 -->
14 <div id="navrow1" class="tabs">
16 <li><a href="index.htm"><span>Main Page</span></a></li>
17 <li class="current"><a href="annotated.htm"><span>Classes</span></a></li>
18 <li><a href="files.htm"><span>Files</span></a></li>
21 <div id="navrow2" class="tabs2">
23 <li><a href="annotated.htm"><span>Class List</span></a></li>
24 <li><a href="classes.htm"><span>Class Index</span></a></li>
25 <li><a href="hierarchy.htm"><span>Class Hierarchy</span></a></li>
26 <li><a href="functions.htm"><span>Class Members</span></a></li>
29 <div id="nav-path" class="navpath">
31 <li class="navelem"><b>pluma</b></li><li class="navelem"><a class="el" href="classpluma_1_1PluginManager.htm">PluginManager</a></li> </ul>
36 <a href="#pub-methods">Public Member Functions</a> |
37 <a href="#pro-methods">Protected Member Functions</a> |
38 <a href="classpluma_1_1PluginManager-members.htm">List of all members</a> </div>
39 <div class="headertitle">
40 <div class="title">pluma::PluginManager Class Reference</div> </div>
42 <div class="contents">
44 <p>Manages loaded plugins.
45 <a href="classpluma_1_1PluginManager.htm#details">More...</a></p>
47 <p><code>#include <<a class="el" href="PluginManager_8hpp_source.htm">PluginManager.hpp</a>></code></p>
48 <div class="dynheader">
49 Inheritance diagram for pluma::PluginManager:</div>
50 <div class="dyncontent">
52 <img src="classpluma_1_1PluginManager.png" usemap="#pluma::PluginManager_map" alt=""/>
53 <map id="pluma::PluginManager_map" name="pluma::PluginManager_map">
54 <area href="classpluma_1_1Pluma.htm" title="Pluma plugins management. " alt="pluma::Pluma" shape="rect" coords="0,56,137,80"/>
57 <table class="memberdecls">
58 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
59 Public Member Functions</h2></td></tr>
60 <tr class="memitem:a4d7a0e1151b75300350834a59db5748b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a4d7a0e1151b75300350834a59db5748b">~PluginManager</a> ()</td></tr>
61 <tr class="memdesc:a4d7a0e1151b75300350834a59db5748b"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#a4d7a0e1151b75300350834a59db5748b">More...</a><br/></td></tr>
62 <tr class="separator:a4d7a0e1151b75300350834a59db5748b"><td class="memSeparator" colspan="2"> </td></tr>
63 <tr class="memitem:aa00400d23efa8a8f94e44dd1c5bf54e6"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#aa00400d23efa8a8f94e44dd1c5bf54e6">load</a> (const std::string &path)</td></tr>
64 <tr class="memdesc:aa00400d23efa8a8f94e44dd1c5bf54e6"><td class="mdescLeft"> </td><td class="mdescRight">Load a plugin given it's path. <a href="#aa00400d23efa8a8f94e44dd1c5bf54e6">More...</a><br/></td></tr>
65 <tr class="separator:aa00400d23efa8a8f94e44dd1c5bf54e6"><td class="memSeparator" colspan="2"> </td></tr>
66 <tr class="memitem:a866127044950094bb789260bc15a2874"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a866127044950094bb789260bc15a2874">load</a> (const std::string &folder, const std::string &pluginName)</td></tr>
67 <tr class="memdesc:a866127044950094bb789260bc15a2874"><td class="mdescLeft"> </td><td class="mdescRight">Load a plugin from a given folder. <a href="#a866127044950094bb789260bc15a2874">More...</a><br/></td></tr>
68 <tr class="separator:a866127044950094bb789260bc15a2874"><td class="memSeparator" colspan="2"> </td></tr>
69 <tr class="memitem:a4d892e345288c26dea091d62ee2b03eb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb">loadFromFolder</a> (const std::string &folder, bool recursive=false)</td></tr>
70 <tr class="memdesc:a4d892e345288c26dea091d62ee2b03eb"><td class="mdescLeft"> </td><td class="mdescRight">Load all plugins from a given folder. <a href="#a4d892e345288c26dea091d62ee2b03eb">More...</a><br/></td></tr>
71 <tr class="separator:a4d892e345288c26dea091d62ee2b03eb"><td class="memSeparator" colspan="2"> </td></tr>
72 <tr class="memitem:a52f6408d4cf95c6f36b518ab2d3a7745"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745">unload</a> (const std::string &pluginName)</td></tr>
73 <tr class="memdesc:a52f6408d4cf95c6f36b518ab2d3a7745"><td class="mdescLeft"> </td><td class="mdescRight">Unload a plugin. <a href="#a52f6408d4cf95c6f36b518ab2d3a7745">More...</a><br/></td></tr>
74 <tr class="separator:a52f6408d4cf95c6f36b518ab2d3a7745"><td class="memSeparator" colspan="2"> </td></tr>
75 <tr class="memitem:a697a20dc97957e0c2a5dad33f39d93db"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a697a20dc97957e0c2a5dad33f39d93db">unloadAll</a> ()</td></tr>
76 <tr class="memdesc:a697a20dc97957e0c2a5dad33f39d93db"><td class="mdescLeft"> </td><td class="mdescRight">Unload all loaded plugins. <a href="#a697a20dc97957e0c2a5dad33f39d93db">More...</a><br/></td></tr>
77 <tr class="separator:a697a20dc97957e0c2a5dad33f39d93db"><td class="memSeparator" colspan="2"> </td></tr>
78 <tr class="memitem:af27f8e89b8e29359495b6398464ebf02"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#af27f8e89b8e29359495b6398464ebf02">addProvider</a> (<a class="el" href="classpluma_1_1Provider.htm">Provider</a> *provider)</td></tr>
79 <tr class="memdesc:af27f8e89b8e29359495b6398464ebf02"><td class="mdescLeft"> </td><td class="mdescRight">Directly add a new provider. <a href="#af27f8e89b8e29359495b6398464ebf02">More...</a><br/></td></tr>
80 <tr class="separator:af27f8e89b8e29359495b6398464ebf02"><td class="memSeparator" colspan="2"> </td></tr>
81 <tr class="memitem:a187e60d3fe7524774c08eb58ebcb843f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a187e60d3fe7524774c08eb58ebcb843f">getLoadedPlugins</a> (std::vector< const std::string * > &pluginNames) const </td></tr>
82 <tr class="memdesc:a187e60d3fe7524774c08eb58ebcb843f"><td class="mdescLeft"> </td><td class="mdescRight">Get the name of all loaded plugins. <a href="#a187e60d3fe7524774c08eb58ebcb843f">More...</a><br/></td></tr>
83 <tr class="separator:a187e60d3fe7524774c08eb58ebcb843f"><td class="memSeparator" colspan="2"> </td></tr>
84 <tr class="memitem:adbd75738cd4d8969608c9da8b58a03c3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#adbd75738cd4d8969608c9da8b58a03c3">isLoaded</a> (const std::string &pluginName) const </td></tr>
85 <tr class="memdesc:adbd75738cd4d8969608c9da8b58a03c3"><td class="mdescLeft"> </td><td class="mdescRight">Check if a plug-in is loaded. <a href="#adbd75738cd4d8969608c9da8b58a03c3">More...</a><br/></td></tr>
86 <tr class="separator:adbd75738cd4d8969608c9da8b58a03c3"><td class="memSeparator" colspan="2"> </td></tr>
87 </table><table class="memberdecls">
88 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
89 Protected Member Functions</h2></td></tr>
90 <tr class="memitem:a8378a698812f8f079ff8aea7c1474d67"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a8378a698812f8f079ff8aea7c1474d67">PluginManager</a> ()</td></tr>
91 <tr class="memdesc:a8378a698812f8f079ff8aea7c1474d67"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#a8378a698812f8f079ff8aea7c1474d67">More...</a><br/></td></tr>
92 <tr class="separator:a8378a698812f8f079ff8aea7c1474d67"><td class="memSeparator" colspan="2"> </td></tr>
93 <tr class="memitem:ab70b5b6b719bdbd64c27ae2dcb12a64d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#ab70b5b6b719bdbd64c27ae2dcb12a64d">registerType</a> (const std::string &type, unsigned int version, unsigned int lowestVersion)</td></tr>
94 <tr class="memdesc:ab70b5b6b719bdbd64c27ae2dcb12a64d"><td class="mdescLeft"> </td><td class="mdescRight">Register a provider type. <a href="#ab70b5b6b719bdbd64c27ae2dcb12a64d">More...</a><br/></td></tr>
95 <tr class="separator:ab70b5b6b719bdbd64c27ae2dcb12a64d"><td class="memSeparator" colspan="2"> </td></tr>
96 <tr class="memitem:ad5eab1dcae10122fdfb8d94d7b391e9e"><td class="memItemLeft" align="right" valign="top">const std::list< <a class="el" href="classpluma_1_1Provider.htm">Provider</a> * > * </td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#ad5eab1dcae10122fdfb8d94d7b391e9e">getProviders</a> (const std::string &type) const </td></tr>
97 <tr class="memdesc:ad5eab1dcae10122fdfb8d94d7b391e9e"><td class="mdescLeft"> </td><td class="mdescRight">Get providers of a certain type. <a href="#ad5eab1dcae10122fdfb8d94d7b391e9e">More...</a><br/></td></tr>
98 <tr class="separator:ad5eab1dcae10122fdfb8d94d7b391e9e"><td class="memSeparator" colspan="2"> </td></tr>
100 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
101 <div class="textblock"><p>Manages loaded plugins. </p>
103 <p>Definition at line <a class="el" href="PluginManager_8hpp_source.htm#l00044">44</a> of file <a class="el" href="PluginManager_8hpp_source.htm">PluginManager.hpp</a>.</p>
104 </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
105 <a class="anchor" id="a4d7a0e1151b75300350834a59db5748b"></a>
106 <div class="memitem">
107 <div class="memproto">
108 <table class="memname">
110 <td class="memname">pluma::PluginManager::~PluginManager </td>
112 <td class="paramname"></td><td>)</td>
116 </div><div class="memdoc">
120 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00043">43</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
124 <a class="anchor" id="a8378a698812f8f079ff8aea7c1474d67"></a>
125 <div class="memitem">
126 <div class="memproto">
127 <table class="mlabels">
129 <td class="mlabels-left">
130 <table class="memname">
132 <td class="memname">pluma::PluginManager::PluginManager </td>
134 <td class="paramname"></td><td>)</td>
139 <td class="mlabels-right">
140 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
143 </div><div class="memdoc">
145 <p>Default constructor. </p>
146 <p><a class="el" href="classpluma_1_1PluginManager.htm" title="Manages loaded plugins. ">PluginManager</a> cannot be publicly instantiated. </p>
148 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00037">37</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
152 <h2 class="groupheader">Member Function Documentation</h2>
153 <a class="anchor" id="af27f8e89b8e29359495b6398464ebf02"></a>
154 <div class="memitem">
155 <div class="memproto">
156 <table class="memname">
158 <td class="memname">bool pluma::PluginManager::addProvider </td>
160 <td class="paramtype"><a class="el" href="classpluma_1_1Provider.htm">Provider</a> * </td>
161 <td class="paramname"><em>provider</em></td><td>)</td>
165 </div><div class="memdoc">
167 <p>Directly add a new provider. </p>
168 <dl class="params"><dt>Parameters</dt><dd>
169 <table class="params">
170 <tr><td class="paramname">provider</td><td><a class="el" href="classpluma_1_1Provider.htm" title="Interface to provide applications with objects from plugins. ">Provider</a>. </td></tr>
175 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00168">168</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
179 <a class="anchor" id="a187e60d3fe7524774c08eb58ebcb843f"></a>
180 <div class="memitem">
181 <div class="memproto">
182 <table class="memname">
184 <td class="memname">void pluma::PluginManager::getLoadedPlugins </td>
186 <td class="paramtype">std::vector< const std::string * > & </td>
187 <td class="paramname"><em>pluginNames</em></td><td>)</td>
191 </div><div class="memdoc">
193 <p>Get the name of all loaded plugins. </p>
194 <dl class="params"><dt>Parameters</dt><dd>
195 <table class="params">
196 <tr><td class="paramname">pluginNames</td><td>A vector to fill with the plugins names. </td></tr>
201 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00178">178</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
205 <a class="anchor" id="ad5eab1dcae10122fdfb8d94d7b391e9e"></a>
206 <div class="memitem">
207 <div class="memproto">
208 <table class="mlabels">
210 <td class="mlabels-left">
211 <table class="memname">
213 <td class="memname">const std::list< <a class="el" href="classpluma_1_1Provider.htm">Provider</a> * > * pluma::PluginManager::getProviders </td>
215 <td class="paramtype">const std::string & </td>
216 <td class="paramname"><em>type</em></td><td>)</td>
221 <td class="mlabels-right">
222 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
225 </div><div class="memdoc">
227 <p>Get providers of a certain type. </p>
228 <dl class="params"><dt>Parameters</dt><dd>
229 <table class="params">
230 <tr><td class="paramname">type</td><td><a class="el" href="classpluma_1_1Provider.htm" title="Interface to provide applications with objects from plugins. ">Provider</a> type.</td></tr>
234 <dl class="section return"><dt>Returns</dt><dd>Pointer to the list of providers of that <em>type</em>, or NULL if <em>type</em> is not registered.</dd></dl>
235 <dl class="section see"><dt>See Also</dt><dd>Host::getProviders </dd></dl>
237 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00194">194</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
241 <a class="anchor" id="adbd75738cd4d8969608c9da8b58a03c3"></a>
242 <div class="memitem">
243 <div class="memproto">
244 <table class="memname">
246 <td class="memname">bool pluma::PluginManager::isLoaded </td>
248 <td class="paramtype">const std::string & </td>
249 <td class="paramname"><em>pluginName</em></td><td>)</td>
253 </div><div class="memdoc">
255 <p>Check if a plug-in is loaded. </p>
256 <dl class="params"><dt>Parameters</dt><dd>
257 <table class="params">
258 <tr><td class="paramname">pluginName</td><td>the plug-in tname o check. </td></tr>
263 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00188">188</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
267 <a class="anchor" id="aa00400d23efa8a8f94e44dd1c5bf54e6"></a>
268 <div class="memitem">
269 <div class="memproto">
270 <table class="memname">
272 <td class="memname">bool pluma::PluginManager::load </td>
274 <td class="paramtype">const std::string & </td>
275 <td class="paramname"><em>path</em></td><td>)</td>
279 </div><div class="memdoc">
281 <p>Load a plugin given it's path. </p>
282 <dl class="params"><dt>Parameters</dt><dd>
283 <table class="params">
284 <tr><td class="paramname">path</td><td>Path for the plugin, including plugin name. File extension may be included, but is discouraged for better cross platform code. If file extension isn't present on the path, <a class="el" href="classpluma_1_1Pluma.htm" title="Pluma plugins management. ">Pluma</a> will deduce it from the operating system.</td></tr>
288 <dl class="section return"><dt>Returns</dt><dd>True if the plugin is successfully loaded.</dd></dl>
289 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classpluma_1_1PluginManager.htm#a866127044950094bb789260bc15a2874" title="Load a plugin from a given folder. ">load(const std::string&, const std::string&)</a> </dd>
291 <a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb" title="Load all plugins from a given folder. ">loadFromFolder</a> </dd>
293 <a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745" title="Unload a plugin. ">unload</a> </dd>
295 <a class="el" href="classpluma_1_1PluginManager.htm#a697a20dc97957e0c2a5dad33f39d93db" title="Unload all loaded plugins. ">unloadAll</a> </dd></dl>
297 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00049">49</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
301 <a class="anchor" id="a866127044950094bb789260bc15a2874"></a>
302 <div class="memitem">
303 <div class="memproto">
304 <table class="memname">
306 <td class="memname">bool pluma::PluginManager::load </td>
308 <td class="paramtype">const std::string & </td>
309 <td class="paramname"><em>folder</em>, </td>
312 <td class="paramkey"></td>
314 <td class="paramtype">const std::string & </td>
315 <td class="paramname"><em>pluginName</em> </td>
323 </div><div class="memdoc">
325 <p>Load a plugin from a given folder. </p>
326 <dl class="params"><dt>Parameters</dt><dd>
327 <table class="params">
328 <tr><td class="paramname">folder</td><td>The folder path. </td></tr>
329 <tr><td class="paramname">pluginName</td><td>Name of the plugin. File extension may be included, but is discouraged for better cross platform code. If file extension is omitted, <a class="el" href="classpluma_1_1Pluma.htm" title="Pluma plugins management. ">Pluma</a> will deduce it from the operating system.</td></tr>
333 <dl class="section return"><dt>Returns</dt><dd>True if the plugin is successfully loaded.</dd></dl>
334 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classpluma_1_1PluginManager.htm#aa00400d23efa8a8f94e44dd1c5bf54e6" title="Load a plugin given it's path. ">load(const std::string&)</a> </dd>
336 <a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb" title="Load all plugins from a given folder. ">loadFromFolder</a> </dd>
338 <a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745" title="Unload a plugin. ">unload</a> </dd>
340 <a class="el" href="classpluma_1_1PluginManager.htm#a697a20dc97957e0c2a5dad33f39d93db" title="Unload all loaded plugins. ">unloadAll</a> </dd></dl>
342 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00085">85</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
346 <a class="anchor" id="a4d892e345288c26dea091d62ee2b03eb"></a>
347 <div class="memitem">
348 <div class="memproto">
349 <table class="memname">
351 <td class="memname">int pluma::PluginManager::loadFromFolder </td>
353 <td class="paramtype">const std::string & </td>
354 <td class="paramname"><em>folder</em>, </td>
357 <td class="paramkey"></td>
359 <td class="paramtype">bool </td>
360 <td class="paramname"><em>recursive</em> = <code>false</code> </td>
368 </div><div class="memdoc">
370 <p>Load all plugins from a given folder. </p>
371 <dl class="params"><dt>Parameters</dt><dd>
372 <table class="params">
373 <tr><td class="paramname">folder</td><td>Path for the folder where the plug-ins are. </td></tr>
374 <tr><td class="paramname">recursive</td><td>If true it will search on sub-folders as well</td></tr>
378 <dl class="section return"><dt>Returns</dt><dd>Number of successfully loaded plug-ins.</dd></dl>
379 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classpluma_1_1PluginManager.htm#a866127044950094bb789260bc15a2874" title="Load a plugin from a given folder. ">load(const std::string&, const std::string&)</a> </dd>
381 <a class="el" href="classpluma_1_1PluginManager.htm#aa00400d23efa8a8f94e44dd1c5bf54e6" title="Load a plugin given it's path. ">load(const std::string&)</a> </dd>
383 <a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745" title="Unload a plugin. ">unload</a> </dd>
385 <a class="el" href="classpluma_1_1PluginManager.htm#a697a20dc97957e0c2a5dad33f39d93db" title="Unload all loaded plugins. ">unloadAll</a> </dd></dl>
387 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00095">95</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
391 <a class="anchor" id="ab70b5b6b719bdbd64c27ae2dcb12a64d"></a>
392 <div class="memitem">
393 <div class="memproto">
394 <table class="mlabels">
396 <td class="mlabels-left">
397 <table class="memname">
399 <td class="memname">void pluma::PluginManager::registerType </td>
401 <td class="paramtype">const std::string & </td>
402 <td class="paramname"><em>type</em>, </td>
405 <td class="paramkey"></td>
407 <td class="paramtype">unsigned int </td>
408 <td class="paramname"><em>version</em>, </td>
411 <td class="paramkey"></td>
413 <td class="paramtype">unsigned int </td>
414 <td class="paramname"><em>lowestVersion</em> </td>
423 <td class="mlabels-right">
424 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
427 </div><div class="memdoc">
429 <p>Register a provider type. </p>
430 <dl class="params"><dt>Parameters</dt><dd>
431 <table class="params">
432 <tr><td class="paramname">type</td><td><a class="el" href="classpluma_1_1Provider.htm" title="Interface to provide applications with objects from plugins. ">Provider</a> type. </td></tr>
433 <tr><td class="paramname">version</td><td>Current version of that provider type. </td></tr>
434 <tr><td class="paramname">lowestVersion</td><td>Lowest compatible version of that provider type.</td></tr>
438 <dl class="section see"><dt>See Also</dt><dd>Host::registerType </dd></dl>
440 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00162">162</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
444 <a class="anchor" id="a52f6408d4cf95c6f36b518ab2d3a7745"></a>
445 <div class="memitem">
446 <div class="memproto">
447 <table class="memname">
449 <td class="memname">bool pluma::PluginManager::unload </td>
451 <td class="paramtype">const std::string & </td>
452 <td class="paramname"><em>pluginName</em></td><td>)</td>
456 </div><div class="memdoc">
458 <p>Unload a plugin. </p>
459 <dl class="params"><dt>Parameters</dt><dd>
460 <table class="params">
461 <tr><td class="paramname">pluginName</td><td>Name or path of the plugin.</td></tr>
465 <dl class="section return"><dt>Returns</dt><dd>True if the plugin is successfully unloaded, false if no such plugin exists on the manager.</dd></dl>
466 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classpluma_1_1PluginManager.htm#a866127044950094bb789260bc15a2874" title="Load a plugin from a given folder. ">load(const std::string&, const std::string&)</a> </dd>
468 <a class="el" href="classpluma_1_1PluginManager.htm#aa00400d23efa8a8f94e44dd1c5bf54e6" title="Load a plugin given it's path. ">load(const std::string&)</a> </dd>
470 <a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb" title="Load all plugins from a given folder. ">loadFromFolder</a> </dd>
472 <a class="el" href="classpluma_1_1PluginManager.htm#a697a20dc97957e0c2a5dad33f39d93db" title="Unload all loaded plugins. ">unloadAll</a> </dd></dl>
474 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00109">109</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
478 <a class="anchor" id="a697a20dc97957e0c2a5dad33f39d93db"></a>
479 <div class="memitem">
480 <div class="memproto">
481 <table class="memname">
483 <td class="memname">void pluma::PluginManager::unloadAll </td>
485 <td class="paramname"></td><td>)</td>
489 </div><div class="memdoc">
491 <p>Unload all loaded plugins. </p>
492 <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classpluma_1_1PluginManager.htm#a866127044950094bb789260bc15a2874" title="Load a plugin from a given folder. ">load(const std::string&, const std::string&)</a> </dd>
494 <a class="el" href="classpluma_1_1PluginManager.htm#aa00400d23efa8a8f94e44dd1c5bf54e6" title="Load a plugin given it's path. ">load(const std::string&)</a> </dd>
496 <a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb" title="Load all plugins from a given folder. ">loadFromFolder</a> </dd>
498 <a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745" title="Unload a plugin. ">unload</a> </dd></dl>
500 <p>Definition at line <a class="el" href="PluginManager_8cpp_source.htm#l00122">122</a> of file <a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a>.</p>
504 <hr/>The documentation for this class was generated from the following files:<ul>
505 <li><a class="el" href="PluginManager_8hpp_source.htm">PluginManager.hpp</a></li>
506 <li><a class="el" href="PluginManager_8cpp_source.htm">PluginManager.cpp</a></li>
508 </div><!-- contents -->
511 :: Copyright © 2011 Gil Costa, all rights reserved ::
512 Documentation generated by <a href="http://www.doxygen.org/" title="doxygen website">doxygen 1.7.4</a> ::