kfmes.natelib
Class SwitchBoardSession

java.lang.Object
  extended by java.lang.Thread
      extended by kfmes.natelib.AbstractProcessor
          extended by kfmes.natelib.SwitchBoardSession
All Implemented Interfaces:
java.lang.Runnable

public class SwitchBoardSession
extends AbstractProcessor

스위치보드 세션을 관리한다.

Version:
$Id: SwitchBoardSession.java,v 1.49 2007/11/19 10:13:29 kfmes Exp $
Author:
kfmes(KIM Ga-Hyeon, jateon@kfmes.com, http://jateon.kfmes.com )

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
protected  boolean isRunning
           
static int timeout
           
 
Fields inherited from class kfmes.natelib.AbstractProcessor
in, line, nate, out, server, socket, TrID
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
SwitchBoardSession(NateonMessenger nate, java.lang.String server, int port)
           
SwitchBoardSession(NateonMessenger nate, java.lang.String server, int port, java.lang.String sessionKey)
           
 
Method Summary
protected  void addNateFriend(NateFriend friend)
           
protected  void addNateFriend(java.lang.String line)
          특정 사용자를 이 세션에 추가한다.
 void close()
           
 int getFriendCount()
          현재 이 세션에 연결되어있는 친구의 수를 얻어온다.
 NateFriend getNateFriend()
          가장 최근에 이 세션에 들어온 친구를 얻어온다.
 NateFriend getNateFriend(java.lang.String loginName)
           
 java.util.Collection getNateFriends()
           
 NateFriend getOwner()
           
 java.lang.String getSessionId()
          현재 세션 id를 문자열 형태로 반환해준다.
 void init()
           
 boolean isInFriend(java.lang.String loginName)
          주어진 loginName을 가진 사용자가 이 세션에 물려있는지 아닌지 확인한다.
static void main(java.lang.String[] args)
           
 void progressTyping(int flag)
           
protected  NateFriend removeMsnFriend(java.lang.String loginName)
          특정 loginName을 가진 사용자를 이 세션에서 제거한다.
 void run()
           
 void sendFileCancel(NateFriend ref, FileSender s)
           
 void sendFileReject(NateFriend ref, FileRecver recv)
           
 boolean sendMessage(java.lang.String message)
           
 boolean sendRawMessage(java.lang.String message)
           
 void setSessionId(java.lang.String sessionId)
          현재 세션의 id를 문자열 형태로 설정한다.
 
Methods inherited from class kfmes.natelib.AbstractProcessor
closeConnection, flushInputStream, isConnected, makeConnection, read, readLine, recv, send, send, send, sendMessage, sendMessageNoCrLf, setTrID
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

isRunning

protected boolean isRunning

timeout

public static int timeout
Constructor Detail

SwitchBoardSession

public SwitchBoardSession(NateonMessenger nate,
                          java.lang.String server,
                          int port)

SwitchBoardSession

public SwitchBoardSession(NateonMessenger nate,
                          java.lang.String server,
                          int port,
                          java.lang.String sessionKey)
Method Detail

init

public void init()

getSessionId

public java.lang.String getSessionId()
현재 세션 id를 문자열 형태로 반환해준다.


setSessionId

public void setSessionId(java.lang.String sessionId)
현재 세션의 id를 문자열 형태로 설정한다.


getOwner

public NateFriend getOwner()

addNateFriend

protected void addNateFriend(java.lang.String line)
특정 사용자를 이 세션에 추가한다.


addNateFriend

protected void addNateFriend(NateFriend friend)

getNateFriend

public NateFriend getNateFriend()
가장 최근에 이 세션에 들어온 친구를 얻어온다.


getNateFriend

public NateFriend getNateFriend(java.lang.String loginName)

isInFriend

public boolean isInFriend(java.lang.String loginName)
주어진 loginName을 가진 사용자가 이 세션에 물려있는지 아닌지 확인한다.


removeMsnFriend

protected NateFriend removeMsnFriend(java.lang.String loginName)
특정 loginName을 가진 사용자를 이 세션에서 제거한다.


getNateFriends

public java.util.Collection getNateFriends()

getFriendCount

public int getFriendCount()
현재 이 세션에 연결되어있는 친구의 수를 얻어온다. 자기 자신은 이 숫자에서 제외된다.


sendMessage

public boolean sendMessage(java.lang.String message)

sendRawMessage

public boolean sendRawMessage(java.lang.String message)

progressTyping

public void progressTyping(int flag)

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

sendFileReject

public void sendFileReject(NateFriend ref,
                           FileRecver recv)

sendFileCancel

public void sendFileCancel(NateFriend ref,
                           FileSender s)

close

public void close()

main

public static void main(java.lang.String[] args)
Parameters:
args -