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

38 lines
1.5 KiB
Kotlin
Raw Normal View History

package org.session.libsession.database
2021-01-11 23:58:38 +01:00
import org.session.libsession.messaging.sending_receiving.attachments.Attachment
import org.session.libsession.messaging.sending_receiving.attachments.AttachmentState
import org.session.libsession.messaging.sending_receiving.attachments.SessionServiceAttachmentPointer
import org.session.libsession.messaging.sending_receiving.attachments.SessionServiceAttachmentStream
2021-01-11 23:58:38 +01:00
import org.session.libsession.messaging.threads.Address
2020-12-18 06:44:13 +01:00
import org.session.libsignal.service.api.messages.SignalServiceAttachmentPointer
2021-01-05 04:17:42 +01:00
import java.io.InputStream
interface MessageDataProvider {
//fun getAttachment(attachmentId: Long): SignalServiceAttachmentStream?
2020-12-15 05:45:44 +01:00
2020-12-18 06:44:13 +01:00
fun getAttachmentPointer(attachmentID: String): SignalServiceAttachmentPointer?
fun getMessageID(serverID: Long): Long?
fun deleteMessage(messageID: Long)
fun getAttachmentStream(attachmentId: Long): SessionServiceAttachmentStream?
fun getAttachmentPointer(attachmentId: Long): SessionServiceAttachmentPointer?
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
@Throws(Exception::class)
fun uploadAttachment(attachmentId: Long)
2021-01-11 23:58:38 +01:00
// Quotes
fun getMessageForQuote(timestamp: Long, author: Address): Long?
fun getAttachmentsWithLinkPreviewFor(messageID: Long): List<Attachment>
fun getMessageBodyFor(messageID: Long): String
}