diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferSyncer.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferSyncer.kt index 1b63fd4250a3346e7b85a69e88ccfeb655202831..fbc7df8cb7c70efe560f465eeccd50475950b143 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferSyncer.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferSyncer.kt @@ -183,7 +183,7 @@ class BufferSyncer constructor( notificationManager?.clear(buffer) } - override fun renameBuffer(buffer: BufferId, newName: String) { + override fun renameBuffer(buffer: BufferId, newName: String?) { val bufferInfo = _bufferInfos[buffer] if (bufferInfo != null) { _bufferInfos[buffer] = bufferInfo.copy(bufferName = newName) diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt index 361b64b911fb259bbf9b6162b670e1b4ffd8bce7..59a3669d726829c5e42899e30e2cd7b9b54f0ab0 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt @@ -220,8 +220,8 @@ class BufferViewConfig constructor( super.setAllowedBufferTypes(bufferTypes) } - override fun setBufferViewName(bufferViewName: String) { - _bufferViewName = bufferViewName + override fun setBufferViewName(bufferViewName: String?) { + _bufferViewName = bufferViewName ?: "" super.setBufferViewName(bufferViewName) } diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt index cd4b9121bc6acc743f24f4e27e05e561afc0f6bf..5015d0936e5e0fcb07dc5dbd116f5ae06c9c5d93 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt @@ -117,13 +117,13 @@ class HighlightRuleManager( } } - override fun addHighlightRule(id: Int, name: String, isRegEx: Boolean, isCaseSensitive: Boolean, - isEnabled: Boolean, isInverse: Boolean, sender: String, - chanName: String) { + override fun addHighlightRule(id: Int, name: String?, isRegEx: Boolean, isCaseSensitive: Boolean, + isEnabled: Boolean, isInverse: Boolean, sender: String?, + chanName: String?) { if (contains(id)) return _highlightRuleList += HighlightRule( - id, name, isRegEx, isCaseSensitive, isEnabled, isInverse, sender, chanName + id, name ?: "", isRegEx, isCaseSensitive, isEnabled, isInverse, sender ?: "", chanName ?: "" ) } diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IgnoreListManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IgnoreListManager.kt index 132e6d9b3b5e15fe0d0ce9acc855f2c34ac1d446..66a4c5ec4f83329eca654aac53d738ffd42fae12 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IgnoreListManager.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IgnoreListManager.kt @@ -98,23 +98,23 @@ class IgnoreListManager constructor( } } - override fun addIgnoreListItem(type: Int, ignoreRule: String, isRegEx: Boolean, strictness: Int, - scope: Int, scopeRule: String, isActive: Boolean) { + override fun addIgnoreListItem(type: Int, ignoreRule: String?, isRegEx: Boolean, strictness: Int, + scope: Int, scopeRule: String?, isActive: Boolean) { if (contains(ignoreRule)) return _ignoreList += IgnoreListItem(type, ignoreRule, isRegEx, strictness, scope, scopeRule, isActive) } - override fun removeIgnoreListItem(ignoreRule: String) = removeAt(indexOf(ignoreRule)) + override fun removeIgnoreListItem(ignoreRule: String?) = removeAt(indexOf(ignoreRule)) - override fun toggleIgnoreRule(ignoreRule: String) { + override fun toggleIgnoreRule(ignoreRule: String?) { _ignoreList = _ignoreList.map { if (it.ignoreRule == ignoreRule) it.copy(isActive = !it.isActive) else it } } - fun indexOf(ignore: String): Int = _ignoreList.indexOfFirst { it.ignoreRule == ignore } - fun contains(ignore: String) = _ignoreList.any { it.ignoreRule == ignore } + fun indexOf(ignore: String?): Int = _ignoreList.indexOfFirst { it.ignoreRule == ignore } + fun contains(ignore: String?) = _ignoreList.any { it.ignoreRule == ignore } fun isEmpty() = _ignoreList.isEmpty() fun count() = _ignoreList.count() fun removeAt(index: Int) { @@ -177,23 +177,23 @@ class IgnoreListManager constructor( val regEx: ExpressionMatch, val scopeRegEx: ExpressionMatch ) : Serializable { - constructor(type: Int, ignoreRule: String, isRegEx: Boolean, strictness: Int, scope: Int, - scopeRule: String, isActive: Boolean) : this( + constructor(type: Int, ignoreRule: String?, isRegEx: Boolean, strictness: Int, scope: Int, + scopeRule: String?, isActive: Boolean) : this( IgnoreType.of(type), ignoreRule, isRegEx, StrictnessType.of(strictness), ScopeType.of(scope), scopeRule, isActive ) - constructor(type: IgnoreType, ignoreRule: String, isRegEx: Boolean, strictness: StrictnessType, - scope: ScopeType, scopeRule: String, isActive: Boolean) : this( - type, ignoreRule, isRegEx, strictness, scope, scopeRule, isActive, + constructor(type: IgnoreType, ignoreRule: String?, isRegEx: Boolean, strictness: StrictnessType, + scope: ScopeType, scopeRule: String?, isActive: Boolean) : this( + type, ignoreRule ?: "", isRegEx, strictness, scope, scopeRule ?: "", isActive, ExpressionMatch( - ignoreRule, + ignoreRule ?: "", if (isRegEx) ExpressionMatch.MatchMode.MatchRegEx else ExpressionMatch.MatchMode.MatchWildcard, true ), ExpressionMatch( - scopeRule, + scopeRule ?: "", ExpressionMatch.MatchMode.MatchMultiWildcard, true ) diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt index be52ec64e1a2717407826f066bb9a00ef42e5fc6..b97056c4e9a804529c024e12915f907280d0769b 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt @@ -221,16 +221,16 @@ class IrcChannel( _codecForDecoding = codec } - override fun setTopic(topic: String) { - if (_topic == topic) + override fun setTopic(topic: String?) { + if (_topic == topic ?: "") return - _topic = topic + _topic = topic ?: "" } - override fun setPassword(password: String) { - if (_password == password) + override fun setPassword(password: String?) { + if (_password == password ?: "") return - _password = password + _password = password ?: "" } override fun setEncrypted(encrypted: Boolean) { @@ -285,7 +285,7 @@ class IrcChannel( updateUsers() } - override fun part(nick: String) { + override fun part(nick: String?) { part(network().ircUser(nick)) } @@ -296,8 +296,8 @@ class IrcChannel( updateUsers() } - override fun setUserModes(nick: String, modes: String) { - setUserModes(network().ircUser(nick), modes) + override fun setUserModes(nick: String?, modes: String?) { + setUserModes(network().ircUser(nick), modes ?: "") } fun addUserMode(ircuser: IrcUser, mode: Char) { @@ -313,8 +313,8 @@ class IrcChannel( updateUsers() } - override fun addUserMode(nick: String, mode: String) { - addUserMode(network().ircUser(nick), mode) + override fun addUserMode(nick: String?, mode: String?) { + addUserMode(network().ircUser(nick), mode ?: "") } override fun removeUserMode(ircuser: IrcUser?, mode: String) { @@ -327,8 +327,8 @@ class IrcChannel( updateUsers() } - override fun removeUserMode(nick: String, mode: String) { - removeUserMode(network().ircUser(nick), mode) + override fun removeUserMode(nick: String?, mode: String?) { + removeUserMode(network().ircUser(nick), mode ?: "") } override fun addChannelMode(mode: Char, value: String?) { diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcListHelper.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcListHelper.kt index 62140abd19e114e18bf30b4d925257535d1615e5..f79e901e2f4546c3fb052a7a4938c4742857b6d3 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcListHelper.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcListHelper.kt @@ -35,7 +35,7 @@ class IrcListHelper constructor( data class Finished(val netId: NetworkId) : Event() - data class Error(val error: String) : Event() + data class Error(val error: String?) : Event() } private val subject = ReusableUnicastSubject.create<Event>() @@ -50,7 +50,7 @@ class IrcListHelper constructor( subject.onNext(Event.Finished(netId)) } - override fun reportError(error: String) { + override fun reportError(error: String?) { subject.onNext(Event.Error(error)) } } diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcUser.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcUser.kt index c5329610206fa686f3e42d3160664248bb6e73aa..2ca56f3ac06e12474f929c84a725f938d0614a47 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcUser.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcUser.kt @@ -125,43 +125,43 @@ class IrcUser( fun userModes() = _userModes fun channels() = _channels.map(IrcChannel::name) - override fun addUserModes(modes: String) { - (_userModes.toSet() + modes.toSet()).joinToString() + override fun addUserModes(modes: String?) { + (_userModes.toSet() + modes?.toSet().orEmpty()).joinToString() } - override fun removeUserModes(modes: String) { - (_userModes.toSet() - modes.toSet()).joinToString() + override fun removeUserModes(modes: String?) { + (_userModes.toSet() - modes?.toSet().orEmpty()).joinToString() } - override fun setUser(user: String) { - if (_user != user) { - _user = user + override fun setUser(user: String?) { + if (_user != user ?: "") { + _user = user ?: "" } } - override fun setHost(host: String) { - if (_host != host) { - _host = host + override fun setHost(host: String?) { + if (_host != host ?: "") { + _host = host ?: "" } } - override fun setNick(nick: String) { - if (nick.isNotEmpty() && _nick != nick) { + override fun setNick(nick: String?) { + if (!nick.isNullOrEmpty() && _nick != nick) { network().ircUserNickChanged(_nick, nick) _nick = nick updateObjectName() } } - override fun setRealName(realName: String) { - if (_realName != realName) { - _realName = realName + override fun setRealName(realName: String?) { + if (_realName != realName ?: "") { + _realName = realName ?: "" } } - override fun setAccount(account: String) { - if (_account != account) { - _account = account + override fun setAccount(account: String?) { + if (_account != account ?: "") { + _account = account ?: "" } } @@ -171,9 +171,9 @@ class IrcUser( } } - override fun setAwayMessage(awayMessage: String) { - if (_awayMessage != awayMessage) { - _awayMessage = awayMessage + override fun setAwayMessage(awayMessage: String?) { + if (_awayMessage != awayMessage ?: "") { + _awayMessage = awayMessage ?: "" } } @@ -190,9 +190,9 @@ class IrcUser( } } - override fun setIrcOperator(ircOperator: String) { - if (_ircOperator != ircOperator) { - _ircOperator = ircOperator + override fun setIrcOperator(ircOperator: String?) { + if (_ircOperator != ircOperator ?: "") { + _ircOperator = ircOperator ?: "" } } @@ -207,15 +207,15 @@ class IrcUser( _lastAwayMessageTime = Instant.from(lastAwayMessageTime) } - override fun setWhoisServiceReply(whoisServiceReply: String) { - if (_whoisServiceReply != whoisServiceReply) { - _whoisServiceReply = whoisServiceReply + override fun setWhoisServiceReply(whoisServiceReply: String?) { + if (_whoisServiceReply != whoisServiceReply ?: "") { + _whoisServiceReply = whoisServiceReply ?: "" } } - override fun setSuserHost(suserHost: String) { - if (_suserHost != suserHost) { - _suserHost = suserHost + override fun setSuserHost(suserHost: String?) { + if (_suserHost != suserHost ?: "") { + _suserHost = suserHost ?: "" } } @@ -225,23 +225,23 @@ class IrcUser( } } - override fun setServer(server: String) { - if (_server != server) { - _server = server + override fun setServer(server: String?) { + if (_server != server ?: "") { + _server = server ?: "" } } - override fun updateHostmask(mask: String) { - if (hostMask() != mask) { - val (user, host, _) = HostmaskHelper.split(mask) + override fun updateHostmask(mask: String?) { + if (hostMask() != mask ?: "") { + val (user, host, _) = HostmaskHelper.split(mask ?: "") setUser(user) setHost(host) } } - override fun setUserModes(modes: String) { - if (_userModes != modes) { - _userModes = modes + override fun setUserModes(modes: String?) { + if (_userModes != modes ?: "") { + _userModes = modes ?: "" } } @@ -253,8 +253,8 @@ class IrcUser( } } - override fun joinChannel(channelname: String) { - joinChannel(network().newIrcChannel(channelname)) + override fun joinChannel(channelname: String?) { + joinChannel(network().newIrcChannel(channelname ?: "")) } override fun partChannel(channel: IrcChannel) { @@ -266,7 +266,7 @@ class IrcUser( } } - override fun partChannel(channelname: String) { + override fun partChannel(channelname: String?) { val channel = network().ircChannel(channelname) ?: throw IllegalArgumentException( "Received part for unknown channel : $channelname" ) diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt index 18f46d1823e0674a76c2121e17d6284328e0ec32..d0ef1788109cf7b6a3254d8ad46132229b689c37 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt @@ -136,7 +136,9 @@ class Network constructor( fun nicks() = _ircUsers.values.map(IrcUser::nick) fun channels(): Set<String> = _ircChannels.keys fun caps(): Set<String> = _caps.keys + fun liveCaps() = live_caps.map { caps() } fun capsEnabled(): Set<String> = _capsEnabled + fun livecapsEnabled() = live_capsEnabled.map { capsEnabled() } fun serverList() = _serverList fun useRandomServer() = _useRandomServer fun perform() = _perform @@ -186,7 +188,7 @@ class Network constructor( override fun setNetworkInfo(info: NetworkInfo) { // we don't set our ID! - if (!info.networkName.isEmpty() && info.networkName != networkName()) + if (!info.networkName.isNullOrEmpty() && info.networkName != networkName()) setNetworkName(info.networkName) if (info.identity > 0 && info.identity != identity()) setIdentity(info.identity) @@ -289,6 +291,7 @@ class Network constructor( fun channelModes(): Map<ChannelModeType, Set<Char>>? = _channelModes fun supports(): Map<String, String?> = _supports + fun liveSupports() = live_supports.map { supports() } fun supports(param: String) = _supports.contains(param.toUpperCase(Locale.US)) fun support(param: String) = _supports.getOr(param, "") /** @@ -422,16 +425,16 @@ class Network constructor( _autoAwayActive = active } - override fun setNetworkName(networkName: String) { - if (_networkName == networkName) + override fun setNetworkName(networkName: String?) { + if (_networkName == networkName ?: "") return - _networkName = networkName + _networkName = networkName ?: "" } override fun setCurrentServer(currentServer: String?) { - if (_currentServer == currentServer) + if (_currentServer == currentServer ?: "") return - _currentServer = currentServer + _currentServer = currentServer ?: "" } override fun setConnected(isConnected: Boolean) { @@ -505,16 +508,16 @@ class Network constructor( _useAutoIdentify = autoIdentify } - override fun setAutoIdentifyService(service: String) { - if (_autoIdentifyService == service) + override fun setAutoIdentifyService(service: String?) { + if (_autoIdentifyService == service ?: "") return - _autoIdentifyService = service + _autoIdentifyService = service ?: "" } - override fun setAutoIdentifyPassword(password: String) { - if (_autoIdentifyPassword == password) + override fun setAutoIdentifyPassword(password: String?) { + if (_autoIdentifyPassword == password ?: "") return - _autoIdentifyPassword = password + _autoIdentifyPassword = password ?: "" } override fun setUseSasl(sasl: Boolean) { @@ -524,15 +527,15 @@ class Network constructor( } override fun setSaslAccount(account: String?) { - if (_saslAccount == account) + if (_saslAccount == account ?: "") return - _saslAccount = account + _saslAccount = account ?: "" } override fun setSaslPassword(password: String?) { - if (_saslPassword == password) + if (_saslPassword == password ?: "") return - _saslPassword = password + _saslPassword = password ?: "" } override fun setUseAutoReconnect(autoReconnect: Boolean) { @@ -615,33 +618,33 @@ class Network constructor( setCodecForServer(Charsets.ISO_8859_1.decode(codecName).toString()) } - override fun addSupport(param: String, value: String?) { - _supports[param] = value + override fun addSupport(param: String?, value: String?) { + _supports[param ?: ""] = value } - override fun removeSupport(param: String) { - if (!_supports.contains(param)) + override fun removeSupport(param: String?) { + if (!_supports.contains(param ?: "")) return - _supports.remove(param) + _supports.remove(param ?: "") } override fun addCap(capability: String, value: String?) { _caps[capability.toLowerCase(Locale.US)] = value } - override fun acknowledgeCap(capability: String) { - val lowerCase = capability.toLowerCase(Locale.US) - if (!_capsEnabled.contains(lowerCase)) + override fun acknowledgeCap(capability: String?) { + val lowerCase = capability?.toLowerCase(Locale.US) + if (!_capsEnabled.contains(lowerCase ?: "")) return - _capsEnabled.add(lowerCase) + _capsEnabled.add(lowerCase ?: "") } - override fun removeCap(capability: String) { - val lowerCase = capability.toLowerCase(Locale.US) - if (!_caps.contains(lowerCase)) + override fun removeCap(capability: String?) { + val lowerCase = capability?.toLowerCase(Locale.US) + if (!_caps.contains(lowerCase ?: "")) return - _caps.remove(lowerCase) - _capsEnabled.remove(lowerCase) + _caps.remove(lowerCase ?: "") + _capsEnabled.remove(lowerCase ?: "") } override fun clearCaps() { @@ -651,12 +654,12 @@ class Network constructor( _capsEnabled.clear() } - override fun addIrcUser(hostmask: String) { - newIrcUser(hostmask) + override fun addIrcUser(hostmask: String?) { + newIrcUser(hostmask ?: "") } - override fun addIrcChannel(channel: String) { - newIrcChannel(channel) + override fun addIrcChannel(channel: String?) { + newIrcChannel(channel ?: "") } override fun initSupports(): QVariantMap = _supports.entries.map { (key, value) -> @@ -817,14 +820,14 @@ class Network constructor( } } - override fun ircUserNickChanged(old: String, new: String) { - val value = _ircUsers.remove(caseMapper.toLowerCase(old)) + override fun ircUserNickChanged(old: String?, new: String?) { + val value = _ircUsers.remove(caseMapper.toLowerCase(old ?: "")) if (value != null) { - _ircUsers[caseMapper.toLowerCase(new)] = value + _ircUsers[caseMapper.toLowerCase(new ?: "")] = value } } - override fun emitConnectionError(error: String) { + override fun emitConnectionError(error: String?) { } fun removeChansAndUsers() { @@ -862,12 +865,22 @@ class Network constructor( } private var _myNick: String? = null private var _latency: Int = 0 + set (value) { + field = value + live_latency.onNext(value) + } + private val live_latency = BehaviorSubject.createDefault(0) private var _networkName: String = "<not initialized>" set(value) { field = value live_networkInfo.onNext(Unit) } - private var _currentServer: String? = null + private var _currentServer: String = "" + set (value) { + field = value + live_currentServer.onNext(value) + } + private val live_currentServer = BehaviorSubject.createDefault("") private var _connected: Boolean = false private var _connectionState: ConnectionState = ConnectionState.Disconnected private val live_connectionState = BehaviorSubject.createDefault(ConnectionState.Disconnected) @@ -882,6 +895,11 @@ class Network constructor( private val live_ircChannels = BehaviorSubject.createDefault(emptyMap<String, IrcChannel>()) // stores results from RPL_ISUPPORT private var _supports: MutableMap<String, String?> = mutableMapOf() + set (value) { + field = value + live_caps.onNext(Unit) + } + private val live_supports = BehaviorSubject.createDefault(Unit) /** * Capabilities supported by the IRC server * By synchronizing the supported capabilities, the client could suggest certain behaviors, e.g. @@ -889,11 +907,21 @@ class Network constructor( * SASL EXTERNAL isn't available. */ private var _caps: MutableMap<String, String?> = mutableMapOf() + set (value) { + field = value + live_caps.onNext(Unit) + } + private val live_caps = BehaviorSubject.createDefault(Unit) /** * Enabled capabilities that received 'CAP ACK' * _capsEnabled uses the same values from the <name>=<value> pairs stored in _caps */ private var _capsEnabled: MutableSet<String> = mutableSetOf() + set (value) { + field = value + live_capsEnabled.onNext(Unit) + } + private val live_capsEnabled = BehaviorSubject.createDefault(Unit) private var _serverList: List<Server> = listOf() set(value) { field = value @@ -929,12 +957,12 @@ class Network constructor( field = value live_networkInfo.onNext(Unit) } - private var _saslAccount: String? = null + private var _saslAccount: String = "" set(value) { field = value live_networkInfo.onNext(Unit) } - private var _saslPassword: String? = null + private var _saslPassword: String = "" set(value) { field = value live_networkInfo.onNext(Unit) diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/RpcHandler.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/RpcHandler.kt index 45c49f882f8aa4fc15ce928aa536e2bc71feed2e..779d1f7eed906898a7fadb90f6a88915b339c6c2 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/RpcHandler.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/RpcHandler.kt @@ -36,7 +36,7 @@ class RpcHandler( private val backlogStorage: BacklogStorage? = null, private val notificationManager: NotificationManager? = null ) : IRpcHandler { - override fun displayStatusMsg(net: String, msg: String) { + override fun displayStatusMsg(net: String?, msg: String?) { } override fun bufferInfoUpdated(bufferInfo: BufferInfo) { @@ -60,8 +60,10 @@ class RpcHandler( session.disconnectFromCore?.invoke() } - override fun objectRenamed(classname: ByteBuffer, newname: String, oldname: String) { - session.renameObject(classname.deserializeString(StringSerializer.UTF8) ?: "", newname, oldname) + override fun objectRenamed(classname: ByteBuffer, newname: String?, oldname: String?) { + session.renameObject(classname.deserializeString(StringSerializer.UTF8) ?: "", + newname ?: "", + oldname ?: "") } override fun displayMsg(message: Message) { @@ -96,7 +98,7 @@ class RpcHandler( ARG(networkId, QType.NetworkId) ) - override fun changePassword(peerPtr: Long, user: String, old: String, new: String) = + override fun changePassword(peerPtr: Long, user: String?, old: String?, new: String?) = RPC( "2changePassword(PeerPtr,QString,QString,QString)", ARG(peerPtr, QType.PeerPtr), @@ -111,7 +113,7 @@ class RpcHandler( ARG(id, Type.Int) ) - override fun sendInput(bufferInfo: BufferInfo, message: String) = + override fun sendInput(bufferInfo: BufferInfo, message: String?) = RPC( "2sendInput(BufferInfo,QString)", ARG(bufferInfo, QType.BufferInfo), diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IBufferSyncer.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IBufferSyncer.kt index 919fb860f743fc7c87469608464b4086250fae10..c96be00ce116787ef3ca8fb66ee127008d1ea2ab 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IBufferSyncer.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IBufferSyncer.kt @@ -47,7 +47,7 @@ interface IBufferSyncer : ISyncableObject { fun removeBuffer(buffer: BufferId) @Slot - fun renameBuffer(buffer: BufferId, newName: String) + fun renameBuffer(buffer: BufferId, newName: String?) @Slot fun requestMarkBufferAsRead(buffer: BufferId) { diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IBufferViewConfig.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IBufferViewConfig.kt index d779e9c5e0ae1889a01bc72e278a6fbdad485bee..58dcee6ac5c1a125e7f2e1340d77587050a799ee 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IBufferViewConfig.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IBufferViewConfig.kt @@ -69,7 +69,7 @@ interface IBufferViewConfig : ISyncableObject { } @Slot - fun requestSetBufferViewName(bufferViewName: String) { + fun requestSetBufferViewName(bufferViewName: String?) { REQUEST("requestSetBufferViewName", ARG(bufferViewName, Type.QString)) } @@ -84,7 +84,7 @@ interface IBufferViewConfig : ISyncableObject { } @Slot - fun setBufferViewName(bufferViewName: String) { + fun setBufferViewName(bufferViewName: String?) { SYNC("setBufferViewName", ARG(bufferViewName, Type.QString)) } diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IHighlightRuleManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IHighlightRuleManager.kt index dc05691ee3dddbafcf172542fed13ad04dd3b262..af5c129224860d2fc35c0566381e82e66a80535d 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IHighlightRuleManager.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IHighlightRuleManager.kt @@ -79,17 +79,17 @@ interface IHighlightRuleManager : ISyncableObject { * @param chanName The channel in which the rule should apply */ @Slot - fun requestAddHighlightRule(id: Int, name: String, isRegEx: Boolean, isCaseSensitive: Boolean, - isEnabled: Boolean, isInverse: Boolean, sender: String, - chanName: String) { + fun requestAddHighlightRule(id: Int, name: String?, isRegEx: Boolean, isCaseSensitive: Boolean, + isEnabled: Boolean, isInverse: Boolean, sender: String?, + chanName: String?) { REQUEST("requestAddHighlightRule", ARG(id, Type.Int), ARG(name, Type.QString), ARG(isRegEx, Type.Bool), ARG(isCaseSensitive, Type.Bool), ARG(isEnabled, Type.Bool), ARG(isInverse, Type.Bool), ARG(sender, Type.QString), ARG(chanName, Type.QString)) } @Slot - fun addHighlightRule(id: Int, name: String, isRegEx: Boolean, isCaseSensitive: Boolean, - isEnabled: Boolean, isInverse: Boolean, sender: String, chanName: String) + fun addHighlightRule(id: Int, name: String?, isRegEx: Boolean, isCaseSensitive: Boolean, + isEnabled: Boolean, isInverse: Boolean, sender: String?, chanName: String?) @Slot fun requestSetHighlightNick(highlightNick: Int) { diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIgnoreListManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIgnoreListManager.kt index e829187dda4f2c040818454904848fc27d8255e9..64b44ee2d7116ec6dec63ee86027383550fd7e7e 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIgnoreListManager.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIgnoreListManager.kt @@ -31,15 +31,15 @@ interface IIgnoreListManager : ISyncableObject { fun initSetIgnoreList(ignoreList: QVariantMap) @Slot - fun addIgnoreListItem(type: Int, ignoreRule: String, isRegEx: Boolean, strictness: Int, - scope: Int, scopeRule: String, isActive: Boolean) + fun addIgnoreListItem(type: Int, ignoreRule: String?, isRegEx: Boolean, strictness: Int, + scope: Int, scopeRule: String?, isActive: Boolean) @Slot - fun removeIgnoreListItem(ignoreRule: String) + fun removeIgnoreListItem(ignoreRule: String?) @Slot - fun requestAddIgnoreListItem(type: Int, ignoreRule: String, isRegEx: Boolean, strictness: Int, - scope: Int, scopeRule: String, isActive: Boolean) { + fun requestAddIgnoreListItem(type: Int, ignoreRule: String?, isRegEx: Boolean, strictness: Int, + scope: Int, scopeRule: String?, isActive: Boolean) { REQUEST( "requestAddIgnoreListItem", ARG(type, Type.Int), ARG(ignoreRule, Type.QString), ARG(isRegEx, Type.Bool), @@ -49,17 +49,17 @@ interface IIgnoreListManager : ISyncableObject { } @Slot - fun requestRemoveIgnoreListItem(ignoreRule: String) { + fun requestRemoveIgnoreListItem(ignoreRule: String?) { REQUEST("requestRemoveIgnoreListItem", ARG(ignoreRule, Type.QString)) } @Slot - fun requestToggleIgnoreRule(ignoreRule: String) { + fun requestToggleIgnoreRule(ignoreRule: String?) { REQUEST("requestToggleIgnoreRule", ARG(ignoreRule, Type.QString)) } @Slot - fun toggleIgnoreRule(ignoreRule: String) + fun toggleIgnoreRule(ignoreRule: String?) @Slot override fun update(properties: QVariantMap) { diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcChannel.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcChannel.kt index 8f1285cba8a2ef5d2a025625bee5196610c681f3..b2e7510e3c9b2e683b7187422a027a2aa5dce37d 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcChannel.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcChannel.kt @@ -41,7 +41,7 @@ interface IIrcChannel : ISyncableObject { fun addUserMode(ircuser: IrcUser?, mode: String) @Slot - fun addUserMode(nick: String, mode: String) + fun addUserMode(nick: String?, mode: String?) @Slot fun joinIrcUser(ircuser: IrcUser) @@ -52,7 +52,7 @@ interface IIrcChannel : ISyncableObject { fun part(ircuser: IrcUser?) @Slot - fun part(nick: String) + fun part(nick: String?) @Slot fun removeChannelMode(mode: Char, value: String?) @@ -60,21 +60,21 @@ interface IIrcChannel : ISyncableObject { fun removeUserMode(ircuser: IrcUser?, mode: String) @Slot - fun removeUserMode(nick: String, mode: String) + fun removeUserMode(nick: String?, mode: String?) @Slot fun setEncrypted(encrypted: Boolean) @Slot - fun setPassword(password: String) + fun setPassword(password: String?) @Slot - fun setTopic(topic: String) + fun setTopic(topic: String?) fun setUserModes(ircuser: IrcUser?, modes: String) @Slot - fun setUserModes(nick: String, modes: String) + fun setUserModes(nick: String?, modes: String?) @Slot override fun update(properties: QVariantMap) diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcListHelper.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcListHelper.kt index 78e407c7122fc14b71c3482b9c90df491973006c..1d4411b91150fa6a512b5abd6cb4d1e68f67064c 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcListHelper.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcListHelper.kt @@ -39,7 +39,7 @@ interface IIrcListHelper : ISyncableObject { fun receiveChannelList(netId: NetworkId, channelFilters: QStringList, data: QVariantList) @Slot - fun reportError(error: String) { + fun reportError(error: String?) { SYNC("reportError", ARG(error, Type.QString)) } diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcUser.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcUser.kt index c6ff3143997e0bfd5c6c7f52b67fb3161b122ac2..84cbabf8282dbcd0f70199f92464ee747c1d48ec 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcUser.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcUser.kt @@ -30,42 +30,42 @@ interface IIrcUser : ISyncableObject { fun initProperties(): QVariantMap fun initSetProperties(properties: QVariantMap, index: Int? = null) @Slot - fun addUserModes(modes: String) + fun addUserModes(modes: String?) fun joinChannel(channel: IrcChannel, skip_channel_join: Boolean = false) @Slot - fun joinChannel(channelname: String) + fun joinChannel(channelname: String?) fun partChannel(channel: IrcChannel) @Slot - fun partChannel(channelname: String) + fun partChannel(channelname: String?) @Slot fun quit() @Slot - fun removeUserModes(modes: String) + fun removeUserModes(modes: String?) @Slot - fun setAccount(account: String) + fun setAccount(account: String?) @Slot fun setAway(away: Boolean) @Slot - fun setAwayMessage(awayMessage: String) + fun setAwayMessage(awayMessage: String?) @Slot fun setEncrypted(encrypted: Boolean) @Slot - fun setHost(host: String) + fun setHost(host: String?) @Slot fun setIdleTime(idleTime: Temporal) @Slot - fun setIrcOperator(ircOperator: String) + fun setIrcOperator(ircOperator: String?) @Slot fun setLastAwayMessage(lastAwayMessage: Int) @@ -77,28 +77,28 @@ interface IIrcUser : ISyncableObject { fun setLoginTime(loginTime: Temporal) @Slot - fun setNick(nick: String) + fun setNick(nick: String?) @Slot - fun setRealName(realName: String) + fun setRealName(realName: String?) @Slot - fun setServer(server: String) + fun setServer(server: String?) @Slot - fun setSuserHost(suserHost: String) + fun setSuserHost(suserHost: String?) @Slot - fun setUser(user: String) + fun setUser(user: String?) @Slot - fun setUserModes(modes: String) + fun setUserModes(modes: String?) @Slot - fun setWhoisServiceReply(whoisServiceReply: String) + fun setWhoisServiceReply(whoisServiceReply: String?) @Slot - fun updateHostmask(mask: String) + fun updateHostmask(mask: String?) @Slot override fun update(properties: QVariantMap) { diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/INetwork.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/INetwork.kt index 59cb8f271b8f1585c6e11f1ef95d1ab1b9a20038..701989b6b36b06321aa15826411ba9e7e90da6e2 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/INetwork.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/INetwork.kt @@ -46,34 +46,34 @@ interface INetwork : ISyncableObject { fun initSetProperties(properties: QVariantMap) @Slot - fun acknowledgeCap(capability: String) + fun acknowledgeCap(capability: String?) @Slot fun addCap(capability: String, value: String?) @Slot - fun addIrcChannel(channel: String) + fun addIrcChannel(channel: String?) @Slot - fun addIrcUser(hostmask: String) + fun addIrcUser(hostmask: String?) @Slot - fun addSupport(param: String, value: String? = null) + fun addSupport(param: String?, value: String? = null) @Slot fun clearCaps() @Slot - fun emitConnectionError(error: String) + fun emitConnectionError(error: String?) @Slot - fun ircUserNickChanged(old: String, new: String) + fun ircUserNickChanged(old: String?, new: String?) @Slot - fun removeCap(capability: String) + fun removeCap(capability: String?) @Slot - fun removeSupport(param: String) + fun removeSupport(param: String?) @Slot fun requestConnect() { @@ -91,10 +91,10 @@ interface INetwork : ISyncableObject { } @Slot - fun setAutoIdentifyPassword(password: String) + fun setAutoIdentifyPassword(password: String?) @Slot - fun setAutoIdentifyService(service: String) + fun setAutoIdentifyService(service: String?) @Slot fun setAutoReconnectInterval(interval: UInt) @@ -136,7 +136,7 @@ interface INetwork : ISyncableObject { fun setMyNick(mynick: String?) @Slot - fun setNetworkName(networkName: String) + fun setNetworkName(networkName: String?) @Slot fun setNetworkInfo(info: NetworkInfo) @@ -234,18 +234,18 @@ interface INetwork : ISyncableObject { } data class Server( - val host: String = "", + val host: String? = "", val port: UInt = PortDefaults.PORT_PLAINTEXT.port, - val password: String = "", + val password: String? = "", val useSsl: Boolean = false, val sslVerify: Boolean = false, val sslVersion: Int = 0, val useProxy: Boolean = false, val proxyType: Int = ProxyType.Socks5Proxy.value, - val proxyHost: String = "localhost", + val proxyHost: String? = "localhost", val proxyPort: UInt = 8080u, - val proxyUser: String = "", - val proxyPass: String = "" + val proxyUser: String? = "", + val proxyPass: String? = "" ) : Serializable { fun toVariantMap(): QVariantMap = mapOf( "Host" to QVariant.of(host, Type.QString), @@ -310,8 +310,8 @@ interface INetwork : ISyncableObject { var autoIdentifyService: String = "", var autoIdentifyPassword: String = "", var useSasl: Boolean = false, - var saslAccount: String? = null, - var saslPassword: String? = null, + var saslAccount: String = "", + var saslPassword: String = "", var useAutoReconnect: Boolean = true, var autoReconnectInterval: UInt = 0u, var autoReconnectRetries: UShort = 0u, diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt index dd493d8f8b064a59236cfa2f782622d41ad9656b..7ae0ce7a403b24693ee15cd4cb37362c578b330d 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt @@ -35,13 +35,13 @@ interface IRpcHandler { val session: Session @Slot("__objectRenamed__") - fun objectRenamed(classname: ByteBuffer, newname: String, oldname: String) + fun objectRenamed(classname: ByteBuffer, newname: String?, oldname: String?) @Slot("2displayMsg(Message)") fun displayMsg(message: Message) @Slot("2displayStatusMsg(QString,QString)") - fun displayStatusMsg(net: String, msg: String) + fun displayStatusMsg(net: String?, msg: String?) @Slot("2bufferInfoUpdated(BufferInfo)") fun bufferInfoUpdated(bufferInfo: BufferInfo) @@ -68,7 +68,7 @@ interface IRpcHandler { fun removeIdentity(identityId: IdentityId) fun createNetwork(networkInfo: INetwork.NetworkInfo, channels: List<String> = emptyList()) fun removeNetwork(networkId: NetworkId) - fun changePassword(peerPtr: Long, user: String, old: String, new: String) + fun changePassword(peerPtr: Long, user: String?, old: String?, new: String?) fun requestKickClient(id: Int) - fun sendInput(bufferInfo: BufferInfo, message: String) + fun sendInput(bufferInfo: BufferInfo, message: String?) } diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/ITransfer.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/ITransfer.kt index bf24b1bd84bb45f187f7d41af8fc6206bb5a0f69..a174093d7635f0db505e2e4948865b3efd1821b6 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/ITransfer.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/ITransfer.kt @@ -29,7 +29,7 @@ import java.nio.ByteBuffer @Syncable(name = "Transfer") interface ITransfer : ISyncableObject { @Slot - fun accept(savePath: String) { + fun accept(savePath: String?) { SYNC("accept", ARG(savePath, Type.QString)) } @@ -54,7 +54,7 @@ interface ITransfer : ISyncableObject { } @Slot - fun setError(errorString: String) { + fun setError(errorString: String?) { SYNC("setError", ARG(errorString, Type.QString)) }