Created TransportPropertyManager facade.

This commit is contained in:
akwizgran
2015-12-18 16:39:19 +00:00
parent 7c869a6ebd
commit 805bf39ec8
19 changed files with 342 additions and 163 deletions

View File

@@ -3,11 +3,15 @@ package org.briarproject.messaging;
import com.google.inject.Inject;
import org.briarproject.api.contact.ContactId;
import org.briarproject.api.crypto.CryptoComponent;
import org.briarproject.api.crypto.SecretKey;
import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DbException;
import org.briarproject.api.messaging.MessagingManager;
import org.briarproject.api.messaging.PrivateConversation;
import org.briarproject.api.messaging.PrivateMessageHeader;
import org.briarproject.api.sync.Group;
import org.briarproject.api.sync.GroupFactory;
import org.briarproject.api.sync.GroupId;
import org.briarproject.api.sync.Message;
import org.briarproject.api.sync.MessageHeader;
@@ -22,10 +26,23 @@ import java.util.List;
class MessagingManagerImpl implements MessagingManager {
private final DatabaseComponent db;
private final CryptoComponent crypto;
private final GroupFactory groupFactory;
@Inject
MessagingManagerImpl(DatabaseComponent db) {
MessagingManagerImpl(DatabaseComponent db, CryptoComponent crypto,
GroupFactory groupFactory) {
this.db = db;
this.crypto = crypto;
this.groupFactory = groupFactory;
}
@Override
public void addContact(ContactId c, SecretKey master) throws DbException {
byte[] salt = crypto.deriveGroupSalt(master);
Group inbox = groupFactory.createGroup("Inbox", salt);
db.addGroup(inbox);
db.setInboxGroup(c, inbox);
}
@Override