More progress.
Created adapters for invocation services so that I can do inner-class like things by passing references to private functions out to an external entity. I will see if it's possible to merge my adapter with the marshallers because it's still to have multiple wrappy classes. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3944 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -26,6 +26,58 @@ public class Client extends EventDispatcher
|
||||
_creds = creds;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers the supplied observer with this client. While registered
|
||||
* the observer will receive notifications of state changes within the
|
||||
* client. The function will refuse to register an already registered
|
||||
* observer.
|
||||
*
|
||||
* @see ClientObserver
|
||||
* @see SessionObserver
|
||||
*/
|
||||
public function addClientObserver (observer :SessionObserver) :void
|
||||
{
|
||||
addEventListener(ClientEvent.CLIENT_DID_LOGON,
|
||||
observer.clientDidLogon);
|
||||
addEventListener(ClientEvent.CLIENT_OBJECT_CHANGED,
|
||||
observer.clientObjectDidChange);
|
||||
addEventListener(ClientEvent.CLIENT_DID_LOGOFF,
|
||||
observer.clientDidLogoff);
|
||||
if (observer is ClientObserver) {
|
||||
var cliObs :ClientObserver = (observer as ClientObserver);
|
||||
addEventListener(ClientEvent.CLIENT_FAILED_TO_LOGON,
|
||||
cliObs.clientFailedToLogon);
|
||||
addEventListener(ClientEvent.CLIENT_CONNECTION_FAILED,
|
||||
cliObs.clientConnectionFailed);
|
||||
addEventListener(ClientEvent.CLIENT_WILL_LOGOFF,
|
||||
cliObs.clientWillLogoff);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregisters the supplied observer. Upon return of this function,
|
||||
* the observer will no longer receive notifications of state changes
|
||||
* within the client.
|
||||
*/
|
||||
public function removeClientObserver (observer :SessionObserver) :void
|
||||
{
|
||||
removeEventListener(ClientEvent.CLIENT_DID_LOGON,
|
||||
observer.clientDidLogon);
|
||||
removeEventListener(ClientEvent.CLIENT_OBJECT_CHANGED,
|
||||
observer.clientObjectDidChange);
|
||||
removeEventListener(ClientEvent.CLIENT_DID_LOGOFF,
|
||||
observer.clientDidLogoff);
|
||||
if (observer is ClientObserver) {
|
||||
var cliObs :ClientObserver = (observer as ClientObserver);
|
||||
removeEventListener(ClientEvent.CLIENT_FAILED_TO_LOGON,
|
||||
cliObs.clientFailedToLogon);
|
||||
removeEventListener(ClientEvent.CLIENT_CONNECTION_FAILED,
|
||||
cliObs.clientConnectionFailed);
|
||||
removeEventListener(ClientEvent.CLIENT_WILL_LOGOFF,
|
||||
cliObs.clientWillLogoff);
|
||||
}
|
||||
}
|
||||
|
||||
public function setServer (hostname :String, port :int) :void
|
||||
{
|
||||
_hostname = hostname;
|
||||
|
||||
Reference in New Issue
Block a user