#ifndef CORE_SQUAWK_H #define CORE_SQUAWK_H #include #include #include #include #include #include #include "account.h" #include "../global.h" namespace Core { class Squawk : public QObject { Q_OBJECT public: Squawk(QObject* parent = 0); ~Squawk(); signals: void quit(); void newAccount(const QMap&); void accountConnectionStateChanged(const QString&, int); public slots: void start(); void stop(); void newAccountRequest(const QMap& map); void connectAccount(const QString& account); void disconnectAccount(const QString& account); private: typedef std::deque Accounts; typedef std::map AccountsMap; Accounts accounts; AccountsMap amap; private: void addAccount(const QString& login, const QString& server, const QString& password, const QString& name); private slots: void onAccountConnectionStateChanged(int state); }; } #endif // CORE_SQUAWK_H