J-P Nurmi
cb84ecac9c
Port CIRCSock::ParseISupport() to use CMessage
2015-09-20 23:22:01 +02:00
J-P Nurmi
6ad7cdb4a2
Resolve #818 : "Got ZNC?" is a little weird real name
2015-09-20 23:22:01 +02:00
J-P Nurmi
57fb58bf71
Fix CModeMessage::GetModes()
...
Thanks to KindOne for finding the bug. CModeMessage::GetModes()
must trim the colon that CMessage::GetParams() may include.
2015-09-17 13:26:24 +02:00
J-P Nurmi
73d5f382f8
Docs for the CMessage-based module hooks
2015-09-10 01:38:53 +02:00
J-P Nurmi
7f03484899
CClient: add ATTACH command
...
The main benefit is that (unlike JOIN) ATTACH allows wildcards.
It's also nicely symmetric with DETACH.
2015-09-10 01:12:19 +02:00
J-P Nurmi
832430659f
CClient: share the chan detaching code
2015-09-10 01:12:19 +02:00
J-P Nurmi
7916efa997
CClient: share the chan matching code
2015-09-10 01:12:19 +02:00
J-P Nurmi
1a3e9ecb86
Resolve #1045 : Make CMessage retain the colon
...
If the colon was there when parsed, stick it back even if it would be
technically unnecessary.
2015-09-10 00:21:04 +02:00
J-P Nurmi
ba76e041b9
Add OnNumericMessage() module hook ( close #1069 )
2015-09-07 16:41:15 +02:00
J-P Nurmi
1a7cf9d6ba
CIRCSock: make the message handlers private
...
These should not be called from the outside of the class.
2015-09-07 00:00:29 +02:00
J-P Nurmi
dae21026fa
CIRCSock::OnErrorMessage() handler
2015-09-07 00:00:28 +02:00
J-P Nurmi
41b71e3a40
CIRCSock::OnPing/PongMessage() handlers
2015-09-07 00:00:28 +02:00
J-P Nurmi
da06aacd4d
CIRCSock::OnNumericMessage() handler
2015-09-07 00:00:28 +02:00
J-P Nurmi
0446aaa929
CIRCSock::OnModeMessage() handler
2015-09-07 00:00:27 +02:00
J-P Nurmi
b8dbdb0a4b
CIRCSock::OnWallopsMessage() handler
2015-09-07 00:00:27 +02:00
J-P Nurmi
1346718308
CIRCSock::OnCapabilityMessage() handler
2015-09-07 00:00:27 +02:00
J-P Nurmi
d3f42cabeb
CIRCSock::OnInviteMessage() handler
2015-09-07 00:00:27 +02:00
J-P Nurmi
05fbb52173
CIRCSock::OnAccountMessage() handler
2015-09-07 00:00:27 +02:00
J-P Nurmi
d556a29218
CIRCSock::OnAwayMessage() handler
2015-09-07 00:00:27 +02:00
J-P Nurmi
d53a2d1f24
CIRCSock::OnTextMessage() handler
2015-09-07 00:00:27 +02:00
J-P Nurmi
236bd7249f
CIRCSock::OnActionMessage() handler
2015-09-07 00:00:26 +02:00
J-P Nurmi
74be5522d1
CIRCSock::OnCTCPMessage() handler
2015-09-07 00:00:26 +02:00
J-P Nurmi
30bb92fec3
CIRCSock::OnNoticeMessage() handler
2015-09-07 00:00:26 +02:00
J-P Nurmi
b459cdf85b
CIRCSock::OnTopicMessage() handler
2015-09-07 00:00:26 +02:00
J-P Nurmi
3349011a12
CIRCSock::OnKickMessage() handler
2015-09-07 00:00:26 +02:00
J-P Nurmi
9f9304a253
CIRCSock::OnPartMessage() handler
2015-09-07 00:00:26 +02:00
J-P Nurmi
a2110da245
CIRCSock::OnJoinMessage() handler
2015-09-07 00:00:26 +02:00
J-P Nurmi
a0a2b0fb4e
CIRCSock::OnQuitMessage() handler
2015-09-07 00:00:25 +02:00
J-P Nurmi
41a9b36687
CIRCSock::OnNickMessage() handler
2015-09-07 00:00:25 +02:00
J-P Nurmi
5880bb4180
Add CMessage::GetType()
2015-09-07 00:00:25 +02:00
J-P Nurmi
795ea45f69
CIRCSock::ForwardRaw353(): use CMessage
2015-09-07 00:00:24 +02:00
J-P Nurmi
58fc0e91d7
Add CCTCPMessage::IsReply()
2015-09-07 00:00:24 +02:00
J-P Nurmi
ec952024d7
Add CModeMessage
2015-09-07 00:00:24 +02:00
J-P Nurmi
fa894a86b0
Add CNumericMessage
2015-09-07 00:00:24 +02:00
J-P Nurmi
0faafbf3bf
Merge pull request #1056 from jpnurmi/handlecap
...
Implement CClient::HandleCap() using CMessage (ref #1013 )
2015-09-04 20:49:11 +02:00
J-P Nurmi
2880368825
Merge pull request #1055 from jpnurmi/onctcpreplymessage
...
Add missing CModules::OnCTCPReplyMessage()
2015-09-03 20:11:38 +02:00
J-P Nurmi
2b18d6ee38
Merge pull request #1020 from jpnurmi/traffic
...
Calculate per-network traffic (#963 )
2015-09-02 01:01:13 +02:00
J-P Nurmi
a79acacfad
Add missing CModules::OnCTCPReplyMessage()
2015-09-02 00:51:05 +02:00
J-P Nurmi
453401eef4
Implement CClient::HandleCap() using CMessage (ref #1013 )
2015-09-02 00:08:43 +02:00
J-P Nurmi
31ba15d686
CClient::ReadLine(): use CMessage
2015-08-31 00:24:30 +02:00
J-P Nurmi
e5b7f2c6df
Make CBufLine hold a CMessage internally
2015-08-31 00:24:30 +02:00
J-P Nurmi
f1dead9ff3
Add OnUserXxxMessage(CXxxMessage) module hooks
2015-08-30 15:50:12 +02:00
J-P Nurmi
82375eed65
Add CMessage::Clone()
...
Due to (intentional) lack of CFooMessage::operator=(CMessage), it was
a bit clumsy to do such copy-conversions:
CMessage Copy = Message;
CJoinMessage& JoinMsg = static_cast<CJoinMessage&>(Copy);
// ...
vs.
CJoinMessge JoinMsg;
JoinMsg.Clone(Message);
// ...
Alternatively, copy ctor(CMessage) and assignment operator=(CMessage)
could have been added to all CMessage subclasses. I've been trying to
avoid that, to make these operations very explicit. It has helped a
lot so far by preventing accidental copies.
2015-08-30 15:50:12 +02:00
J-P Nurmi
de4ffb180c
Add JoinMessage::GetKey() & SetKey()
...
This will be useful for implementing the upcoming OnUserJoinMessage()
module hook, that is allowed to modify the key.
2015-08-30 15:50:12 +02:00
J-P Nurmi
55385a5d58
Add CTargetMessage: a base class for "targeted" priv/chan messages
...
This will be useful for implementing the upcoming OnUserXxxMessage()
module hooks, that are allowed to modify the message target.
2015-08-30 15:50:12 +02:00
J-P Nurmi
320abef756
Merge CChanMessage & CPrivMessage to... CTextMessage
...
This naming is a bit hairy. I chose CTextMessage because this type of
message carries a text argument. Alternatively, it could be also called
CPrivateMessage, because the IRC protocol calls it PRIVMSG. On the other
hand, ZNC module hooks use the "Priv" naming convention for private
messages. It would look a bit weird to have OnChanMsg(CPrivMessage)...
More details and reasoning of the merge in the previous commit message.
2015-08-30 15:50:12 +02:00
J-P Nurmi
3976651c35
Merge CChan+PrivAction, CChan+PrivCTCP, CChan+PrivNotice
...
OnUserAction(), OnUserCTCP(), and OnUserNotice() don't separate private
private and channel messages. A module could even redirect a message by
modifying its target, so technically, if they were two distinct types,
the type of a message could change on the way.
The original reason for the separation was that at some point during
CMessage development, GetChan() didn't exist in CPrivXxx, but only in
CChanXxx message types. To achieve cleaner implementation, the getter
was later promoted to CMessage and made return nullptr for non-channel
specific messages. From this point of view, the separation is also no
longer necessary since the CPrivXxx and CChanXxx types are API-wise
identical with each other.
2015-08-30 15:50:12 +02:00
J-P Nurmi
0ecc0d464f
Make params optiona for the CMessage(CNick, CString, ...) ctor
...
Also fixes the build for Clang <= 3.4, broken by 9a7df7c .
2015-08-27 13:21:45 +02:00
Toon Schoenmakers
03e3920ced
Add options for log module to hide joins, quits and nick changes.
...
Fix #601
Close #613
2015-08-23 21:20:36 +01:00
Alexey Sokolov
672e8c5731
Add OnRawMessage()
2015-08-23 00:52:27 +01:00