forward.server
Class SkypeServerManager

java.lang.Object
  extended by forward.server.SkypeServerManager
All Implemented Interfaces:
IServerManager

public class SkypeServerManager
extends java.lang.Object
implements IServerManager

IServerManager um Verbindungsanforderungen ueber Skype entgegenzunehmen.


Nested Class Summary
private  class SkypeServerManager.RequestListener
          Eigentlicher Listener um ueber Verbindungsanfragen informiert zu werden.
 
Field Summary
private  Application m_application
          Das Application Object, sofern es eingerichtet werden konnte.
private  java.lang.String m_appName
          Der Applications Name, und damit die Application an welcher gelauscht wird.
private  boolean m_isListning
          Warten wir auf Verbindungsanfragen?
private  SkypeServerManager.RequestListener m_listner
          Der asynchrone Listner fuer neue Verbindungen.
private  ForwardScheduler m_scheduler
          Der Scheduler, welcher die eigentliche Verbindungen verwalted.
 
Constructor Summary
SkypeServerManager(java.lang.String a_applicationName)
          Erstellt einen neunen SkypeServerManager mit dem angegeben Application Name.
 
Method Summary
 java.lang.Object getId()
          Die Eindeutige ID des Servermanager.
 void shutdown()
          Schliesst den ServerManager indem neue verbindungsanfragen ignoriert werden.
 void startServerManager(ForwardScheduler a_scheduler)
          Startet des IServerManager indem versucht wird eine Appliction mit dem uebergebene Namen zu registrieren und an dieser auf Verbindungswuensche zu lauschen.
 java.lang.String toString()
          String Repraesentation des jeweiligen SkypeServerManager in der Form "skype:app(ApplicationName)"
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_appName

private final java.lang.String m_appName
Der Applications Name, und damit die Application an welcher gelauscht wird.


m_scheduler

private ForwardScheduler m_scheduler
Der Scheduler, welcher die eigentliche Verbindungen verwalted.


m_application

private Application m_application
Das Application Object, sofern es eingerichtet werden konnte.


m_listner

private SkypeServerManager.RequestListener m_listner
Der asynchrone Listner fuer neue Verbindungen.


m_isListning

private boolean m_isListning
Warten wir auf Verbindungsanfragen?

Constructor Detail

SkypeServerManager

public SkypeServerManager(java.lang.String a_applicationName)
Erstellt einen neunen SkypeServerManager mit dem angegeben Application Name.

Parameters:
a_applicationName - Der Name der Application an welcher auf Verbindungsanfragen gelauscht werden soll.
Method Detail

getId

public java.lang.Object getId()
Die Eindeutige ID des Servermanager.

verwendet toString(), da diese genuegend Eindeutigkeit umsetzt.

Specified by:
getId in interface IServerManager
Returns:
A unique identifier Object for the ServerManager.

shutdown

public void shutdown()
Schliesst den ServerManager indem neue verbindungsanfragen ignoriert werden.

Da die Skype API das entfernen einer registrierten Applikation nicht vorsieht, kann nur der listener entfernt werden. Um die Moeglichkeit des Kontaktierens vollstaendig auszuschliessen, muesste Skype geschlossen werden.

Specified by:
shutdown in interface IServerManager

startServerManager

public void startServerManager(ForwardScheduler a_scheduler)
                        throws java.lang.Exception
Startet des IServerManager indem versucht wird eine Appliction mit dem uebergebene Namen zu registrieren und an dieser auf Verbindungswuensche zu lauschen.

Specified by:
startServerManager in interface IServerManager
Parameters:
a_scheduler - The ForwardScheduler where all new connections are reported to.
Throws:
java.lang.Exception

toString

public java.lang.String toString()
String Repraesentation des jeweiligen SkypeServerManager in der Form "skype:app(ApplicationName)"

Overrides:
toString in class java.lang.Object