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

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

?? sendmessageaction.java.svn-base

?? 類似QQ的功能
?? SVN-BASE
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************* Jimm - Mobile Messaging - J2ME ICQ clone Copyright (C) 2003-05  Jimm Project 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. ******************************************************************************** File: src/jimm/comm/SendMessageAction.java Version: ###VERSION###  Date: ###DATE### Author(s): Manuel Linsmayer, Spassky Alexander, Andreas Rossbacher *******************************************************************************/package jimm.comm;import java.io.ByteArrayOutputStream;import jimm.ContactList;import jimm.ContactItem;import jimm.JimmException;import jimm.Options;public class SendMessageAction extends Action{	// Plain message	private PlainMessage plainMsg;//#sijapp cond.if (target!="DEFAULT")&(modules_FILES="true")#	// File transfer request message	private FileTransferMessage fileTrans;//#sijapp cond.end#	private int SEQ1 = 0xffff;		private int messId = -1;		public int getMessId()	{		return messId;	}	// Constructor	public SendMessageAction(Message msg)	{		super(false, true);				messId = (int)System.currentTimeMillis();				//#sijapp cond.if target!="DEFAULT"#		if (msg instanceof PlainMessage)		{			this.plainMsg = (PlainMessage) msg;			//#sijapp cond.if modules_FILES is"true"#			this.fileTrans = null;			//#sijapp cond.end#		}		//#sijapp cond.if modules_FILES is "true"#		else if (msg instanceof FileTransferMessage)		{			this.plainMsg = null;			this.fileTrans = (FileTransferMessage) msg;		}		//#sijapp cond.end#		//#sijapp cond.else#		//#		if (msg instanceof PlainMessage)		//#		{		//#			this.plainMsg = (PlainMessage) msg;		//#		}		//#sijapp cond.end#	}	// Init action	protected void init() throws JimmException	{		// Forward init request depending on message type		SEQ1--;		initPlainMsg();	}	// Init action for plain messages	private void initPlainMsg() throws JimmException	{		// Get receiver object		ContactItem rcvr;//#sijapp cond.if (target!="DEFAULT")&(modules_FILES="true")#		if (this.plainMsg != null)			rcvr = this.plainMsg.getRcvr();		else			rcvr = this.fileTrans.getRcvr();//#sijapp cond.else#//#        rcvr = this.plainMsg.getRcvr();//#sijapp cond.end#		// What message format/encoding should we use?		int type = 1;		boolean utf8;		utf8 = (rcvr.getIntValue (ContactItem.CONTACTITEM_STATUS) == 			ContactList.STATUS_OFFLINE) ? false : 			rcvr.hasCapability(Icq.CAPF_UTF8_INTERNAL);		//#sijapp cond.if (target!="DEFAULT")&(modules_FILES="true")#		if ((this.fileTrans != null)				&& (rcvr.getIntValue(ContactItem.CONTACTITEM_STATUS) != ContactList.STATUS_OFFLINE)				&& rcvr.hasCapability(Icq.CAPF_AIM_SERVERRELAY))		{			type = 2;		}//#sijapp cond.end#		if ((this.plainMsg != null)			&& ((this.plainMsg.getMessageType() >= Message.MESSAGE_TYPE_AWAY) 			&& (this.plainMsg.getMessageType() <= Message.MESSAGE_TYPE_FFC)))		{			type = 2;		}				if (Options.getBoolean(Options.OPTION_DELIV_MES_INFO)			&& rcvr.hasCapability(Icq.CAPF_AIM_SERVERRELAY)			&& (rcvr.getIntValue(ContactItem.CONTACTITEM_CLIENT) != Icq.CLI_STICQ)			&& (rcvr.getIntValue(ContactItem.CONTACTITEM_CLIENT) != Icq.CLI_TRILLIAN)			&& (rcvr.getIntValue(ContactItem.CONTACTITEM_STATUS) != ContactList.STATUS_OFFLINE))		{			type = 2;		}		//////////////////////		// Message format 1 //		//////////////////////				if (type == 1)		{			byte[] textRaw = 				utf8 ? 				Util.stringToUcs2beByteArray(Util.restoreCrLf(this.plainMsg.getText())) 				: Util.stringToByteArray(Util.restoreCrLf(this.plainMsg.getText()));							String uin = rcvr.getStringValue(ContactItem.CONTACTITEM_UIN);						ByteArrayOutputStream buffer = new ByteArrayOutputStream();			ByteArrayOutputStream tlvBuffer = new ByteArrayOutputStream();						// msg-id cookie 			Util.writeDWord(buffer, messId, true);			Util.writeDWord(buffer, type, true);						// message channel			Util.writeWord(buffer, type, true);						// UIN			Util.writeByte(buffer, uin.length());			Util.writeByteArray(buffer, uin.getBytes());						// ---------- message data TLV ------------- 			tlvBuffer.reset();						// Capabilities			Util.writeWord(tlvBuffer, 0x0501, true);			if (utf8)			{				Util.writeWord(tlvBuffer, 0x0002, true);				Util.writeWord(tlvBuffer, 0x0106, true);			} else			{				Util.writeWord(tlvBuffer, 0x0001, true);				Util.writeByte(tlvBuffer, 0x01);			}						// Type: message			Util.writeWord(tlvBuffer, 0x0101, true);						// Mess data len			Util.writeWord(tlvBuffer, 4+textRaw.length, true);						// MESSAGE.ENCODING			Util.writeDWord(tlvBuffer, utf8 ? 0x00020000 : 0x00000000, true);			Util.writeByteArray(tlvBuffer, textRaw);			Util.writeTLV(buffer, 0x0002, tlvBuffer.toByteArray(), true);						// ---------- Store offline TLV ------------- 			Util.writeTLV(buffer, 0x0006, null, true);						// ---------- req. serv delivery TLV ----------			if (Options.getBoolean(Options.OPTION_DELIV_MES_INFO)) Util.writeTLV(buffer, 0x0003, null, true);						// ----------- Send packet --------------			SnacPacket snacPkt = new SnacPacket(SnacPacket.CLI_SENDMSG_FAMILY,					SnacPacket.CLI_SENDMSG_COMMAND, 0, new byte[0], buffer.toByteArray());			Icq.sendPacket(snacPkt);		}		//////////////////////		// Message format 2 //		//////////////////////		else if (type == 2)		{			// System.out.println("Send TYPE 2");			// Get UIN			byte[] uinRaw = Util.stringToByteArray(rcvr					.getStringValue(ContactItem.CONTACTITEM_UIN));			// Get text			byte[] textRaw;			// Get filename if file transfer			byte[] filenameRaw;//#sijapp cond.if (target!="DEFAULT")&(modules_FILES="true")#			if (this.fileTrans == null)			{				textRaw = Util.stringToByteArray(Util.restoreCrLf(this.plainMsg						.getText()), true);				filenameRaw = new byte[0];			} else			{				textRaw = Util.stringToByteArray(this.fileTrans						.getDescription());				filenameRaw = Util.stringToByteArray(this.fileTrans						.getFilename());			}//#sijapp cond.else#//#			textRaw = Util.stringToByteArray( Util.restoreCrLf(this.plainMsg.getText()) );//#			filenameRaw = new byte[0];                //#sijapp cond.end#			// Set length			// file request: 192 + UIN len + file description (no null) +			// file name (null included)			// normal msg: 163 + UIN len + message length;			int p_sz = 0;//#sijapp cond.if (target!="DEFAULT")&(modules_FILES="true")#			if (this.fileTrans == null)			{				p_sz = 163 + uinRaw.length + textRaw.length;			} else			{				p_sz = 192 + uinRaw.length + textRaw.length						+ filenameRaw.length + 1;			}//#sijapp cond.else#//#			p_sz = 163 + uinRaw.length + textRaw.length;                //#sijapp cond.end#			//int tlv5len = 148;			//int tlv11len = 108;			// Build the packet			byte[] buf = new byte[p_sz];			int marker = 0;			Util.putDWord(buf, marker, messId); // CLI_SENDMSG.TIME			marker += 4;			Util.putDWord(buf, marker, type); // CLI_SENDMSG.ID			marker += 4;			Util.putWord(buf, marker, 0x0002); // CLI_SENDMSG.FORMAT			marker += 2;			Util.putByte(buf, marker, uinRaw.length); // CLI_SENDMSG.UIN			System.arraycopy(uinRaw, 0, buf, marker + 1, uinRaw.length);			marker += 1 + uinRaw.length;			//-----------------TYPE2 Specific Data-------------------			Util.putWord(buf, marker, 0x0005);			marker += 2;			// Length of TLV5 differs betweeen normal message and file requst//#sijapp cond.if (target!="DEFAULT")&(modules_FILES="true")#			if (this.fileTrans == null)			{				Util.putWord(buf, marker, 144 + textRaw.length, true);			} else			{				Util.putWord(buf, marker, 173 + textRaw.length						+ filenameRaw.length + 1);			}//#sijapp cond.else#//#			Util.putWord(buf, marker, 144 + textRaw.length, true);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影免费观看完整版| 免费在线视频一区| 日韩国产一二三区| 成人国产精品免费观看动漫| 7777精品伊人久久久大香线蕉 | 婷婷中文字幕一区三区| 日韩女优电影在线观看| 亚洲视频狠狠干| 奇米四色…亚洲| 色综合中文综合网| 日韩av中文字幕一区二区三区| 国产人久久人人人人爽| 大胆欧美人体老妇| 亚洲靠逼com| 福利一区福利二区| 日韩中文字幕一区二区三区| 欧美在线短视频| 在线免费不卡电影| 亚洲人123区| 亚洲国产综合在线| 国产日产精品1区| 色婷婷亚洲一区二区三区| 国产精品综合网| av色综合久久天堂av综合| 国产成人在线免费| 国产精品久久久久四虎| 欧美电影一区二区| 91香蕉视频黄| 亚洲成人精品在线观看| 欧美成人性福生活免费看| 色诱亚洲精品久久久久久| 亚洲三级在线播放| 五月婷婷综合在线| 亚洲午夜私人影院| 国产三级精品视频| 欧美三级视频在线| 亚洲乱码中文字幕| 中文字幕乱码一区二区免费| 美女视频一区在线观看| 中文字幕一区在线| 亚洲美女区一区| 精品视频999| 精品欧美乱码久久久久久| 欧美精品一区二区久久婷婷| 亚洲视频中文字幕| 国产精品99久久久久久似苏梦涵 | 国产日韩欧美麻豆| 亚洲五月六月丁香激情| 91免费版在线| 日韩美女视频一区| 99久久免费视频.com| 日本一区二区三区在线观看| 欧美色爱综合网| 中文字幕国产一区二区| 性久久久久久久久| 91国偷自产一区二区开放时间| 欧美一区二区视频在线观看2020| 一区二区三区av电影| 国产精品一区二区视频| 粉嫩aⅴ一区二区三区四区| 日本不卡免费在线视频| 中国av一区二区三区| 欧美日韩不卡在线| 精品国产一区二区三区不卡| 欧美综合亚洲图片综合区| 26uuu精品一区二区| 午夜在线电影亚洲一区| 欧洲一区二区三区免费视频| 日韩一区中文字幕| 在线免费av一区| 亚洲成人综合网站| 欧美一区二区三区性视频| 天天亚洲美女在线视频| 欧美日韩久久久| 免费观看日韩av| 国产精品―色哟哟| 91浏览器打开| 免费在线视频一区| 国产天堂亚洲国产碰碰| 91在线观看免费视频| 亚洲国产成人av| 久久久亚洲综合| 91网站黄www| 久久成人av少妇免费| 国产亚洲成年网址在线观看| 99久久免费精品| 日本成人在线不卡视频| 久久亚洲二区三区| 7777精品久久久大香线蕉| 国产精品久久久久久久午夜片| 亚洲婷婷综合色高清在线| 国产美女精品一区二区三区| 久久亚洲综合色| 亚洲精品第1页| 日韩欧美自拍偷拍| 亚洲高清三级视频| 制服丝袜日韩国产| 1区2区3区精品视频| 首页亚洲欧美制服丝腿| 91久久精品国产91性色tv| 日韩三级中文字幕| 日本精品一级二级| 亚洲福利一区二区三区| 欧美精品日韩一本| 舔着乳尖日韩一区| ●精品国产综合乱码久久久久| 欧美刺激午夜性久久久久久久| av电影一区二区| 久久超碰97人人做人人爱| 日韩中文字幕亚洲一区二区va在线 | 日韩精品一区二| 欧美日韩一区二区三区在线看| 丰满白嫩尤物一区二区| 国产精一区二区三区| 精品一区二区三区日韩| 日本伊人精品一区二区三区观看方式| 亚洲人成精品久久久久| 一区二区三区久久| 亚洲啪啪综合av一区二区三区| 中文字幕欧美三区| 亚洲天堂免费在线观看视频| 国产精品三级久久久久三级| 国产精品久久久久久久裸模| 亚洲欧美综合另类在线卡通| 亚洲人成精品久久久久| 一区二区三区四区激情| 亚洲自拍都市欧美小说| 日韩成人免费看| 国产一区二区不卡| 91成人在线免费观看| 欧美日本一区二区在线观看| 91精品国产aⅴ一区二区| 欧美大度的电影原声| 国产免费成人在线视频| 亚洲理论在线观看| 国产自产高清不卡| 91色porny| 久久这里只有精品视频网| 亚洲天堂成人网| 狠狠色丁香九九婷婷综合五月| 处破女av一区二区| 欧美va亚洲va国产综合| 亚洲欧美电影一区二区| 精品亚洲国内自在自线福利| 色网站国产精品| 欧美国产视频在线| 久久国产免费看| 欧美一区二区三区四区久久| 亚洲欧美激情视频在线观看一区二区三区| 日本中文字幕一区二区视频| 色综合久久久久综合体桃花网| 国产亚洲欧美一级| 蜜桃精品视频在线| 91精品麻豆日日躁夜夜躁| 国产精品情趣视频| 成人性色生活片免费看爆迷你毛片| 3d动漫精品啪啪| 视频一区二区中文字幕| 国产精品一区二区无线| 欧美一区二区国产| 韩国成人在线视频| 国产欧美一区二区在线观看| 丰满岳乱妇一区二区三区| 亚洲精品老司机| 欧美亚州韩日在线看免费版国语版| 久久精品亚洲一区二区三区浴池| 日韩高清一区二区| 精品乱码亚洲一区二区不卡| 狠狠久久亚洲欧美| 亚洲另类一区二区| 日韩和欧美一区二区三区| 99久久亚洲一区二区三区青草| 一区二区三区四区在线播放| 欧美色图一区二区三区| 欧美大片日本大片免费观看| 麻豆高清免费国产一区| 成人免费视频播放| 国产成人av一区| 久久综合色8888| 成人激情黄色小说| 亚洲色图丝袜美腿| 国精品**一区二区三区在线蜜桃| 国产拍欧美日韩视频二区| 99久久99久久精品免费看蜜桃| 亚洲成人精品影院| 欧美—级在线免费片| 欧美日韩精品三区| 不卡高清视频专区| 国产在线精品一区二区不卡了 | 欧美成人精品二区三区99精品| 丁香激情综合五月| 久久成人免费电影| 日韩高清电影一区| 一区二区成人在线观看| 亚洲国产成人在线| 亚洲同性gay激情无套| 国产精品三级av| 中文字幕的久久| 国产婷婷一区二区| 国产精品萝li|