/* * Quasseldroid - Quassel client for Android * * Copyright (c) 2018 Janne Koschinski * Copyright (c) 2018 The Quassel Project * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3 as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. */ package de.kuschku.libquassel.quassel enum class ExtendedFeature { SynchronizedMarkerLine, SaslAuthentication, SaslExternal, HideInactiveNetworks, PasswordChange, /** IRCv3 capability negotiation, account tracking */ CapNegotiation, /** IRC server SSL validation */ VerifyServerSSL, /** IRC server custom message rate limits */ CustomRateLimits, // Currently not supported // DccFileTransfer, /** Timestamp formatting in away (e.g. %%hh:mm%%) */ AwayFormatTimestamp, /** Whether or not the core supports auth backends. */ Authenticators, /** Sync buffer activity status */ BufferActivitySync, /** Core-Side highlight configuration and matching */ CoreSideHighlights, /** Show prefixes for senders in backlog */ SenderPrefixes, /** Supports RPC call disconnectFromCore to remotely disconnect a client */ RemoteDisconnect, /** Transmit features as list of strings */ ExtendedFeatures, /** Serialize message time as 64-bit */ LongMessageTime, /** Real Name and Avatar URL in backlog */ RichMessages, /** Backlogmanager supports filtering backlog by messagetype */ BacklogFilterType, /** 64-bit IDs for messages */ LongMessageId; companion object { private val map = values().associateBy(ExtendedFeature::name) fun of(name: String) = map[name] } }