UNPKG

nativescript-opentok

Version:
176 lines 6.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var observable_1 = require("tns-core-modules/data/observable"); var view_1 = require("tns-core-modules/ui/core/view"); var session_1 = require("./session"); var TNSOTSubscriber = (function (_super) { __extends(TNSOTSubscriber, _super); function TNSOTSubscriber() { return _super !== null && _super.apply(this, arguments) || this; } TNSOTSubscriber.prototype.createNativeView = function () { return UIView.new(); }; TNSOTSubscriber.prototype.initNativeView = function () { this._subscriberKitDelegate = TNSSubscriberKitDelegateImpl.initWithOwner(new WeakRef(this)); }; TNSOTSubscriber.prototype.disposeNativeView = function () { this._subscriberKitDelegate = null; }; TNSOTSubscriber.prototype.onMeasure = function (widthMeasureSpec, heightMeasureSpec) { var nativeView = this.nativeView; if (nativeView) { var width = view_1.layout.getMeasureSpecSize(widthMeasureSpec); var height = view_1.layout.getMeasureSpecSize(heightMeasureSpec); this.setMeasuredDimension(width, height); } }; TNSOTSubscriber.prototype.subscribe = function (session, stream) { this._ios = new OTSubscriber(stream, this._subscriberKitDelegate); this._ios.view.frame = this.nativeView.bounds; this.nativeView.addSubview(this._ios.view); var errorRef = new interop.Reference(); if (session instanceof session_1.TNSOTSession) { session._ios.subscribeError(this._ios, errorRef); } else if (session instanceof OTSession) { session.subscribeError(this._ios, errorRef); } if (errorRef.value) { console.log(errorRef.value); } }; TNSOTSubscriber.prototype.unsubscribe = function (session) { try { var errorRef = new interop.Reference(); session._ios.unsubscribeError(this._ios, errorRef); if (errorRef.value) { console.log(errorRef.value); } } catch (error) { console.log(error); } }; Object.defineProperty(TNSOTSubscriber.prototype, "events", { get: function () { return this._subscriberKitDelegate.events; }, enumerable: true, configurable: true }); Object.defineProperty(TNSOTSubscriber.prototype, "ios", { get: function () { return this._ios; }, enumerable: true, configurable: true }); return TNSOTSubscriber; }(view_1.View)); exports.TNSOTSubscriber = TNSOTSubscriber; var TNSSubscriberKitDelegateImpl = (function (_super) { __extends(TNSSubscriberKitDelegateImpl, _super); function TNSSubscriberKitDelegateImpl() { return _super !== null && _super.apply(this, arguments) || this; } TNSSubscriberKitDelegateImpl.initWithOwner = function (owner) { var subscriberKiDelegate = new TNSSubscriberKitDelegateImpl(); subscriberKiDelegate._events = new observable_1.Observable(); subscriberKiDelegate._owner = owner; return subscriberKiDelegate; }; TNSSubscriberKitDelegateImpl.prototype.subscriberDidFailWithError = function (subscriber, error) { if (this._events) { this._events.notify({ eventName: 'didFailWithError', object: observable_1.fromObject({ subscriber: subscriber, error: error }) }); } }; TNSSubscriberKitDelegateImpl.prototype.subscriberDidConnectToStream = function (subscriber) { if (this._events) { this._events.notify({ eventName: 'subscriberDidConnectToStream', object: observable_1.fromObject({ subscriber: subscriber }) }); } }; TNSSubscriberKitDelegateImpl.prototype.subscriberDidDisconnectFromStream = function (subscriber) { if (this._events) { this._events.notify({ eventName: 'didDisconnectFromStream', object: observable_1.fromObject({ subscriber: subscriber }) }); } }; TNSSubscriberKitDelegateImpl.prototype.subscriberDidReconnectToStream = function (subscriber) { if (this._events) { this._events.notify({ eventName: 'didReconnectToStream', object: observable_1.fromObject({ subscriber: subscriber }) }); } }; TNSSubscriberKitDelegateImpl.prototype.subscriberVideoDisableWarning = function (subscriber) { if (this._events) { this._events.notify({ eventName: 'subscriberVideoDisableWarning', object: observable_1.fromObject({ subscriber: subscriber }) }); } }; TNSSubscriberKitDelegateImpl.prototype.subscriberVideoDisableWarningLifted = function (subscriber) { if (this._events) { this._events.notify({ eventName: 'subscriberVideoDisableWarningLifted', object: observable_1.fromObject({ subscriber: subscriber }) }); } }; TNSSubscriberKitDelegateImpl.prototype.subscriberVideoDisabledReason = function (subscriber, reason) { if (this._events) { this._events.notify({ eventName: 'subscriberVideoDisabledReason', object: observable_1.fromObject({ subscriber: subscriber, reason: reason }) }); } }; TNSSubscriberKitDelegateImpl.prototype.subscriberVideoEnabledReason = function (subscriber, reason) { if (this._events) { this._events.notify({ eventName: 'subscriberVideoEnabledReason', object: observable_1.fromObject({ subscriber: subscriber, reason: reason }) }); } }; Object.defineProperty(TNSSubscriberKitDelegateImpl.prototype, "events", { get: function () { return this._events; }, enumerable: true, configurable: true }); return TNSSubscriberKitDelegateImpl; }(NSObject)); TNSSubscriberKitDelegateImpl.ObjCProtocols = [OTSubscriberKitDelegate]; //# sourceMappingURL=subscriber.js.map