Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
Dokumentace třídy Httpd::PluginStore

Seznam načtených pluginů ...

#include <pluginstore.h>

Diagram dědičnosti pro třídu Httpd::PluginStore:

Veřejné metody

QList< PluginInterface * > plugins () const
 
QStringList pluginNames () const
 

Statické veřejné metody

static PluginStorepluginStore (QObject *parent=NULL)
 

Privátní sloty

void init ()
 

Privátní metody

 PluginStore (QObject *)
 

Privátní atributy

QList< PluginInterface * > m_plugins
 

Statické privátní atributy

static PluginStorem_pluginStore = NULL
 

Detailní popis

Seznam načtených pluginů

Definice je uvedena na řádku 22 v souboru pluginstore.h.

Dokumentace konstruktoru a destruktoru

◆ PluginStore()

PluginStore::PluginStore ( QObject * parent)
private

Definice je uvedena na řádku 13 v souboru pluginstore.cpp.

13 : QObject(parent) {
14 m_pluginStore = this;
15 QTimer::singleShot(100, this, SLOT(init()));
16}

Dokumentace členských funkcí

◆ init

void PluginStore::init ( )
privateslot

Definice je uvedena na řádku 30 v souboru pluginstore.cpp.

30 {
31 QStringList plugins;
32 QStringList plugindirs;
33 plugindirs << QCoreApplication::applicationDirPath()+"/plugins";
34 plugindirs << "/usr/lib/fotomonserver/plugins";
35 for (int i=0; i<plugindirs.size(); i++) {
36 QDir dir(plugindirs[i]);
37 PDEBUG << "path:" << dir.absolutePath();
38 QStringList files = dir.entryList(QStringList() << "lib*.so", QDir::Files);
39 for (int f=0; f<files.size(); f++) {
40 plugins << dir.absolutePath()+"/"+files[f];
41 }
42 }
43
44 for (int i=0; i<plugins.size(); i++) {
45 const QString& filename = plugins[i];
46 QPluginLoader *loader = new QPluginLoader(this);
47 loader->setFileName(filename);
48
49 if (!loader->load()) {
50 PDEBUG << filename << loader->errorString();
51 return;
52 }
53 QObject *x = loader->instance();
54 if (x == NULL) {
55 PDEBUG << "Loader instance() == NULL" << filename;
56 return;
57 }
58 PluginInterface *plugin = qobject_cast<PluginInterface *>(x);
59 if (plugin == NULL) {
60 PDEBUG << "plugin == NULL" << filename;
61 return;
62 }
63 m_plugins << plugin;
64
65 PDEBUG << "Loaded" << plugin->description();
66 }
67
68}
Interface pro pluginy serveru.

◆ pluginNames()

QStringList PluginStore::pluginNames ( ) const

Definice je uvedena na řádku 71 v souboru pluginstore.cpp.

71 {
72 QStringList names;
73 for (int i=0; i<m_plugins.size(); i++) {
74 names << m_plugins[i]->description();
75 }
76 return names;
77}

◆ plugins()

QList< PluginInterface * > Httpd::PluginStore::plugins ( ) const
inline

Definice je uvedena na řádku 27 v souboru pluginstore.h.

27{ return m_plugins; }

◆ pluginStore()

PluginStore * PluginStore::pluginStore ( QObject * parent = NULL)
static

Definice je uvedena na řádku 19 v souboru pluginstore.cpp.

19 {
20 if (m_pluginStore == NULL) {
21 if (parent == NULL) {
22 qFatal("PluginStore::pluginStore(NULL)");
23 }
24 new PluginStore(parent);
25 }
26 return m_pluginStore;
27}
Seznam načtených pluginů
Definition pluginstore.h:22

Dokumentace datových členů

◆ m_plugins

QList<PluginInterface *> Httpd::PluginStore::m_plugins
private

Definice je uvedena na řádku 37 v souboru pluginstore.h.

◆ m_pluginStore

PluginStore * PluginStore::m_pluginStore = NULL
staticprivate

Definice je uvedena na řádku 35 v souboru pluginstore.h.


Dokumentace pro tuto třídu byla vygenerována z následujících souborů: