summaryrefslogtreecommitdiff
path: root/noncore/net/opieirc/ircmessageparser.h
Unidiff
Diffstat (limited to 'noncore/net/opieirc/ircmessageparser.h') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opieirc/ircmessageparser.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/noncore/net/opieirc/ircmessageparser.h b/noncore/net/opieirc/ircmessageparser.h
index 5412f5f..2fca61e 100644
--- a/noncore/net/opieirc/ircmessageparser.h
+++ b/noncore/net/opieirc/ircmessageparser.h
@@ -37,53 +37,57 @@ typedef struct IRCLiteralMessageParserStruct {
37 IRCMessageParseProc proc; 37 IRCMessageParseProc proc;
38}; 38};
39 39
40/* Struct representing a ctcp command handler */ 40/* Struct representing a ctcp command handler */
41typedef struct IRCCTCPMessageParserStruct { 41typedef struct IRCCTCPMessageParserStruct {
42 char *commandName; 42 char *commandName;
43 IRCMessageParseProc proc; 43 IRCMessageParseProc proc;
44}; 44};
45 45
46/* Struct representing a numerical command handler */ 46/* Struct representing a numerical command handler */
47typedef struct IRCNumericalMessageParserStruct { 47typedef struct IRCNumericalMessageParserStruct {
48 unsigned short commandNumber; 48 unsigned short commandNumber;
49 char *message;
50 char *params;
49 IRCMessageParseProc proc; 51 IRCMessageParseProc proc;
50}; 52};
51 53
52class IRCMessageParser : public QObject { 54class IRCMessageParser : public QObject {
53 Q_OBJECT 55 Q_OBJECT
54public: 56public:
55 /* Create an IRCMessageParser object */ 57 /* Create an IRCMessageParser object */
56 IRCMessageParser(IRCSession *session); 58 IRCMessageParser(IRCSession *session);
57 /* Parse a server message and take the appropriate actions */ 59 /* Parse a server message and take the appropriate actions */
58 void parse(IRCMessage *message); 60 void parse(IRCMessage *message);
59signals: 61signals:
60 /* Used to send commands to the UI (such as displaying text etc) */ 62 /* Used to send commands to the UI (such as displaying text etc) */
61 void outputReady(IRCOutput output); 63 void outputReady(IRCOutput output);
62private: 64private:
63 /* Parser functions */ 65 /* Parser functions */
64 void nullFunc(IRCMessage *message);
65 void parseLiteralPing(IRCMessage *message); 66 void parseLiteralPing(IRCMessage *message);
66 void parseLiteralNotice(IRCMessage *message); 67 void parseLiteralNotice(IRCMessage *message);
67 void parseLiteralJoin(IRCMessage *message); 68 void parseLiteralJoin(IRCMessage *message);
68 void parseLiteralPrivMsg(IRCMessage *message); 69 void parseLiteralPrivMsg(IRCMessage *message);
69 void parseLiteralNick(IRCMessage *message); 70 void parseLiteralNick(IRCMessage *message);
70 void parseLiteralPart(IRCMessage *message); 71 void parseLiteralPart(IRCMessage *message);
71 void parseLiteralQuit(IRCMessage *message); 72 void parseLiteralQuit(IRCMessage *message);
72 void parseLiteralError(IRCMessage *message); 73 void parseLiteralError(IRCMessage *message);
73 void parseLiteralMode(IRCMessage *message); 74 void parseLiteralMode(IRCMessage *message);
74 void parseLiteralKick(IRCMessage *message); 75 void parseLiteralKick(IRCMessage *message);
75 void parseLiteralTopic(IRCMessage *message); 76 void parseLiteralTopic(IRCMessage *message);
76 void parseNumericalSecondParam(IRCMessage *message); 77 void parseNumerical(IRCMessage *message, int position);
77 void parseNumericalAllParams(IRCMessage *message); 78 void parseNumericalServerName(IRCMessage *message);
79 void parseNumericalServerFeatures(IRCMessage *message);
80 void parseNumericalServerProtocol(IRCMessage *message);
81 void parseNumericalWhoisIdle(IRCMessage *message);
78 void parseNumericalNames(IRCMessage *message); 82 void parseNumericalNames(IRCMessage *message);
79 void parseNumericalEndOfNames(IRCMessage *message); 83 void parseNumericalEndOfNames(IRCMessage *message);
80 void parseNumericalNicknameInUse(IRCMessage *message); 84 void parseNumericalNicknameInUse(IRCMessage *message);
81 void parseNumericalNoSuchNick(IRCMessage *message); 85 void parseNumericalNoSuchNick(IRCMessage *message);
82 void parseNumericalTopic(IRCMessage *message); 86 void parseNumericalTopic(IRCMessage *message);
83 void parseNumericalTopicWhoTime(IRCMessage *message); 87 void parseNumericalTopicWhoTime(IRCMessage *message);
84 void parseCTCPPing(IRCMessage *message); 88 void parseCTCPPing(IRCMessage *message);
85 void parseCTCPVersion(IRCMessage *message); 89 void parseCTCPVersion(IRCMessage *message);
86 void parseCTCPAction(IRCMessage *message); 90 void parseCTCPAction(IRCMessage *message);
87protected: 91protected:
88 IRCSession *m_session; 92 IRCSession *m_session;
89 /* Parser tables */ 93 /* Parser tables */