Skip to content
Snippets Groups Projects
Commit dc46b9f7 authored by Kamal Bramwell's avatar Kamal Bramwell
Browse files

Implemented GroupChatMessage and GroupMessageListener

parent 5d933c8d
No related branches found
No related tags found
No related merge requests found
package io.elixxir.xxclient.callbacks
import bindings.GroupChatProcessor
import io.elixxir.xxclient.models.BindingsModel.Companion.decode
import io.elixxir.xxclient.models.GroupChatMessage
import io.elixxir.xxclient.utils.ReceptionId
import io.elixxir.xxclient.utils.RoundId
interface GroupMessageListener {
val name: String
fun onMessageReceived(
decryptedMessage: ByteArray?,
decryptedMessage: GroupChatMessage?,
message: ByteArray?,
receptionId: ByteArray?,
receptionId: ReceptionId?,
ephemeralId: Long,
roundId: Long,
roundId: RoundId,
error: Exception?
)
}
......@@ -27,7 +31,12 @@ open class GroupChatProcessorAdapter(
error: Exception?
) {
listener.onMessageReceived(
decryptedMessage, message, receptionId, ephemeralId, roundId, error
decode<GroupChatMessage>(decryptedMessage),
message,
receptionId,
ephemeralId,
roundId,
error
)
}
......
package io.elixxir.xxclient.group
import io.elixxir.xxclient.models.BindingsModel.Companion.decodeArray
import io.elixxir.xxclient.models.GroupMember
import bindings.Group as GroupBindings
interface Group {
......@@ -7,7 +9,7 @@ interface Group {
val createdNano: Long
val id: ByteArray
val initMessage: ByteArray
val membership:ByteArray
val membership: List<GroupMember>
val name: ByteArray
val serialize: ByteArray
}
......@@ -23,8 +25,8 @@ open class GroupAdapter(
get() = group.id
override val initMessage: ByteArray
get() = group.initMessage
override val membership: ByteArray
get() = group.membership
override val membership: List<GroupMember>
get() = decodeArray(group.membership)
override val name: ByteArray
get() = group.name
override val serialize: ByteArray
......
package io.elixxir.xxclient.models
import io.elixxir.xxclient.utils.Payload
import io.elixxir.xxclient.utils.UserId
data class GroupChatMessage(
val groupId: ByteArray,
val senderId: UserId,
val messageId: ByteArray,
val payload: Payload,
val timestamp: Long
) : BindingsModel
\ No newline at end of file
package io.elixxir.xxclient.models
data class GroupMember(
val id: ByteArray,
val dhKey: DHKey
) : BindingsModel
data class DHKey(
val value: String,
val fingerprint: Int
) : BindingsModel
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment