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

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

?? cmainthread.java

?? Sending and receiving of SMS using Java
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// SMSLib for Java
// An open-source API Library for sending and receiving SMS via a GSM modem.
// Copyright (C) 2002-2007, Thanasis Delenikas, Athens/GREECE
// Web Site: http://www.smslib.org
//
// SMSLib is distributed under the LGPL license.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
// 
// This library 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
// Lesser General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

//
// SMSServer for Java GUI Application.
// Please read _README.txt for further information.
//

package smsserver;

import java.io.*;
import java.util.*;
import javax.swing.*;

import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;

import org.smslib.*;

class CMainThread extends Thread
{
	protected SMSServer SmsServer;

	protected CSettings settings;

	protected CDatabase database;

	protected CService service;

	protected CMainWindow mainWindow;

	private boolean connectRequest;

	private boolean exitRequest;

	private boolean exitFinished;

	public CMainThread(SMSServer SmsServer, CMainWindow mainWindow, CSettings settings)
	{
		this.SmsServer = SmsServer;
		this.mainWindow = mainWindow;
		this.settings = settings;
	}

	public void initialize()
	{
		database = new CDatabase(settings, this);
		if (mainWindow != null) mainWindow.setConnected(false);
		exitRequest = false;
		exitFinished = false;
		connectRequest = false;
		start();
	}

	public boolean connect(boolean calledFromMenu)
	{
		try
		{
			if (mainWindow == null) System.out.println(CConstants.TEXT_CONNECTING);
			service = new CService(settings.getSerialDriverSettings().getPort(), settings.getSerialDriverSettings().getBaud(), settings.getPhoneSettings().getManufacturer(), settings
			        .getPhoneSettings().getModel());
			service.setSimPin(settings.getPhoneSettings().getSimPin());
			service.setProtocol(settings.getPhoneSettings().getProtocol());
			service.connect();
			service.setSmscNumber(settings.getPhoneSettings().getSmscNumber());
			if (mainWindow != null)
			{
				mainWindow.setManufText(service.getDeviceInfo().getManufacturer());
				mainWindow.setModelText(service.getDeviceInfo().getModel());
				mainWindow.setSerialNoText(service.getDeviceInfo().getSerialNo());
				mainWindow.setIMSIText(service.getDeviceInfo().getImsi());
				mainWindow.setSwVersionText(service.getDeviceInfo().getSwVersion());
				mainWindow.setBatteryIndicator(service.getDeviceInfo().getBatteryLevel());
				mainWindow.setSignalIndicator(service.getDeviceInfo().getSignalLevel());
				mainWindow.setStatusText(CConstants.STATUS_CONNECTED);
			}
			else
			{
				System.out.println(CConstants.TEXT_INFO);
				System.out.println("\t" + SmsServer.stripHtml(CConstants.LABEL_MANUFACTURER) + " " + service.getDeviceInfo().getManufacturer());
				System.out.println("\t" + SmsServer.stripHtml(CConstants.LABEL_MODEL) + " " + service.getDeviceInfo().getModel());
				System.out.println("\t" + SmsServer.stripHtml(CConstants.LABEL_SERIALNO) + " " + service.getDeviceInfo().getSerialNo());
				System.out.println("\t" + SmsServer.stripHtml(CConstants.LABEL_IMSI) + " " + service.getDeviceInfo().getImsi());
				System.out.println("\t" + SmsServer.stripHtml(CConstants.LABEL_SWVERSION) + " " + service.getDeviceInfo().getSwVersion());
				System.out.println("\t" + SmsServer.stripHtml(CConstants.LABEL_BATTERY) + " " + service.getDeviceInfo().getBatteryLevel() + "%");
				System.out.println("\t" + SmsServer.stripHtml(CConstants.LABEL_SIGNAL) + " " + service.getDeviceInfo().getSignalLevel() + "%");
			}
			if (settings.getDatabaseSettings().getEnabled()) try
			{
				database.open();
			}
			catch (Exception e)
			{
				if (mainWindow != null) JOptionPane.showMessageDialog(mainWindow, CConstants.ERROR_CANNOT_OPEN_DATABASE, CConstants.ERROR_TITLE, JOptionPane.ERROR_MESSAGE);
				else System.out.println(CConstants.ERROR_TITLE + " " + CConstants.ERROR_CANNOT_OPEN_DATABASE);
				database.close();
			}
			if (mainWindow != null) mainWindow.setConnected(true);
			else System.out.println(CConstants.LABEL_STATUS + CConstants.STATUS_CONNECTED);
			if (calledFromMenu) connectRequest = true;
			return true;
		}
		catch (InvalidPinException e)
		{
			if (!connectRequest)
			{
				if (mainWindow != null) JOptionPane.showMessageDialog(mainWindow, CConstants.ERROR_INVALID_PIN, CConstants.ERROR_TITLE, JOptionPane.ERROR_MESSAGE);
				else System.out.println(CConstants.ERROR_TITLE + " " + CConstants.ERROR_INVALID_PIN);
			}
			disconnect(false);
			return false;
		}
		catch (NoPinException e)
		{
			if (!connectRequest)
			{
				if (mainWindow != null) JOptionPane.showMessageDialog(mainWindow, CConstants.ERROR_NO_PIN, CConstants.ERROR_TITLE, JOptionPane.ERROR_MESSAGE);
				else System.out.println(CConstants.ERROR_TITLE + " " + CConstants.ERROR_NO_PIN);
			}
			disconnect(false);
			return false;
		}
		catch (NoPduSupportException e)
		{
			if (!connectRequest)
			{
				if (mainWindow != null) JOptionPane.showMessageDialog(mainWindow, CConstants.ERROR_NO_PDU_SUPPORT, CConstants.ERROR_TITLE, JOptionPane.ERROR_MESSAGE);
				else System.out.println(CConstants.ERROR_TITLE + " " + CConstants.ERROR_NO_PDU_SUPPORT);
			}
			disconnect(false);
			return false;
		}
		catch (NoTextSupportException e)
		{
			if (!connectRequest)
			{
				if (mainWindow != null) JOptionPane.showMessageDialog(mainWindow, CConstants.ERROR_NO_TEXT_SUPPORT, CConstants.ERROR_TITLE, JOptionPane.ERROR_MESSAGE);
				else System.out.println(CConstants.ERROR_TITLE + " " + CConstants.ERROR_NO_TEXT_SUPPORT);
			}
			disconnect(false);
			return false;
		}
		catch (NotConnectedException e)
		{
			if (!connectRequest)
			{
				if (mainWindow != null) JOptionPane.showMessageDialog(mainWindow, CConstants.ERROR_CANNOT_CONNECT + "\n" + e.getMessage(), CConstants.ERROR_TITLE, JOptionPane.ERROR_MESSAGE);
				else System.out.println(CConstants.ERROR_TITLE + " " + CConstants.ERROR_CANNOT_CONNECT + e.getMessage());
			}
			disconnect(false);
			return false;
		}
		catch (Exception e)
		{
			if (!connectRequest)
			{
				if (mainWindow != null) JOptionPane.showMessageDialog(mainWindow, CConstants.ERROR_CANNOT_CONNECT + "\n" + e.getMessage(), CConstants.ERROR_TITLE, JOptionPane.ERROR_MESSAGE);
				else
				{
					System.out.println(CConstants.ERROR_TITLE + " " + CConstants.ERROR_CANNOT_CONNECT + e.getMessage());
					e.printStackTrace();
				}
			}
			disconnect(false);
			return false;
		}
	}

	public void disconnect(boolean calledFromMenu)
	{
		try { service.disconnect(); } catch (Exception e) {}
		if (settings.getDatabaseSettings().getEnabled()) database.close();
		if (mainWindow != null) mainWindow.setConnected(false);
		else System.out.println(CConstants.LABEL_STATUS + CConstants.STATUS_DISCONNECTED);
		if (calledFromMenu) connectRequest = false;
	}

	public boolean processMessage(CIncomingMessage message) throws Exception
	{
		if (mainWindow != null)
		{
			mainWindow.setInFrom(message.getOriginator());
			mainWindow.setInDate(message.getDate() != null ? message.getDate().toString() : "* N/A *");
			mainWindow.setInText(message.getText());
		}
		else
		{
			System.out.println(CConstants.TEXT_INMSG);
			System.out.println("\t" + CConstants.LABEL_INCOMING_FROM + message.getOriginator());
			System.out.println("\t" + CConstants.LABEL_INCOMING_DATE + message.getDate());
			System.out.println("\t" + CConstants.LABEL_INCOMING_TEXT + message.getText());
		}
		settings.getGeneralSettings().rawInLog(message);
		if (settings.getPhoneSettings().getXmlInQueue() != null) try
		{
			saveToXmlInQueue(message);
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		if (settings.getPhoneSettings().getForwardNumber() != null) try
		{
			saveToXmlOutQueue(message);
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		if (database.isOpen()) try
		{
			database.saveMessage(message);
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		return true;
	}

	public void run()
	{
		boolean proceed;

		while (!exitRequest)
		{
			try
			{
				sleep(settings.getPhoneSettings().getPeriodInterval());
			}
			catch (Exception e)
			{
			}
			proceed = false;
			if (!exitRequest)
			{
				if (service != null)
				{
					if (service.getConnected()) proceed = true;
					else if (connectRequest)
					{
						disconnect(false);
						proceed = connect(false);
					}
					if (proceed)
					{
						try
						{
							if (mainWindow != null) mainWindow.setStatusText(CConstants.STATUS_REFRESHING);
							else System.out.println(CConstants.LABEL_STATUS + CConstants.STATUS_REFRESHING);
							service.refreshDeviceInfo();
							if (mainWindow != null) mainWindow.setStatusText(CConstants.STATUS_PROCESS_IN);
							else System.out.println(CConstants.LABEL_STATUS + CConstants.STATUS_PROCESS_IN);
							processStoredMessages();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91理论电影在线观看| 国产一区二区三区四区五区入口 | 欧美在线高清视频| 91丨九色丨蝌蚪丨老版| 美女免费视频一区| 亚洲成人激情社区| 亚洲伦在线观看| 亚洲日穴在线视频| 亚洲成人精品一区二区| 首页亚洲欧美制服丝腿| 五月天视频一区| 国产一区二区三区在线观看精品| 国产一区二区在线观看视频| 高清国产一区二区三区| 色系网站成人免费| 欧美精品第一页| 久久久精品一品道一区| 亚洲视频在线观看三级| 亚洲第一久久影院| 亚洲美女视频一区| 亚洲色大成网站www久久九九| 亚洲精品国久久99热| 亚洲成av人片在www色猫咪| 美女诱惑一区二区| 99久久精品99国产精品| 欧美日韩在线观看一区二区 | 亚洲人成7777| 视频一区欧美日韩| 国产精品综合二区| 在线观看日韩电影| 久久―日本道色综合久久| 中文子幕无线码一区tr| 亚洲一区二区综合| 国产盗摄一区二区| 欧美日韩在线不卡| 欧美亚洲国产怡红院影院| 91精品国产品国语在线不卡| 久久久久久久久久美女| 一区二区欧美国产| 盗摄精品av一区二区三区| 91精品麻豆日日躁夜夜躁| 亚洲欧洲日产国产综合网| 视频在线观看91| 欧洲av在线精品| 欧美韩日一区二区三区| 久久精品国产99国产| 欧美揉bbbbb揉bbbbb| 国产精品网站在线观看| 久久99这里只有精品| 欧美专区在线观看一区| 亚洲欧美在线视频| 国产精品一区在线| 精品女同一区二区| 蜜桃久久av一区| 在线观看91av| 亚洲国产日日夜夜| 午夜不卡av免费| 国产精品羞羞答答xxdd| 欧美性做爰猛烈叫床潮| 日本一区二区三级电影在线观看| 日本欧美肥老太交大片| 欧美影院午夜播放| 亚洲女人的天堂| 99re热视频精品| 亚洲图片欧美激情| 成人久久18免费网站麻豆| 久久久国产一区二区三区四区小说 | 日本美女视频一区二区| 欧美视频第二页| 亚洲夂夂婷婷色拍ww47| 精品视频全国免费看| 久久综合久久综合久久综合| 国产免费久久精品| 成人性视频免费网站| 国产精品嫩草影院av蜜臀| a在线播放不卡| 亚洲欧美日韩在线不卡| 91在线观看下载| 亚洲影视在线观看| 制服.丝袜.亚洲.另类.中文| 免费欧美日韩国产三级电影| 日韩你懂的在线观看| 国产一区二区在线看| 国产精品理伦片| 欧美色区777第一页| 日日夜夜免费精品| 精品99久久久久久| 成人黄色综合网站| 亚洲大片在线观看| 精品国产三级电影在线观看| 国产成人三级在线观看| 一区二区在线观看视频| 欧美成人精品二区三区99精品| 国产成人免费高清| 高清在线观看日韩| 一区二区国产视频| 欧美精品久久天天躁| 久久精品国产一区二区| 欧美激情一区二区三区蜜桃视频| 国产v综合v亚洲欧| 一区二区三区色| 精品美女在线观看| 91视频观看视频| 亚洲综合激情小说| 日韩丝袜美女视频| 国产精品99久久久久久久女警 | 欧美视频一区二区三区在线观看| 亚洲午夜久久久| 欧美精品一区二区三区一线天视频| 成人黄色在线看| 亚洲日本欧美天堂| 欧美一级二级在线观看| 99精品视频在线播放观看| 污片在线观看一区二区| 国产三级欧美三级| 91精品国产麻豆| 91色乱码一区二区三区| 精品欧美乱码久久久久久| 精品一区二区三区av| 国产精品久久久一区麻豆最新章节| 欧美激情一区二区三区不卡| 欧美少妇xxx| 免费高清成人在线| 亚洲毛片av在线| 欧美日韩亚洲高清一区二区| 国产精品伊人色| 久久成人麻豆午夜电影| 亚洲一区二区精品3399| 亚洲欧洲日本在线| 日本一区二区视频在线| 日韩美女一区二区三区| 欧美日韩精品专区| 在线观看网站黄不卡| 97超碰欧美中文字幕| 国产精品99久| 国产一区二区看久久| 美女在线观看视频一区二区| 亚洲成a人在线观看| 一区二区三区免费| 依依成人综合视频| 狠狠色丁香婷婷综合久久片| 日日夜夜精品视频免费| 中文字幕一区免费在线观看 | 久久se这里有精品| 三级影片在线观看欧美日韩一区二区| 中文字幕亚洲电影| 亚洲视频在线一区二区| 成人免费视频视频在线观看免费| 国产欧美一区二区精品性色超碰| 精品少妇一区二区三区日产乱码| 一本大道久久a久久精品综合| 亚洲图片一区二区| 国产欧美日韩三级| 欧美一区二区三区免费观看视频| 国产精品资源网| 麻豆中文一区二区| 男女男精品视频网| 亚洲宅男天堂在线观看无病毒| 2020国产精品自拍| 中文字幕在线不卡| 亚洲欧美一区二区三区国产精品| 国产伦理精品不卡| 成人福利视频在线| 色婷婷久久综合| 欧美日韩免费观看一区二区三区 | 亚洲第一久久影院| 亚洲综合丁香婷婷六月香| 亚洲成年人影院| 久草在线在线精品观看| 国产精品1区2区| 91免费观看视频在线| 欧美人体做爰大胆视频| 欧美成人video| 亚洲天堂a在线| 欧美日韩在线播放三区| 2欧美一区二区三区在线观看视频| 在线观看91av| 日韩欧美卡一卡二| 中文在线一区二区| 洋洋av久久久久久久一区| 天堂av在线一区| 国产电影一区在线| 在线亚洲一区观看| 精品国产乱码久久久久久久久| 日本一区二区三区免费乱视频| 亚洲乱码日产精品bd| 麻豆国产精品官网| 91亚洲男人天堂| 欧美xxxxxxxx| 亚洲免费在线观看| 国产综合一区二区| 日本乱人伦一区| 国产三级精品三级| 亚洲成人动漫在线观看| 国产精品一卡二| 在线成人免费视频| 国产精品国产馆在线真实露脸| 美女一区二区在线观看| 欧亚一区二区三区| 国产精品不卡在线|