import { EventDispatcher } from "../events/EventDispatcher"; import { notImplemented, release } from "../../base/utilities/Debug"; /** * Copyright 2014 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // Class: MessageChannel export class MessageChannel extends EventDispatcher { // Called whenever the class is initialized. static classInitializer: any = null; // List of static symbols to link. static classSymbols: string [] = null; // []; // List of instance symbols to link. static instanceSymbols: string [] = null; // ["addEventListener", "removeEventListener", "toString"]; constructor () { super(); } // addEventListener: (type: string, listener: ASFunction, useCapture: boolean = false, priority: number /*int*/ = 0, useWeakReference: boolean = false) => void; // removeEventListener: (type: string, listener: ASFunction, useCapture: boolean = false) => void; // AS -> JS Bindings // _messageAvailable: boolean; // _state: string; get messageAvailable(): boolean { release || notImplemented("public flash.system.MessageChannel::get messageAvailable"); return; // return this._messageAvailable; } get state(): string { release || notImplemented("public flash.system.MessageChannel::get state"); return; // return this._state; } send(arg: any, queueLimit: number /*int*/ = -1): void { queueLimit = queueLimit | 0; release || notImplemented("public flash.system.MessageChannel::send"); return; } receive(blockUntilReceived: boolean = false): any { blockUntilReceived = !!blockUntilReceived; release || notImplemented("public flash.system.MessageChannel::receive"); return; } close(): void { release || notImplemented("public flash.system.MessageChannel::close"); return; } }