skeletal structure for bootstrap.js
authorjordan <jordanlavatai@gmail.com>
Sun, 16 Jul 2017 07:51:20 +0000 (00:51 -0700)
committerjordan <jordanlavatai@gmail.com>
Sun, 16 Jul 2017 07:51:20 +0000 (00:51 -0700)
bootstrap.js [new file with mode: 0644]

diff --git a/bootstrap.js b/bootstrap.js
new file mode 100644 (file)
index 0000000..a90539e
--- /dev/null
@@ -0,0 +1,107 @@
+/**
+ * @file      Shared API 
+ * @author    Jordan Lavatai and Ken Grimes
+ * @version   0.0.1
+ * @license   APGL-3.0
+ * @copyright Strapp.io
+ */
+
+const dlog = (msg) => console.log(msg)
+
+/***********************/
+/** Helper functions **/
+/***********************/
+
+/* SDP Interop helper functions to be used by beginRTCOffer and beginRTCAnswer */
+
+/** @func   Determines the multimedia signaling protocol for the given session description
+ *  @desc   Does some basic duck typing to determine the type of Session Description 
+ *  @arg    {Object} Session Description Object
+ *  @return {String} Returns 'planB' if Session Description is planB, 'Unified' if 
+ *                   Session Description is Unified 
+ */
+function determineSessionDescription(sessionDescription) {
+}
+
+/** @func Converts a planB session description to Unified session description
+ *  @arg    {Object} Session Description Object
+ *  @return {Object} PlanB Session Description
+ */
+function toUnified(sessionDescription) {
+}
+
+/** @func Converts a Unified session description to planB session description 
+ *  @arg    {Object} Session Description Object
+ *  @return {Object} PlanB Session Description
+ */
+function toPlanB(sessionDescription) {
+}
+
+/* WebSocket wielder helper functions */
+
+/* Function for setting up webSocket wielders message handler */
+/* TBD */
+/* TBD */
+
+/* SDP Negotiation helper functions */
+
+/* addRemoteIceCandidate() */
+/* addIceCandidateCreationHandler(callback for sending?) */
+/* handleIceRequest() -  WebSpocketless entity specific */
+
+
+/***********************/
+/** Exposed functions **/
+/***********************/
+
+/** @func   Attempts to create a websocket 
+ *  @desc   If user agent supports web sockets, attempt to create a websocket
+ *          with given domain 
+ *  @arg    {String} domain - ip address or domain name of other end of websocket
+ *  @return {Boolean} returns true if successful, false if unsucessful
+ */
+export function createWebSocket(domain) {
+  
+}
+
+/** @func Returns public key for the user
+ *  @desc Attempts to find a stored key. If unsucessful, ask user for key. If user
+ *        doesn't have a key, generates a key
+ *  @dependencies keyManager, fileSystem
+ *  @options specif
+ *  @return {Object} cryptoKey object
+ */
+export function resolveKey() {
+
+}
+
+/** @func Begins the SDP handshake process as the offerer
+ *  @desc
+ *
+ *
+ */
+export function beginRTCOffer() {
+}
+
+/** @func Begins the SDP handshake process as the answerer
+ *  @desc
+ *
+ *
+ */
+export function beginRTCAnswer() {
+}
+
+
+/** @func Generic way to message host from client 
+ *  @desc tbd
+ *  @arg  {Object} data object to be sent
+ */
+export function sendHostData(data) {
+}
+
+/** @func Generic way to message client from host
+ *  @desc tbd
+ *  @arg  {Object} data object to be sent
+ */
+export function sendClientData(data){
+}