org.red5.server.api
Interface IClient

All Superinterfaces:
AttributeStoreMBean, ClientMBean, IAttributeStore
All Known Implementing Classes:
Client

public interface IClient
extends ClientMBean, IAttributeStore

The client object represents a single client. One client may have multiple connections to different scopes on the same host. In some ways the client object is like a HTTP session. You can create IClient objects with IClientRegistry.newClient(Object[]) NOTE: I removed session, since client serves the same purpose as a client with attributes

Author:
The Red5 Project (red5@osflash.org), Luke Hubbard (luke@codegent.com)

Field Summary
static String ID
          The key used to store the client object in a http session.
 
Method Summary
 void disconnect()
          Closes all the connections.
 Set<IConnection> getConnections()
          Get a set of connections.
 Set<IConnection> getConnections(IScope scope)
          Get a set of connections of a given scope.
 long getCreationTime()
          Get the creation time for this client object.
 String getId()
          Get the unique ID for this client.
 Collection<String> getPermissions(IConnection conn)
          Return the permissions in a given context.
 Collection<IScope> getScopes()
          Get a set of scopes the client is connected to.
 boolean hasPermission(IConnection conn, String permissionName)
          Check if the client has a permission in the given context.
 void setId(String id)
          Sets the clients id
 void setPermissions(IConnection conn, Collection<String> permissions)
          Set the permissions for this client in a given context.
 
Methods inherited from interface org.red5.server.api.IAttributeStore
getAttribute, getAttribute, getAttributeNames, getAttributes, hasAttribute, removeAttribute, removeAttributes, setAttribute, setAttributes, setAttributes
 

Field Detail

ID

static final String ID
The key used to store the client object in a http session.

See Also:
Constant Field Values
Method Detail

setId

void setId(String id)
Sets the clients id

Parameters:
id - client id

getId

String getId()
Get the unique ID for this client. This will be generated by the server if not passed upon connection from client-side Flex/Flash app. To assign a custom ID to the client use params object of IApplication.appConnect(IConnection, Object[]) method, that contains 2nd all the rest values you pass to NetConnection.connect method. Example: At client side: NetConnection.connect( "http://localhost/killerapp/", "user123" ); then at server side: public boolean appConnect( IConnection connection, Object[] params ){
try { connection.getClient().setId( (String) params[0] ); } catch(Exception e){
log.error("{}", e); } }

Specified by:
getId in interface ClientMBean
Returns:
client id

getCreationTime

long getCreationTime()
Get the creation time for this client object.

Specified by:
getCreationTime in interface ClientMBean
Returns:
Creation time in milliseconds

getScopes

Collection<IScope> getScopes()
Get a set of scopes the client is connected to.

Specified by:
getScopes in interface ClientMBean
Returns:
Set of scopes

getConnections

Set<IConnection> getConnections()
Get a set of connections.

Specified by:
getConnections in interface ClientMBean
Returns:
Set of connections

getConnections

Set<IConnection> getConnections(IScope scope)
Get a set of connections of a given scope.

Parameters:
scope - scope to get connections for
Returns:
Set of connections to the passed scope

disconnect

void disconnect()
Closes all the connections.

Specified by:
disconnect in interface ClientMBean

setPermissions

void setPermissions(IConnection conn,
                    Collection<String> permissions)
Set the permissions for this client in a given context.

Parameters:
conn - Connection specifying the context to set the permissions for.
permissions - Permissions the client has in this context or null for no permissions.

getPermissions

Collection<String> getPermissions(IConnection conn)
Return the permissions in a given context.

Parameters:
conn - Connection specifying the context to get the permissions for.
Returns:
Permission names.

hasPermission

boolean hasPermission(IConnection conn,
                      String permissionName)
Check if the client has a permission in the given context.

Parameters:
conn - Connection specifying the context to check the permissions for.
permissionName - Name of the permission to check.
Returns:
true if the client has the permission, otherwise false


Copyright © 2006-2010 The Red5 Project