plugin_provider.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2011, Dirk Thomas, TU Darmstadt
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * * Redistributions in binary form must reproduce the above
12  * copyright notice, this list of conditions and the following
13  * disclaimer in the documentation and/or other materials provided
14  * with the distribution.
15  * * Neither the name of the TU Darmstadt nor the names of its
16  * contributors may be used to endorse or promote products derived
17  * from this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23  * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
25  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30  * POSSIBILITY OF SUCH DAMAGE.
31  */
32 
34 
35 namespace qt_gui_cpp {
36 
38 {}
39 
41 {}
42 
43 QMap<QString, QString> PluginProvider::discover(QObject* discovery_data)
44 {
45  QMap<QString, QString> plugins;
46  QList<PluginDescriptor*> descriptors = discover_descriptors(discovery_data);
47  for (QList<PluginDescriptor*>::iterator it = descriptors.begin(); it != descriptors.end(); it++)
48  {
49  // extract plugin descriptor dictionary
50  PluginDescriptor* descriptor = *it;
51  QMap<QString, QString> plugin = descriptor->toDictionary();
52  plugins.unite(plugin);
53  delete descriptor;
54  }
55  return plugins;
56 }
57 
58 QList<PluginDescriptor*> PluginProvider::discover_descriptors(QObject* discovery_data)
59 {
60  return QList<PluginDescriptor*>();
61 }
62 
63 void* PluginProvider::load(const QString& plugin_id, PluginContext* plugin_context)
64 {
65  return load_plugin(plugin_id, plugin_context);
66 }
67 
68 Plugin* PluginProvider::load_plugin(const QString& plugin_id, PluginContext* plugin_context)
69 {
70  return 0;
71 }
72 
73 void PluginProvider::unload(void* plugin_instance)
74 {}
75 
76 void PluginProvider::unload_plugin(Plugin* plugin_instance)
77 {
78  unload(plugin_instance);
79 }
80 
82 {}
83 
84 } // namespace
virtual void unload(void *plugin_instance)
virtual QList< PluginDescriptor * > discover_descriptors(QObject *discovery_data)
virtual QMap< QString, QString > discover(QObject *discovery_data)
virtual void * load(const QString &plugin_id, PluginContext *plugin_context)
virtual Plugin * load_plugin(const QString &plugin_id, PluginContext *plugin_context)
QMap< QString, QString > toDictionary() const
virtual void unload_plugin(Plugin *plugin_instance)


qt_gui_cpp
Author(s): Dirk Thomas
autogenerated on Thu Jun 6 2019 19:54:30