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

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

?? messengercontroller.java

?? It is Java for SIP phone
?? JAVA
字號:
/* * MessengerController.java * * Created on November 25, 2003, 9:03 AM */package gov.nist.applet.phone.ua;import java.net.MalformedURLException;import java.net.URL;import java.util.Enumeration;import java.util.Vector;import javax.sip.address.URI;import javax.swing.DefaultListModel;import javax.swing.JList;import gov.nist.applet.phone.ua.call.AudioCall;import gov.nist.applet.phone.ua.call.Call;import gov.nist.applet.phone.ua.gui.AuthenticationDialog;import gov.nist.applet.phone.ua.gui.ChatFrame;import gov.nist.applet.phone.ua.gui.IncomingMessageFrame;import gov.nist.applet.phone.ua.gui.NISTMessengerApplet;import gov.nist.applet.phone.ua.gui.NISTMessengerGUI;import gov.nist.applet.phone.ua.pidf.parser.AddressTag;import gov.nist.applet.phone.ua.pidf.parser.AtomTag;import gov.nist.applet.phone.ua.pidf.parser.MSNSubStatusTag;import gov.nist.applet.phone.ua.pidf.parser.PresenceTag;import gov.nist.applet.phone.ua.presence.PresentityManager;import gov.nist.applet.phone.ua.presence.Subscriber;/** * This application has been designed in following the MVC design pattern * Thus, this class is part of the Control. * when there is a change in the model it updates the view *  * @author  DERUELLE Jean */public class MessengerController implements java.util.Observer {    private MessengerManager sipMeetingManager;        private NISTMessengerGUI nistMeetingGUI;    private ChatSessionManager chatSessionManager;        /** Creates a new instance of ControllerMeeting      * @param sipMeetingManager - the model of the MVC design pattern used in this application     * @param sipMeetingGUI - the view of the MVC design pattern used in this application     */    public MessengerController(    							MessengerManager sipMeetingManager,    							ChatSessionManager chatSessionManager,     							NISTMessengerGUI nistMeetingGUI) {        this.nistMeetingGUI=nistMeetingGUI;        this.chatSessionManager=chatSessionManager;        this.sipMeetingManager=sipMeetingManager;        this.sipMeetingManager.addObserver(this);    }        /**     * @see java.util.Observer#update(java.util.Observable, Object)     */    public void update(java.util.Observable o, Object arg) {    			if(arg instanceof RegisterStatus){			RegisterStatus registerStatus=(RegisterStatus)arg;			String userURI=				sipMeetingManager.getMessageListener().getConfiguration().userURI;						if(sipMeetingManager.getRegisterStatus().equalsIgnoreCase(			   RegisterStatus.NOT_REGISTERED))				nistMeetingGUI.getLoggedStatusLabel().setText("Not Logged");			if(sipMeetingManager.getRegisterStatus().equalsIgnoreCase(			   RegisterStatus.REGISTRATION_IN_PROGRESS))				nistMeetingGUI.getLoggedStatusLabel().setText(					"Trying to log as : "+ userURI);			if(sipMeetingManager.getRegisterStatus().equalsIgnoreCase(			   RegisterStatus.PROXY_AUTHENTICATION_REQUIRED)){				AuthenticationDialog authenticationDialog= 					new AuthenticationDialog(nistMeetingGUI,"localhost");				sipMeetingManager.registerWithAuthentication(					authenticationDialog.getUserName(),					authenticationDialog.getPassword(),					"localhost");					       								}								if(sipMeetingManager.getRegisterStatus().equalsIgnoreCase(			   RegisterStatus.REGISTERED)){					nistMeetingGUI.getLoggedStatusLabel().setText(									"Logged as : "+userURI+" - (Online)");					displayAllContact();			   }						}		if(arg instanceof Call){			Call call=(Call)arg;			String callee=call.getCallee().trim().toLowerCase();			if(callee.indexOf(";")!=-1)				callee=callee.substring(0,callee.indexOf(";"));					if(callee.indexOf("sip:")!=-1)				callee=callee.substring("sip:".length());								ChatFrame chatFrame=(ChatFrame)chatSessionManager.getChatFrame(callee);						String callStatus=call.getStatus();			System.out.println("callee "+callee+":chatFrame "+chatFrame+":status "+callStatus);			if(callStatus.equalsIgnoreCase(Call.NOT_IN_A_CALL)){				/*System.out.println(					"Updating chatFrame "+					chatFrame+					" callee: "+					callee);*/											if(chatFrame!=null)					chatFrame.disableAudioConversation();							}			else if(callStatus.equalsIgnoreCase(Call.CANCEL)){				if(chatFrame!=null)					chatFrame.cancelAudioConversation();			}			else if(callStatus.equalsIgnoreCase(Call.IN_A_CALL)){				chatFrame.enableAudioConversation("sip:"+callee);			}			else if(callStatus.equalsIgnoreCase(Call.RINGING)				    || callStatus.equalsIgnoreCase(Call.TRYING)				    || callStatus.equals(Call.BUSY)				    || callStatus.equals(Call.TEMPORARY_UNAVAILABLE)){				chatFrame.updateAudioStatus(callStatus);				if(call instanceof AudioCall){					AudioCall audioCall=(AudioCall)call;					URI url=audioCall.getURL();					if(url!=null){						if(nistMeetingGUI instanceof NISTMessengerApplet){							NISTMessengerApplet applet=(NISTMessengerApplet)nistMeetingGUI;							try{								applet.getAppletContext().showDocument(new URL(url.toString()),"_blank");							}							catch (MalformedURLException mue) {								mue.printStackTrace();							}						}					}				}							}			else if(callStatus.equalsIgnoreCase(Call.INCOMING_CALL)){																					if(chatFrame==null){																					chatFrame=new ChatFrame(						nistMeetingGUI,						callee,						sipMeetingManager,						chatSessionManager);					chatFrame.show();					chatSessionManager.addChatSession(callee,chatFrame);										}										IncomingMessageFrame incomingMessageFrame=					new IncomingMessageFrame(chatFrame,callee);				chatFrame.setIncomingMessageFrame(incomingMessageFrame);				incomingMessageFrame.show();																			}									           		}		if(arg instanceof InstantMessage){			InstantMessage im=(InstantMessage)arg;			String sender=im.getSender();			String message=im.getMessage();			Object frame=chatSessionManager.getChatFrame(sender);			ChatFrame chatFrame=null;			if(frame==null){				chatFrame=new ChatFrame(						nistMeetingGUI,						sender,						sipMeetingManager,						chatSessionManager);				chatFrame.show();				chatSessionManager.addChatSession(sender,chatFrame);				chatFrame.newMessage(message);			}			else{				chatFrame=(ChatFrame)frame;				chatFrame.newMessage(message);			}		}   		if(arg instanceof Subscriber){			Subscriber subscriber=(Subscriber)arg;			String subscriberAddress=subscriber.getAddress();			if(!sipMeetingManager.isInContactList(subscriberAddress)){				int response=javax.swing.JOptionPane.showConfirmDialog(null,				subscriberAddress+				" wants to be added to your contacts, do you agree ?",				"New Contact",				javax.swing.JOptionPane.YES_NO_OPTION,				javax.swing.JOptionPane.QUESTION_MESSAGE);       				if(response==javax.swing.JOptionPane.NO_OPTION)					declineContact(subscriberAddress);				else if(response==javax.swing.JOptionPane.YES_OPTION){					addContact(subscriberAddress);					acceptContact(subscriberAddress);														sipMeetingManager.sendSubscribe(subscriberAddress);											}			}			else				acceptContact(subscriberAddress);		}         		if(arg instanceof PresenceTag){			PresenceTag presenceTag=(PresenceTag)arg;			Vector atomTagList=presenceTag.getAtomTagList();			AtomTag atomTag=(AtomTag)atomTagList.firstElement();			AddressTag addressTag=atomTag.getAddressTag();			MSNSubStatusTag msnSubStatusTag=addressTag.getMSNSubStatusTag();			this.updateStatusContact(				presenceTag.getAddress(),				msnSubStatusTag.getMSNSubStatus());		}		nistMeetingGUI.repaint();    }                /**     * Accept that the contact be added to our contact list     * @param subscriberAddress     */    private void acceptContact(String subscriberAddress){    	sipMeetingManager.getPresentityManager().    		acceptSubscribe(subscriberAddress);    }        /**     * Decline that the contact be added to our contact list     * @param subscriberAddress     */    private void declineContact(String subscriberAddress){		sipMeetingManager.getPresentityManager().			declineSubscribe(subscriberAddress);		sipMeetingManager.getPresentityManager().    		removeSubscriber(subscriberAddress);		    }	/**	 * Remove a contact from the contact list	 */    public void removeContact(){		JList jList1=nistMeetingGUI.getContactList();		DefaultListModel listModel=(DefaultListModel)jList1.getModel();		//Add your handling code here:		int index = jList1.getSelectedIndex();		String contactAddress=(String)listModel.get(index);		/*listModel.remove(index);				int size = listModel.getSize();		if (size == 0) { //Nobody's left, disable firing.			nistMeetingGUI.getRemoveContactButton().setEnabled(false);		} 		else { //Select an index.			if (index == listModel.getSize()) {				//removed item in last position			 	index--;		 	}			jList1.setSelectedIndex(index);			jList1.ensureIndexIsVisible(index);		}*/		sipMeetingManager.removeContact(contactAddress);		displayAllContact();    }    	/**	 * Add a contact in the contact list	 * @param contactAddress - the contact to add	 */	public void addContact(String contactAddress){		/*Subscriber subscriber=				sipMeetingManager.getPresentityManager().getSubscriber(contactAddress);		JList jList1=nistMeetingGUI.getContactList();		DefaultListModel listModel=(DefaultListModel)jList1.getModel();		listModel.addElement(contactAddress+" ("+subscriber.getStatus()+")");		int size= listModel.getSize(); //get selected index		//Select the new item and make it visible.		jList1.setSelectedIndex(size-1);		jList1.ensureIndexIsVisible(size-1);		if (size > 0) { //Nobody's left, disable firing.			nistMeetingGUI.getRemoveContactButton().setEnabled(true);		}*/ 		sipMeetingManager.addContact(contactAddress);		displayAllContact();	}	/**	 *	 */	public void displayAllContact(){		Vector contactList=sipMeetingManager.getContactList();		PresentityManager presentityManager=			sipMeetingManager.getPresentityManager();		JList jList1=nistMeetingGUI.getContactList();		DefaultListModel listModel=(DefaultListModel)jList1.getModel();		listModel.removeAllElements();		for(int i=0;i<contactList.size();i++){			String contactAddress=(String)contactList.get(i);			Subscriber subscriber=				presentityManager.getSubscriber(contactAddress);			if(sipMeetingManager.presenceAllowed)				listModel.addElement(contactAddress+" ("+subscriber.getStatus()+")");			else				listModel.addElement(contactAddress);		}		if(nistMeetingGUI instanceof NISTMessengerApplet){						if( ((NISTMessengerApplet)nistMeetingGUI).useResponder() )				return;		}			if(contactList.size()>0)			nistMeetingGUI.getRemoveContactButton().setEnabled(true);		else			nistMeetingGUI.getRemoveContactButton().setEnabled(false);		}		/**	 *	 */	public void undisplayAllContact(){		JList jList1=nistMeetingGUI.getContactList();		DefaultListModel listModel=(DefaultListModel)jList1.getModel();				listModel.removeAllElements();		nistMeetingGUI.getRemoveContactButton().setEnabled(false);	}		/**	 * Add a contact in the contact list	 * @param contactAddress - the contact to add	 */	public void updateStatusContact(String contactAddress,String status){		JList jList1=nistMeetingGUI.getContactList();		DefaultListModel listModel=(DefaultListModel)jList1.getModel();		Enumeration e =listModel.elements();		int i=0;		while(e.hasMoreElements()){			String contact=(String)e.nextElement();			if(contact.indexOf(contactAddress)!=-1){				listModel.removeElementAt(i);				if(i==0){					listModel.addElement(						contactAddress+" ("+status+")");					jList1.ensureIndexIsVisible(i);				}				else{					listModel.add(						i-1,contactAddress+" ("+status+")");					jList1.ensureIndexIsVisible(i-1);				}				break;			}			i++;		}			}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女看a上一区| 欧美亚洲动漫精品| 亚洲成人一二三| 一区二区日韩av| 夜夜嗨av一区二区三区四季av| 亚洲电影第三页| 国产成人精品亚洲777人妖| 国产成人精品www牛牛影视| 欧美色网一区二区| 国产精品免费久久久久| 中文字幕欧美一区| 亚洲国产欧美日韩另类综合| 天天综合天天做天天综合| 三级久久三级久久| 国产精品一二三四| 91美女视频网站| 欧美日韩国产成人在线免费| 欧美一级免费大片| 制服丝袜中文字幕一区| 日韩美女一区二区三区四区| 中文字幕国产精品一区二区| 亚洲免费伊人电影| 免费成人在线视频观看| 成人av网站免费| 69久久夜色精品国产69蝌蚪网| 中文字幕一区在线| 国产不卡在线播放| 亚洲欧美在线视频观看| 国内成+人亚洲+欧美+综合在线| 国产成人欧美日韩在线电影| 精品久久久久久无| 亚洲手机成人高清视频| 日韩极品在线观看| 91精品国产乱码| 日韩电影在线观看一区| 91亚洲精华国产精华精华液| 国产精品无圣光一区二区| 国产寡妇亲子伦一区二区| 久久久久久免费网| 视频一区视频二区中文| 69堂国产成人免费视频| 日本午夜一本久久久综合| 日韩一区二区电影| 极品少妇xxxx偷拍精品少妇| 欧美亚洲自拍偷拍| 亚洲高清免费视频| 日韩亚洲电影在线| 国产传媒久久文化传媒| 亚洲国产高清aⅴ视频| www.一区二区| 久久精品欧美一区二区三区麻豆 | 三级在线观看一区二区| 欧美系列一区二区| 日本欧美一区二区| 国产日本一区二区| 国产乱子伦视频一区二区三区| 久久精品亚洲一区二区三区浴池 | 欧美专区亚洲专区| 国产精品女人毛片| 欧美日韩一区二区三区四区五区| 中文字幕制服丝袜一区二区三区 | 欧美精品一区男女天堂| 日韩中文字幕91| 久久午夜电影网| 久久www免费人成看片高清| 91精品国产综合久久精品性色| 美女视频黄久久| 成人欧美一区二区三区黑人麻豆 | 欧美变态凌虐bdsm| aaa亚洲精品一二三区| 日韩精品亚洲一区二区三区免费| 精品区一区二区| 91高清视频免费看| 亚洲久草在线视频| 欧洲精品一区二区| 国产久卡久卡久卡久卡视频精品| 国产精品理论片| 欧美一区日韩一区| 色噜噜狠狠色综合中国| 国产一区二区h| 国产精品人妖ts系列视频| 91精品国产入口在线| 成人av集中营| 国产一区二区三区国产| 亚洲综合激情另类小说区| 3atv一区二区三区| 一本大道久久a久久精品综合| 亚洲综合无码一区二区| 久久九九国产精品| 日韩三级视频中文字幕| 欧美日韩在线三区| 北岛玲一区二区三区四区| 久久99精品国产.久久久久久| 一区二区三区毛片| 欧美极品aⅴ影院| 精品国产一区二区亚洲人成毛片| 欧美精品一级二级三级| 捆绑紧缚一区二区三区视频| 亚洲成人自拍网| 一区二区三区在线看| 国产精品免费视频一区| 久久久久久亚洲综合影院红桃| 欧美一区二区视频在线观看2020 | 国产成人av一区二区三区在线| 亚洲国产cao| 亚洲一区二区高清| 亚洲一区二区高清| 亚洲与欧洲av电影| 亚洲成在人线在线播放| 亚洲综合丁香婷婷六月香| 一二三四社区欧美黄| 亚洲女与黑人做爰| 亚洲精品欧美激情| 亚洲黄色免费网站| 亚洲综合激情另类小说区| 亚洲综合在线观看视频| 亚洲在线观看免费视频| 亚洲第一狼人社区| 亚洲18影院在线观看| 无码av中文一区二区三区桃花岛| 日韩高清在线不卡| 久草在线在线精品观看| 国产精品影视天天线| 高清不卡在线观看| 91视频观看视频| 欧美三级中文字幕在线观看| 538prom精品视频线放| 91精品在线麻豆| 337p日本欧洲亚洲大胆精品| 国产欧美精品一区| 一区二区三区在线观看视频| 亚洲成人av电影在线| 日日摸夜夜添夜夜添精品视频| 蜜桃精品视频在线| 国产精品一区三区| 91蝌蚪国产九色| 69堂亚洲精品首页| 国产日产亚洲精品系列| 亚洲免费观看视频| 日本成人在线不卡视频| 国产精品一卡二卡| 一本大道av伊人久久综合| 欧美人伦禁忌dvd放荡欲情| 日韩一区和二区| 国产精品三级在线观看| 亚洲r级在线视频| 国产精品原创巨作av| 色婷婷综合久久久中文一区二区 | 日欧美一区二区| 国产精品888| 91福利视频网站| 欧美不卡视频一区| 亚洲一区电影777| 国产成人免费在线观看不卡| 色综合久久久网| 久久一区二区三区四区| 一区二区三区波多野结衣在线观看| 日本不卡一区二区三区| 成人午夜激情在线| 成人av在线网站| 欧美一区二区三区在线观看| 国产精品视频九色porn| 人人狠狠综合久久亚洲| 91亚洲午夜精品久久久久久| 欧美白人最猛性xxxxx69交| 一区二区三区国产精品| 成人一区二区三区视频在线观看 | 欧美日韩在线综合| 国产精品欧美综合在线| 欧美aaaaa成人免费观看视频| 91网站最新网址| 久久久三级国产网站| 五月婷婷激情综合| 色域天天综合网| 久久嫩草精品久久久精品| 日本成人在线不卡视频| 欧美亚洲尤物久久| 亚洲人成网站在线| 成人国产一区二区三区精品| 欧美一级日韩一级| 亚洲国产综合视频在线观看| 97精品国产97久久久久久久久久久久| 99久久精品国产精品久久| 久久夜色精品国产欧美乱极品| 丝袜国产日韩另类美女| 一本在线高清不卡dvd| 国产欧美一区二区精品性色超碰| 久久99精品久久久| 日韩女优av电影在线观看| 秋霞国产午夜精品免费视频| 欧美三级中文字| 亚洲成av人在线观看| 在线视频一区二区三| 亚洲色图在线播放| 色悠久久久久综合欧美99| 亚洲图片激情小说| 97aⅴ精品视频一二三区| 自拍偷拍欧美精品| 欧洲av在线精品| 亚洲高清一区二区三区|