session-android/libsession/src/main/java/org/session/libsession/database/MessageDataProvider.kt

32 lines
1.9 KiB
Kotlin
Raw Normal View History

package org.session.libsession.database
2021-03-02 07:22:56 +01:00
import org.session.libsession.messaging.sending_receiving.attachments.*
2021-05-18 08:11:38 +02:00
import org.session.libsession.utilities.Address
2021-05-21 07:02:34 +02:00
import org.session.libsession.utilities.UploadResult
2021-05-18 01:50:16 +02:00
import org.session.libsignal.messages.SignalServiceAttachmentPointer
import org.session.libsignal.messages.SignalServiceAttachmentStream
2021-01-05 04:17:42 +01:00
import java.io.InputStream
interface MessageDataProvider {
2020-12-18 06:44:13 +01:00
fun getMessageID(serverID: Long): Long?
fun getMessageID(serverId: Long, threadId: Long): Pair<Long, Boolean>?
fun deleteMessage(messageID: Long, isSms: Boolean)
2021-03-02 07:22:56 +01:00
fun getDatabaseAttachment(attachmentId: Long): DatabaseAttachment?
fun getAttachmentStream(attachmentId: Long): SessionServiceAttachmentStream?
fun getAttachmentPointer(attachmentId: Long): SessionServiceAttachmentPointer?
fun getSignalAttachmentStream(attachmentId: Long): SignalServiceAttachmentStream?
2021-03-03 05:14:45 +01:00
fun getScaledSignalAttachmentStream(attachmentId: Long): SignalServiceAttachmentStream?
fun getSignalAttachmentPointer(attachmentId: Long): SignalServiceAttachmentPointer?
fun setAttachmentState(attachmentState: AttachmentState, attachmentId: Long, messageID: Long)
fun insertAttachment(messageId: Long, attachmentId: AttachmentId, stream : InputStream)
fun updateAudioAttachmentDuration(attachmentId: AttachmentId, durationMs: Long)
2020-12-15 05:45:44 +01:00
fun isOutgoingMessage(timestamp: Long): Boolean
2021-05-21 07:02:34 +02:00
fun handleSuccessfulAttachmentUpload(attachmentId: Long, attachmentStream: SignalServiceAttachmentStream, attachmentKey: ByteArray, uploadResult: UploadResult)
2021-05-13 05:34:35 +02:00
fun handleFailedAttachmentUpload(attachmentId: Long)
2021-03-30 04:09:40 +02:00
fun getMessageForQuote(timestamp: Long, author: Address): Pair<Long, Boolean>?
fun getAttachmentsAndLinkPreviewFor(mmsId: Long): List<Attachment>
fun getMessageBodyFor(timestamp: Long, author: String): String
2021-03-02 07:22:56 +01:00
fun getAttachmentIDsFor(messageID: Long): List<Long>
2021-03-09 00:50:02 +01:00
fun getLinkPreviewAttachmentIDFor(messageID: Long): Long?
}