diff options
| author | 2010-12-31 00:58:23 +0000 | |
|---|---|---|
| committer | 2010-12-31 00:58:23 +0000 | |
| commit | 02ead74048493130dbb03c0c84dc573bb92d8344 (patch) | |
| tree | 193903f3ef3e7a5592b8d802b69ccd51e60740c1 | |
| parent | Fix resurrecting dead queries. (diff) | |
| download | KVIrc-02ead74048493130dbb03c0c84dc573bb92d8344.tar.gz KVIrc-02ead74048493130dbb03c0c84dc573bb92d8344.tar.bz2 KVIrc-02ead74048493130dbb03c0c84dc573bb92d8344.zip | |
Small tweaks
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5277 17fca916-40b9-46aa-a4ea-0a15b648b75c
| -rw-r--r-- | src/kvirc/sparser/KviIrcMessage.cpp | 2 | ||||
| -rw-r--r-- | src/kvirc/sparser/KviIrcMessage.h | 89 |
2 files changed, 54 insertions, 37 deletions
diff --git a/src/kvirc/sparser/KviIrcMessage.cpp b/src/kvirc/sparser/KviIrcMessage.cpp index 329e0367f..75532a632 100644 --- a/src/kvirc/sparser/KviIrcMessage.cpp +++ b/src/kvirc/sparser/KviIrcMessage.cpp @@ -22,8 +22,6 @@ // //============================================================================= - - #include "KviIrcMessage.h" #include "KviIrcConnection.h" #include "KviConsoleWindow.h" diff --git a/src/kvirc/sparser/KviIrcMessage.h b/src/kvirc/sparser/KviIrcMessage.h index e0b443842..e9641c060 100644 --- a/src/kvirc/sparser/KviIrcMessage.h +++ b/src/kvirc/sparser/KviIrcMessage.h @@ -34,8 +34,6 @@ class KviIrcConnection; class KviIrcContext; class KviConneciton; -#define KVI_IRCMSG_FLAG_HALTOUTPUT 1 -#define KVI_IRCMSG_FLAG_UNRECOGNIZED 2 // // This is a single IRC message received from the server. @@ -49,55 +47,76 @@ class KviConneciton; class KVIRC_API KviIrcMessage { public: + KviIrcMessage(const char * message,KviIrcConnection * pConnection); + ~KviIrcMessage(); + +public: + + /// + /// The message flags. + /// + enum Flags + { + /// + /// Some message processing step (most likely a script handler) + /// requested to stop further message related output. + /// + HaltOutput = 1, + /// + /// The message is marked as unrecognized. + /// + Unrecognized = 2 + }; + private: - const char * m_ptr; // shallow! never null - KviCString m_szPrefix; // the extracted prefix string - KviCString m_szCommand; // the extracted command (may be numeric) - KviPointerList<KviCString> * m_pParams; // the list of parameters - KviConsoleWindow * m_pConsole; // the console we're attacched to - KviIrcConnection * m_pConnection; // the connection we're attacched to - int m_iNumericCommand; // the numeric of the command (0 if non numeric) - int m_iFlags; // yes.. flags :D + const char * m_ptr; // shallow! never null + KviCString m_szPrefix; // the extracted prefix string + KviCString m_szCommand; // the extracted command (may be numeric) + KviPointerList<KviCString> * m_pParams; // the list of parameters + KviConsoleWindow * m_pConsole; // the console we're attacched to + KviIrcConnection * m_pConnection; // the connection we're attacched to + int m_iNumericCommand; // the numeric of the command (0 if non numeric) + int m_iFlags; // yes.. flags :D public: - KviConsoleWindow * console(){ return m_pConsole; }; + KviConsoleWindow * console(){ return m_pConsole; }; KviIrcConnection * connection(){ return m_pConsole->connection(); }; - bool isNumeric(){ return (m_iNumericCommand >= 0); }; - const char * command(){ return m_szCommand.ptr(); }; - KviCString * commandPtr(){ return &m_szCommand; }; - int numeric(){ return m_iNumericCommand; }; + bool isNumeric(){ return (m_iNumericCommand >= 0); }; + const char * command(){ return m_szCommand.ptr(); }; + KviCString * commandPtr(){ return &m_szCommand; }; + int numeric(){ return m_iNumericCommand; }; - KviCString * prefixPtr(){ return &m_szPrefix; }; - const char * prefix(){ return m_szPrefix.ptr(); }; - const char * safePrefix(); - bool hasPrefix(){ return m_szPrefix.hasData(); }; + KviCString * prefixPtr(){ return &m_szPrefix; }; + const char * prefix(){ return m_szPrefix.ptr(); }; + const char * safePrefix(); + bool hasPrefix(){ return m_szPrefix.hasData(); }; - bool isEmpty(){ return (m_szPrefix.isEmpty() && m_szCommand.isEmpty() && m_pParams->isEmpty()); }; + bool isEmpty(){ return (m_szPrefix.isEmpty() && m_szCommand.isEmpty() && m_pParams->isEmpty()); }; - int paramCount(){ return m_pParams->count(); }; + int paramCount(){ return m_pParams->count(); }; - const char * param(unsigned int idx){ return (idx < m_pParams->count()) ? m_pParams->at(idx)->ptr() : 0; }; + const char * param(unsigned int idx){ return (idx < m_pParams->count()) ? m_pParams->at(idx)->ptr() : 0; }; - const char * safeParam(unsigned int idx){ return (idx < m_pParams->count()) ? m_pParams->at(idx)->ptr() : KviCString::emptyString().ptr(); }; + const char * safeParam(unsigned int idx){ return (idx < m_pParams->count()) ? m_pParams->at(idx)->ptr() : KviCString::emptyString().ptr(); }; - KviCString * paramString(unsigned int idx){ return m_pParams->at(idx); }; + KviCString * paramString(unsigned int idx){ return m_pParams->at(idx); }; - const char * trailing(){ KviCString * tr = m_pParams->last(); return tr ? tr->ptr() : 0; }; - KviCString * trailingString(){ return m_pParams->last(); }; - KviCString & safeTrailingString(){ KviCString * tr = m_pParams->last(); return tr ? *tr : KviCString::emptyString(); }; - const char * safeTrailing(){ KviCString * tr = m_pParams->last(); return tr ? tr->ptr() : KviCString::emptyString().ptr(); }; + const char * trailing(){ KviCString * tr = m_pParams->last(); return tr ? tr->ptr() : 0; }; + KviCString * trailingString(){ return m_pParams->last(); }; + KviCString & safeTrailingString(){ KviCString * tr = m_pParams->last(); return tr ? *tr : KviCString::emptyString(); }; + const char * safeTrailing(){ KviCString * tr = m_pParams->last(); return tr ? tr->ptr() : KviCString::emptyString().ptr(); }; - const char * allParams(){ return m_ptr; }; + const char * allParams(){ return m_ptr; }; - KviCString * firstParam(){ return m_pParams->first(); }; - KviCString * nextParam(){ return m_pParams->next(); }; + KviCString * firstParam(){ return m_pParams->first(); }; + KviCString * nextParam(){ return m_pParams->next(); }; - void setHaltOutput(){ m_iFlags |= KVI_IRCMSG_FLAG_HALTOUTPUT; }; - bool haltOutput(){ return (m_iFlags & KVI_IRCMSG_FLAG_HALTOUTPUT); }; - void setUnrecognized(){ m_iFlags |= KVI_IRCMSG_FLAG_UNRECOGNIZED; }; - bool unrecognized(){ return (m_iFlags & KVI_IRCMSG_FLAG_UNRECOGNIZED); }; + void setHaltOutput(){ m_iFlags |= HaltOutput; }; + bool haltOutput(){ return (m_iFlags & HaltOutput); }; + void setUnrecognized(){ m_iFlags |= Unrecognized; }; + bool unrecognized(){ return (m_iFlags & Unrecognized); }; void decodeAndSplitPrefix(QString &szNick,QString &szUser,QString &szHost); void decodeAndSplitMask(char * mask,QString &szNick,QString &szUser,QString &szHost); |
