mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 19:29:06 +01:00
59 lines
1.6 KiB
Java
59 lines
1.6 KiB
Java
package org.briarproject.api.sharing;
|
|
|
|
import org.briarproject.api.clients.MessageTracker;
|
|
import org.briarproject.api.contact.Contact;
|
|
import org.briarproject.api.contact.ContactId;
|
|
import org.briarproject.api.db.DbException;
|
|
import org.briarproject.api.sync.ClientId;
|
|
import org.briarproject.api.sync.GroupId;
|
|
|
|
import java.util.Collection;
|
|
|
|
public interface SharingManager<S extends Shareable> extends MessageTracker {
|
|
|
|
/**
|
|
* Returns the unique ID of the group sharing client.
|
|
*/
|
|
ClientId getClientId();
|
|
|
|
/**
|
|
* Sends an invitation to share the given group with the given contact
|
|
* and sends an optional message along with it.
|
|
*/
|
|
void sendInvitation(GroupId groupId, ContactId contactId,
|
|
String message) throws DbException;
|
|
|
|
/**
|
|
* Responds to a pending group invitation
|
|
*/
|
|
void respondToInvitation(S s, Contact c, boolean accept)
|
|
throws DbException;
|
|
|
|
/**
|
|
* Returns all group sharing messages sent by the given contact.
|
|
*/
|
|
Collection<InvitationMessage> getInvitationMessages(
|
|
ContactId contactId) throws DbException;
|
|
|
|
/**
|
|
* Returns all invitations to groups.
|
|
*/
|
|
Collection<InvitationItem> getInvitations() throws DbException;
|
|
|
|
/**
|
|
* Returns all contacts who are sharing the given group with us.
|
|
*/
|
|
Collection<Contact> getSharedBy(GroupId g) throws DbException;
|
|
|
|
/**
|
|
* Returns all contacts with whom the given group is shared.
|
|
*/
|
|
Collection<Contact> getSharedWith(GroupId g) throws DbException;
|
|
|
|
/**
|
|
* Returns true if the group not already shared and no invitation is open
|
|
*/
|
|
boolean canBeShared(GroupId g, Contact c) throws DbException;
|
|
|
|
}
|