2020-12-07 04:30:06 +01:00
|
|
|
package org.session.libsession.database
|
|
|
|
|
2021-03-02 07:22:56 +01:00
|
|
|
import org.session.libsession.messaging.sending_receiving.attachments.*
|
2021-01-11 23:58:38 +01:00
|
|
|
import org.session.libsession.messaging.threads.Address
|
2021-03-02 07:22:56 +01:00
|
|
|
import org.session.libsession.messaging.utilities.DotNetAPI
|
2020-12-18 06:44:13 +01:00
|
|
|
import org.session.libsignal.service.api.messages.SignalServiceAttachmentPointer
|
2021-02-11 05:00:27 +01:00
|
|
|
import org.session.libsignal.service.api.messages.SignalServiceAttachmentStream
|
2021-01-05 04:17:42 +01:00
|
|
|
import java.io.InputStream
|
2020-12-07 04:30:06 +01:00
|
|
|
|
|
|
|
interface MessageDataProvider {
|
|
|
|
|
2020-12-18 06:44:13 +01:00
|
|
|
fun getMessageID(serverID: Long): Long?
|
|
|
|
fun deleteMessage(messageID: Long)
|
2020-12-07 04:30:06 +01:00
|
|
|
|
2021-03-02 07:22:56 +01:00
|
|
|
fun getDatabaseAttachment(attachmentId: Long): DatabaseAttachment?
|
|
|
|
|
2020-12-17 04:45:57 +01:00
|
|
|
fun getAttachmentStream(attachmentId: Long): SessionServiceAttachmentStream?
|
|
|
|
fun getAttachmentPointer(attachmentId: Long): SessionServiceAttachmentPointer?
|
|
|
|
|
2021-02-11 05:00:27 +01:00
|
|
|
fun getSignalAttachmentStream(attachmentId: Long): SignalServiceAttachmentStream?
|
2021-03-03 05:14:45 +01:00
|
|
|
fun getScaledSignalAttachmentStream(attachmentId: Long): SignalServiceAttachmentStream?
|
2021-02-11 05:00:27 +01:00
|
|
|
fun getSignalAttachmentPointer(attachmentId: Long): SignalServiceAttachmentPointer?
|
|
|
|
|
2020-12-17 04:45:57 +01:00
|
|
|
fun setAttachmentState(attachmentState: AttachmentState, attachmentId: Long, messageID: Long)
|
2020-12-15 05:45:44 +01:00
|
|
|
|
2021-01-05 04:17:42 +01:00
|
|
|
fun insertAttachment(messageId: Long, attachmentId: Long, stream : InputStream)
|
|
|
|
|
2020-12-15 05:45:44 +01:00
|
|
|
fun isOutgoingMessage(timestamp: Long): Boolean
|
|
|
|
|
2021-03-03 05:14:45 +01:00
|
|
|
fun updateAttachmentAfterUploadSucceeded(attachmentId: Long, attachmentStream: SignalServiceAttachmentStream, attachmentKey: ByteArray, uploadResult: DotNetAPI.UploadResult)
|
2021-03-02 07:22:56 +01:00
|
|
|
fun updateAttachmentAfterUploadFailed(attachmentId: Long)
|
2020-12-07 04:30:06 +01:00
|
|
|
|
2021-01-11 23:58:38 +01:00
|
|
|
// Quotes
|
|
|
|
fun getMessageForQuote(timestamp: Long, author: Address): Long?
|
2021-01-19 01:39:45 +01:00
|
|
|
fun getAttachmentsAndLinkPreviewFor(messageID: Long): List<Attachment>
|
2021-01-11 23:58:38 +01:00
|
|
|
fun getMessageBodyFor(messageID: Long): 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?
|
2021-03-02 07:22:56 +01:00
|
|
|
|
2020-12-07 04:30:06 +01:00
|
|
|
}
|