diff options
Diffstat (limited to 'dom/presentation/provider/StateMachineHelper.jsm')
-rw-r--r-- | dom/presentation/provider/StateMachineHelper.jsm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/dom/presentation/provider/StateMachineHelper.jsm b/dom/presentation/provider/StateMachineHelper.jsm new file mode 100644 index 000000000..6e07863d4 --- /dev/null +++ b/dom/presentation/provider/StateMachineHelper.jsm @@ -0,0 +1,39 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +/* jshint esnext:true, globalstrict:true, moz:true, undef:true, unused:true */ + +"use strict"; + +this.EXPORTED_SYMBOLS = ["State", "CommandType"]; // jshint ignore:line + +const State = Object.freeze({ + INIT: 0, + CONNECTING: 1, + CONNECTED: 2, + CLOSING: 3, + CLOSED: 4, +}); + +const CommandType = Object.freeze({ + // control channel life cycle + CONNECT: "connect", // { deviceId: <string> } + CONNECT_ACK: "connect-ack", // { presentationId: <string> } + DISCONNECT: "disconnect", // { reason: <int> } + // presentation session life cycle + LAUNCH: "launch", // { presentationId: <string>, url: <string> } + LAUNCH_ACK: "launch-ack", // { presentationId: <string> } + TERMINATE: "terminate", // { presentationId: <string> } + TERMINATE_ACK: "terminate-ack", // { presentationId: <string> } + RECONNECT: "reconnect", // { presentationId: <string> } + RECONNECT_ACK: "reconnect-ack", // { presentationId: <string> } + // session transport establishment + OFFER: "offer", // { offer: <json> } + ANSWER: "answer", // { answer: <json> } + ICE_CANDIDATE: "ice-candidate", // { candidate: <string> } +}); + +this.State = State; // jshint ignore:line +this.CommandType = CommandType; // jshint ignore:line |