/* * Created by Itzik Braun on 12/3/2015. * Copyright (c) 2015 deluge. All rights reserved. * * Last Modification at: 3/12/15 4:27 PM */ package com.braunster.chatsdk.network.events; import com.braunster.chatsdk.dao.BThread; import com.braunster.chatsdk.dao.BUser; import org.jdeferred.Deferred; /** * Created by braunster on 12/11/14. */ public abstract class AbstractEventManager { /* *//**Set listener to thread details change.*//* public abstract void handleThreadDetails(final String threadId); *//** Set listener to users that are added to thread.*//* public abstract void handleUsersAddedToThread(final String threadId); *//** Handle user details change.*//* public abstract void handleUsersDetailsChange(String userID); public abstract void handleUserFollowDataChange(String userID); *//** Handle incoming messages for thread.*//* public abstract void handleMessages(String threadId); *//** Hnadle the thread by given id, If thread is not handled already a listener * to thread details change will be assigned. After details received the messages and added users listeners will be assign.*//* public abstract void handleThread(final String threadID);*/ public abstract void userOn(final BUser user); public abstract void userOff(BUser user); /** * Handle user meta change. **/ public abstract void userMetaOn(String userID, Deferred<Void, Void, Void> promise); /** * Stop handling user meta change. **/ public abstract void userMetaOff(String userID); public abstract void threadUsersAddedOn(String threadId); public abstract void threadUsersAddedOff(String threadId); public abstract void messagesOn(String threadId, Deferred<BThread, Void , Void> deferred); public abstract void messagesOff(String threadId); public abstract void threadOn(String threadId, Deferred<BThread, Void, Void> deferred); public abstract void threadOff(String threadId); public abstract boolean isListeningToThread(String entityID); public abstract void addEvent(Event appEvents); /** Removes an app event by tag.*/ public abstract boolean removeEventByTag(String tag); /** Check if there is a AppEvent listener with the currnt tag, Could be AppEvent or one of his child(MessageEventListener, ThreadEventListener, UserEventListener). * @return true if found.*/ public abstract boolean isEventTagExist(String tag); /** * Removes all the events from the event manger. **/ public abstract void removeAll(); }