00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_SESSION_H
00021 #define AKONADI_SESSION_H
00022
00023 #include "akonadi_export.h"
00024 #include <QtCore/QObject>
00025
00026 class KJob;
00027
00028 namespace Akonadi {
00029
00030 class Job;
00031 class SessionPrivate;
00032
00058 class AKONADI_EXPORT Session : public QObject
00059 {
00060 Q_OBJECT
00061
00062 friend class Job;
00063 friend class JobPrivate;
00064 friend class SessionPrivate;
00065
00066 public:
00076 explicit Session( const QByteArray &sessionId = QByteArray(), QObject *parent = 0 );
00077
00081 ~Session();
00082
00086 QByteArray sessionId() const;
00087
00091 static Session* defaultSession();
00092
00096 void clear();
00097
00098 Q_SIGNALS:
00105 void reconnected();
00106
00107 protected:
00118 explicit Session( SessionPrivate *d, const QByteArray &sessionId = QByteArray(), QObject *parent = 0 );
00119
00120 private:
00121
00122 SessionPrivate* const d;
00123
00124 Q_PRIVATE_SLOT( d, void reconnect() )
00125 Q_PRIVATE_SLOT( d, void socketError( QLocalSocket::LocalSocketError ) )
00126 Q_PRIVATE_SLOT( d, void socketError( QAbstractSocket::SocketError ) )
00127 Q_PRIVATE_SLOT( d, void socketDisconnected() )
00128 Q_PRIVATE_SLOT( d, void dataReceived() )
00129 Q_PRIVATE_SLOT( d, void doStartNext() )
00130 Q_PRIVATE_SLOT( d, void jobDone( KJob* ) )
00131 Q_PRIVATE_SLOT( d, void jobWriteFinished( Akonadi::Job* ) )
00132 Q_PRIVATE_SLOT( d, void jobDestroyed( QObject* ) )
00133 Q_PRIVATE_SLOT( d, void serverStateChanged( Akonadi::ServerManager::State ) )
00134
00135 };
00136
00137 }
00138
00139
00140 #endif