bigbluebutton-Github/bigbluebutton-client/src/DeskShareModule.mxml
2010-07-16 16:28:54 +00:00

129 lines
3.9 KiB
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<!--
BigBlueButton - http://www.bigbluebutton.org
Copyright (c) 2008-2009 by respective authors (see below). All rights reserved.
BigBlueButton is free software; you can redistribute it and/or modify it under the
terms of the GNU Lesser General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>.
$Id: $
-->
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:maps="org.bigbluebutton.modules.deskShare.maps.*"
implements="org.bigbluebutton.common.IBigBlueButtonModule"
creationComplete="onCreationComplete()" xmlns:maps1="org.bigbluebutton.modules.deskshare.maps.*">
<maps1:DeskshareEventMap id="deskshareGlobalEventMap" />
<mx:Script>
<![CDATA[
import com.asfusion.mate.events.Dispatcher;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.main.events.CloseWindowEvent;
import org.bigbluebutton.main.events.OpenWindowEvent;
import org.bigbluebutton.modules.deskshare.events.ModuleEvent;
import org.bigbluebutton.modules.deskshare.maps.DeskshareEventMap;
private var _moduleId:String = "DeskShareModule";
private var _moduleName:String = "Desk Share";
private var _attributes:Object;
private var globalDispatcher:Dispatcher = new Dispatcher();;
private function onCreationComplete():void{
LogUtil.debug("DeskShareModule initialized");
}
public function get moduleId():String{
return _moduleId;
}
public function get moduleName():String{
return _moduleName;
}
public function get uri():String{
if (_attributes.mode == "PLAYBACK")
return _attributes.uri + "/" + _attributes.playbackRoom;
return _attributes.uri + "/" + _attributes.room;
}
public function get username():String{
return _attributes.username;
}
public function get connection():NetConnection{
return _attributes.connection;
}
public function get mode():String{
if (_attributes.mode == null){
_attributes.mode = "LIVE";
LogUtil.debug("Setting DeskShare mode: " + _attributes.mode);
}
LogUtil.debug("DeskShare mode: " + _attributes.mode);
return _attributes.mode;
}
public function get userid():Number{
return _attributes.userid as Number;
}
public function get role():String{
return _attributes.userrole as String;
}
public function start(attributes:Object):void{
LogUtil.debug("desk share attr: " + attributes.username);
_attributes = attributes;
var startEvent:ModuleEvent = new ModuleEvent(ModuleEvent.START);
startEvent.module = this;
globalDispatcher.dispatchEvent(startEvent);
}
public function stop():void{
LogUtil.debug("STOPPING DESKSHARE MODULE!!!");
var stopEvent:ModuleEvent = new ModuleEvent(ModuleEvent.STOP);
globalDispatcher.dispatchEvent(stopEvent);
}
public function getRoom():String{
return _attributes.room;
}
public function getRed5ServerUri():String{
return _attributes.uri;
}
public function getCaptureServerUri():String{
var uri:String = _attributes.uri;
uri = uri.split("/")[2];
return uri;
}
public function tunnel():Boolean {
if (_attributes.protocol == "RTMPT") {
LogUtil.debug("Use tunneling for desktop sharing");
return true;
}
return false;
}
]]>
</mx:Script>
</mx:Module>