00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_SERVERMANAGER_H
00021 #define AKONADI_SERVERMANAGER_H
00022
00023 #include "akonadi_export.h"
00024
00025 #include <QtCore/QObject>
00026 #include <QtCore/QMetaType>
00027
00028 namespace Akonadi {
00029
00030 class ServerManagerPrivate;
00031
00042 class AKONADI_EXPORT ServerManager : public QObject
00043 {
00044 Q_OBJECT
00045 public:
00050 enum State {
00051 NotRunning,
00052 Starting,
00053 Running,
00054 Stopping,
00055 Broken
00056 };
00057
00065 static bool start();
00066
00074 static bool stop();
00075
00081 static void showSelfTestDialog( QWidget *parent );
00082
00088 static bool isRunning();
00089
00094 static State state();
00095
00100 static ServerManager* self();
00101
00102 Q_SIGNALS:
00106 void started();
00107
00111 void stopped();
00112
00117 void stateChanged( Akonadi::ServerManager::State state );
00118
00119 private:
00120
00121 friend class ServerManagerPrivate;
00122 ServerManager( ServerManagerPrivate *dd );
00123 ServerManagerPrivate* const d;
00124 Q_PRIVATE_SLOT( d, void serviceOwnerChanged( const QString&, const QString&, const QString& ) )
00125 Q_PRIVATE_SLOT( d, void checkStatusChanged() )
00126 Q_PRIVATE_SLOT( d, void timeout() )
00127
00128 };
00129
00130 }
00131
00132 Q_DECLARE_METATYPE( Akonadi::ServerManager::State )
00133
00134 #endif