Mercury-IM/persistence/src/main/java/org/mercury_im/messenger/persistence/repository/ChatRepository.java

27 lines
767 B
Java

package org.mercury_im.messenger.persistence.repository;
import androidx.lifecycle.LiveData;
import org.jxmpp.jid.EntityBareJid;
import org.mercury_im.messenger.persistence.model.AccountModel;
import org.mercury_im.messenger.persistence.model.ChatModel;
import org.mercury_im.messenger.persistence.model.ContactModel;
import org.mercury_im.messenger.persistence.model.EntityModel;
import java.util.List;
public interface ChatRepository<E extends ChatModel> {
LiveData<List<E>> getAllChats();
LiveData<List<E>> getAllChatsOf(AccountModel account);
LiveData<E> getChatWith(AccountModel account, EntityBareJid jid);
LiveData<E> getChatWith(EntityModel identity);
LiveData<E> getChatWith(ContactModel contact);
void closeChat(E chat);
}