bigbluebutton-Github/bigbluebutton-client/src/SharedNotesModule.mxml

102 lines
3.6 KiB
XML
Executable File

<!--
BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
This program 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.0 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, see <http://www.gnu.org/licenses/>.
-->
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
implements="org.bigbluebutton.common.IBigBlueButtonModule"
creationComplete="onCreationComplete()" >
<mx:Script>
<![CDATA[
import com.asfusion.mate.events.Dispatcher;
import org.bigbluebutton.common.IBbbModuleWindow;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.common.events.CloseWindowEvent;
import org.bigbluebutton.common.events.OpenWindowEvent;
import org.bigbluebutton.common.events.ToolbarButtonEvent;
import org.bigbluebutton.modules.sharednotes.SharedNotesWindow;
import org.bigbluebutton.modules.sharednotes.ToolbarButton;
import org.bigbluebutton.modules.sharednotes.infrastructure.Client;
import org.bigbluebutton.modules.sharednotes.infrastructure.HTTPServerConnection;
private var _moduleName:String = "Notes Module";
private var _attributes:Object;
private var globalDispatcher:Dispatcher = new Dispatcher();
private function onCreationComplete():void {
LogUtil.debug("NotesModule Initialized");
globalDispatcher = new Dispatcher();
}
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 mode():String {
if (_attributes.mode == null) {
_attributes.mode = "LIVE"
LogUtil.debug('Setting NotesModule mode: ' + _attributes.mode);
}
LogUtil.debug('NotesModule 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("notes attr: " + attributes.username);
_attributes = attributes;
SharedNotesWindow.document = _attributes.room;
// The following line has been removed, as the uri should be in
// the URI property in the config.xml file of the client
HTTPServerConnection.syncURL = (_attributes.uri as String).replace("RTMP", "http") + "/notes/notes.jsp";
addToolbarButton();
}
public function addToolbarButton():void{
var button:ToolbarButton = new ToolbarButton();
var event:ToolbarButtonEvent = new ToolbarButtonEvent(ToolbarButtonEvent.ADD);
event.button = button;
globalDispatcher.dispatchEvent(event);
}
public function stop():void {}
]]>
</mx:Script>
</mx:Module>