Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
KMailTransport
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PIM
KMailTransport
Commits
2e8e78b2
Commit
2e8e78b2
authored
Jun 28, 2017
by
Laurent Montel
😁
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Load plugins
parent
62732ad5
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
2 deletions
+28
-2
src/kmailtransport/plugins/transportpluginmanager.cpp
src/kmailtransport/plugins/transportpluginmanager.cpp
+26
-2
src/kmailtransport/plugins/transportpluginmanager.h
src/kmailtransport/plugins/transportpluginmanager.h
+2
-0
No files found.
src/kmailtransport/plugins/transportpluginmanager.cpp
View file @
2e8e78b2
...
...
@@ -18,6 +18,11 @@
*/
#include "transportpluginmanager.h"
#include <kpluginmetadata.h>
#include <KPluginLoader>
#include <KPluginFactory>
#include <MailTransport/TransportAbstractPlugin>
using
namespace
MailTransport
;
...
...
@@ -43,13 +48,15 @@ class MailTransportPluginInfo
{
public:
MailTransportPluginInfo
()
:
/*plugin(nullptr),*/
:
plugin
(
nullptr
),
isEnabled
(
true
)
{
}
QString
metaDataFileNameBaseName
;
QString
metaDataFileName
;
MailTransport
::
TransportAbstractPlugin
*
plugin
;
bool
isEnabled
;
};
...
...
@@ -70,10 +77,23 @@ public:
}
void
loadPlugin
(
MailTransportPluginInfo
*
item
);
QVector
<
MailTransport
::
TransportAbstractPlugin
*>
pluginsList
()
const
;
QVector
<
MailTransportPluginInfo
>
mPluginList
;
private:
TransportPluginManager
*
q
;
};
QVector
<
MailTransport
::
TransportAbstractPlugin
*>
TransportPluginManagerPrivate
::
pluginsList
()
const
{
QVector
<
MailTransport
::
TransportAbstractPlugin
*>
lst
;
QVector
<
MailTransportPluginInfo
>::
ConstIterator
end
(
mPluginList
.
constEnd
());
for
(
QVector
<
MailTransportPluginInfo
>::
ConstIterator
it
=
mPluginList
.
constBegin
();
it
!=
end
;
++
it
)
{
if
(
auto
plugin
=
(
*
it
).
plugin
)
{
lst
<<
plugin
;
}
}
return
lst
;
}
TransportPluginManager
::
TransportPluginManager
(
QObject
*
parent
)
:
QObject
(
parent
),
...
...
@@ -87,9 +107,13 @@ TransportPluginManager::~TransportPluginManager()
delete
d
;
}
TransportPluginManager
*
TransportPluginManager
::
self
()
{
return
sInstance
->
transportPluginManager
;
}
QVector
<
MailTransport
::
TransportAbstractPlugin
*>
TransportPluginManager
::
pluginsList
()
const
{
return
d
->
pluginsList
();
}
src/kmailtransport/plugins/transportpluginmanager.h
View file @
2e8e78b2
...
...
@@ -22,6 +22,7 @@
#include <QObject>
namespace
MailTransport
{
class
TransportAbstractPlugin
;
class
TransportPluginManagerPrivate
;
class
TransportPluginManager
:
public
QObject
{
...
...
@@ -31,6 +32,7 @@ public:
~
TransportPluginManager
();
static
TransportPluginManager
*
self
();
QVector
<
MailTransport
::
TransportAbstractPlugin
*>
pluginsList
()
const
;
private:
TransportPluginManagerPrivate
*
const
d
;
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment