亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? friendremarkoppacket.java

?? 很多人都在開發的QQ代碼
?? JAVA
字號:
/*
* LumaQQ - Java QQ Client
*
* Copyright (C) 2004 luma <stubma@163.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package edu.tsinghua.lumaqq.qq.packets.out;

import java.nio.ByteBuffer;

import edu.tsinghua.lumaqq.qq.PacketParseException;
import edu.tsinghua.lumaqq.qq.QQ;
import edu.tsinghua.lumaqq.qq.Utils;
import edu.tsinghua.lumaqq.qq.beans.FriendRemark;
import edu.tsinghua.lumaqq.qq.packets.OutPacket;

/**
 * <pre>
 * 上傳下載好友備注的消息包,格式為
 * 1. 頭部
 * 2. 包類型,表明是上傳還是下載,1字節
 * 3. 一個未知字節0x0
 * 4. 操作對象的QQ號,4字節
 * 5. 一個未知字節0x0
 * 6. 以下為備注信息,一共7個域,域的順序依次次是
 *    姓名、手機、電話、地址、郵箱、郵編、備注
 *    每個域都有一個前導字節,這個字節表示了這個域的字節長度
 * 7. 尾部
 * 
 * 說明:如果是上傳備注,所有的部分都需要,如果是下載備注,僅保留1,2,4,7部分
 * </pre>
 * 
 * @author 馬若劼
 */
public class FriendRemarkOpPacket extends OutPacket {
	// 操作類型,上傳還是下載
	private byte type;
	// 操作的對象的QQ號
	private int qq;
	// 好友備注對象
	private FriendRemark remark;
	
    /**
     * 構造函數
     */
    public FriendRemarkOpPacket() {
        super(QQ.QQ_CMD_FRIEND_REMARK_OP, true);
		type = QQ.QQ_UPLOAD_FRIEND_REMARK;
		remark = new FriendRemark();
    }
    
    /**
     * @param buf
     * @param length
     * @throws PacketParseException
     */
    public FriendRemarkOpPacket(ByteBuffer buf, int length)
            throws PacketParseException {
        super(buf, length);
    }
    
    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.qq.packets.OutPacket#putBody(java.nio.ByteBuffer)
     */
    protected void putBody(ByteBuffer buf) {
		// 操作類型
		buf.put(type);
		// 未知字節0x0,僅在上傳時
		if(type == QQ.QQ_UPLOAD_FRIEND_REMARK)
			buf.put((byte)0);
		// 操作對象的QQ號
		buf.putInt(qq);
		// 后面的內容為一個未知字節0和備注信息,僅在上傳時
		if(type == QQ.QQ_UPLOAD_FRIEND_REMARK) {
			buf.put((byte)0);
			// 備注信息
			// 姓名
			if(remark.name == null || remark.name.equals(""))
				buf.put((byte)0);
			else {
				byte[] b = Utils.getBytes(remark.name, QQ.QQ_CHARSET_DEFAULT);
				buf.put((byte)b.length);
				buf.put(b);					
			}
			// 手機
			if(remark.mobile == null || remark.mobile.equals(""))
			    buf.put((byte)0);
			else  {
				byte[] b = remark.mobile.getBytes();
				buf.put((byte)b.length);
				buf.put(b);					
			}
			// 電話
			if(remark.telephone == null || remark.telephone.equals(""))
			    buf.put((byte)0);
			else  {
				byte[] b = remark.telephone.getBytes();
				buf.put((byte)b.length);
				buf.put(b);				
			}
			// 地址
			if(remark.address == null || remark.address.equals(""))
			    buf.put((byte)0);
			else  {
				byte[] b = remark.address.getBytes();
				buf.put((byte)b.length);
				buf.put(b);					
			}
			// 郵箱
			if(remark.email == null || remark.email.equals(""))
			    buf.put((byte)0);
			else  {
				byte[] b = remark.email.getBytes();
				buf.put((byte)b.length);
				buf.put(b);					
			}
			// 郵編
			if(remark.zipcode == null || remark.zipcode.equals(""))
			    buf.put((byte)0);
			else  {
				byte[] b = remark.zipcode.getBytes();
				buf.put((byte)b.length);
				buf.put(b);						
			}
			// 備注
			if(remark.note == null || remark.note.equals(""))
			    buf.put((byte)0);
			else  {
				byte[] b = Utils.getBytes(remark.note, QQ.QQ_CHARSET_DEFAULT);
				buf.put((byte)b.length);
				buf.put(b);					
			}
		}
    }
    
    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.qq.packets.OutPacket#parseBody(java.nio.ByteBuffer)
     */
    protected void parseBody(ByteBuffer buf) throws PacketParseException {
        type = buf.get();
        if(type == QQ.QQ_UPLOAD_FRIEND_REMARK)
            buf.get();
        qq = buf.getInt();
        if(type == QQ.QQ_UPLOAD_FRIEND_REMARK) {
            buf.get();
            remark.name = Utils.getString(buf, buf.get() & 0xFF);
            remark.mobile = Utils.getString(buf, buf.get() & 0xFF);
            remark.telephone = Utils.getString(buf, buf.get() & 0xFF);
            remark.address = Utils.getString(buf, buf.get() & 0xFF);
            remark.email = Utils.getString(buf, buf.get() & 0xFF);
            remark.zipcode = Utils.getString(buf, buf.get() & 0xFF);
            remark.note = Utils.getString(buf, buf.get() & 0xFF);
        }
    }
    
	/**
	 * @return Returns the address.
	 */
	public String getAddress() {
		return remark.address;
	}
	
	/**
	 * @param address The address to set.
	 */
	public void setAddress(String address) {
		remark.address = address;
	}
	
	/**
	 * @return Returns the email.
	 */
	public String getEmail() {
		return remark.email;
	}
	
	/**
	 * @param email The email to set.
	 */
	public void setEmail(String email) {
		remark.email = email;
	}
	
	/**
	 * @return Returns the mobile.
	 */
	public String getMobile() {
		return remark.mobile;
	}
	
	/**
	 * @param mobile The mobile to set.
	 */
	public void setMobile(String mobile) {
		remark.mobile = mobile;
	}
	
	/**
	 * @return Returns the name.
	 */
	public String getName() {
		return remark.name;
	}
	
	/**
	 * @param name The name to set.
	 */
	public void setName(String name) {
		remark.name = name;
	}
	
	/**
	 * @return Returns the note.
	 */
	public String getNote() {
		return remark.note;
	}
	
	/**
	 * @param note The note to set.
	 */
	public void setNote(String note) {
		remark.note = note;
	}
	
	/**
	 * @return Returns the telephone.
	 */
	public String getTelephone() {
		return remark.telephone;
	}
	
	/**
	 * @param telephone The telephone to set.
	 */
	public void setTelephone(String telephone) {
		remark.telephone = telephone;
	}
	
	/**
	 * @return Returns the zipcode.
	 */
	public String getZipcode() {
		return remark.zipcode;
	}
	
	/**
	 * @param zipcode The zipcode to set.
	 */
	public void setZipcode(String zipcode) {
		remark.zipcode = zipcode;
	}
	
	/**
	 * @return Returns the qq.
	 */
	public int getQQ() {
		return qq;
	}
	
	/**
	 * @param qq The qq to set.
	 */
	public void setQQ(int qqNum) {
		this.qq = qqNum;
	}
	
	/**
	 * @return Returns the remark.
	 */
	public FriendRemark getRemark() {
		return remark;
	}
	
	/**
	 * @param remark The remark to set.
	 */
	public void setRemark(FriendRemark remark) {
		this.remark = remark;
	}
	
	/**
	 * @return Returns the type.
	 */
	public byte getType() {
		return type;
	}
	
	/**
	 * @param type The type to set.
	 */
	public void setType(byte type) {
		this.type = type;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲一区二区三区在线| 91精品国产综合久久久久久久久久 | 国产精品综合一区二区三区| 成人高清视频免费观看| 91 com成人网| 亚洲免费观看高清完整版在线观看熊| 久久激情五月激情| 欧美日韩高清在线| 一区二区三区免费看视频| 激情五月播播久久久精品| 欧美日韩一区二区在线观看 | 日韩欧美自拍偷拍| 亚洲一区二区精品视频| 丁香五精品蜜臀久久久久99网站 | 国产精品伦理一区二区| 激情五月激情综合网| 91精品国产综合久久精品麻豆 | 蜜臀av性久久久久蜜臀av麻豆| 99精品热视频| 中文字幕一区av| 国产白丝精品91爽爽久久| 久久亚洲精品国产精品紫薇| 久久精品国产久精国产爱| 欧美一区二区观看视频| 亚洲综合色视频| 欧美日韩综合在线免费观看| 亚洲乱码中文字幕| 色一区在线观看| 亚洲精品亚洲人成人网 | 777欧美精品| 五月激情六月综合| 欧美日韩精品三区| 调教+趴+乳夹+国产+精品| 欧美午夜精品久久久久久孕妇| 亚洲一区在线播放| 欧美精品欧美精品系列| 五月天中文字幕一区二区| 91.xcao| 美国毛片一区二区三区| 日韩欧美一区二区三区在线| 久久精品国产**网站演员| 久久综合色播五月| 成人综合日日夜夜| 亚洲视频在线观看三级| 日本精品一区二区三区高清| 亚洲精品国产视频| 欧美精品第1页| 精品一区二区三区影院在线午夜| 精品国产乱码91久久久久久网站| 激情文学综合插| 国产精品福利一区二区| 欧美日韩在线免费视频| 老司机免费视频一区二区三区| 久久久无码精品亚洲日韩按摩| 成人免费视频一区| 亚洲国产婷婷综合在线精品| 日韩欧美一级精品久久| 成人激情综合网站| 日韩国产欧美在线播放| 久久青草国产手机看片福利盒子| 99在线视频精品| 午夜久久久久久电影| 久久综合色之久久综合| 欧洲一区二区三区在线| 韩国一区二区三区| 国产精品二三区| 在线91免费看| eeuss鲁一区二区三区| 无码av免费一区二区三区试看 | 不卡一区二区三区四区| 日韩福利电影在线| 国产精品久久久久国产精品日日| 欧美日韩在线电影| 成人综合在线视频| 琪琪久久久久日韩精品| 国产精品欧美精品| 日韩视频在线永久播放| 日本乱码高清不卡字幕| 国产精品中文字幕欧美| 日韩高清不卡一区二区三区| 亚洲一区二区三区中文字幕在线 | 日韩一区二区在线播放| 成人综合在线视频| 狠狠色丁香九九婷婷综合五月| 亚洲欧洲国产专区| www日韩大片| 这里只有精品电影| 色8久久精品久久久久久蜜| 国产一区二区精品久久99| 午夜电影久久久| 一区二区三区中文在线| 国产精品嫩草影院av蜜臀| 精品国产欧美一区二区| 欧美精品在线一区二区三区| 99久久精品国产精品久久| 国产一区二区三区视频在线播放| 亚洲a一区二区| 亚洲黄色免费电影| 亚洲欧美经典视频| 国产精品免费aⅴ片在线观看| 久久综合九色综合欧美98| 日韩小视频在线观看专区| 欧美精品1区2区3区| 欧美日韩你懂的| 色婷婷国产精品综合在线观看| 不卡av电影在线播放| 国产成人av影院| 国产高清不卡一区| 国产老女人精品毛片久久| 蜜臀久久99精品久久久画质超高清| 一区二区三区中文字幕精品精品 | 日本怡春院一区二区| 亚洲一区中文在线| 亚洲va天堂va国产va久| 一区二区三区在线观看国产| 日韩久久一区二区| 亚洲精品成人天堂一二三| 一区二区三区加勒比av| 亚洲综合色视频| 国产成人精品影视| 国内久久婷婷综合| 国产麻豆视频一区二区| 高清免费成人av| av在线一区二区| 在线观看一区二区精品视频| 欧美三级日韩三级| 欧美男人的天堂一二区| 日韩精品中文字幕一区二区三区 | 7777精品伊人久久久大香线蕉经典版下载| 91成人免费电影| 欧美午夜片在线观看| 6080亚洲精品一区二区| 精品国产乱码久久久久久图片| 久久久精品免费网站| 国产精品国产自产拍高清av| 亚洲精品乱码久久久久久久久| 一区二区三区在线视频免费| 亚洲一区二区在线免费看| 日本午夜精品一区二区三区电影| 免费看日韩a级影片| 国产精品小仙女| 91亚洲精品久久久蜜桃| 欧美日韩久久不卡| 久久久综合视频| 一区二区在线电影| 日韩成人免费电影| 国产超碰在线一区| 欧美亚一区二区| 精品国产乱码久久| 亚洲日本丝袜连裤袜办公室| 日韩av高清在线观看| 大桥未久av一区二区三区中文| 99精品国产99久久久久久白柏 | 久久综合色婷婷| 捆绑紧缚一区二区三区视频| 国产精品99久久久久久久女警| 色欧美乱欧美15图片| 欧美mv和日韩mv的网站| 亚洲女与黑人做爰| 国产一区二区精品久久| 欧美性欧美巨大黑白大战| 国产偷国产偷精品高清尤物| 亚洲自拍偷拍综合| 国产福利一区二区三区在线视频| 欧美在线小视频| 国产欧美精品一区二区三区四区| 亚洲高清不卡在线观看| bt7086福利一区国产| 日韩视频免费直播| 一区二区视频免费在线观看| 国产成人精品免费在线| 欧美一级高清片| 一区二区三区在线视频播放| 国产老妇另类xxxxx| 日韩一级黄色片| 亚洲一区二区三区激情| 成人国产视频在线观看| 欧美精品一区二区三区在线| 亚洲成人免费观看| 色香蕉成人二区免费| 国产精品久久久久久久久免费樱桃| 日本午夜精品一区二区三区电影| 在线区一区二视频| 一区二区三区中文字幕电影| 白白色 亚洲乱淫| wwww国产精品欧美| 麻豆国产欧美日韩综合精品二区| 欧美最猛性xxxxx直播| 中文字幕视频一区| 99久久夜色精品国产网站| 国产午夜精品一区二区三区嫩草| 美女性感视频久久| 日韩欧美一区在线观看| 青青草国产成人99久久| 欧美精品欧美精品系列| 青青国产91久久久久久| 欧美一区三区二区| 日韩电影在线一区二区| 日韩欧美一区二区免费| 精品午夜久久福利影院|