20#ifndef MAILTRANSPORT_TRANSPORTMANAGER_H
21#define MAILTRANSPORT_TRANSPORTMANAGER_H
23#include <mailtransport/mailtransport_export.h>
24#include <mailtransport/transporttype.h>
26#include <QtCore/QList>
27#include <QtCore/QObject>
29#include <akonadi/agenttype.h>
37namespace MailTransport {
41class TransportManagerPrivate;
57 Q_CLASSINFO(
"D-Bus Interface",
"org.kde.pim.TransportManager" )
60 friend class TransportManagerPrivate;
79 void loadPasswordsAsync();
90 Transport *transportById(
int id,
bool def =
true )
const;
100 Transport *transportByName(
const QString &name,
bool def =
true )
const;
107 QList<Transport *>transports()
const;
126 void addTransport(
Transport *transport );
136 MAILTRANSPORT_DEPRECATED
TransportJob *createTransportJob(
int transportId );
147 MAILTRANSPORT_DEPRECATED
TransportJob *createTransportJob(
const QString &transport );
158 MAILTRANSPORT_DEPRECATED
void schedule(
TransportJob *job );
164 void createDefaultTransport();
181 bool showTransportCreationDialog( QWidget *parent, ShowCondition showCondition = Always );
191 bool configureTransport(
Transport *transport, QWidget *parent );
197 Q_SCRIPTABLE
bool isEmpty()
const;
202 Q_SCRIPTABLE QList<int> transportIds()
const;
207 Q_SCRIPTABLE QStringList transportNames()
const;
212 Q_SCRIPTABLE QString defaultTransportName()
const;
218 Q_SCRIPTABLE
int defaultTransportId()
const;
224 Q_SCRIPTABLE
void setDefaultTransport(
int id );
230 Q_SCRIPTABLE
void removeTransport(
int id );
273 KWallet::Wallet *wallet();
278 void loadPasswords();
288 void emitChangesCommitted();
291 TransportManagerPrivate *
const d;
293 Q_PRIVATE_SLOT( d,
void slotTransportsChanged() )
294 Q_PRIVATE_SLOT( d,
void slotWalletOpened(
bool success ) )
295 Q_PRIVATE_SLOT( d,
void dbusServiceUnregistered() )
296 Q_PRIVATE_SLOT( d,
void agentTypeAdded( const Akonadi::AgentType &atype ) )
297 Q_PRIVATE_SLOT( d,
void agentTypeRemoved( const Akonadi::AgentType &atype ) )
298 Q_PRIVATE_SLOT( d,
void jobResult( KJob *job ) )
Abstract base class for all mail transport jobs.
Central transport management interface.
void transportRemoved(int id, const QString &name)
Emitted when a transport is deleted.
Q_SCRIPTABLE void changesCommitted()
Internal signal to synchronize all TransportManager instances.
void passwordsChanged()
Emitted when passwords have been loaded from the wallet.
Q_SCRIPTABLE void transportsChanged()
Emitted when transport settings have changed (by this or any other TransportManager instance).
ShowCondition
Describes when to show the transport creation dialog.
@ Always
Show the transport creation dialog unconditionally.
void transportRenamed(int id, const QString &oldName, const QString &newName)
Emitted when a transport has been renamed.
QList< TransportType > List
Describes a list of transport types.
Represents the settings of a specific mail transport.