/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Project : WebQQCore * Package : iqq.im * File : QQClient.java * Author : solosky < solosky772@qq.com > * Created : 2012-7-31 * License : Apache License 2.0 */ package iqq.im; import iqq.im.bean.QQAccount; import iqq.im.bean.QQBuddy; import iqq.im.bean.QQDiscuz; import iqq.im.bean.QQGroup; import iqq.im.bean.QQGroupSearchList; import iqq.im.bean.QQMsg; import iqq.im.bean.QQStatus; import iqq.im.bean.QQStranger; import iqq.im.bean.QQUser; import iqq.im.bean.content.CFaceItem; import iqq.im.bean.content.OffPicItem; import iqq.im.event.QQActionFuture; import iqq.im.event.QQNotifyEvent; import iqq.im.service.HttpService.ProxyType; import java.io.File; import java.io.OutputStream; import java.util.List; /** * * QQ客户端接口 * * @author solosky <solosky772@qq.com> * */ public interface QQClient { public void destroy(); public QQActionFuture login(QQStatus status, QQActionListener listener); public QQActionFuture relogin(QQStatus status, QQActionListener listener); public QQActionFuture logout(QQActionListener listener); public QQActionFuture changeStatus(QQStatus status, QQActionListener listener); public QQActionFuture getBuddyList(QQActionListener qqActionListener); public QQActionFuture getOnlineList(QQActionListener qqActionListener); public QQActionFuture getRecentList(QQActionListener qqActionListener); public QQActionFuture getUserFace(QQUser user, QQActionListener qqActionListener); public QQActionFuture getUserSign(QQUser user, QQActionListener qqActionListener); public QQActionFuture getUserInfo(QQUser user, QQActionListener qqActionListener); public QQActionFuture getUserQQ(QQUser user, QQActionListener qqActionListener); public QQActionFuture getUserLevel(QQUser user, QQActionListener qqActionListener); public QQActionFuture getStrangerInfo(QQUser user, QQActionListener qqActionListener); public QQActionFuture getGroupList(QQActionListener listener); public QQActionFuture getGroupFace(QQGroup group, QQActionListener qqActionListener); public QQActionFuture getGroupInfo(QQGroup group, QQActionListener qqActionListener); public QQActionFuture getGroupGid(QQGroup group, QQActionListener qqActionListener); public QQActionFuture getGroupMemberStatus(QQGroup group, QQActionListener listener); public QQActionFuture getDiscuzList(QQActionListener qqActionListener); public QQActionFuture getDiscuzInfo(QQDiscuz discuz, QQActionListener qqActionListener); public QQActionFuture getSessionMsgSig(QQStranger user, QQActionListener qqActionListener); public QQActionFuture sendMsg(QQMsg msg, QQActionListener qqActionListener); public QQActionFuture sendShake(QQUser user, QQActionListener qqActionListener); public QQActionFuture getOffPic(OffPicItem offpic, QQMsg msg, OutputStream picout, QQActionListener listener); public QQActionFuture getUserPic(CFaceItem cface, QQMsg msg, OutputStream picout, QQActionListener listener); public QQActionFuture getGroupPic(CFaceItem cface, QQMsg msg, OutputStream picout, QQActionListener listener); public QQActionFuture uploadOffPic(QQUser user, File file, QQActionListener listener); public QQActionFuture uploadCustomPic(File file, QQActionListener listener); public QQActionFuture sendInputNotify(QQUser user, QQActionListener listener); public QQActionFuture freshVerify(QQNotifyEvent verifyEvent, QQActionListener listener); public QQActionFuture updateGroupMessageFilter(QQActionListener listener); public QQActionFuture searchGroupGetList(QQGroupSearchList resultList, QQActionListener listener); public QQActionFuture setLongNick(String longNick,QQActionListener listener); public void submitVerify(String code, QQNotifyEvent verifyEvent); public void cancelVerify(QQNotifyEvent verifyEvent) throws QQException; public void beginPollMsg(); public void setHttpUserAgent(String userAgent); public void setHttpProxy(ProxyType proxyType, String proxyHost, int proxyPort, String proxyAuthUser, String proxyAuthPassword); public List<QQBuddy> getBuddyList(); public List<QQGroup> getGroupList(); public List<QQDiscuz> getDiscuzList(); public QQBuddy getBuddyByUin(long uin); public QQAccount getAccount(); public boolean isOnline(); public boolean isLogining(); }