]> Some of my projects - anidbudpclient.git/commitdiff
Make it possible to know if a *Reply class is ready/succeeded without the replyReady...
authorAPTX <redacted>
Fri, 11 Feb 2011 01:29:53 +0000 (02:29 +0100)
committerAPTX <redacted>
Fri, 11 Feb 2011 01:36:23 +0000 (02:36 +0100)
abstractcommand.cpp
abstractcommand.h
authcommand.cpp
filecommand.cpp
mylistaddcommand.cpp
mylistcommand.cpp
rawcommand.cpp
uptimecommand.cpp

index 24f9573..9e13892 100644 (file)
@@ -31,6 +31,8 @@ AbstractReply::AbstractReply(const QByteArray &id, QObject *parent) : QObject(pa
 {
        m_replyCode = UNKNOWN_REPLY;
        m_id = id;
+       m_isReady = false;
+       m_success = false;
        m_commandPtr = 0;
        m_controlCommand = false;
 }
@@ -49,6 +51,7 @@ void AbstractReply::setRawReply(ReplyCode replyCode, const QString &reply)
 {
        m_replyCode = replyCode;
        m_rawReply = reply;
+       m_isReady = true;
 }
 
 QString AbstractReply::rawReply() const
@@ -66,6 +69,16 @@ QByteArray AbstractReply::id() const
        return m_id;
 }
 
+bool AbstractReply::isReady() const
+{
+       return m_isReady;
+}
+
+bool AbstractReply::success() const
+{
+       return m_success;
+}
+
 QDateTime AbstractReply::timeSent() const
 {
        return m_timeSent;
@@ -76,6 +89,12 @@ bool AbstractReply::controlCommand() const
        return m_controlCommand;
 }
 
+void AbstractReply::signalReplyReady(bool success)
+{
+       m_success = success;
+       emit replyReady(success);
+}
+
 void AbstractReply::setId(const QByteArray &id)
 {
        m_id = id;
index 335018b..63e2cc2 100644 (file)
@@ -55,10 +55,12 @@ class ANIDBUDPCLIENTSHARED_EXPORT AbstractReply : public QObject
 
        Q_OBJECT
 
-       Q_PROPERTY(QByteArray id READ id);
-       Q_PROPERTY(ReplyCode replyCode READ replyCode);
-       Q_PROPERTY(QDateTime timeSent READ timeSent);
-       Q_PROPERTY(bool controlCommand READ controlCommand);
+       Q_PROPERTY(QByteArray id READ id)
+       Q_PROPERTY(ReplyCode replyCode READ replyCode)
+       Q_PROPERTY(bool isReady READ isReady)
+       Q_PROPERTY(bool success READ isReady)
+       Q_PROPERTY(QDateTime timeSent READ timeSent)
+       Q_PROPERTY(bool controlCommand READ controlCommand)
 
 public:
        typedef AbstractCommand CommandType;
@@ -74,6 +76,9 @@ public:
        virtual ReplyCode replyCode() const;
        virtual QByteArray id() const;
 
+       bool isReady() const;
+       bool success() const;
+
        QDateTime timeSent() const;
 
        bool controlCommand() const;
@@ -82,12 +87,15 @@ signals:
        void replyReady(bool success = false);
 
 protected:
+       void signalReplyReady(bool success = false);
        void setId(const QByteArray &id);
        void setTimeSent(const QDateTime &timeSent = QDateTime::currentDateTime());
        void setControlCommand(bool controlCommand);
 
        QString m_rawReply;
        ReplyCode m_replyCode;
+       bool m_isReady;
+       bool m_success;
        QByteArray m_id;
        QDateTime m_timeSent;
        bool m_controlCommand;
index 6153b66..e36f7d1 100644 (file)
@@ -101,24 +101,24 @@ qDebug() << replyCode;
                case LOGIN_ACCEPTED_NEW_VER:
                        m_errorString = "";
                        m_sessionId = m_rawReply.mid(0, m_rawReply.indexOf(" "));
-                       emit replyReady(true);
+                       signalReplyReady(true);
                break;
                case LOGIN_FAILED:
                        m_errorString = tr("Username and/or password incorrect");
-                       emit replyReady(false);
+                       signalReplyReady(false);
                break;
                case CLIENT_VERSION_OUTDATED:
                        m_errorString = tr("Client version outdated");
-                       emit replyReady(false);
+                       signalReplyReady(false);
                break;
                case CLIENT_BANNED:
                        m_errorString = tr("Banned: %1").arg(m_rawReply.mid(m_rawReply.indexOf("BANNED") + 1));
-                       emit replyReady(false);
+                       signalReplyReady(false);
                break;
                default:
 qDebug() << "ERROR CODE: " << replyCode;
                        m_errorString = tr("Unknown errorString (CODE: %1)").arg(m_replyCode);
-                       emit replyReady(false);
+                       signalReplyReady(false);
        }
 }
 
index 3bf2fd4..11f8f4d 100644 (file)
@@ -269,15 +269,15 @@ void FileReply::setRawReply(ReplyCode replyCode, const QString &reply)
        {
                case FILE:
                        readReplyData(reply);
-                       emit replyReady(true);
+                       signalReplyReady(true);
                break;
                case MULTIPLE_FILES_FOUND:
                        // TODO
-                       emit replyReady(true);
+                       signalReplyReady(true);
                break;
                case NO_SUCH_FILE:
                default:
-                       emit replyReady(false);
+                       signalReplyReady(false);
                break;
        }
 }
index e2c65a5..34ef9bd 100644 (file)
@@ -208,19 +208,19 @@ void MyListAddReply::setRawReply(ReplyCode replyCode, const QString &reply)
                        {
                                m_lid = lid.toInt();
                        }
-                       emit replyReady(true);
+                       signalReplyReady(true);
                }
                break;
                case MYLIST_ENTRY_EDITED:
                case FILE_ALREADY_IN_MYLIST:
-                       emit replyReady(true);
+                       signalReplyReady(true);
                break;
                case NO_SUCH_MYLIST_ENTRY:
                case NO_SUCH_FILE:
                case NO_SUCH_ANIME:
                case NO_SUCH_GROUP:
                default:
-                       emit replyReady(false);
+                       signalReplyReady(false);
                break;
        }
 }
index 3a98924..8ec475f 100644 (file)
@@ -321,18 +321,18 @@ void MyListReply::setRawReply(ReplyCode replyCode, const QString &reply)
                        m_source = parts[9];
                        m_other = parts[10];
                        m_fileState = FileState(parts[11].toInt(&ok, 10));
-                       emit replyReady(true);
+                       signalReplyReady(true);
                }
                break;
                case MULTIPLE_MYLIST_ENTRIES:
                {
                        m_multipleEntries = reply.mid(reply.indexOf("\n")).split('|', QString::KeepEmptyParts);
-                       emit replyReady(true);
+                       signalReplyReady(true);
                }
                break;
                case NO_SUCH_ENTRY:
                default:
-                       emit replyReady(false);
+                       signalReplyReady(false);
                break;
        }
 }
index 673ec92..6a1cd94 100644 (file)
@@ -37,9 +37,9 @@ void RawReply::setRawReply(ReplyCode replyCode, const QString &reply)
 {
        AbstractReply::setRawReply(replyCode, reply);
        if (200 <= replyCode && replyCode >= 299)
-               emit replyReady(true);
+               signalReplyReady(true);
        else
-               emit replyReady(false);
+               signalReplyReady(false);
 }
 
 } // namespace AniDBUdpClient
index 78ac86f..b755fe2 100644 (file)
@@ -37,11 +37,11 @@ void UptimeReply::setRawReply(ReplyCode replyCode, const QString &reply)
                        if (!ok)
                                m_uptime = 0;
 
-                       emit replyReady(ok);
+                       signalReplyReady(ok);
                }
                break;
                default:
-                       emit replyReady(false);
+                       signalReplyReady(false);
                break;
        }
 }