Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
84 lines
2 KiB
JavaScript
Executable file
84 lines
2 KiB
JavaScript
Executable file
/* globals MockPresentationSession */
|
|
(function(exports) {
|
|
'use strict';
|
|
|
|
// Mock API from http://bit.ly/15wfAtX
|
|
var MockPresentation = {
|
|
_mEventHandlers: {
|
|
'available': [],
|
|
'sessionready': []
|
|
},
|
|
|
|
startSession: function(url, sessionId) {
|
|
var session = MockPresentationSession._mCreateSession();
|
|
session._state = true;
|
|
return Promise.resolve(session);
|
|
},
|
|
|
|
joinSession: function(url, sessionId) {
|
|
},
|
|
|
|
session: undefined,
|
|
|
|
_onsessionready: undefined,
|
|
|
|
set onsessionready (handler) {
|
|
if (typeof handler === 'function') {
|
|
this._onsessionready = handler;
|
|
}
|
|
},
|
|
|
|
_onavailable: undefined,
|
|
|
|
set onavailable (handler) {
|
|
if (typeof handler === 'function') {
|
|
this._onavailable = handler;
|
|
}
|
|
},
|
|
|
|
available: false,
|
|
|
|
addEventListener: function(eventName, handler) {
|
|
if (this._mEventHandlers[eventName] && typeof handler === 'function') {
|
|
this._mEventHandlers[eventName].push(handler);
|
|
}
|
|
},
|
|
|
|
removeEventListener: function(eventName, handler) {
|
|
if (this._mEventHandlers[eventName]) {
|
|
var index = this._mEventHandlers[eventName].indexOf(handler);
|
|
if (index >= 0) {
|
|
this._mEventHandlers[eventName].splice(index, 1);
|
|
}
|
|
}
|
|
},
|
|
|
|
_mFireEvent: function(eventName, eventObject) {
|
|
if (typeof this['_on' + eventName] === 'function') {
|
|
this['_on' + eventName](eventObject);
|
|
}
|
|
|
|
if (this._mEventHandlers[eventName]) {
|
|
this._mEventHandlers[eventName].forEach(function(handler) {
|
|
handler(eventObject);
|
|
});
|
|
}
|
|
},
|
|
|
|
_mInjectSession: function(session) {
|
|
this.session = session;
|
|
this._mFireEvent('sessionready', undefined);
|
|
},
|
|
|
|
_mReset: function() {
|
|
for (var eventHandlers in this._mEventHandlers) {
|
|
eventHandlers = [];
|
|
}
|
|
this._onavailable = undefined;
|
|
this._onsessionready = undefined;
|
|
this.session = undefined;
|
|
}
|
|
};
|
|
|
|
exports.MockPresentation = MockPresentation;
|
|
}(window));
|