equal
deleted
inserted
replaced
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: |
14 * Description: |
15 * |
15 * |
16 */ |
16 */ |
|
17 |
|
18 #include "emailtrace.h" |
17 |
19 |
18 #include "nmdataplugininterface.h" |
20 #include "nmdataplugininterface.h" |
19 #include "nmapidatapluginfactory.h" |
21 #include "nmapidatapluginfactory.h" |
20 |
22 |
21 // Qt |
23 // Qt |
46 /*! |
48 /*! |
47 |
49 |
48 */ |
50 */ |
49 NmApiDataPluginFactory::NmApiDataPluginFactory() |
51 NmApiDataPluginFactory::NmApiDataPluginFactory() |
50 { |
52 { |
51 |
53 NM_FUNCTION; |
52 } |
54 } |
53 |
55 |
54 /*! |
56 /*! |
55 |
57 |
56 */ |
58 */ |
57 NmApiDataPluginFactory::~NmApiDataPluginFactory() |
59 NmApiDataPluginFactory::~NmApiDataPluginFactory() |
58 { |
60 { |
|
61 NM_FUNCTION; |
|
62 |
59 if (mPlugin) { |
63 if (mPlugin) { |
60 delete mPlugin; |
64 delete mPlugin; |
61 mPlugin = NULL; |
65 mPlugin = NULL; |
62 } |
66 } |
63 |
67 |
70 /*! |
74 /*! |
71 |
75 |
72 */ |
76 */ |
73 NmApiDataPluginFactory *NmApiDataPluginFactory::instance() |
77 NmApiDataPluginFactory *NmApiDataPluginFactory::instance() |
74 { |
78 { |
|
79 NM_FUNCTION; |
|
80 |
75 if (!mInstance) { |
81 if (!mInstance) { |
76 mInstance = new NmApiDataPluginFactory(); |
82 mInstance = new NmApiDataPluginFactory(); |
77 } |
83 } |
78 mReferenceCount++; |
84 mReferenceCount++; |
79 return mInstance; |
85 return mInstance; |
82 /*! |
88 /*! |
83 |
89 |
84 */ |
90 */ |
85 void NmApiDataPluginFactory::releaseInstance(NmApiDataPluginFactory *&instance) |
91 void NmApiDataPluginFactory::releaseInstance(NmApiDataPluginFactory *&instance) |
86 { |
92 { |
|
93 NM_FUNCTION; |
|
94 |
87 //can't have passed out instances if we don't have any |
95 //can't have passed out instances if we don't have any |
88 if (mInstance) { |
96 if (mInstance) { |
89 if (instance == mInstance) { |
97 if (instance == mInstance) { |
90 instance = NULL; |
98 instance = NULL; |
91 mReferenceCount--; |
99 mReferenceCount--; |
101 /*! |
109 /*! |
102 |
110 |
103 */ |
111 */ |
104 NmDataPluginInterface *NmApiDataPluginFactory::interfaceInstance() |
112 NmDataPluginInterface *NmApiDataPluginFactory::interfaceInstance() |
105 { |
113 { |
|
114 NM_FUNCTION; |
|
115 |
106 if (!mPlugin) { |
116 if (!mPlugin) { |
107 mPlugin = loadPlugin(); |
117 mPlugin = loadPlugin(); |
108 } |
118 } |
109 return qobject_cast<NmDataPluginInterface*> (mPlugin); |
119 return qobject_cast<NmDataPluginInterface*> (mPlugin); |
110 } |
120 } |
112 /*! |
122 /*! |
113 |
123 |
114 */ |
124 */ |
115 QObject *NmApiDataPluginFactory::loadPlugin() |
125 QObject *NmApiDataPluginFactory::loadPlugin() |
116 { |
126 { |
|
127 NM_FUNCTION; |
|
128 |
117 if (!mPluginLoader) { |
129 if (!mPluginLoader) { |
118 const QString KPluginDirectory = "c:\\resource\\plugins"; |
130 const QString KPluginDirectory = "c:\\resource\\plugins"; |
119 QDir pluginDir = QDir(KPluginDirectory); |
131 QDir pluginDir = QDir(KPluginDirectory); |
120 const QString KFrameworkPluginName = "nmframeworkadapter.qtplugin"; |
132 const QString KFrameworkPluginName = "nmframeworkadapter.qtplugin"; |
121 /*! |
133 /*! |
133 return mPlugin; |
145 return mPlugin; |
134 } |
146 } |
135 |
147 |
136 QObject *NmApiDataPluginFactory::plugin() |
148 QObject *NmApiDataPluginFactory::plugin() |
137 { |
149 { |
|
150 NM_FUNCTION; |
|
151 |
138 if (!mPlugin) { |
152 if (!mPlugin) { |
139 mPlugin = loadPlugin(); |
153 mPlugin = loadPlugin(); |
140 } |
154 } |
141 return mPlugin; |
155 return mPlugin; |
142 } |
156 } |