Browse Source

Add SourcedEvent interface

tags/v0.11.0
Chris Smith 5 years ago
parent
commit
6c10e031db
2 changed files with 27 additions and 15 deletions
  1. 2
    0
      CHANGELOG
  2. 25
    15
      src/main/kotlin/com/dmdirc/ktirc/events/Events.kt

+ 2
- 0
CHANGELOG View File

1
 vNEXT (in development)
1
 vNEXT (in development)
2
 
2
 
3
+ * Added SourcedEvent interface for events that have a user source attached
4
+
3
 v0.10.3
5
 v0.10.3
4
 
6
 
5
  * Fix issue parsing CTCPs when the content contained multi-byte chars
7
  * Fix issue parsing CTCPs when the content contained multi-byte chars

+ 25
- 15
src/main/kotlin/com/dmdirc/ktirc/events/Events.kt View File

44
 
44
 
45
 }
45
 }
46
 
46
 
47
+/**
48
+ * Interface implemented by events that come from a particular user.
49
+ */
50
+interface SourcedEvent {
51
+
52
+    /** The user that caused the event. */
53
+    val user: User
54
+
55
+}
56
+
47
 /** Raised when a connection to the server is being established. */
57
 /** Raised when a connection to the server is being established. */
48
 class ServerConnecting(metadata: EventMetadata) : IrcEvent(metadata)
58
 class ServerConnecting(metadata: EventMetadata) : IrcEvent(metadata)
49
 
59
 
69
 class PingReceived(metadata: EventMetadata, val nonce: ByteArray) : IrcEvent(metadata)
79
 class PingReceived(metadata: EventMetadata, val nonce: ByteArray) : IrcEvent(metadata)
70
 
80
 
71
 /** Raised when a user joins a channel. */
81
 /** Raised when a user joins a channel. */
72
-class ChannelJoined(metadata: EventMetadata, val user: User, channel: String) : TargetedEvent(metadata, channel)
82
+class ChannelJoined(metadata: EventMetadata, override val user: User, channel: String) : TargetedEvent(metadata, channel), SourcedEvent
73
 
83
 
74
 /** Raised when a user leaves a channel. */
84
 /** Raised when a user leaves a channel. */
75
-class ChannelParted(metadata: EventMetadata, val user: User, channel: String, val reason: String = "") : TargetedEvent(metadata, channel)
85
+class ChannelParted(metadata: EventMetadata, override val user: User, channel: String, val reason: String = "") : TargetedEvent(metadata, channel), SourcedEvent
76
 
86
 
77
 /** Raised when a [victim] is kicked from a channel. */
87
 /** Raised when a [victim] is kicked from a channel. */
78
-class ChannelUserKicked(metadata: EventMetadata, val user: User, channel: String, val victim: String, val reason: String = "") : TargetedEvent(metadata, channel)
88
+class ChannelUserKicked(metadata: EventMetadata, override val user: User, channel: String, val victim: String, val reason: String = "") : TargetedEvent(metadata, channel), SourcedEvent
79
 
89
 
80
 /** Raised when a user quits, and is in a channel. */
90
 /** Raised when a user quits, and is in a channel. */
81
-class ChannelQuit(metadata: EventMetadata, val user: User, channel: String, val reason: String = "") : TargetedEvent(metadata, channel)
91
+class ChannelQuit(metadata: EventMetadata, override val user: User, channel: String, val reason: String = "") : TargetedEvent(metadata, channel), SourcedEvent
82
 
92
 
83
 /** Raised when a user changes nickname, and is in a channel. */
93
 /** Raised when a user changes nickname, and is in a channel. */
84
-class ChannelNickChanged(metadata: EventMetadata, val user: User, channel: String, val newNick: String) : TargetedEvent(metadata, channel)
94
+class ChannelNickChanged(metadata: EventMetadata, override val user: User, channel: String, val newNick: String) : TargetedEvent(metadata, channel), SourcedEvent
85
 
95
 
86
 /** Raised when a batch of the channel's member list has been received. More batches may follow. */
96
 /** Raised when a batch of the channel's member list has been received. More batches may follow. */
87
 class ChannelNamesReceived(metadata: EventMetadata, channel: String, val names: List<String>) : TargetedEvent(metadata, channel)
97
 class ChannelNamesReceived(metadata: EventMetadata, channel: String, val names: List<String>) : TargetedEvent(metadata, channel)
100
  *
110
  *
101
  * If the topic has been unset (cleared), [topic] will be `null`
111
  * If the topic has been unset (cleared), [topic] will be `null`
102
  */
112
  */
103
-class ChannelTopicChanged(metadata: EventMetadata, val user: User, channel: String, val topic: String?) : TargetedEvent(metadata, channel)
113
+class ChannelTopicChanged(metadata: EventMetadata, override val user: User, channel: String, val topic: String?) : TargetedEvent(metadata, channel), SourcedEvent
104
 
114
 
105
 /** Raised when a message is received. */
115
 /** Raised when a message is received. */
106
-class MessageReceived(metadata: EventMetadata, val user: User, target: String, val message: String) : TargetedEvent(metadata, target) {
116
+class MessageReceived(metadata: EventMetadata, override val user: User, target: String, val message: String) : TargetedEvent(metadata, target), SourcedEvent {
107
 
117
 
108
     /** The message ID of this message. */
118
     /** The message ID of this message. */
109
     @Deprecated("Moved to metadata", replaceWith = ReplaceWith("metadata.messageId"))
119
     @Deprecated("Moved to metadata", replaceWith = ReplaceWith("metadata.messageId"))
118
  *
128
  *
119
  * The [user] may in fact be a server, or have a nickname of `*` while connecting.
129
  * The [user] may in fact be a server, or have a nickname of `*` while connecting.
120
  */
130
  */
121
-class NoticeReceived(metadata: EventMetadata, val user: User, target: String, val message: String) : TargetedEvent(metadata, target)
131
+class NoticeReceived(metadata: EventMetadata, override val user: User, target: String, val message: String) : TargetedEvent(metadata, target), SourcedEvent
122
 
132
 
123
 /** Raised when an action is received. */
133
 /** Raised when an action is received. */
124
-class ActionReceived(metadata: EventMetadata, val user: User, target: String, val action: String) : TargetedEvent(metadata, target) {
134
+class ActionReceived(metadata: EventMetadata, override val user: User, target: String, val action: String) : TargetedEvent(metadata, target), SourcedEvent {
125
 
135
 
126
     /** The message ID of this action. */
136
     /** The message ID of this action. */
127
     @Deprecated("Moved to metadata", replaceWith = ReplaceWith("metadata.messageId"))
137
     @Deprecated("Moved to metadata", replaceWith = ReplaceWith("metadata.messageId"))
132
 }
142
 }
133
 
143
 
134
 /** Raised when a CTCP is received. */
144
 /** Raised when a CTCP is received. */
135
-class CtcpReceived(metadata: EventMetadata, val user: User, target: String, val type: String, val content: String) : TargetedEvent(metadata, target)
145
+class CtcpReceived(metadata: EventMetadata, override val user: User, target: String, val type: String, val content: String) : TargetedEvent(metadata, target), SourcedEvent
136
 
146
 
137
 /** Raised when a CTCP reply is received. */
147
 /** Raised when a CTCP reply is received. */
138
-class CtcpReplyReceived(metadata: EventMetadata, val user: User, target: String, val type: String, val content: String) : TargetedEvent(metadata, target)
148
+class CtcpReplyReceived(metadata: EventMetadata, override val user: User, target: String, val type: String, val content: String) : TargetedEvent(metadata, target), SourcedEvent
139
 
149
 
140
 /** Raised when a user quits. */
150
 /** Raised when a user quits. */
141
-class UserQuit(metadata: EventMetadata, val user: User, val reason: String = "") : IrcEvent(metadata)
151
+class UserQuit(metadata: EventMetadata, override val user: User, val reason: String = "") : IrcEvent(metadata), SourcedEvent
142
 
152
 
143
 /** Raised when a user changes nickname. */
153
 /** Raised when a user changes nickname. */
144
-class UserNickChanged(metadata: EventMetadata, val user: User, val newNick: String) : IrcEvent(metadata)
154
+class UserNickChanged(metadata: EventMetadata, override val user: User, val newNick: String) : IrcEvent(metadata), SourcedEvent
145
 
155
 
146
 /** Raised when a user changes hostname. */
156
 /** Raised when a user changes hostname. */
147
-class UserHostChanged(metadata: EventMetadata, val user: User, val newIdent: String, val newHost: String) : IrcEvent(metadata)
157
+class UserHostChanged(metadata: EventMetadata, override val user: User, val newIdent: String, val newHost: String) : IrcEvent(metadata), SourcedEvent
148
 
158
 
149
 /**
159
 /**
150
  * Raised when a user's account changes (i.e., they auth'd or deauth'd with services).
160
  * Raised when a user's account changes (i.e., they auth'd or deauth'd with services).
151
  *
161
  *
152
  * This event is only raised if the server supports the `account-notify` capability.
162
  * This event is only raised if the server supports the `account-notify` capability.
153
  */
163
  */
154
-class UserAccountChanged(metadata: EventMetadata, val user: User, val newAccount: String?) : IrcEvent(metadata)
164
+class UserAccountChanged(metadata: EventMetadata, override val user: User, val newAccount: String?) : IrcEvent(metadata), SourcedEvent
155
 
165
 
156
 /** Raised when available server capabilities are received. More batches may follow. */
166
 /** Raised when available server capabilities are received. More batches may follow. */
157
 class ServerCapabilitiesReceived(metadata: EventMetadata, val capabilities: Map<String, String>) : IrcEvent(metadata)
167
 class ServerCapabilitiesReceived(metadata: EventMetadata, val capabilities: Map<String, String>) : IrcEvent(metadata)

Loading…
Cancel
Save