public class ScopeApplicationAdapter
extends org.red5.server.adapter.MultiThreadedApplicationAdapter
implements org.red5.server.api.service.IPendingServiceCallback
Modifier and Type | Class and Description |
---|---|
static class |
ScopeApplicationAdapter.MessageSender |
schedulingService
Constructor and Description |
---|
ScopeApplicationAdapter() |
Modifier and Type | Method and Description |
---|---|
boolean |
appStart(org.red5.server.api.scope.IScope scope) |
boolean |
checkRoomValues(Long roomId) |
List<org.apache.openmeetings.db.entity.room.Client> |
checkScreenSharing() |
List<Long> |
getActiveRoomIds() |
org.red5.server.api.scope.IBroadcastScope |
getBroadcastScope(org.red5.server.api.scope.IScope scope,
String name) |
List<org.apache.openmeetings.db.entity.room.Client> |
getClientListScope()
Get all ClientList Objects of that room and domain Used in
lz.applyForModeration.lzx
|
String |
getCryptKey() |
List<org.apache.openmeetings.db.entity.room.Client> |
getCurrentModeratorList() |
boolean |
getInterviewRecordingStatus()
Deprecated.
this method should be reworked to use a single SQL query in
the cache to get any client in the current room that is
recording instead of iterating through connections!
|
boolean |
getMicMutedByPublicSID(String publicSID) |
String |
getPublicSID()
this function is invoked directly after initial connecting
|
org.red5.server.api.scope.IScope |
getRoomScope(String room) |
List<Long> |
listRoomBroadcast() |
boolean |
loadTestSyncMessage(String remoteMethodName,
Object newMessage,
boolean sendSelf)
Deprecated.
|
static long |
nextBroadCastId() |
boolean |
overwritePublicSID(String newPublicSID)
this function is invoked after a reconnect
|
long |
removeModerator(String publicSID) |
void |
resultReceived(org.red5.server.api.service.IPendingServiceCall arg0) |
boolean |
roomConnect(org.red5.server.api.IConnection conn,
Object[] params) |
void |
roomLeave(org.red5.server.api.IClient client,
org.red5.server.api.scope.IScope room)
Logic must be before roomDisconnect cause otherwise you cannot throw a
message to each one
|
void |
roomLeaveByScope(org.apache.openmeetings.db.entity.room.Client client,
org.red5.server.api.scope.IScope scope)
Removes the Client from the List, stops recording, adds the Room-Leave
event to running recordings, clear Polls and removes Client from any list
This function is kind of private/protected as the client won't be able
to call it with proper values.
|
void |
roomLeaveByScope(String uid,
Long roomId) |
Map<String,String> |
screenSharerAction(Map<String,Object> map) |
int |
sendBrowserMessageToMembers(Object newMessage)
send status for shared browsing to all members except self
|
int |
sendMessage(Object newMessage) |
int |
sendMessageAll(Object newMessage) |
int |
sendMessageById(Object newMessage,
String clientId,
org.red5.server.api.scope.IScope scope)
Function is used to send the kick Trigger at the moment,
it sends a general message to a specific clientId
|
Map<String,org.apache.openmeetings.db.entity.room.Client> |
sendMessageByRoomAndDomain(Long roomId,
Object message)
used by the Screen-Sharing Servlet to trigger events
|
void |
sendMessageToCurrentScope(String remoteMethodName,
Object newMessage,
boolean sendSelf)
General sync mechanism for all messages that are send from within the
scope of the current client, but:
optionally do not send to self (see param: sendSelf)
do not send to clients that are screen sharing clients
do not send to clients that are audio/video clients (or potentially ones)
do not send to connections where no RoomClient is registered
|
void |
sendMessageToCurrentScope(String method,
Object msg,
boolean sendSelf,
boolean sendScreen)
General sync mechanism for all messages that are send from within the
scope of the current client, but:
optionally do not send to self (see param: sendSelf)
send to clients that are screen sharing clients based on parameter
do not send to clients that are audio/video clients (or potentially ones)
do not send to connections where no RoomClient is registered
|
void |
sendMessageToCurrentScope(String scopeName,
String remoteMethodName,
Object newMessage,
boolean sendSelf) |
void |
sendMessageToCurrentScope(String scopeName,
String remoteMethodName,
Object newMessage,
boolean sendSelf,
boolean sendScreen) |
void |
sendMessageToMembers(List<?> newMessage)
wrapper method
|
int |
sendMessageWithClient(Object newMessage)
wrapper method
|
int |
sendMessageWithClientById(Object newMessage,
String clientId)
Sends a message to a user in the same room by its clientId
|
void |
sendMessageWithClientByPublicSID(Object message,
String publicSID) |
int |
sendMessageWithClientWithSyncObject(Object newMessage,
boolean sync)
wrapper method
|
boolean |
sendRemoteCursorEvent(String streamid,
Map messageObj) |
void |
sendToScope(Long roomId,
String method,
Object obj) |
void |
sendToWhiteboard(String uid,
Long wbId,
org.apache.openmeetings.db.entity.file.FileItem fi,
String url,
boolean clean) |
int |
sendVarsByWhiteboardId(List<?> whiteboardObjParam,
Long whiteboardId)
This Function is triggered from the Whiteboard
|
Map<String,Object> |
setConnectionAsSharingClient(Map<String,Object> map) |
void |
setNewCursorPosition(Object item) |
org.apache.openmeetings.db.dto.room.RoomStatus |
setRoomValues(Long roomId,
boolean becomeModerator,
boolean isSuperModerator,
String colorObj)
This function is called once a User enters a Room
It contains several different mechanism depending on what roomtype and
what options are available for the room to find out if the current user
will be a moderator of that room or not
Some rules: If it is a room that was created through the calendar, the user that organized the room will be moderator, the param Boolean becomeModerator will be ignored then In regular rooms you can use the param Boolean becomeModerator to set any user to become a moderator of the room If a new moderator is detected a Push Call to all current users of the room is invoked "setNewModeratorByList" to notify them of the new moderator At the end of the mechanism a push call with the new client-object and all the informations about the new user is send to every user of the current conference room |
void |
setSipTransport(Long roomId,
String publicSID,
String broadCastId) |
long |
setUserAVSettings(boolean updateBroadcastId)
This method is used to set/update broadCastID of current client
|
org.apache.openmeetings.db.entity.room.Client |
setUsernameAndSession(String SID,
Long userId,
String username,
String firstname,
String lastname)
this is set initial directly after login/loading language
|
boolean |
startInterviewRecording()
Deprecated.
|
boolean |
stopInterviewRecording()
Stop the recording of the streams and send event to connected users of scope
|
void |
streamBroadcastClose(org.red5.server.api.stream.IBroadcastStream stream)
This method handles the Event after a stream has been removed all
connected Clients in the same room will get a notification
|
void |
streamPublishStart(org.red5.server.api.stream.IBroadcastStream stream)
This method handles the Event after a stream has been added all connected
Clients in the same room will get a notification
|
long |
switchMicMuted(String publicSID,
boolean mute) |
int |
updateSipTransport() |
addListener, addScheduledJob, addScheduledJobAfterDelay, addScheduledOnceJob, addScheduledOnceJob, appConnect, appDisconnect, appJoin, appLeave, appStop, clearSharedObjects, connect, connect, createSharedObject, disconnect, FCPublish, FCSubscribe, FCUnpublish, FCUnpublish, getBroadcastStream, getBroadcastStreamNames, getClientTTL, getGhostConnsCleanupPeriod, getListeners, getOnDemandStream, getScheduledJobNames, getSharedObject, getSharedObject, getSharedObjectNames, getSharedObjectSecurity, getStreamLength, getStreamPlaybackSecurity, getStreamPublishSecurity, getSubscriberStream, handleEvent, hasBroadcastStream, hasOnDemandStream, hasSharedObject, join, leave, measureBandwidth, measureBandwidth, pauseScheduledJob, registerSharedObjectSecurity, registerStreamPlaybackSecurity, registerStreamPublishSecurity, rejectClient, rejectClient, removeListener, removeScheduledJob, resumeScheduledJob, roomDisconnect, roomJoin, roomStart, roomStop, setClientTTL, setGhostConnsCleanupPeriod, start, startTransmit, stop, stopTransmit, stopTransmit, streamBroadcastStart, streamPlayItemPause, streamPlayItemPlay, streamPlayItemResume, streamPlayItemSeek, streamPlayItemStop, streamRecordStart, streamRecordStop, streamSubscriberClose, streamSubscriberStart, unregisterSharedObjectSecurity, unregisterStreamPlaybackSecurity, unregisterStreamPublishSecurity
createChildScope, getAttribute, getAttribute, getAttributeNames, getAttributes, getChildScope, getChildScopeNames, getClients, getConnections, getContext, getDepth, getName, getParent, getPath, getPlugins, getResource, getResources, getScope, hasAttribute, hasChildScope, hasParent, lookupConnections, removeAttribute, removeAttributes, setAttribute, setAttributes, setAttributes, setPlugins, setScope, size
addChildScope, checkBandwidth, checkBandwidthUp, removeChildScope, serviceCall, setCanCallService, setCanConnect, setCanStart, setJoin
public void resultReceived(org.red5.server.api.service.IPendingServiceCall arg0)
resultReceived
in interface org.red5.server.api.service.IPendingServiceCallback
public boolean appStart(org.red5.server.api.scope.IScope scope)
appStart
in interface org.red5.server.jmx.mxbeans.ApplicationMXBean
appStart
in class org.red5.server.adapter.MultiThreadedApplicationAdapter
public boolean roomConnect(org.red5.server.api.IConnection conn, Object[] params)
roomConnect
in interface org.red5.server.jmx.mxbeans.ApplicationMXBean
roomConnect
in class org.red5.server.adapter.MultiThreadedApplicationAdapter
public List<org.apache.openmeetings.db.entity.room.Client> checkScreenSharing()
public Map<String,Object> setConnectionAsSharingClient(Map<String,Object> map)
map
- public String getPublicSID()
public boolean overwritePublicSID(String newPublicSID)
newPublicSID
- public void roomLeave(org.red5.server.api.IClient client, org.red5.server.api.scope.IScope room)
roomLeave
in interface org.red5.server.jmx.mxbeans.ApplicationMXBean
roomLeave
in class org.red5.server.adapter.MultiThreadedApplicationAdapter
public void roomLeaveByScope(org.apache.openmeetings.db.entity.room.Client client, org.red5.server.api.scope.IScope scope)
client
- scope
- public void streamPublishStart(org.red5.server.api.stream.IBroadcastStream stream)
streamPublishStart
in interface org.red5.server.api.stream.IStreamAwareScopeHandler
streamPublishStart
in class org.red5.server.adapter.MultiThreadedApplicationAdapter
public org.red5.server.api.scope.IBroadcastScope getBroadcastScope(org.red5.server.api.scope.IScope scope, String name)
public void streamBroadcastClose(org.red5.server.api.stream.IBroadcastStream stream)
streamBroadcastClose
in interface org.red5.server.api.stream.IStreamAwareScopeHandler
streamBroadcastClose
in class org.red5.server.adapter.MultiThreadedApplicationAdapter
public void setNewCursorPosition(Object item)
public long removeModerator(String publicSID)
public long switchMicMuted(String publicSID, boolean mute)
public boolean getMicMutedByPublicSID(String publicSID)
public static long nextBroadCastId()
public long setUserAVSettings(boolean updateBroadcastId)
updateBroadcastId
- boolean flagpublic boolean checkRoomValues(Long roomId)
public org.apache.openmeetings.db.dto.room.RoomStatus setRoomValues(Long roomId, boolean becomeModerator, boolean isSuperModerator, String colorObj)
roomId
- - id of the roombecomeModerator
- - is user will become moderatorisSuperModerator
- - is user super moderatorgroupId
- - group id of the usercolorObj
- - some colorpublic org.apache.openmeetings.db.entity.room.Client setUsernameAndSession(String SID, Long userId, String username, String firstname, String lastname)
SID
- - id of the sessionuserId
- - id of the user being setusername
- - username of the userfirstname
- - firstname of the userlastname
- - lastname of the userpublic Map<String,org.apache.openmeetings.db.entity.room.Client> sendMessageByRoomAndDomain(Long roomId, Object message)
roomId
- message
- public List<org.apache.openmeetings.db.entity.room.Client> getCurrentModeratorList()
public int sendVarsByWhiteboardId(List<?> whiteboardObjParam, Long whiteboardId)
whiteboardObjParam
- - array of parameters being sended to whiteboardwhiteboardId
- - id of whiteboard parameters will be send topublic void sendToWhiteboard(String uid, Long wbId, org.apache.openmeetings.db.entity.file.FileItem fi, String url, boolean clean)
public int sendMessage(Object newMessage)
public int sendMessageAll(Object newMessage)
public int sendBrowserMessageToMembers(Object newMessage)
newMessage
- public void sendMessageToMembers(List<?> newMessage)
newMessage
- public void sendMessageToCurrentScope(String remoteMethodName, Object newMessage, boolean sendSelf)
remoteMethodName
- The method to be callednewMessage
- parameterssendSelf
- send to the current client as wellpublic void sendMessageToCurrentScope(String scopeName, String remoteMethodName, Object newMessage, boolean sendSelf)
@Deprecated public boolean loadTestSyncMessage(String remoteMethodName, Object newMessage, boolean sendSelf)
remoteMethodName
- newMessage
- sendSelf
- public void sendMessageToCurrentScope(String method, Object msg, boolean sendSelf, boolean sendScreen)
method
- The method to be calledmsg
- parameterssendSelf
- send to the current client as wellsendScreen
- send to the current client as wellpublic void sendMessageToCurrentScope(String scopeName, String remoteMethodName, Object newMessage, boolean sendSelf, boolean sendScreen)
public int sendMessageWithClient(Object newMessage)
newMessage
- public int sendMessageWithClientWithSyncObject(Object newMessage, boolean sync)
newMessage
- sync
- public int sendMessageById(Object newMessage, String clientId, org.red5.server.api.scope.IScope scope)
newMessage
- clientId
- public int sendMessageWithClientById(Object newMessage, String clientId)
newMessage
- clientId
- public void sendMessageWithClientByPublicSID(Object message, String publicSID)
@Deprecated public boolean getInterviewRecordingStatus()
@Deprecated public boolean startInterviewRecording()
getInterviewRecordingStatus()
public boolean stopInterviewRecording()
public List<org.apache.openmeetings.db.entity.room.Client> getClientListScope()
public String getCryptKey()
public org.red5.server.api.scope.IScope getRoomScope(String room)
public int updateSipTransport()
Copyright © 2012–2017 Apache Software Foundation. All rights reserved.