class CoreAccountModel;
class Network;
+class SignalProxy;
class CoreConnection : public QObject {
Q_OBJECT
CoreConnection(CoreAccountModel *model, QObject *parent = 0);
void init();
- void start();
inline ConnectionState state() const;
inline bool isConnected() const;
inline QString progressText() const;
public slots:
- void connectToCore(AccountId);
+ bool connectToCore(AccountId = 0);
void reconnectToCore();
void disconnectFromCore();
void progressTextChanged(const QString &);
void startCoreSetup(const QVariantList &);
+ void startInternalCore();
+ void connectToInternalCore(SignalProxy *proxy);
// This signal MUST be handled synchronously!
- void userAuthenticationRequired(CoreAccount *, const QString &errorMessage = QString());
+ void userAuthenticationRequired(CoreAccount *, bool *valid, const QString &errorMessage = QString());
void handleIgnoreWarnings(bool permanently);
private slots:
+ void connectToCurrentAccount();
+
void socketStateChanged(QAbstractSocket::SocketState);
void coreSocketError(QAbstractSocket::SocketError);
void coreHasData();
void checkSyncState();
void syncToCore(const QVariantMap &sessionState);
- //void internalSessionStateReceived(const QVariant &packedState);
+ void internalSessionStateReceived(const QVariant &packedState);
void sessionStateReceived(const QVariantMap &state);
void setWarningsHandler(const char *slot);
void connectionReady();
//void doCoreSetup(const QVariant &setupData);
- void loginToCore();
+ void loginToCore(const QString &previousError = QString());
void loginSuccess();
void loginFailed(const QString &errorMessage);