package com.robonobo.midas;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import com.robonobo.core.api.model.Playlist;
import com.robonobo.midas.model.*;
public interface MessageService {
public void sendFriendRequest(MidasUser fromUser, MidasUser toUser, MidasPlaylist p) throws IOException;
public MidasInvite sendInvite(MidasUser fromUser, String toEmail, MidasPlaylist p) throws IOException;
public void sendPlaylistShare(MidasUser fromUser, MidasUser toUser, Playlist p) throws IOException;
public abstract void sendWelcome(MidasUser newUser) throws IOException;
public abstract void sendFriendConfirmation(MidasUser userSentFriendReq, MidasUser userApprovedFriendReq) throws IOException;
public abstract void sendTopUpRequest(MidasUser requestor) throws IOException;
public abstract void sendPlaylistNotification(MidasUser updateUser, MidasUser notifyUser, Playlist p) throws IOException;
public abstract void sendLibraryNotification(MidasUser updateUser, MidasUser notifyUser, int numTrax) throws IOException;
public abstract void sendCombinedNotification(MidasUser notifyUser, Map<MidasUser, Integer> libTraxAdded, Map<Long, List<Playlist>> playlists, Map<Long, List<String>> loveArtists) throws IOException;
public abstract void sendReplyNotificationForLibrary(MidasUser origUser, MidasUser replyUser, long libUserId) throws IOException;
public abstract void sendReplyNotificationForPlaylist(MidasUser origUser, MidasUser replyUser, MidasPlaylist p) throws IOException;
public abstract void sendCommentNotificationForLibrary(MidasUser libUser, MidasUser commentUser) throws IOException;
public abstract void sendCommentNotificationForPlaylist(MidasUser owner, MidasUser commentUser, MidasPlaylist p) throws IOException;
public abstract void sendLovesNotification(MidasUser updateUser, MidasUser notifyUser, List<String> artists) throws IOException;
public abstract void sendNewUserNotification(MidasUser user) throws IOException;
}