blokkalaccountmanager.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef BLOKKALACCOUNTMANAGER_H
00021 #define BLOKKALACCOUNTMANAGER_H
00022
00023 #include <QtCore/QObject>
00024
00025 #include "blokkal_export.h"
00026
00027 class QDomElement;
00028
00029 namespace Blokkal {
00030 class Account;
00031 class AccountConfig;
00032 class Protocol;
00033
00037 typedef QList< Blokkal::Account * > AccountList;
00038
00039 class AccountManagerPrivate;
00040
00049 class BLOKKAL_EXPORT AccountManager : public QObject
00050 {
00051 friend class AccountManagerPrivate;
00052 Q_OBJECT
00053 public:
00060 static Blokkal::AccountManager * self( void );
00061
00067 Blokkal::AccountList accounts( void );
00068
00077 Blokkal::Account * registerAccount( Blokkal::Account * account );
00078
00086 Blokkal::Account * account( const QString & id );
00087
00088
00089 public Q_SLOTS:
00093 void loadAccounts( void );
00094
00098 void saveAccounts( void );
00099
00100 Q_SIGNALS:
00106 void accountRegistered( Blokkal::Account * account );
00107
00115 void accountUnregistered( Blokkal::Account * account );
00116
00117 protected Q_SLOTS:
00122 void unregisterAccount( Blokkal::Account * account );
00123
00124 protected:
00134 QDomElement accountNode( const QString & id );
00135
00136 private:
00137 AccountManager( void );
00141 ~AccountManager( void );
00142 friend class AccountConfig;
00143 };
00144
00145 }
00146
00147 #endif