瀏覽代碼

C2C Message update

Him188 5 年之前
父節點
當前提交
33171b5275

+ 1 - 1
gradle.properties

@@ -7,7 +7,7 @@ kotlin.parallel.tasks.in.project=true
 # kotlin
 # kotlin
 kotlinVersion=1.3.61
 kotlinVersion=1.3.61
 # kotlin libraries
 # kotlin libraries
-serializationVersion=0.13.0
+serializationVersion=0.14.0
 coroutinesVersion=1.3.2
 coroutinesVersion=1.3.2
 atomicFuVersion=0.14.1
 atomicFuVersion=0.14.1
 kotlinXIoVersion=0.1.16
 kotlinXIoVersion=0.1.16

+ 2 - 1
mirai-core-qqandroid/build.gradle.kts

@@ -64,7 +64,6 @@ kotlin {
                 api(project(":mirai-core"))
                 api(project(":mirai-core"))
 
 
                 api(kotlin("stdlib", kotlinVersion))
                 api(kotlin("stdlib", kotlinVersion))
-                api(kotlin("serialization", kotlinVersion))
 
 
                 api("org.jetbrains.kotlinx:atomicfu:$atomicFuVersion")
                 api("org.jetbrains.kotlinx:atomicfu:$atomicFuVersion")
                 api(kotlinx("io", kotlinXIoVersion))
                 api(kotlinx("io", kotlinXIoVersion))
@@ -74,6 +73,7 @@ kotlin {
         }
         }
         commonMain {
         commonMain {
             dependencies {
             dependencies {
+                api(kotlinx("serialization-runtime-common", serializationVersion))
             }
             }
         }
         }
         commonTest {
         commonTest {
@@ -103,6 +103,7 @@ kotlin {
         val jvmMain by getting {
         val jvmMain by getting {
             dependencies {
             dependencies {
                 runtimeOnly(files("build/classes/kotlin/jvm/main")) // classpath is not properly set by IDE
                 runtimeOnly(files("build/classes/kotlin/jvm/main")) // classpath is not properly set by IDE
+                api(kotlinx("serialization-runtime", serializationVersion))
             }
             }
         }
         }
 
 

+ 5 - 3
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/io/JceInput.kt → mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/io/JceInput.kt

@@ -1,4 +1,4 @@
-package net.mamoe.mirai.qqandroid.network.io
+package net.mamoe.mirai.qqandroid.io
 
 
 import kotlinx.io.charsets.Charset
 import kotlinx.io.charsets.Charset
 import kotlinx.io.core.*
 import kotlinx.io.core.*
@@ -33,7 +33,8 @@ fun <J : JceStruct> ByteReadPacket.readJceStruct(factory: JceStruct.Factory<J>,
     }
     }
 }
 }
 
 
-fun ByteArray.asJceInput(charset: Charset = CharsetUTF8): JceInput = JceInput(this.toIoBuffer(), charset)
+fun ByteArray.asJceInput(charset: Charset = CharsetUTF8): JceInput =
+    JceInput(this.toIoBuffer(), charset)
 
 
 fun <J : JceStruct> ByteReadPacket.readJceRequestBufferMapVersion2ToJceStruct(factory: JceStruct.Factory<J>, charset: Charset = CharsetUTF8): J {
 fun <J : JceStruct> ByteReadPacket.readJceRequestBufferMapVersion2ToJceStruct(factory: JceStruct.Factory<J>, charset: Charset = CharsetUTF8): J {
     this.use {
     this.use {
@@ -70,7 +71,8 @@ fun ByteReadPacket.readJceRequestBufferMapVersion3(charset: Charset = CharsetUTF
     }
     }
 }
 }
 
 
-fun ByteReadPacket.asJceInput(charset: Charset = CharsetUTF8): JceInput = JceInput(this.readIoBuffer(), charset)
+fun ByteReadPacket.asJceInput(charset: Charset = CharsetUTF8): JceInput =
+    JceInput(this.readIoBuffer(), charset)
 
 
 inline fun <R> IoBuffer.useIoBuffer(block: IoBuffer.() -> R): R {
 inline fun <R> IoBuffer.useIoBuffer(block: IoBuffer.() -> R): R {
     return try {
     return try {

+ 1 - 1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/io/JceOutput.kt → mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/io/JceOutput.kt

@@ -1,4 +1,4 @@
-package net.mamoe.mirai.qqandroid.network.io
+package net.mamoe.mirai.qqandroid.io
 
 
 import kotlinx.io.charsets.Charset
 import kotlinx.io.charsets.Charset
 import kotlinx.io.core.*
 import kotlinx.io.core.*

+ 2 - 1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/io/JceStruct.kt → mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/io/JceStruct.kt

@@ -1,9 +1,10 @@
-package net.mamoe.mirai.qqandroid.network.io
+package net.mamoe.mirai.qqandroid.io
 
 
 abstract class JceStruct {
 abstract class JceStruct {
     abstract fun writeTo(builder: JceOutput)
     abstract fun writeTo(builder: JceOutput)
 
 
     interface Factory<out T : JceStruct> {
     interface Factory<out T : JceStruct> {
         fun newInstanceFrom(input: JceInput): T
         fun newInstanceFrom(input: JceInput): T
+
     }
     }
 }
 }

+ 3 - 3
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/jce/RequestPacket.kt

@@ -1,8 +1,8 @@
 package net.mamoe.mirai.qqandroid.network.protocol.jce
 package net.mamoe.mirai.qqandroid.network.protocol.jce
 
 
-import net.mamoe.mirai.qqandroid.network.io.JceInput
-import net.mamoe.mirai.qqandroid.network.io.JceOutput
-import net.mamoe.mirai.qqandroid.network.io.JceStruct
+import net.mamoe.mirai.qqandroid.io.JceInput
+import net.mamoe.mirai.qqandroid.io.JceOutput
+import net.mamoe.mirai.qqandroid.io.JceStruct
 import net.mamoe.mirai.utils.cryptor.contentToString
 import net.mamoe.mirai.utils.cryptor.contentToString
 
 
 private val EMPTY_MAP = mapOf<String, String>()
 private val EMPTY_MAP = mapOf<String, String>()

+ 3 - 3
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/jce/SvcReqRegister.kt

@@ -1,8 +1,8 @@
 package net.mamoe.mirai.qqandroid.network.protocol.jce
 package net.mamoe.mirai.qqandroid.network.protocol.jce
 
 
-import net.mamoe.mirai.qqandroid.network.io.JceInput
-import net.mamoe.mirai.qqandroid.network.io.JceOutput
-import net.mamoe.mirai.qqandroid.network.io.JceStruct
+import net.mamoe.mirai.qqandroid.io.JceInput
+import net.mamoe.mirai.qqandroid.io.JceOutput
+import net.mamoe.mirai.qqandroid.io.JceStruct
 
 
 class SvcReqRegister(
 class SvcReqRegister(
     var bIsOnline: Byte = 0,
     var bIsOnline: Byte = 0,

+ 3 - 3
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/jce/uni.kt

@@ -1,9 +1,9 @@
 package net.mamoe.mirai.qqandroid.network.protocol.jce
 package net.mamoe.mirai.qqandroid.network.protocol.jce
 
 
 import kotlinx.io.core.BytePacketBuilder
 import kotlinx.io.core.BytePacketBuilder
-import net.mamoe.mirai.qqandroid.network.io.JceOutput
-import net.mamoe.mirai.qqandroid.network.io.buildJcePacket
-import net.mamoe.mirai.qqandroid.network.io.writeJcePacket
+import net.mamoe.mirai.qqandroid.io.JceOutput
+import net.mamoe.mirai.qqandroid.io.buildJcePacket
+import net.mamoe.mirai.qqandroid.io.writeJcePacket
 
 
 inline fun BytePacketBuilder.writeUniRequestPacket(requestPacket: RequestPacket.() -> Unit) {
 inline fun BytePacketBuilder.writeUniRequestPacket(requestPacket: RequestPacket.() -> Unit) {
     writeJcePacket {
     writeJcePacket {

+ 1 - 1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/PacketFactory.kt

@@ -4,7 +4,7 @@ import kotlinx.io.core.*
 import kotlinx.io.pool.useInstance
 import kotlinx.io.pool.useInstance
 import net.mamoe.mirai.data.Packet
 import net.mamoe.mirai.data.Packet
 import net.mamoe.mirai.qqandroid.QQAndroidBot
 import net.mamoe.mirai.qqandroid.QQAndroidBot
-import net.mamoe.mirai.qqandroid.network.io.JceInput
+import net.mamoe.mirai.qqandroid.io.JceInput
 import net.mamoe.mirai.qqandroid.network.protocol.jce.RequestPacket
 import net.mamoe.mirai.qqandroid.network.protocol.jce.RequestPacket
 import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.MessageSvc
 import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.MessageSvc
 import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.OnlinePush
 import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.OnlinePush

+ 3 - 3
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/data/PushNotifyPack.kt

@@ -1,9 +1,9 @@
 package net.mamoe.mirai.qqandroid.network.protocol.packet.chat.data
 package net.mamoe.mirai.qqandroid.network.protocol.packet.chat.data
 
 
 import net.mamoe.mirai.data.Packet
 import net.mamoe.mirai.data.Packet
-import net.mamoe.mirai.qqandroid.network.io.JceInput
-import net.mamoe.mirai.qqandroid.network.io.JceOutput
-import net.mamoe.mirai.qqandroid.network.io.JceStruct
+import net.mamoe.mirai.qqandroid.io.JceInput
+import net.mamoe.mirai.qqandroid.io.JceOutput
+import net.mamoe.mirai.qqandroid.io.JceStruct
 import net.mamoe.mirai.qqandroid.network.protocol.packet.EMPTY_BYTE_ARRAY
 import net.mamoe.mirai.qqandroid.network.protocol.packet.EMPTY_BYTE_ARRAY
 
 
 class RequestPushNotify(
 class RequestPushNotify(

+ 1 - 1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/MessageSvc.PushNotify.kt

@@ -2,7 +2,7 @@ package net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive
 
 
 import kotlinx.io.core.ByteReadPacket
 import kotlinx.io.core.ByteReadPacket
 import net.mamoe.mirai.qqandroid.QQAndroidBot
 import net.mamoe.mirai.qqandroid.QQAndroidBot
-import net.mamoe.mirai.qqandroid.network.io.readJceRequestBufferMapVersion2ToJceStruct
+import net.mamoe.mirai.qqandroid.io.readJceRequestBufferMapVersion2ToJceStruct
 import net.mamoe.mirai.qqandroid.network.protocol.packet.PacketFactory
 import net.mamoe.mirai.qqandroid.network.protocol.packet.PacketFactory
 import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.data.RequestPushNotify
 import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.data.RequestPushNotify
 import net.mamoe.mirai.utils.cryptor.contentToString
 import net.mamoe.mirai.utils.cryptor.contentToString

+ 2 - 2
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/login/Register.kt

@@ -5,8 +5,8 @@ import kotlinx.serialization.protobuf.ProtoBuf
 import net.mamoe.mirai.data.Packet
 import net.mamoe.mirai.data.Packet
 import net.mamoe.mirai.qqandroid.QQAndroidBot
 import net.mamoe.mirai.qqandroid.QQAndroidBot
 import net.mamoe.mirai.qqandroid.network.QQAndroidClient
 import net.mamoe.mirai.qqandroid.network.QQAndroidClient
-import net.mamoe.mirai.qqandroid.network.io.jceMap
-import net.mamoe.mirai.qqandroid.network.io.jceStruct
+import net.mamoe.mirai.qqandroid.io.jceMap
+import net.mamoe.mirai.qqandroid.io.jceStruct
 import net.mamoe.mirai.qqandroid.network.protocol.jce.SvcReqRegister
 import net.mamoe.mirai.qqandroid.network.protocol.jce.SvcReqRegister
 import net.mamoe.mirai.qqandroid.network.protocol.jce.writeUniRequestPacket
 import net.mamoe.mirai.qqandroid.network.protocol.jce.writeUniRequestPacket
 import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacket
 import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacket