📄 visibilitybroadcast.java
字号:
package openicq.net;import JOscarLib.*;import JOscarLib.Core.OscarConnection;import JOscarLib.Management.Contact;import JOscarLib.Management.ContactList;import JOscarLib.Request.Event.RequestAnswerEvent;import JOscarLib.Request.Event.RequestListener;/** * The <code>VisibilityBroadcast</code> sends sends the visibility of the * given contact list to the ICQ server. * @author Hansgeorg Schwibbe * @copyright 2004 */public class VisibilityBroadcast{ /** * Initializes a new instance of the class <code>VisibilityBroadcast</code> * and sends the visibility of the given contact list to the ICQ server. * @param connection the connection to the ICQ server * @param ownID your own user ID * @param list the contact list to be updated */ public VisibilityBroadcast(OscarConnection connection, int ownID, ContactList list) { Snac addVisible; Snac delVisible; Snac addInvisible; Snac delInvisible; Contact contact; int size = list.getContactListSize(); for (int index = 0; index < size; index++) { contact = list.get(index); if (contact.getIsInVisibleList()) { addVisible = new Snac(0x09, 0x0A, 0x00, 0x00, ownID); addVisible.addRawDataToSnac(new RawData( contact.getContactId().length(), RawData.BYTE_LENGHT)); addVisible.addRawDataToSnac(new RawData(contact.getContactId())); RequestListener addVisibleRequestListener = new RequestListener() { public void onRequestAnswer(RequestAnswerEvent e) { System.err.print("SNAC family = "); System.err.print(e.getRequestAnswerPacket().getSnac().getFamilyId()); System.err.print(", SNAC subtype = "); System.err.println(e.getRequestAnswerPacket() .getSnac() .getSubTypeId()); } }; connection.sendMonitoredFlap(new Flap(0x02, addVisible), addVisibleRequestListener); } else { delVisible = new Snac(0x09, 0x0B, 0x00, 0x00, ownID); delVisible.addRawDataToSnac(new RawData( contact.getContactId().length(), RawData.BYTE_LENGHT)); delVisible.addRawDataToSnac(new RawData(contact.getContactId())); RequestListener delVisibleRequestListener = new RequestListener() { public void onRequestAnswer(RequestAnswerEvent e) { System.err.print("SNAC family = "); System.err.print(e.getRequestAnswerPacket().getSnac().getFamilyId()); System.err.print(", SNAC subtype = "); System.err.println(e.getRequestAnswerPacket() .getSnac() .getSubTypeId()); } }; connection.sendMonitoredFlap(new Flap(0x02, delVisible), delVisibleRequestListener); } if (contact.getIsInInvisibleList()) { addInvisible = new Snac(0x09, 0x07, 0x00, 0x00, ownID); addInvisible.addRawDataToSnac(new RawData(contact.getContactId() .length(), RawData.BYTE_LENGHT)); addInvisible.addRawDataToSnac(new RawData(contact.getContactId())); RequestListener addInvisibleRequestListener = new RequestListener() { public void onRequestAnswer(RequestAnswerEvent e) { System.err.print("SNAC family = "); System.err.print(e.getRequestAnswerPacket().getSnac().getFamilyId()); System.err.print(", SNAC subtype = "); System.err.println(e.getRequestAnswerPacket() .getSnac() .getSubTypeId()); } }; connection.sendMonitoredFlap(new Flap(0x02, addInvisible), addInvisibleRequestListener); } else { delInvisible = new Snac(0x09, 0x08, 0x00, 0x00, ownID); delInvisible.addRawDataToSnac(new RawData(contact.getContactId() .length(), RawData.BYTE_LENGHT)); delInvisible.addRawDataToSnac(new RawData(contact.getContactId())); RequestListener delInvisibleRequestListener = new RequestListener() { public void onRequestAnswer(RequestAnswerEvent e) { System.err.print("SNAC family = "); System.err.print(e.getRequestAnswerPacket().getSnac().getFamilyId()); System.err.print(", SNAC subtype = "); System.err.println(e.getRequestAnswerPacket() .getSnac() .getSubTypeId()); } }; connection.sendMonitoredFlap(new Flap(0x02, delInvisible), delInvisibleRequestListener); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -