nativescript-opentok-arth
Version:
Integrates OpenTok for NativeScript.
157 lines • 5.83 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var observable_1 = require("data/observable");
var platform_1 = require("platform");
var content_view_1 = require("ui/content-view");
var TNSOTSubscriber = (function (_super) {
__extends(TNSOTSubscriber, _super);
function TNSOTSubscriber() {
var _this = _super.call(this) || this;
_this._subscriberKitDelegate = TNSSubscriberKitDelegateImpl.initWithOwner(new WeakRef(_this));
_this._view = UIView.alloc().init();
return _this;
}
TNSOTSubscriber.prototype.subscribe = function (session, stream) {
this._ios = new OTSubscriber(stream, this._subscriberKitDelegate);
this._ios.view.frame = CGRectMake(0, 0, platform_1.screen.mainScreen.widthDIPs, platform_1.screen.mainScreen.heightDIPs);
this._view.addSubview(this._ios.view);
var errorRef = new interop.Reference();
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
});
Object.defineProperty(TNSOTSubscriber.prototype, "_nativeView", {
get: function () {
return this._view;
},
enumerable: true,
configurable: true
});
return TNSOTSubscriber;
}(content_view_1.ContentView));
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: new observable_1.Observable({
subscriber: subscriber,
error: error
})
});
}
console.log(error);
};
TNSSubscriberKitDelegateImpl.prototype.subscriberDidConnectToStream = function (subscriber) {
if (this._events) {
this._events.notify({
eventName: 'subscriberDidConnectToStream',
object: new observable_1.Observable({
subscriber: subscriber
})
});
}
};
TNSSubscriberKitDelegateImpl.prototype.subscriberDidDisconnectFromStream = function (subscriber) {
if (this._events) {
this._events.notify({
eventName: 'didDisconnectFromStream',
object: subscriber
});
}
};
TNSSubscriberKitDelegateImpl.prototype.subscriberDidReconnectToStream = function (subscriber) {
if (this._events) {
this._events.notify({
eventName: 'didReconnectToStream',
object: subscriber
});
}
};
TNSSubscriberKitDelegateImpl.prototype.subscriberVideoDisableWarning = function (subscriber) {
if (this._events) {
this._events.notify({
eventName: 'subscriberVideoDisableWarning',
object: subscriber
});
}
};
TNSSubscriberKitDelegateImpl.prototype.subscriberVideoDisableWarningLifted = function (subscriber) {
if (this._events) {
this._events.notify({
eventName: 'subscriberVideoDisableWarningLifted',
object: subscriber
});
}
};
TNSSubscriberKitDelegateImpl.prototype.subscriberVideoDisabledReason = function (subscriber, reason) {
if (this._events) {
this._events.notify({
eventName: 'subscriberVideoDisabledReason',
object: new observable_1.Observable({
subscriber: subscriber,
reason: reason
})
});
}
};
TNSSubscriberKitDelegateImpl.prototype.subscriberVideoEnabledReason = function (subscriber, reason) {
if (this._events) {
this._events.notify({
eventName: 'subscriberVideoEnabledReason',
object: new observable_1.Observable({
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