equal
deleted
inserted
replaced
36 /*! |
36 /*! |
37 |
37 |
38 */ |
38 */ |
39 NmDataPluginFactory::NmDataPluginFactory() |
39 NmDataPluginFactory::NmDataPluginFactory() |
40 { |
40 { |
41 |
41 NM_FUNCTION; |
42 } |
42 } |
43 |
43 |
44 /*! |
44 /*! |
45 |
45 |
46 */ |
46 */ |
47 NmDataPluginFactory::~NmDataPluginFactory() |
47 NmDataPluginFactory::~NmDataPluginFactory() |
48 { |
48 { |
|
49 NM_FUNCTION; |
|
50 |
49 if (mPluginArray) { |
51 if (mPluginArray) { |
50 qDeleteAll(mPluginArray->begin(), mPluginArray->end()); |
52 qDeleteAll(mPluginArray->begin(), mPluginArray->end()); |
51 mPluginArray->clear(); |
53 mPluginArray->clear(); |
52 delete mPluginArray; |
54 delete mPluginArray; |
53 mPluginArray = NULL; |
55 mPluginArray = NULL; |
60 /*! |
62 /*! |
61 |
63 |
62 */ |
64 */ |
63 NmDataPluginFactory *NmDataPluginFactory::instance() |
65 NmDataPluginFactory *NmDataPluginFactory::instance() |
64 { |
66 { |
|
67 NM_FUNCTION; |
|
68 |
65 if (!mInstance) { |
69 if (!mInstance) { |
66 mInstance = new NmDataPluginFactory(); |
70 mInstance = new NmDataPluginFactory(); |
67 } |
71 } |
68 mReferenceCount++; |
72 mReferenceCount++; |
69 return mInstance; |
73 return mInstance; |
72 /*! |
76 /*! |
73 |
77 |
74 */ |
78 */ |
75 void NmDataPluginFactory::releaseInstance(NmDataPluginFactory *&instance) |
79 void NmDataPluginFactory::releaseInstance(NmDataPluginFactory *&instance) |
76 { |
80 { |
|
81 NM_FUNCTION; |
|
82 |
77 //can't have passed out instances if we don't have any |
83 //can't have passed out instances if we don't have any |
78 if (mInstance) { |
84 if (mInstance) { |
79 if (instance == mInstance) { |
85 if (instance == mInstance) { |
80 instance = NULL; |
86 instance = NULL; |
81 mReferenceCount--; |
87 mReferenceCount--; |
90 /*! |
96 /*! |
91 |
97 |
92 */ |
98 */ |
93 NmDataPluginInterface *NmDataPluginFactory::interfaceInstance(QObject *plugin) |
99 NmDataPluginInterface *NmDataPluginFactory::interfaceInstance(QObject *plugin) |
94 { |
100 { |
|
101 NM_FUNCTION; |
|
102 |
95 NmDataPluginInterface *pluginInterface = NULL; |
103 NmDataPluginInterface *pluginInterface = NULL; |
96 if (plugin) { |
104 if (plugin) { |
97 pluginInterface= qobject_cast<NmDataPluginInterface*>(plugin); |
105 pluginInterface= qobject_cast<NmDataPluginInterface*>(plugin); |
98 } |
106 } |
99 return pluginInterface; |
107 return pluginInterface; |
102 /*! |
110 /*! |
103 |
111 |
104 */ |
112 */ |
105 NmDataPluginInterface *NmDataPluginFactory::interfaceInstance(NmId mailboxId) |
113 NmDataPluginInterface *NmDataPluginFactory::interfaceInstance(NmId mailboxId) |
106 { |
114 { |
|
115 NM_FUNCTION; |
|
116 |
107 return interfaceInstance(pluginInstance(mailboxId)); |
117 return interfaceInstance(pluginInstance(mailboxId)); |
108 } |
118 } |
109 |
119 |
110 /*! |
120 /*! |
111 |
121 |
112 */ |
122 */ |
113 NmApplicationStateInterface *NmDataPluginFactory::applicationStateInterfaceInstance(QObject *plugin) |
123 NmApplicationStateInterface *NmDataPluginFactory::applicationStateInterfaceInstance(QObject *plugin) |
114 { |
124 { |
|
125 NM_FUNCTION; |
|
126 |
115 NmApplicationStateInterface *pluginInterface = NULL; |
127 NmApplicationStateInterface *pluginInterface = NULL; |
116 if (plugin) { |
128 if (plugin) { |
117 pluginInterface= qobject_cast<NmApplicationStateInterface*>(plugin); |
129 pluginInterface= qobject_cast<NmApplicationStateInterface*>(plugin); |
118 } |
130 } |
119 return pluginInterface; |
131 return pluginInterface; |
122 /*! |
134 /*! |
123 |
135 |
124 */ |
136 */ |
125 NmApplicationStateInterface *NmDataPluginFactory::applicationStateInterfaceInstance(NmId mailboxId) |
137 NmApplicationStateInterface *NmDataPluginFactory::applicationStateInterfaceInstance(NmId mailboxId) |
126 { |
138 { |
|
139 NM_FUNCTION; |
|
140 |
127 return applicationStateInterfaceInstance(pluginInstance(mailboxId)); |
141 return applicationStateInterfaceInstance(pluginInstance(mailboxId)); |
128 } |
142 } |
129 |
143 |
130 /*! |
144 /*! |
131 |
145 |
132 */ |
146 */ |
133 QObject *NmDataPluginFactory::pluginInstance(NmId mailboxId) |
147 QObject *NmDataPluginFactory::pluginInstance(NmId mailboxId) |
134 { |
148 { |
|
149 NM_FUNCTION; |
|
150 |
135 QObject *value(NULL); |
151 QObject *value(NULL); |
136 |
152 |
137 quint64 tmp = mailboxId.id(); |
153 quint64 tmp = mailboxId.id(); |
138 quint32 pluginId = tmp >> 32; |
154 quint32 pluginId = tmp >> 32; |
139 if (pluginId == TESTPLUGINID || |
155 if (pluginId == TESTPLUGINID || |
156 /*! |
172 /*! |
157 |
173 |
158 */ |
174 */ |
159 QList<QObject*> *NmDataPluginFactory::pluginInstances() |
175 QList<QObject*> *NmDataPluginFactory::pluginInstances() |
160 { |
176 { |
|
177 NM_FUNCTION; |
|
178 |
161 //if plugins have not been already created, do it now. |
179 //if plugins have not been already created, do it now. |
162 if (!mPluginArray) { |
180 if (!mPluginArray) { |
163 mPluginArray = new QList<QObject*>(); |
181 mPluginArray = new QList<QObject*>(); |
164 } |
182 } |
165 if (mPluginArray->count() == 0) { |
183 if (mPluginArray->count() == 0) { |
192 */ |
210 */ |
193 QObject *NmDataPluginFactory::loadPlugin( |
211 QObject *NmDataPluginFactory::loadPlugin( |
194 const QDir &pluginDir, |
212 const QDir &pluginDir, |
195 const QString &pluginName ) |
213 const QString &pluginName ) |
196 { |
214 { |
|
215 NM_FUNCTION; |
|
216 |
197 /*! |
217 /*! |
198 This creates plugin entity. |
218 This creates plugin entity. |
199 */ |
219 */ |
200 QPluginLoader *loader = new QPluginLoader(pluginDir.absoluteFilePath(pluginName)); |
220 QPluginLoader *loader = new QPluginLoader(pluginDir.absoluteFilePath(pluginName)); |
201 |
221 |