You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

User.kt 822B

12345678910111213141516171819202122232425
  1. package com.dmdirc.ktirc.model
  2. data class User(
  3. var nickname: String,
  4. var ident: String? = null,
  5. var hostname: String? = null,
  6. var account: String? = null,
  7. var realName: String? = null,
  8. var awayMessage: String? = null
  9. )
  10. fun ByteArray.asUser(): User {
  11. val string = String(this)
  12. val identOffset = string.indexOf('!')
  13. return if (identOffset >= 0) {
  14. val hostOffset = string.indexOf('@', identOffset)
  15. if (hostOffset >= 0) {
  16. User(string.substring(0 until identOffset), string.substring(identOffset + 1 until hostOffset), string.substring(hostOffset + 1))
  17. } else {
  18. User(string.substring(0 until identOffset), string.substring(identOffset + 1))
  19. }
  20. } else {
  21. User(string)
  22. }
  23. }