package org.gcube.portlets.user.newsfeed.client;
import java.util.ArrayList;
import java.util.HashSet;
import org.gcube.portal.databook.shared.Comment;
import org.gcube.portal.databook.shared.EnhancedFeed;
import org.gcube.portal.databook.shared.Like;
import org.gcube.portal.databook.shared.ShowUserStatisticAction;
import org.gcube.portlets.user.newsfeed.shared.MentionedDTO;
import org.gcube.portlets.user.newsfeed.shared.MorePostsBean;
import org.gcube.portlets.user.newsfeed.shared.OperationResult;
import org.gcube.portlets.user.newsfeed.shared.UserSettings;
import org.gcube.portlets.widgets.pickitem.shared.ItemBean;
import com.google.gwt.user.client.rpc.AsyncCallback;
/**
* The async counterpart of NewsService
.
*/
public interface NewsServiceAsync {
void getAllUpdateUserFeeds(int feedsNoPerCategory,
AsyncCallback> callback);
void getOnlyConnectionsUserPosts(
AsyncCallback> callback);
void like(String postid, String postText, String postOwnerId,
AsyncCallback callback);
void getAllLikesByPost(String postid,
AsyncCallback> callback);
void getOnlyMyUserPosts(AsyncCallback> callback);
void getUserSettings(AsyncCallback callback);
void comment(String feedid, String text, HashSet mentionedUsers,
String feedOwnerId, boolean isAppFeed,
AsyncCallback callback);
void getAllCommentsByPost(String postid,
AsyncCallback> callback);
void deleteComment(String commentid, String feedid,
AsyncCallback callback);
void deletePost(String feedid, AsyncCallback callback);
void editComment(Comment toEdit, AsyncCallback callback);
void getOnlyLikedPosts(AsyncCallback> callback);
void getSinglePost(String postKey, AsyncCallback callback);
void getMorePosts(int from, int quantity,
AsyncCallback callback);
void unlike(String postid, String postText, String postOwnerId,
AsyncCallback callback);
void getOrganizationUsers(AsyncCallback> callback);
void getPostsByHashtag(String hashtag,
AsyncCallback> callback);
void getPostsByQuery(String query, int from, int quantity,
AsyncCallback> callback);
void getPostsRelatedToUserStatistics(ShowUserStatisticAction action, int from, int quantity,
AsyncCallback> callback);
}