summaryrefslogtreecommitdiff
path: root/SDL_Core/src/components/HMI/app/model/sdl/AppModel.js
diff options
context:
space:
mode:
Diffstat (limited to 'SDL_Core/src/components/HMI/app/model/sdl/AppModel.js')
-rw-r--r--SDL_Core/src/components/HMI/app/model/sdl/AppModel.js356
1 files changed, 0 insertions, 356 deletions
diff --git a/SDL_Core/src/components/HMI/app/model/sdl/AppModel.js b/SDL_Core/src/components/HMI/app/model/sdl/AppModel.js
deleted file mode 100644
index bece47231..000000000
--- a/SDL_Core/src/components/HMI/app/model/sdl/AppModel.js
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
- * Copyright (c) 2013, Ford Motor Company All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met: ·
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer. · Redistributions in binary
- * form must reproduce the above copyright notice, this list of conditions and
- * the following disclaimer in the documentation and/or other materials provided
- * with the distribution. · Neither the name of the Ford Motor Company nor the
- * names of its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-/**
- * @name SDL.SDLAppModel
- * @desc Abstarct model for SDL applications
- * @category Model
- * @filesource app/model/sdl/AppModel.js
- * @version 1.0
- */
-
-SDL.SDLAppModel = Em.Object.extend({
-
- /**
- * List of subscribed data on VehicleInfo model
- *
- * @type {Object}
- */
- subscribedData: {},
-
- /**
- * Application's container for current processed requests on HMI
- *
- * @type {Object}
- */
- activeRequests: {},
-
- /**
- * Application Id
- *
- * @type {Number}
- */
- appID: null,
-
- /**
- * Application name
- *
- * @type {String}
- */
- appName: '',
-
- /**
- * Navigation streaming url
- */
- navigationStream: null,
-
- /**
- * Navigation streaming url
- */
- navigationAudioStream: null,
-
- /**
- * Chosen device name
- *
- * @type {String}
- */
- deviceName: '',
-
- /**
- * Global properties for current application
- *
- * @type {Object}
- */
- globalProperties: {},
-
- /**
- * Statusbar text
- *
- * @type {String}
- */
- statusText: '',
-
- /**
- * Info data
- *
- * @type: {Em.Object}
- */
- appInfo: null,
-
- /**
- * Current language of applications UI component
- *
- * @type {String}
- */
- UILanguage: 'EN-US',
-
- /**
- * Current language of applications TTS and applications VR component
- *
- * @type {String}
- */
- TTSVRLanguage: 'EN-US',
-
- /**
- * Array of Soft Buttons
- *
- * @type {Array}
- */
- softButtons: [],
-
- /**
- * Array of Objects for TBTTurnList
- *
- * @type {Array}
- */
- turnList: [],
-
- /**
- * URL to application Icon
- *
- * @type {String}
- */
- appIcon: 'images/info/info_leftMenu_apps_ico.png',
-
- /**
- * Application commands list
- *
- * @type {Array}
- */
- commandsList: {
- 0: []
- },
-
- /**
- * Flag to open ShowConstantTBTview when entering to current screen
- *
- * @type {Boolean}
- */
- tbtActivate: false,
-
- /**
- * Return current menu commands
- *
- * @return {Array}
- */
- currentCommandsList: function () {
-
- return this.get('commandsList.' + this.get('currentSubMenuId'));
- }.property('this.currentSubMenuId'),
-
- /**
- * Current command submenu identificator
- *
- * @type {Number}
- */
- currentSubMenuId: 'top',
-
- /**
- * Return current submenu name
- *
- * @return {String}
- */
- currentSubMenuLabel: function () {
-
- //Param "top" is Top level menu index
- var submenu, commands = this.commandsList["top"];
-
- for (var i = 0; i < commands.length; i++) {
- if (commands[i].menuID == this.currentSubMenuId) {
- submenu = commands[i].name;
- }
- }
-
- return this.get('currentSubMenuId') != 'top' ? submenu : 'Options';
- }.property('this.currentSubMenuId'),
-
- /**
- * Interaction chooses data
- *
- * @type {Object}
- */
- interactionChoices: {},
-
- /**
- * Update Soft Buttons will handle on command Show
- *
- * @param {Array}
- */
- updateSoftButtons: function (buttons) {
-
- // delete existing buttons from array
- this.softButtons.splice(0);
-
- // push new buttons to array
- this.get('softButtons').pushObjects(buttons);
- },
-
- /**
- * Add command to list
- *
- * @param {Object}
- */
- addCommand: function (request) {
-
- var parentID = request.params.menuParams.parentID >= 0 ? request.params.menuParams.parentID : 'top';
-
- if (!this.get('commandsList.' + parentID)) {
- this.commandsList[parentID] = [];
- }
-
- var commands = this.get('commandsList.' + parentID);
-
- // Magic number is limit of 1000 commands added on one menu
- if (commands.length <= 999) {
-
- commands[commands.length] = {
- commandID: request.params.cmdID,
- name : request.params.menuParams.menuName,
- parent : parentID,
- position : request.params.menuParams.position ? request.params.menuParams.position : 0,
- icon : request.params.cmdIcon ? request.params.cmdIcon.value : null
- };
-
- if (SDL.SDLController.getApplicationModel(request.params.appID) && SDL.OptionsView.active) {
- SDL.SDLAppController.buttonsSort(parentID, this.appID);
- SDL.OptionsView.commands.refreshItems();
- }
-
- console.log(commands.length);
- FFW.UI.sendUIResult(SDL.SDLModel.resultCode["SUCCESS"], request.id, request.method);
- } else {
- FFW.UI.sendError(SDL.SDLModel.resultCode["REJECTED"], request.id, request.method, 'Adding more than 1000 item to the top menu or to submenu is not allowed.');
- }
-
- },
-
- /**
- * Delete command from list
- *
- * @param {Number}
- */
- deleteCommand: function (commandID, requestID) {
-
- for (var i in this.commandsList) {
- if (this.commandsList[i].filterProperty('commandID', commandID).length) {
- if (i != this.currentSubMenuId || this.currentSubMenuId == 'top') {
- this.get('commandsList.' + i).removeObjects(this.get('commandsList.' + i).filterProperty('commandID', commandID));
- SDL.SDLModel.deleteCommandResponse(SDL.SDLModel.resultCode["SUCCESS"], requestID);
- return;
- } else {
- SDL.SDLModel.deleteCommandResponse(SDL.SDLModel.resultCode["IN_USE"], requestID);
- return;
- }
- }
- }
- },
-
- /**
- * Add submenu to commands list
- *
- * @param {Object}
- */
- addSubMenu: function (request) {
-
- // parentID is equal to 'top' cause Top level menu ID
- var parentID = 'top';
-
- var commands = this.get('commandsList.' + parentID);
-
- // Magic number is limit of 1000 commands added on one menu
- if (commands.length <= 999) {
-
- this.commandsList[request.params.menuID] = [];
- commands[commands.length] = {
- menuID : request.params.menuID,
- name : request.params.menuParams.menuName ? request.params.menuParams.menuName : '',
- parent : 0,
- position: request.params.menuParams.position ? request.params.menuParams.position : 0
- };
-
- if (SDL.SDLController.getApplicationModel(request.params.appID) && SDL.OptionsView.active) {
- SDL.SDLAppController.buttonsSort(parentID, this.appID);
- SDL.OptionsView.commands.refreshItems();
- }
-
- FFW.UI.sendUIResult(SDL.SDLModel.resultCode["SUCCESS"], request.id, request.method);
- } else {
- FFW.UI.sendError(SDL.SDLModel.resultCode["REJECTED"], request.id, request.method, 'Adding more than 1000 item to the top menu or to submenu is not allowed.');
- }
- },
-
- /**
- * Delete submenu and related commands from list
- *
- * @param {Number}
- */
- deleteSubMenu: function (menuID) {
-
- if (this.commandsList['top'].filterProperty('commandID', menuID)) {
- this.get('commandsList.top').removeObjects(this.get('commandsList.top').filterProperty('menuID', menuID));
- delete(this.commandsList[menuID]);
- }
-
- return SDL.SDLModel.resultCode['SUCCESS'];
- },
-
- /**
- * SDL UI CreateInteraction response handeler push set of commands to
- * voice recognition list
- *
- * @param {Object}
- */
- onCreateInteraction: function (message) {
-
- this.interactionChoices[message.interactionChoiceSetID] = message.choiceSet;
-
- },
-
- /**
- * SDL UI DeleteInteraction response handeler close current interaction
- * set window (if opened) and delete current set commands from voice
- * recognition list
- *
- * @param {Object}
- */
- onDeleteInteraction: function (message) {
-
- delete this.interactionChoices[message.interactionChoiceSetID];
- },
-
- /**
- * SDL UI Slider response handeler open Slider window with received
- * parameters
- *
- * @param {Object}
- */
- onSlider: function (message) {
-
- SDL.SliderView.loadData(message);
-
- SDL.SliderView.activate(this.appName, message.params.timeout);
-
- }
- });