]> Some of my projects - anidbudpclient.git/commitdiff
Make it possible to know if a *Reply class is ready/succeeded without the replyReady...
authorAPTX <marek321@gmail.com>
Fri, 11 Feb 2011 01:29:53 +0000 (02:29 +0100)
committerAPTX <marek321@gmail.com>
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 24f95730ee58b5dbf22d3af349cb56e75ec50f5d..9e13892154bfbe215568ac9cd28319778ca158a4 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 335018b564e455b10ff7bbcc9e62d7f8a95e207b..63e2cc28a3e4c2a04908d57abe0f38beede9b0fe 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 6153b66ee74e7dadf58e474fd5505ff94124a9eb..e36f7d1f12c14c18030cbd18c8ac564b05c2f6ec 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 3bf2fd4489ecdae309aaf0fbaedd7af4497d5754..11f8f4db2ff6fd9bbabaf0383432e60499cb257d 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 e2c65a531a9a6fdb400d1341796a74f6c49df750..34ef9bd6b86967b2f27af89266a7aa4bc912a510 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 3a9892470b00afad30a06b0bb4fecc17d45b07d3..8ec475f6aa163f53401420d69667ea1413041acf 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 673ec92ce5704bd10f15874900f3da19cfef5fc4..6a1cd94241248a1ca8863896e76848d51245c374 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 78ac86f32ed5c33d70dfa1602d440c586765d6d1..b755fe2e50ab2d9f72fc13a0bf9171258af558c0 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;
        }
 }