Add ShardMessageHeader

This commit is contained in:
Sebastian Kürten
2021-03-11 09:52:39 +01:00
parent b3292f86ab
commit a9edf43df2
7 changed files with 88 additions and 19 deletions

View File

@@ -10,6 +10,7 @@ import org.briarproject.briar.api.introduction.IntroductionResponse;
import org.briarproject.briar.api.messaging.PrivateMessageHeader;
import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest;
import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse;
import org.briarproject.briar.api.socialbackup.ShardMessageHeader;
@NotNullByDefault
public interface ConversationMessageVisitor<T> {
@@ -31,4 +32,6 @@ public interface ConversationMessageVisitor<T> {
T visitIntroductionRequest(IntroductionRequest r);
T visitIntroductionResponse(IntroductionResponse r);
T visitShardMessage(ShardMessageHeader r);
}

View File

@@ -0,0 +1,36 @@
package org.briarproject.briar.api.socialbackup;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.briar.api.attachment.AttachmentHeader;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.conversation.ConversationMessageVisitor;
import java.util.List;
import javax.annotation.concurrent.Immutable;
@Immutable
@NotNullByDefault
public class ShardMessageHeader extends ConversationMessageHeader {
private final List<AttachmentHeader> attachmentHeaders;
public ShardMessageHeader(MessageId id, GroupId groupId, long timestamp,
boolean local, boolean read, boolean sent, boolean seen,
List<AttachmentHeader> headers) {
super(id, groupId, timestamp, local, read, sent, seen);
this.attachmentHeaders = headers;
}
public List<AttachmentHeader> getAttachmentHeaders() {
return attachmentHeaders;
}
@Override
public <T> T accept(ConversationMessageVisitor<T> v) {
return v.visitShardMessage(this);
}
}