]> Creatis software - cpPlugins.git/blob - doc/third_party/Pluma/html/classpluma_1_1PluginManager.htm
eec4670f332b25111d2295de0829b7fe08bce076
[cpPlugins.git] / doc / third_party / Pluma / html / classpluma_1_1PluginManager.htm
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html>
3     <head>
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" />
8     </head>
9     <body>
10         <div id="logo">
11             <img src="./logo.png" title="Pluma home" alt="Pluma logo" />
12         </div>
13 <!-- Generated by Doxygen 1.8.6 -->
14   <div id="navrow1" class="tabs">
15     <ul class="tablist">
16       <li><a href="index.htm"><span>Main&#160;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>
19     </ul>
20   </div>
21   <div id="navrow2" class="tabs2">
22     <ul class="tablist">
23       <li><a href="annotated.htm"><span>Class&#160;List</span></a></li>
24       <li><a href="classes.htm"><span>Class&#160;Index</span></a></li>
25       <li><a href="hierarchy.htm"><span>Class&#160;Hierarchy</span></a></li>
26       <li><a href="functions.htm"><span>Class&#160;Members</span></a></li>
27     </ul>
28   </div>
29 <div id="nav-path" class="navpath">
30   <ul>
31 <li class="navelem"><b>pluma</b></li><li class="navelem"><a class="el" href="classpluma_1_1PluginManager.htm">PluginManager</a></li>  </ul>
32 </div>
33 </div><!-- top -->
34 <div class="header">
35   <div class="summary">
36 <a href="#pub-methods">Public Member Functions</a> &#124;
37 <a href="#pro-methods">Protected Member Functions</a> &#124;
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>
41 </div><!--header-->
42 <div class="contents">
43
44 <p>Manages loaded plugins.  
45  <a href="classpluma_1_1PluginManager.htm#details">More...</a></p>
46
47 <p><code>#include &lt;<a class="el" href="PluginManager_8hpp_source.htm">PluginManager.hpp</a>&gt;</code></p>
48 <div class="dynheader">
49 Inheritance diagram for pluma::PluginManager:</div>
50 <div class="dyncontent">
51  <div class="center">
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"/>
55 </map>
56  </div></div>
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">&#160;</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">&#160;</td><td class="mdescRight">Destructor.  <a href="#a4d7a0e1151b75300350834a59db5748b">More...</a><br/></td></tr>
62 <tr class="separator:a4d7a0e1151b75300350834a59db5748b"><td class="memSeparator" colspan="2">&#160;</td></tr>
63 <tr class="memitem:aa00400d23efa8a8f94e44dd1c5bf54e6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#aa00400d23efa8a8f94e44dd1c5bf54e6">load</a> (const std::string &amp;path)</td></tr>
64 <tr class="memdesc:aa00400d23efa8a8f94e44dd1c5bf54e6"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
66 <tr class="memitem:a866127044950094bb789260bc15a2874"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a866127044950094bb789260bc15a2874">load</a> (const std::string &amp;folder, const std::string &amp;pluginName)</td></tr>
67 <tr class="memdesc:a866127044950094bb789260bc15a2874"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
69 <tr class="memitem:a4d892e345288c26dea091d62ee2b03eb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb">loadFromFolder</a> (const std::string &amp;folder, bool recursive=false)</td></tr>
70 <tr class="memdesc:a4d892e345288c26dea091d62ee2b03eb"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
72 <tr class="memitem:a52f6408d4cf95c6f36b518ab2d3a7745"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745">unload</a> (const std::string &amp;pluginName)</td></tr>
73 <tr class="memdesc:a52f6408d4cf95c6f36b518ab2d3a7745"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
75 <tr class="memitem:a697a20dc97957e0c2a5dad33f39d93db"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</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">&#160;</td></tr>
78 <tr class="memitem:af27f8e89b8e29359495b6398464ebf02"><td class="memItemLeft" align="right" valign="top">bool&#160;</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">&#160;</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">&#160;</td></tr>
81 <tr class="memitem:a187e60d3fe7524774c08eb58ebcb843f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#a187e60d3fe7524774c08eb58ebcb843f">getLoadedPlugins</a> (std::vector&lt; const std::string * &gt; &amp;pluginNames) const </td></tr>
82 <tr class="memdesc:a187e60d3fe7524774c08eb58ebcb843f"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
84 <tr class="memitem:adbd75738cd4d8969608c9da8b58a03c3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#adbd75738cd4d8969608c9da8b58a03c3">isLoaded</a> (const std::string &amp;pluginName) const </td></tr>
85 <tr class="memdesc:adbd75738cd4d8969608c9da8b58a03c3"><td class="mdescLeft">&#160;</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">&#160;</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">&#160;</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">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a8378a698812f8f079ff8aea7c1474d67">More...</a><br/></td></tr>
92 <tr class="separator:a8378a698812f8f079ff8aea7c1474d67"><td class="memSeparator" colspan="2">&#160;</td></tr>
93 <tr class="memitem:ab70b5b6b719bdbd64c27ae2dcb12a64d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#ab70b5b6b719bdbd64c27ae2dcb12a64d">registerType</a> (const std::string &amp;type, unsigned int version, unsigned int lowestVersion)</td></tr>
94 <tr class="memdesc:ab70b5b6b719bdbd64c27ae2dcb12a64d"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
96 <tr class="memitem:ad5eab1dcae10122fdfb8d94d7b391e9e"><td class="memItemLeft" align="right" valign="top">const std::list&lt; <a class="el" href="classpluma_1_1Provider.htm">Provider</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpluma_1_1PluginManager.htm#ad5eab1dcae10122fdfb8d94d7b391e9e">getProviders</a> (const std::string &amp;type) const </td></tr>
97 <tr class="memdesc:ad5eab1dcae10122fdfb8d94d7b391e9e"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
99 </table>
100 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
101 <div class="textblock"><p>Manages loaded plugins. </p>
102
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 &amp; Destructor Documentation</h2>
105 <a class="anchor" id="a4d7a0e1151b75300350834a59db5748b"></a>
106 <div class="memitem">
107 <div class="memproto">
108       <table class="memname">
109         <tr>
110           <td class="memname">pluma::PluginManager::~PluginManager </td>
111           <td>(</td>
112           <td class="paramname"></td><td>)</td>
113           <td></td>
114         </tr>
115       </table>
116 </div><div class="memdoc">
117
118 <p>Destructor. </p>
119
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>
121
122 </div>
123 </div>
124 <a class="anchor" id="a8378a698812f8f079ff8aea7c1474d67"></a>
125 <div class="memitem">
126 <div class="memproto">
127 <table class="mlabels">
128   <tr>
129   <td class="mlabels-left">
130       <table class="memname">
131         <tr>
132           <td class="memname">pluma::PluginManager::PluginManager </td>
133           <td>(</td>
134           <td class="paramname"></td><td>)</td>
135           <td></td>
136         </tr>
137       </table>
138   </td>
139   <td class="mlabels-right">
140 <span class="mlabels"><span class="mlabel">protected</span></span>  </td>
141   </tr>
142 </table>
143 </div><div class="memdoc">
144
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>
147
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>
149
150 </div>
151 </div>
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">
157         <tr>
158           <td class="memname">bool pluma::PluginManager::addProvider </td>
159           <td>(</td>
160           <td class="paramtype"><a class="el" href="classpluma_1_1Provider.htm">Provider</a> *&#160;</td>
161           <td class="paramname"><em>provider</em></td><td>)</td>
162           <td></td>
163         </tr>
164       </table>
165 </div><div class="memdoc">
166
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>
171   </table>
172   </dd>
173 </dl>
174
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>
176
177 </div>
178 </div>
179 <a class="anchor" id="a187e60d3fe7524774c08eb58ebcb843f"></a>
180 <div class="memitem">
181 <div class="memproto">
182       <table class="memname">
183         <tr>
184           <td class="memname">void pluma::PluginManager::getLoadedPlugins </td>
185           <td>(</td>
186           <td class="paramtype">std::vector&lt; const std::string * &gt; &amp;&#160;</td>
187           <td class="paramname"><em>pluginNames</em></td><td>)</td>
188           <td> const</td>
189         </tr>
190       </table>
191 </div><div class="memdoc">
192
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>
197   </table>
198   </dd>
199 </dl>
200
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>
202
203 </div>
204 </div>
205 <a class="anchor" id="ad5eab1dcae10122fdfb8d94d7b391e9e"></a>
206 <div class="memitem">
207 <div class="memproto">
208 <table class="mlabels">
209   <tr>
210   <td class="mlabels-left">
211       <table class="memname">
212         <tr>
213           <td class="memname">const std::list&lt; <a class="el" href="classpluma_1_1Provider.htm">Provider</a> * &gt; * pluma::PluginManager::getProviders </td>
214           <td>(</td>
215           <td class="paramtype">const std::string &amp;&#160;</td>
216           <td class="paramname"><em>type</em></td><td>)</td>
217           <td> const</td>
218         </tr>
219       </table>
220   </td>
221   <td class="mlabels-right">
222 <span class="mlabels"><span class="mlabel">protected</span></span>  </td>
223   </tr>
224 </table>
225 </div><div class="memdoc">
226
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>
231   </table>
232   </dd>
233 </dl>
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>
236
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>
238
239 </div>
240 </div>
241 <a class="anchor" id="adbd75738cd4d8969608c9da8b58a03c3"></a>
242 <div class="memitem">
243 <div class="memproto">
244       <table class="memname">
245         <tr>
246           <td class="memname">bool pluma::PluginManager::isLoaded </td>
247           <td>(</td>
248           <td class="paramtype">const std::string &amp;&#160;</td>
249           <td class="paramname"><em>pluginName</em></td><td>)</td>
250           <td> const</td>
251         </tr>
252       </table>
253 </div><div class="memdoc">
254
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>
259   </table>
260   </dd>
261 </dl>
262
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>
264
265 </div>
266 </div>
267 <a class="anchor" id="aa00400d23efa8a8f94e44dd1c5bf54e6"></a>
268 <div class="memitem">
269 <div class="memproto">
270       <table class="memname">
271         <tr>
272           <td class="memname">bool pluma::PluginManager::load </td>
273           <td>(</td>
274           <td class="paramtype">const std::string &amp;&#160;</td>
275           <td class="paramname"><em>path</em></td><td>)</td>
276           <td></td>
277         </tr>
278       </table>
279 </div><div class="memdoc">
280
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>
285   </table>
286   </dd>
287 </dl>
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&amp;, const std::string&amp;)</a> </dd>
290 <dd>
291 <a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb" title="Load all plugins from a given folder. ">loadFromFolder</a> </dd>
292 <dd>
293 <a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745" title="Unload a plugin. ">unload</a> </dd>
294 <dd>
295 <a class="el" href="classpluma_1_1PluginManager.htm#a697a20dc97957e0c2a5dad33f39d93db" title="Unload all loaded plugins. ">unloadAll</a> </dd></dl>
296
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>
298
299 </div>
300 </div>
301 <a class="anchor" id="a866127044950094bb789260bc15a2874"></a>
302 <div class="memitem">
303 <div class="memproto">
304       <table class="memname">
305         <tr>
306           <td class="memname">bool pluma::PluginManager::load </td>
307           <td>(</td>
308           <td class="paramtype">const std::string &amp;&#160;</td>
309           <td class="paramname"><em>folder</em>, </td>
310         </tr>
311         <tr>
312           <td class="paramkey"></td>
313           <td></td>
314           <td class="paramtype">const std::string &amp;&#160;</td>
315           <td class="paramname"><em>pluginName</em>&#160;</td>
316         </tr>
317         <tr>
318           <td></td>
319           <td>)</td>
320           <td></td><td></td>
321         </tr>
322       </table>
323 </div><div class="memdoc">
324
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>
330   </table>
331   </dd>
332 </dl>
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&#39;s path. ">load(const std::string&amp;)</a> </dd>
335 <dd>
336 <a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb" title="Load all plugins from a given folder. ">loadFromFolder</a> </dd>
337 <dd>
338 <a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745" title="Unload a plugin. ">unload</a> </dd>
339 <dd>
340 <a class="el" href="classpluma_1_1PluginManager.htm#a697a20dc97957e0c2a5dad33f39d93db" title="Unload all loaded plugins. ">unloadAll</a> </dd></dl>
341
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>
343
344 </div>
345 </div>
346 <a class="anchor" id="a4d892e345288c26dea091d62ee2b03eb"></a>
347 <div class="memitem">
348 <div class="memproto">
349       <table class="memname">
350         <tr>
351           <td class="memname">int pluma::PluginManager::loadFromFolder </td>
352           <td>(</td>
353           <td class="paramtype">const std::string &amp;&#160;</td>
354           <td class="paramname"><em>folder</em>, </td>
355         </tr>
356         <tr>
357           <td class="paramkey"></td>
358           <td></td>
359           <td class="paramtype">bool&#160;</td>
360           <td class="paramname"><em>recursive</em> = <code>false</code>&#160;</td>
361         </tr>
362         <tr>
363           <td></td>
364           <td>)</td>
365           <td></td><td></td>
366         </tr>
367       </table>
368 </div><div class="memdoc">
369
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>
375   </table>
376   </dd>
377 </dl>
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&amp;, const std::string&amp;)</a> </dd>
380 <dd>
381 <a class="el" href="classpluma_1_1PluginManager.htm#aa00400d23efa8a8f94e44dd1c5bf54e6" title="Load a plugin given it&#39;s path. ">load(const std::string&amp;)</a> </dd>
382 <dd>
383 <a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745" title="Unload a plugin. ">unload</a> </dd>
384 <dd>
385 <a class="el" href="classpluma_1_1PluginManager.htm#a697a20dc97957e0c2a5dad33f39d93db" title="Unload all loaded plugins. ">unloadAll</a> </dd></dl>
386
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>
388
389 </div>
390 </div>
391 <a class="anchor" id="ab70b5b6b719bdbd64c27ae2dcb12a64d"></a>
392 <div class="memitem">
393 <div class="memproto">
394 <table class="mlabels">
395   <tr>
396   <td class="mlabels-left">
397       <table class="memname">
398         <tr>
399           <td class="memname">void pluma::PluginManager::registerType </td>
400           <td>(</td>
401           <td class="paramtype">const std::string &amp;&#160;</td>
402           <td class="paramname"><em>type</em>, </td>
403         </tr>
404         <tr>
405           <td class="paramkey"></td>
406           <td></td>
407           <td class="paramtype">unsigned int&#160;</td>
408           <td class="paramname"><em>version</em>, </td>
409         </tr>
410         <tr>
411           <td class="paramkey"></td>
412           <td></td>
413           <td class="paramtype">unsigned int&#160;</td>
414           <td class="paramname"><em>lowestVersion</em>&#160;</td>
415         </tr>
416         <tr>
417           <td></td>
418           <td>)</td>
419           <td></td><td></td>
420         </tr>
421       </table>
422   </td>
423   <td class="mlabels-right">
424 <span class="mlabels"><span class="mlabel">protected</span></span>  </td>
425   </tr>
426 </table>
427 </div><div class="memdoc">
428
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>
435   </table>
436   </dd>
437 </dl>
438 <dl class="section see"><dt>See Also</dt><dd>Host::registerType </dd></dl>
439
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>
441
442 </div>
443 </div>
444 <a class="anchor" id="a52f6408d4cf95c6f36b518ab2d3a7745"></a>
445 <div class="memitem">
446 <div class="memproto">
447       <table class="memname">
448         <tr>
449           <td class="memname">bool pluma::PluginManager::unload </td>
450           <td>(</td>
451           <td class="paramtype">const std::string &amp;&#160;</td>
452           <td class="paramname"><em>pluginName</em></td><td>)</td>
453           <td></td>
454         </tr>
455       </table>
456 </div><div class="memdoc">
457
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>
462   </table>
463   </dd>
464 </dl>
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&amp;, const std::string&amp;)</a> </dd>
467 <dd>
468 <a class="el" href="classpluma_1_1PluginManager.htm#aa00400d23efa8a8f94e44dd1c5bf54e6" title="Load a plugin given it&#39;s path. ">load(const std::string&amp;)</a> </dd>
469 <dd>
470 <a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb" title="Load all plugins from a given folder. ">loadFromFolder</a> </dd>
471 <dd>
472 <a class="el" href="classpluma_1_1PluginManager.htm#a697a20dc97957e0c2a5dad33f39d93db" title="Unload all loaded plugins. ">unloadAll</a> </dd></dl>
473
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>
475
476 </div>
477 </div>
478 <a class="anchor" id="a697a20dc97957e0c2a5dad33f39d93db"></a>
479 <div class="memitem">
480 <div class="memproto">
481       <table class="memname">
482         <tr>
483           <td class="memname">void pluma::PluginManager::unloadAll </td>
484           <td>(</td>
485           <td class="paramname"></td><td>)</td>
486           <td></td>
487         </tr>
488       </table>
489 </div><div class="memdoc">
490
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&amp;, const std::string&amp;)</a> </dd>
493 <dd>
494 <a class="el" href="classpluma_1_1PluginManager.htm#aa00400d23efa8a8f94e44dd1c5bf54e6" title="Load a plugin given it&#39;s path. ">load(const std::string&amp;)</a> </dd>
495 <dd>
496 <a class="el" href="classpluma_1_1PluginManager.htm#a4d892e345288c26dea091d62ee2b03eb" title="Load all plugins from a given folder. ">loadFromFolder</a> </dd>
497 <dd>
498 <a class="el" href="classpluma_1_1PluginManager.htm#a52f6408d4cf95c6f36b518ab2d3a7745" title="Unload a plugin. ">unload</a> </dd></dl>
499
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>
501
502 </div>
503 </div>
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>
507 </ul>
508 </div><!-- contents -->
509
510         <p id="footer">
511             &nbsp;::&nbsp; Copyright &copy; 2011 Gil Costa, all rights reserved &nbsp;::&nbsp;
512             Documentation generated by <a href="http://www.doxygen.org/" title="doxygen website">doxygen 1.7.4</a> &nbsp;::&nbsp;
513         </p>
514     </body>
515 </html>