oscartransport.java
来自「基于Jabber协议的即时消息服务器」· Java 代码 · 共 105 行
JAVA
105 行
/** * $Revision$ * $Date$ * * Copyright (C) 2006 Jive Software. All rights reserved. * * This software is published under the terms of the GNU Public License (GPL), * a copy of which is included in this distribution. */package org.jivesoftware.wildfire.gateway.protocols.oscar;import org.jivesoftware.util.LocaleUtils;import org.jivesoftware.wildfire.gateway.*;import org.xmpp.packet.JID;/** * OSCAR Transport Interface. * * This handles the bulk of the XMPP work via BaseTransport and provides * some gateway specific interactions. * * @author Daniel Henninger */public class OSCARTransport extends BaseTransport { /** * @see org.jivesoftware.wildfire.gateway.BaseTransport#getTerminologyUsername() */ public String getTerminologyUsername() { return LocaleUtils.getLocalizedString("gateway."+getType().toString()+".username", "gateway"); } /** * @see org.jivesoftware.wildfire.gateway.BaseTransport#getTerminologyPassword() */ public String getTerminologyPassword() { return LocaleUtils.getLocalizedString("gateway."+getType().toString()+".password", "gateway"); } /** * @see org.jivesoftware.wildfire.gateway.BaseTransport#getTerminologyNickname() */ public String getTerminologyNickname() { return null; } /** * @see org.jivesoftware.wildfire.gateway.BaseTransport#getTerminologyRegistration() */ public String getTerminologyRegistration() { return LocaleUtils.getLocalizedString("gateway."+getType().toString()+".registration", "gateway"); } /** * @see org.jivesoftware.wildfire.gateway.BaseTransport#isPasswordRequired() */ public Boolean isPasswordRequired() { return true; } /** * @see org.jivesoftware.wildfire.gateway.BaseTransport#isNicknameRequired() */ public Boolean isNicknameRequired() { return false; } /** * @see org.jivesoftware.wildfire.gateway.BaseTransport#isUsernameValid(String) */ public Boolean isUsernameValid(String username) { if (getType() == TransportType.icq) { return username.matches("\\d+"); } else { return username.matches("\\w+") || username.matches("\\w+@[\\w\\.]+"); } } /** * Handles creating an OSCAR session and triggering a login. * * @param registration Registration information to be used to log in. * @param jid JID that is logged into the transport. * @param presenceType Type of presence. * @param verboseStatus Longer status description. */ public TransportSession registrationLoggedIn(Registration registration, JID jid, PresenceType presenceType, String verboseStatus, Integer priority) { TransportSession session = new OSCARSession(registration, jid, this, priority); this.getSessionManager().startThread(session); ((OSCARSession)session).logIn(presenceType, verboseStatus); return session; } /** * Handles logging out of a Yahoo session. * * @param session The session to be disconnected. */ public void registrationLoggedOut(TransportSession session) { ((OSCARSession)session).logOut(); session.sessionDone(); // Just in case. session.setLoginStatus(TransportLoginStatus.LOGGED_OUT); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?