- swithover presentation
This commit is contained in:
parent
17fc410f63
commit
e0c012fb7a
@ -1,18 +1,28 @@
|
|||||||
package org.bigbluebutton.core.api;
|
package org.bigbluebutton.core.api;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public interface IBigBlueButtonInGW {
|
public interface IBigBlueButtonInGW {
|
||||||
|
|
||||||
void createMeeting2(String meetingID, boolean recorded, String voiceBridge);
|
void createMeeting2(String meetingID, boolean recorded, String voiceBridge);
|
||||||
|
|
||||||
|
// Users
|
||||||
void setUserStatus(String meetingID, String userID, String status, Object value);
|
void setUserStatus(String meetingID, String userID, String status, Object value);
|
||||||
|
|
||||||
void getUsers(String meetingID, String requesterID);
|
void getUsers(String meetingID, String requesterID);
|
||||||
|
|
||||||
void userLeft(String meetingID, String userID);
|
void userLeft(String meetingID, String userID);
|
||||||
|
|
||||||
void userJoin(String meetingID, String userID, String username, String role, String externUserID);
|
void userJoin(String meetingID, String userID, String username, String role, String externUserID);
|
||||||
|
|
||||||
void getCurrentPresenter(String meetingID, String requesterID);
|
void getCurrentPresenter(String meetingID, String requesterID);
|
||||||
|
|
||||||
void assignPresenter(String meetingID, String newPresenterID, String newPresenterName, String assignedBy);
|
void assignPresenter(String meetingID, String newPresenterID, String newPresenterName, String assignedBy);
|
||||||
|
|
||||||
|
// Presentation
|
||||||
|
void clear(String meetingID);
|
||||||
|
void sendUpdateMessage(String meetingID, Map<String, Object> message);
|
||||||
|
void removePresentation(String meetingID, String presentationID);
|
||||||
|
void getPresentationInfo(String meetingID, String requesterID);
|
||||||
|
void sendCursorUpdate(String meetingID, double xPercent, double yPercent);
|
||||||
|
void resizeAndMoveSlide(String meetingID, double xOffset, double yOffset, double widthRatio, double heightRatio);
|
||||||
|
void gotoSlide(String meetingID, int slide);
|
||||||
|
void sharePresentation(String meetingID, String presentationID, boolean share);
|
||||||
|
void getSlideInfo(String meetingID, String requesterID);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,15 @@ import org.bigbluebutton.core.api.AssignPresenter
|
|||||||
import org.bigbluebutton.core.api.Role._
|
import org.bigbluebutton.core.api.Role._
|
||||||
import org.bigbluebutton.core.api.IBigBlueButtonInGW
|
import org.bigbluebutton.core.api.IBigBlueButtonInGW
|
||||||
import org.bigbluebutton.core.api.CreateMeeting
|
import org.bigbluebutton.core.api.CreateMeeting
|
||||||
|
import org.bigbluebutton.core.api.ClearPresentation
|
||||||
|
import org.bigbluebutton.core.api.SendCursorUpdate
|
||||||
|
import org.bigbluebutton.core.api.PresentationConversionUpdate
|
||||||
|
import org.bigbluebutton.core.api.RemovePresentation
|
||||||
|
import org.bigbluebutton.core.api.GetPresentationInfo
|
||||||
|
import org.bigbluebutton.core.api.ResizeAndMoveSlide
|
||||||
|
import org.bigbluebutton.core.api.GotoSlide
|
||||||
|
import org.bigbluebutton.core.api.SharePresentation
|
||||||
|
import org.bigbluebutton.core.api.GetSlideInfo
|
||||||
|
|
||||||
class BigBlueButtonInGW(bbbGW: BigBlueButtonGateway) extends IBigBlueButtonInGW {
|
class BigBlueButtonInGW(bbbGW: BigBlueButtonGateway) extends IBigBlueButtonInGW {
|
||||||
|
|
||||||
@ -42,7 +51,45 @@ class BigBlueButtonInGW(bbbGW: BigBlueButtonGateway) extends IBigBlueButtonInGW
|
|||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
def createMeeting2(meetingID: String, record: Boolean, voiceBridge: String) = {
|
def createMeeting2(meetingID: String, record: Boolean, voiceBridge: String) {
|
||||||
bbbGW.accept(new CreateMeeting(meetingID, record, voiceBridge))
|
bbbGW.accept(new CreateMeeting(meetingID, record, voiceBridge))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Presentation
|
||||||
|
def clear(meetingID: String) {
|
||||||
|
bbbGW.accept(new ClearPresentation(meetingID))
|
||||||
|
}
|
||||||
|
|
||||||
|
def sendUpdateMessage(meetingID: String, message: java.util.Map[String, Object]) {
|
||||||
|
bbbGW.accept(new PresentationConversionUpdate(meetingID, message))
|
||||||
|
}
|
||||||
|
|
||||||
|
def removePresentation(meetingID: String, presentationID: String) {
|
||||||
|
bbbGW.accept(new RemovePresentation(meetingID, presentationID))
|
||||||
|
}
|
||||||
|
|
||||||
|
def getPresentationInfo(meetingID: String, requesterID: String) {
|
||||||
|
bbbGW.accept(new GetPresentationInfo(meetingID, requesterID))
|
||||||
|
}
|
||||||
|
|
||||||
|
def sendCursorUpdate(meetingID: String, xPercent: Double, yPercent: Double) {
|
||||||
|
bbbGW.accept(new SendCursorUpdate(meetingID, xPercent, yPercent))
|
||||||
|
}
|
||||||
|
|
||||||
|
def resizeAndMoveSlide(meetingID: String, xOffset: Double, yOffset: Double, widthRatio: Double, heightRatio: Double) {
|
||||||
|
bbbGW.accept(new ResizeAndMoveSlide(meetingID, xOffset, yOffset, widthRatio, heightRatio))
|
||||||
|
}
|
||||||
|
|
||||||
|
def gotoSlide(meetingID: String, slide: Int) {
|
||||||
|
bbbGW.accept(new GotoSlide(meetingID, slide))
|
||||||
|
}
|
||||||
|
|
||||||
|
def sharePresentation(meetingID: String, presentationID: String, share: Boolean) {
|
||||||
|
bbbGW.accept(new SharePresentation(meetingID, presentationID, share))
|
||||||
|
}
|
||||||
|
|
||||||
|
def getSlideInfo(meetingID: String, requesterID: String) {
|
||||||
|
bbbGW.accept(new GetSlideInfo(meetingID, requesterID))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,6 +1,7 @@
|
|||||||
package org.bigbluebutton.core.api
|
package org.bigbluebutton.core.api
|
||||||
|
|
||||||
import org.bigbluebutton.core.api.Role._
|
import org.bigbluebutton.core.api.Role._
|
||||||
|
import java.util.Map
|
||||||
|
|
||||||
trait InMessage {val meetingID: String}
|
trait InMessage {val meetingID: String}
|
||||||
|
|
||||||
@ -9,10 +10,21 @@ case class DestroyMeeting(meetingID: String) extends InMessage
|
|||||||
case class StartMeeting(meetingID: String) extends InMessage
|
case class StartMeeting(meetingID: String) extends InMessage
|
||||||
case class EndMeeting(meetingID: String) extends InMessage
|
case class EndMeeting(meetingID: String) extends InMessage
|
||||||
|
|
||||||
|
// Users
|
||||||
case class UserJoining(meetingID: String, userID: String, name: String, role: Role, extUserID: String) extends InMessage
|
case class UserJoining(meetingID: String, userID: String, name: String, role: Role, extUserID: String) extends InMessage
|
||||||
case class UserLeaving(meetingID: String, userID: String) extends InMessage
|
case class UserLeaving(meetingID: String, userID: String) extends InMessage
|
||||||
case class GetUsers(meetingID: String, requesterID: String) extends InMessage
|
case class GetUsers(meetingID: String, requesterID: String) extends InMessage
|
||||||
case class ChangeUserStatus(meetingID: String, userID: String, status: String, value: Object) extends InMessage
|
case class ChangeUserStatus(meetingID: String, userID: String, status: String, value: Object) extends InMessage
|
||||||
case class AssignPresenter(meetingID: String, newPresenterID: String, newPresenterName: String, assignedBy: String) extends InMessage
|
case class AssignPresenter(meetingID: String, newPresenterID: String, newPresenterName: String, assignedBy: String) extends InMessage
|
||||||
|
|
||||||
case class SampleInMessage(meetingID: String) extends InMessage
|
// Presentation
|
||||||
|
case class ClearPresentation(meetingID: String) extends InMessage
|
||||||
|
case class PresentationConversionUpdate(meetingID: String, msg: Map[String, Object]) extends InMessage
|
||||||
|
case class RemovePresentation(meetingID: String, presentationID: String) extends InMessage
|
||||||
|
case class GetPresentationInfo(meetingID: String, requesterID: String) extends InMessage
|
||||||
|
case class SendCursorUpdate(meetingID: String, xPercent: Double, yPercent: Double) extends InMessage
|
||||||
|
case class ResizeAndMoveSlide(meetingID: String, xOffset: Double, yOffset: Double, widthRatio: Double, heightRatio: Double) extends InMessage
|
||||||
|
case class GotoSlide(meetingID: String, slide: Int) extends InMessage
|
||||||
|
case class SharePresentation(meetingID: String, presentationID: String, share: Boolean) extends InMessage
|
||||||
|
case class GetSlideInfo(meetingID: String, requesterID: String) extends InMessage
|
||||||
|
|
||||||
|
@ -7,6 +7,17 @@ case class MeetingDestroyed(meetingID: String) extends IOutMessage
|
|||||||
case class UserLeft(meetingID: String, isRecorded: Boolean, userID: String) extends IOutMessage
|
case class UserLeft(meetingID: String, isRecorded: Boolean, userID: String) extends IOutMessage
|
||||||
case class PresenterAssigned(meetingID: String, recorded: Boolean, presenter: Presenter) extends IOutMessage
|
case class PresenterAssigned(meetingID: String, recorded: Boolean, presenter: Presenter) extends IOutMessage
|
||||||
|
|
||||||
|
// Presentation
|
||||||
|
case class ClearPresentationOutMsg(meetingID: String, recorded: Boolean) extends IOutMessage
|
||||||
|
case class PresentationConversionUpdateOutMsg(meetingID: String, recorded: Boolean, msg: java.util.Map[String, Object]) extends IOutMessage
|
||||||
|
case class RemovePresentationOutMsg(meetingID: String, recorded: Boolean, presentationID: String) extends IOutMessage
|
||||||
|
case class GetPresentationInfoOutMsg(meetingID: String, recorded: Boolean, requesterID: String, info: java.util.Map[String, Object] ) extends IOutMessage
|
||||||
|
case class SendCursorUpdateOutMsg(meetingID: String, recorded: Boolean, xPercent: Double, yPercent: Double) extends IOutMessage
|
||||||
|
case class ResizeAndMoveSlideOutMsg(meetingID: String, recorded: Boolean, xOffset: Double, yOffset: Double, widthRatio: Double, heightRatio: Double) extends IOutMessage
|
||||||
|
case class GotoSlideOutMsg(meetingID: String, recorded: Boolean, slide: Int) extends IOutMessage
|
||||||
|
case class SharePresentationOutMsg(meetingID: String, recorded: Boolean, presentationID: String, share: Boolean) extends IOutMessage
|
||||||
|
case class GetSlideInfoOutMsg(meetingID: String, recorded: Boolean, requesterID: String, xOffset: Double, yOffset: Double, widthRatio: Double, heightRatio: Double) extends IOutMessage
|
||||||
|
|
||||||
// Value Objects
|
// Value Objects
|
||||||
case class MeetingVO(id: String, recorded: Boolean)
|
case class MeetingVO(id: String, recorded: Boolean)
|
||||||
|
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
package org.bigbluebutton.core.apps.layout
|
||||||
|
|
||||||
|
class LayoutApp {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
package org.bigbluebutton.core.apps.presentation
|
||||||
|
|
||||||
|
import org.bigbluebutton.core.api.InMessage
|
||||||
|
import org.bigbluebutton.core.api.MessageOutGateway
|
||||||
|
import org.bigbluebutton.core.api.ClearPresentation
|
||||||
|
import org.bigbluebutton.core.api.PresentationConversionUpdate
|
||||||
|
import org.bigbluebutton.core.api.RemovePresentation
|
||||||
|
import org.bigbluebutton.core.api.GetPresentationInfo
|
||||||
|
import org.bigbluebutton.core.api.SendCursorUpdate
|
||||||
|
import org.bigbluebutton.core.api.ResizeAndMoveSlide
|
||||||
|
import org.bigbluebutton.core.api.GotoSlide
|
||||||
|
import org.bigbluebutton.core.api.SharePresentation
|
||||||
|
import org.bigbluebutton.core.api.GetSlideInfo
|
||||||
|
|
||||||
|
class PresentationApp(meetingID: String, recorded: Boolean, outGW: MessageOutGateway) {
|
||||||
|
|
||||||
|
private var currentPresentation = ""
|
||||||
|
private var currentSlide = 0
|
||||||
|
private var sharing = false
|
||||||
|
private var xOffset = 0D
|
||||||
|
private var yOffset = 0D
|
||||||
|
private var widthRatio = 1D
|
||||||
|
private var heightRatio = 1D
|
||||||
|
|
||||||
|
/* cursor location */
|
||||||
|
private var xPercent = 0D
|
||||||
|
private var yPercent = 0D
|
||||||
|
|
||||||
|
private var presentationIDs = new java.util.ArrayList[String]();
|
||||||
|
|
||||||
|
def handleMessage(msg: InMessage):Unit = {
|
||||||
|
msg match {
|
||||||
|
case clearPresentation: ClearPresentation => handleClearPresentation(clearPresentation)
|
||||||
|
case presentationConversionUpdate: PresentationConversionUpdate => handlePresentationConversionUpdate(presentationConversionUpdate)
|
||||||
|
case removePresentation: RemovePresentation => handleRemovePresentation(removePresentation)
|
||||||
|
case getPresentationInfo : GetPresentationInfo => handleGetPresentationInfo(getPresentationInfo)
|
||||||
|
case sendCursorUpdate : SendCursorUpdate => handleSendCursorUpdate(sendCursorUpdate)
|
||||||
|
case resizeAndMoveSlide: ResizeAndMoveSlide => handleResizeAndMoveSlide(resizeAndMoveSlide)
|
||||||
|
case gotoSlide: GotoSlide => handleGotoSlide(gotoSlide)
|
||||||
|
case sharePresentation: SharePresentation => handleSharePresentation(sharePresentation)
|
||||||
|
case getSlideInfo: GetSlideInfo => handleGetSlideInfo(getSlideInfo)
|
||||||
|
case _ => // do nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleClearPresentation(msg: ClearPresentation) {
|
||||||
|
currentPresentation = ""
|
||||||
|
sharing = false
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handlePresentationConversionUpdate(msg: PresentationConversionUpdate) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleRemovePresentation(msg: RemovePresentation) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleGetPresentationInfo(msg: GetPresentationInfo) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleSendCursorUpdate(msg: SendCursorUpdate) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleResizeAndMoveSlide(msg: ResizeAndMoveSlide) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleGotoSlide(msg: GotoSlide) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleSharePresentation(msg: SharePresentation) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleGetSlideInfo(msg: GetSlideInfo) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,155 @@
|
|||||||
|
package org.bigbluebutton.core.apps.presentation.red5
|
||||||
|
|
||||||
|
import org.bigbluebutton.conference.meeting.messaging.red5.ConnectionInvokerService
|
||||||
|
import org.bigbluebutton.core.api.OutMessageListener2
|
||||||
|
import org.bigbluebutton.core.api.IOutMessage
|
||||||
|
import org.bigbluebutton.core.api.ClearPresentationOutMsg
|
||||||
|
import org.bigbluebutton.core.api.PresentationConversionUpdateOutMsg
|
||||||
|
import org.bigbluebutton.core.api.RemovePresentationOutMsg
|
||||||
|
import org.bigbluebutton.core.api.GetPresentationInfoOutMsg
|
||||||
|
import org.bigbluebutton.core.api.SendCursorUpdateOutMsg
|
||||||
|
import org.bigbluebutton.core.api.ResizeAndMoveSlideOutMsg
|
||||||
|
import org.bigbluebutton.core.api.GotoSlideOutMsg
|
||||||
|
import org.bigbluebutton.core.api.SharePresentationOutMsg
|
||||||
|
import org.bigbluebutton.core.api.GetSlideInfoOutMsg
|
||||||
|
import org.bigbluebutton.conference.meeting.messaging.red5.BroadcastClientMessage
|
||||||
|
import org.bigbluebutton.conference.meeting.messaging.red5.DirectClientMessage
|
||||||
|
import collection.JavaConversions._
|
||||||
|
|
||||||
|
class PresentationClientMessageSender(service: ConnectionInvokerService) extends OutMessageListener2 {
|
||||||
|
private val OFFICE_DOC_CONVERSION_SUCCESS_KEY = "OFFICE_DOC_CONVERSION_SUCCESS";
|
||||||
|
private val OFFICE_DOC_CONVERSION_FAILED_KEY = "OFFICE_DOC_CONVERSION_FAILED";
|
||||||
|
private val SUPPORTED_DOCUMENT_KEY = "SUPPORTED_DOCUMENT";
|
||||||
|
private val UNSUPPORTED_DOCUMENT_KEY = "UNSUPPORTED_DOCUMENT";
|
||||||
|
private val PAGE_COUNT_FAILED_KEY = "PAGE_COUNT_FAILED";
|
||||||
|
private val PAGE_COUNT_EXCEEDED_KEY = "PAGE_COUNT_EXCEEDED";
|
||||||
|
private val GENERATED_SLIDE_KEY = "GENERATED_SLIDE";
|
||||||
|
private val GENERATING_THUMBNAIL_KEY = "GENERATING_THUMBNAIL";
|
||||||
|
private val GENERATED_THUMBNAIL_KEY = "GENERATED_THUMBNAIL";
|
||||||
|
private val CONVERSION_COMPLETED_KEY = "CONVERSION_COMPLETED";
|
||||||
|
|
||||||
|
def handleMessage(msg: IOutMessage) {
|
||||||
|
msg match {
|
||||||
|
case clearPresentationOutMsg: ClearPresentationOutMsg => handleClearPresentationOutMsg(clearPresentationOutMsg)
|
||||||
|
case presentationConversionUpdateOutMsg: PresentationConversionUpdateOutMsg => handlePresentationConversionUpdateOutMsg(presentationConversionUpdateOutMsg)
|
||||||
|
case removePresentationOutMsg: RemovePresentationOutMsg => handleRemovePresentationOutMsg(removePresentationOutMsg)
|
||||||
|
case getPresentationInfoOutMsg: GetPresentationInfoOutMsg => handleGetPresentationInfoOutMsg(getPresentationInfoOutMsg)
|
||||||
|
case sendCursorUpdateOutMsg: SendCursorUpdateOutMsg => handleSendCursorUpdateOutMsg(sendCursorUpdateOutMsg)
|
||||||
|
case resizeAndMoveSlideOutMsg: ResizeAndMoveSlideOutMsg => handleResizeAndMoveSlideOutMsg(resizeAndMoveSlideOutMsg)
|
||||||
|
case gotoSlideOutMsg: GotoSlideOutMsg => handleGotoSlideOutMsg(gotoSlideOutMsg)
|
||||||
|
case sharePresentationOutMsg: SharePresentationOutMsg => handleSharePresentationOutMsg(sharePresentationOutMsg)
|
||||||
|
case getSlideInfoOutMsg: GetSlideInfoOutMsg => handleGetSlideInfoOutMsg(getSlideInfoOutMsg)
|
||||||
|
case _ => // do nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleClearPresentationOutMsg(msg: ClearPresentationOutMsg) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handlePresentationConversionUpdateOutMsg(msg: PresentationConversionUpdateOutMsg) {
|
||||||
|
val message = msg.msg;
|
||||||
|
|
||||||
|
val messageKey:String = message.get("messageKey").asInstanceOf[String]
|
||||||
|
|
||||||
|
val args = new java.util.HashMap[String, Object]();
|
||||||
|
args.put("meetingID", message.get("conference"));
|
||||||
|
args.put("code", message.get("returnCode"));
|
||||||
|
args.put("presentationID", message.get("presentationName"));
|
||||||
|
args.put("messageKey", messageKey);
|
||||||
|
|
||||||
|
if (messageKey.equalsIgnoreCase(OFFICE_DOC_CONVERSION_SUCCESS_KEY) ||
|
||||||
|
messageKey.equalsIgnoreCase(OFFICE_DOC_CONVERSION_FAILED_KEY) ||
|
||||||
|
messageKey.equalsIgnoreCase(SUPPORTED_DOCUMENT_KEY) ||
|
||||||
|
messageKey.equalsIgnoreCase(UNSUPPORTED_DOCUMENT_KEY) ||
|
||||||
|
messageKey.equalsIgnoreCase(GENERATING_THUMBNAIL_KEY) ||
|
||||||
|
messageKey.equalsIgnoreCase(GENERATED_THUMBNAIL_KEY) ||
|
||||||
|
messageKey.equalsIgnoreCase(PAGE_COUNT_FAILED_KEY)){
|
||||||
|
|
||||||
|
val m = new BroadcastClientMessage(msg.meetingID, "conversionUpdateMessageCallback", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
} else if(messageKey.equalsIgnoreCase(PAGE_COUNT_EXCEEDED_KEY)){
|
||||||
|
args.put("numberOfPages", message.get("numberOfPages"));
|
||||||
|
args.put("maxNumberPages", message.get("maxNumberPages"));
|
||||||
|
|
||||||
|
val m = new BroadcastClientMessage(msg.meetingID, "pageCountExceededUpdateMessageCallback", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
|
||||||
|
} else if(messageKey.equalsIgnoreCase(GENERATED_SLIDE_KEY)){
|
||||||
|
args.put("numberOfPages", message.get("numberOfPages"));
|
||||||
|
args.put("pagesCompleted", message.get("pagesCompleted"));
|
||||||
|
|
||||||
|
val m = new BroadcastClientMessage(msg.meetingID, "generatedSlideUpdateMessageCallback", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
|
||||||
|
} else if(messageKey.equalsIgnoreCase(CONVERSION_COMPLETED_KEY)){
|
||||||
|
args.put("slidesInfo", message.get("slidesInfo"));
|
||||||
|
|
||||||
|
val m = new BroadcastClientMessage(msg.meetingID, "conversionCompletedUpdateMessageCallback", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleRemovePresentationOutMsg(msg: RemovePresentationOutMsg) {
|
||||||
|
val args = new java.util.HashMap[String, Object]();
|
||||||
|
args.put("presentationID", msg.presentationID);
|
||||||
|
|
||||||
|
val m = new BroadcastClientMessage(msg.meetingID, "removePresentationCallback", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleGetPresentationInfoOutMsg(msg: GetPresentationInfoOutMsg) {
|
||||||
|
val message = msg.info;
|
||||||
|
val m = new DirectClientMessage(msg.meetingID, msg.requesterID, "getPresentationInfoReply", msg.info);
|
||||||
|
service.sendMessage(m);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleSendCursorUpdateOutMsg(msg: SendCursorUpdateOutMsg) {
|
||||||
|
val args = new java.util.HashMap[String, Object]();
|
||||||
|
args.put("xPercent", msg.xPercent:java.lang.Double);
|
||||||
|
args.put("yPercent", msg.yPercent:java.lang.Double);
|
||||||
|
|
||||||
|
val m = new BroadcastClientMessage(msg.meetingID, "PresentationCursorUpdateCommand", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleResizeAndMoveSlideOutMsg(msg: ResizeAndMoveSlideOutMsg) {
|
||||||
|
val args = new java.util.HashMap[String, Object]();
|
||||||
|
args.put("xOffset", msg.xOffset:java.lang.Double);
|
||||||
|
args.put("yOffest", msg.yOffset:java.lang.Double);
|
||||||
|
args.put("widthRatio", msg.widthRatio:java.lang.Double);
|
||||||
|
args.put("heightRatio", msg.heightRatio:java.lang.Double);
|
||||||
|
|
||||||
|
val m = new BroadcastClientMessage(msg.meetingID, "moveCallback", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleGotoSlideOutMsg(msg: GotoSlideOutMsg) {
|
||||||
|
val args = new java.util.HashMap[String, Object]();
|
||||||
|
args.put("pageNum", msg.slide:java.lang.Integer);
|
||||||
|
|
||||||
|
val m = new BroadcastClientMessage(msg.meetingID, "gotoSlideCallback", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleSharePresentationOutMsg(msg: SharePresentationOutMsg) {
|
||||||
|
val args = new java.util.HashMap[String, Object]();
|
||||||
|
args.put("presentationID", msg.presentationID);
|
||||||
|
args.put("share", msg.share:java.lang.Boolean);
|
||||||
|
|
||||||
|
val m = new BroadcastClientMessage(msg.meetingID, "sharePresentationCallback", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
private def handleGetSlideInfoOutMsg(msg: GetSlideInfoOutMsg) {
|
||||||
|
val args = new java.util.HashMap[String, Object]();
|
||||||
|
args.put("xOffset", msg.xOffset:java.lang.Double);
|
||||||
|
args.put("yOffest", msg.yOffset:java.lang.Double);
|
||||||
|
args.put("widthRatio", msg.widthRatio:java.lang.Double);
|
||||||
|
args.put("heightRatio", msg.heightRatio:java.lang.Double);
|
||||||
|
|
||||||
|
val m = new DirectClientMessage(msg.meetingID, msg.requesterID, "getPresentationInfoReply", args);
|
||||||
|
service.sendMessage(m);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user