{"version":3,"sources":["../src/lib/device-manager/eiot-device-manager.service.ts","../src/lib/lib-constants/env.const.ts","../src/lib/session-vars/eiot-session-vars.service.ts","../src/lib/app-components/eiot-gps.service.ts","../src/lib/app-components/eiot-weather-station.service.ts","../src/lib/app-components/eiot-io-module.service.ts","../src/lib/app-components/eiot-webcam.service.ts","../src/lib/app-manager/eiot-app-manager.service.ts","../src/lib/app-manager/common/eiot-sqlite.service.ts","../src/lib/app-manager/common/eiot-trace.service.ts","../src/lib/device-manager/common/eiot-app-dictionary.service.ts","../src/lib/lib-constants/emulate.const.ts","../src/lib/eiot-session-start.service.ts"],"sourcesContent":["import { hubConnection } from 'signalr-no-jquery';\r\nimport { EIOT_DEVICE_MANAGER_HUBNAME, EIOT_DEVICE_MANAGER_URL } from '../lib-constants/env.const';\r\n\r\nclass EIoTDeviceManagerService {\r\n  //#region Variables\r\n  proxy: any;\r\n  connection: any;\r\n  connState = [\r\n    'Connecting',\r\n    'Connected',\r\n    'Reconnecting',\r\n    'Disconnecting',\r\n    'Disconnected',\r\n  ];\r\n\r\n  currConnState = 4;\r\n  //#endregion Variables\r\n\r\n  //#endregion Initializations\r\n\r\n\r\n  //#region Public Methods\r\n  async getServiceStatus() {\r\n    return this.currConnState;\r\n  }\r\n\r\n  getSignalRConn(): any {\r\n    return new Promise((resolve, reject) =>\r\n      this.connection\r\n        .start()\r\n        .done((conn: any) => resolve(this.proxy))\r\n        .fail((err: any) => reject(err))\r\n    );\r\n  }\r\n\r\n  async getActiveComps() {\r\n    try {\r\n      const proxy = await this.getSignalRConn();\r\n      const proxyResult = await new Promise((resolve) =>\r\n        // Returns a list of all active\r\n        // components that have been\r\n        // published to your device\r\n        proxy.invoke('GetAllComponents').done((res: any) => {\r\n          resolve(res)\r\n        })\r\n      );\r\n      return proxyResult;\r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n      return true;\r\n    }\r\n  }\r\n\r\n  async tryToConn() {\r\n    this.connection = hubConnection(\r\n      EIOT_DEVICE_MANAGER_URL\r\n    );\r\n    this.proxy = this.connection?.createHubProxy(\r\n      EIOT_DEVICE_MANAGER_HUBNAME\r\n    );\r\n\r\n    // Must register an event before connection.start() is called.\r\n    this.proxy.on('_a', () => undefined);\r\n\r\n    this.connection.stateChanged((t: any, u: any) => {       \r\n      this.currConnState = t.newState;\r\n      console.info(\r\n        \"Device Manager state changed from: '\" +\r\n          this.connState[t.oldState] +\r\n          \"' to '\" +\r\n          this.connState[t.newState] +\r\n          \"'\"\r\n      );\r\n    });\r\n\r\n    this.connection.disconnected(() => {\r\n      console.log('Unable to connect to Device Manager.');        \r\n    });\r\n\r\n    for (let index = 0; index < 20; index++) {\r\n      console.log('Trying to connect Device Manager - '+(index + 1)+'/20');\r\n      let res: any = false;\r\n\r\n      res = await new Promise((resolve, reject) =>\r\n        setTimeout(async () => {\r\n          this.connection.start()\r\n            .done((conn: any) => resolve(true))\r\n            .fail((err: any) => resolve(false))\r\n        }, 500)\r\n      );\r\n\r\n      if (res == true) {\r\n        return res;\r\n      } else {\r\n        if (index == 19) return res;\r\n        continue;\r\n      }\r\n    }\r\n  }\r\n  \r\n  //#endregion Public Methods\r\n}\r\n\r\nexport const eiotDeviceManagerService = new EIoTDeviceManagerService();\r\n","export const BIT_SITE_ID = 9\r\nexport const IS_EMULATE_MODE = true\r\nexport const IS_EXCLUDE_APP_MANAGER = true\r\nexport const EIOT_APP_MANAGER_URL = 'http://localhost:61770/'\r\nexport const EIOT_APP_MANAGER_HUBNAME = 'LWAppManagerHub'\r\nexport const EIOT_DEVICE_MANAGER_URL = 'http://localhost:60559/' //http://192.168.190.80:60559/\r\nexport const EIOT_DEVICE_MANAGER_HUBNAME = 'deviceManagerHub'\r\n","import { IBitDeviceInfo, IEIoTAuth, IGPSData, IWeatherData, IEIoTDeviceInfo } from \"../interfaces\";\r\n\r\nclass EIoTSessionVarsService {\r\n\r\n  set DevMgrComps(data: any) {\r\n    sessionStorage.setItem('DevMgrComps', JSON.stringify(data));\r\n  }\r\n  get DevMgrComps(): any {\r\n    return sessionStorage.getItem('DevMgrComps')\r\n      ? JSON.parse(sessionStorage.getItem('DevMgrComps') as string)\r\n      : null;\r\n  }\r\n\r\n\r\n  set GPSData(data: IGPSData) {\r\n    sessionStorage.setItem('GPSData', JSON.stringify(data));\r\n  }\r\n  get GPSData(): IGPSData {\r\n    return sessionStorage.getItem('GPSData')\r\n      ? JSON.parse(sessionStorage.getItem('GPSData') as string)\r\n      : {};\r\n  }\r\n  \r\n  \r\n  set WeatherData(data: IWeatherData) {\r\n    sessionStorage.setItem('WeatherData', JSON.stringify(data));\r\n  }\r\n  get WeatherData(): IWeatherData {\r\n    return sessionStorage.getItem('WeatherData')\r\n      ? JSON.parse(sessionStorage.getItem('WeatherData') as string)\r\n      : {};\r\n  }\r\n\r\n\r\n  set EIoTDeviceInfo(data: IEIoTDeviceInfo) {\r\n    sessionStorage.setItem('EIoTDeviceInfo', JSON.stringify(data));\r\n  }\r\n  get EIoTDeviceInfo(): IEIoTDeviceInfo {\r\n    return sessionStorage.getItem('EIoTDeviceInfo')\r\n      ? JSON.parse(sessionStorage.getItem('EIoTDeviceInfo') as string)\r\n      : {};\r\n  }\r\n  \r\n\r\n  set BitDeviceInfo(data: IBitDeviceInfo) {\r\n    sessionStorage.setItem('BitDeviceInfo', JSON.stringify(data));\r\n  }\r\n  get BitDeviceInfo(): IBitDeviceInfo {\r\n    return sessionStorage.getItem('BitDeviceInfo')\r\n      ? JSON.parse(sessionStorage.getItem('BitDeviceInfo') as string)\r\n      : {};\r\n  }\r\n\r\n\r\n  set IsEmulateMode(data: boolean) {\r\n    sessionStorage.setItem('IsEmulateMode', String(data))\r\n  }\r\n  get IsEmulateMode(): boolean {\r\n    const val = sessionStorage.getItem('IsEmulateMode');\r\n    return (val === null || val === 'false') ? false : true;\r\n  }\r\n\r\n\r\n  set IsExcludeAppManager(data: boolean) {\r\n    sessionStorage.setItem('IsExcludeAppManager', String(data))\r\n  }\r\n  get IsExcludeAppManager(): boolean {\r\n    const val = sessionStorage.getItem('IsExcludeAppManager');\r\n    return (val === null || val === 'false') ? false : true;\r\n  }\r\n\r\n\r\n  set EIOT(data: boolean) {\r\n    sessionStorage.setItem('eiot', String(data))\r\n  }\r\n  get EIOT(): boolean {\r\n    const val = sessionStorage.getItem('eiot');\r\n    return (val === null || val === 'false') ? false : true;\r\n  }\r\n\r\n\r\n  set EIoTByPassAuth(data: boolean) {\r\n    sessionStorage.setItem('EIoTByPassAuth', String(data))\r\n  }\r\n  get EIoTByPassAuth(): boolean {\r\n    const val = sessionStorage.getItem('EIoTByPassAuth');\r\n    return (val === null || val === 'false') ? false : true;\r\n  }\r\n\r\n\r\n  set EIoTAuth(data: IEIoTAuth) {\r\n    sessionStorage.setItem('EIoTAuth', JSON.stringify(data));\r\n  }\r\n  get EIoTAuth(): IEIoTAuth {\r\n    return sessionStorage.getItem('EIoTAuth')\r\n      ? JSON.parse(sessionStorage.getItem('EIoTAuth') as string)\r\n      : {};\r\n  }\r\n}\r\n\r\nexport const eiotSessionVarsService = new EIoTSessionVarsService()\r\n","import { eiotDeviceManagerService } from '../device-manager/eiot-device-manager.service';\r\nimport { eiotSessionVarsService } from '../session-vars/eiot-session-vars.service';\r\n\r\nclass EIoTGPSService {\r\n  gpsModuleIdx: number;\r\n  gpsModuleInterface: string;\r\n\r\n  constructor() {\r\n    this.gpsModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.gps?.Idx);\r\n    this.gpsModuleInterface = String(eiotSessionVarsService.DevMgrComps?.gps?.Interface);\r\n  }\r\n\r\n  updateParams() {\r\n    this.gpsModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.gps?.Idx);\r\n    this.gpsModuleInterface = String(eiotSessionVarsService.DevMgrComps?.gps?.Interface);\r\n  }\r\n\r\n  async tryGetCoordinates() {\r\n    for (let index = 0; index < 20; index++) {\r\n      //console.log('Fetch IoT_GPS_GetCoordinates ' + (index + 1) + ' time.');\r\n      let res = false;\r\n      let coord_res: any;\r\n\r\n      await new Promise((resolve) =>\r\n        setTimeout(async () => {\r\n          const coord = await this.getCoordinates();\r\n          //console.log(coord);\r\n          res = !JSON.stringify(coord).includes('null');\r\n          coord_res = coord;\r\n          resolve(true);\r\n        }, 500)\r\n      );\r\n\r\n      if (res) {\r\n        //break;\r\n        return coord_res\r\n      } else {\r\n        if (index == 19) return coord_res;\r\n        continue;\r\n      }\r\n    }\r\n  }\r\n\r\n  async getCoordinates() {\r\n    try {\r\n      const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n      this.updateParams()\r\n  \r\n      //console.log('Start invoke method on IoT_GPS_GetCoordinates');\r\n      return await new Promise<any>((resolve, reject) =>\r\n        proxy\r\n          .invoke(\r\n            'IoT_GPS_GetCoordinates',\r\n            this.gpsModuleIdx,\r\n            this.gpsModuleInterface\r\n          )\r\n          .done((coord: any) => {\r\n            //console.log('IoT_GPS_GetCoordinates return : ' + JSON.stringify(coord));\r\n            resolve(coord);\r\n          })\r\n          .fail((err: any) => {\r\n            console.error(JSON.stringify(err));\r\n            console.log('Failed to invoke method on IoT_GPS_GetCoordinates.');\r\n            reject(err);\r\n          })\r\n      );\r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n    }\r\n  }\r\n\r\n  async tryStart() {\r\n    for (let index = 0; index < 20; index++) {\r\n      console.log('Check IoT_GPS_IsWatching ' + (index + 1) + ' time.');\r\n      let res: any = false;\r\n\r\n      await new Promise((resolve) => \r\n        setTimeout(async () => {\r\n          res = await this.isStarted();\r\n          resolve(true);\r\n        }, 500)\r\n      );\r\n\r\n      if (res == true) {\r\n        //break;\r\n        return res;\r\n      } else {\r\n        if (index == 19) return res;\r\n        continue;\r\n      }\r\n    }\r\n  }\r\n\r\n  async start() {\r\n    try {\r\n      const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n      this.updateParams()\r\n\r\n      return await new Promise<any>((resolve, reject) => {\r\n        proxy.off('IoT_GPS_Stop');\r\n        proxy.on('IoT_GPS_Stop', () => undefined);\r\n\r\n        proxy\r\n          .invoke('IoT_GPS_Watch', this.gpsModuleIdx, this.gpsModuleInterface)\r\n          .done((res: any) => {\r\n            console.log(res);\r\n            if (res) {\r\n              console.log('Starts the Windows location watching services..');\r\n              resolve(true);\r\n            } else {\r\n              console.log('Not start windows location watching services..');\r\n              resolve(false);\r\n            }\r\n          })\r\n          .fail((err: any) => {\r\n            console.error(JSON.stringify(err));\r\n            reject(err);\r\n          });\r\n      })\r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n    }\r\n  }\r\n\r\n  async isStarted():Promise<any> {\r\n    try {\r\n      this.updateParams()\r\n      const state = await eiotDeviceManagerService.getServiceStatus();      \r\n  \r\n      if (state === 1) {\r\n        const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n        \r\n        //console.log('Start invoke method on IoT_GPS_IsWatching');\r\n        return await new Promise<any>((resolve, reject) =>\r\n          proxy\r\n            .invoke(\r\n              'IoT_GPS_IsWatching',\r\n              this.gpsModuleIdx,\r\n              this.gpsModuleInterface\r\n            )\r\n            .done((res: boolean) => {\r\n              //console.log('IoT_GPS_IsWatching return : ' + res);\r\n              resolve(res);\r\n            })\r\n            .fail((err: any) => {\r\n              console.log('Failed to invoke method on GPS IsWatching');\r\n              reject(err);\r\n            })\r\n        );\r\n      } else {\r\n        await eiotDeviceManagerService.tryToConn();\r\n        return await this.isStarted();\r\n      }\r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n    }\r\n  }\r\n}\r\n\r\nexport const eiotGPSService = new EIoTGPSService();\r\n","import { eiotDeviceManagerService } from '../device-manager/eiot-device-manager.service';\r\nimport { eiotSessionVarsService } from '../session-vars/eiot-session-vars.service';\r\n\r\nclass EIoTWeatherStationService {\r\n  weatherModuleIdx:number;\r\n  weatherModuleInterface:string;\r\n\r\n  constructor() {  \r\n    this.weatherModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.weather?.Idx);\r\n    this.weatherModuleInterface = String(eiotSessionVarsService.DevMgrComps?.weather?.Interface);\r\n  }\r\n\r\n  updateParams() {\r\n    this.weatherModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.weather?.Idx);\r\n    this.weatherModuleInterface = String(eiotSessionVarsService.DevMgrComps?.weather?.Interface);\r\n  }\r\n\r\n  async tryConnect() {\r\n    const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n    this.updateParams()\r\n\r\n    return await new Promise((resolve) => {    \r\n      proxy.invoke('WeatherStation_IsConnected', this.weatherModuleIdx, this.weatherModuleInterface).done((res1:boolean) => {\r\n        if(res1) {\r\n          console.log('WeatherStation is connected.');          \r\n          resolve(true);\r\n        } else {\r\n          proxy.off('onWeatherStationConnected_Event');\r\n          proxy.on('onWeatherStationConnected_Event', (evt:any) => {\r\n            resolve(true);\r\n          });\r\n  \r\n          proxy.off('onWeatherStationConnectedError_Event');\r\n          proxy.on('onWeatherStationConnectedError_Event', (evt:any) => {\r\n            resolve(evt.Payload);\r\n          });\r\n  \r\n          proxy.invoke('WeatherStation_Connect', this.weatherModuleIdx, this.weatherModuleInterface).done((res2:any) => {\r\n            //console.log(res2);\r\n            console.log('WeatherStation connected successfully.');\r\n          }).fail((err:any) => {\r\n            console.error(JSON.stringify(err));\r\n            console.log(\"Failed to invoke method on WeatherStation_Connect\");\r\n          });\r\n        }\r\n      }).fail((err:any) => {\r\n        console.error(JSON.stringify(err));\r\n        console.log(\"Failed to invoke method on WeatherStation_IsConnected\");\r\n        resolve(false)\r\n      });\r\n    })   \r\n  }\r\n\r\n  // async getStatus() {\r\n  //   for (let index = 0; index < 20; index++) {\r\n  //     console.log('Fetch WeatherStation_GetStatus ' + (index + 1) + ' time.');\r\n  //     let res: Boolean = false;\r\n  //     let weather_res: any;\r\n\r\n  //     await new Promise((resolve) =>\r\n  //       setTimeout(async () => {\r\n  //         const res_getWeather:any = await this.getWeatherData();\r\n  //         console.log(res_getWeather);          \r\n  //         Object.keys(res_getWeather).forEach(o => {\r\n  //           if (o === 'GPSLocation' && res_getWeather[o] === null) {\r\n  //             console.log(res_getWeather[o]);              \r\n  //             console.log(o);\r\n  //             res = false\r\n  //           }\r\n  //         })\r\n  //         weather_res = res_getWeather;\r\n  //         resolve(true);\r\n  //       }, 500)\r\n  //     );\r\n\r\n  //     if (res == true) {\r\n  //       //break;\r\n  //       return weather_res\r\n  //     } else {\r\n  //       if (index == 19) return weather_res;\r\n  //       continue;\r\n  //     }\r\n  //   }\r\n  // }\r\n\r\n  async getStatus() {\r\n    const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n    this.updateParams()\r\n\r\n    return await new Promise((resolve) => {    \r\n      proxy.invoke('WeatherStation_GetStatus', this.weatherModuleIdx, this.weatherModuleInterface).done((weatherData:any) => {\r\n        //console.log(weatherData);        \r\n        resolve(weatherData)\r\n      }).fail((err:any) => {\r\n        console.error(JSON.stringify(err));\r\n        console.log(\"Failed to invoke method on Device Manager\");\r\n        resolve(false)\r\n      });\r\n    })\r\n  }\r\n \r\n  async waitForReady() {\r\n    const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n    this.updateParams()\r\n\r\n    await new Promise((resolve) => {\r\n      proxy.invoke('WeatherStation_IsBusy', this.weatherModuleIdx, this.weatherModuleInterface).done((isBusy:boolean) => {\r\n        if(isBusy) {\r\n          setTimeout(()=>{\r\n            this.waitForReady();\r\n          },500);\r\n        } else {\r\n          resolve(true)\r\n        }\r\n      }).fail((err:any) => {\r\n        console.error(JSON.stringify(err));\r\n        resolve(true)\r\n      });\r\n    })\r\n  }\r\n\r\n}\r\n\r\nexport const eiotWeatherStationService = new EIoTWeatherStationService()\r\n","import { eiotDeviceManagerService } from '../device-manager/eiot-device-manager.service';\r\nimport { eiotSessionVarsService } from '../session-vars/eiot-session-vars.service';\r\n\r\nclass EIoTIOModuleService {\r\n  ioModuleIdx:number;\r\n  ioModuleInterface:string;\r\n\r\n  constructor() {  \r\n    this.ioModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.ioModule?.Idx);\r\n    this.ioModuleInterface = String(eiotSessionVarsService.DevMgrComps?.ioModule?.Interface);\r\n  }\r\n\r\n  updateParams() {\r\n    this.ioModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.ioModule?.Idx);\r\n    this.ioModuleInterface = String(eiotSessionVarsService.DevMgrComps?.ioModule?.Interface);\r\n  }\r\n\r\n  async tryConnect() {\r\n    try {\r\n      const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n      this.updateParams()\r\n\r\n      await new Promise((resolve, reject) => {\r\n        proxy.invoke('IOModule_IsConnected', this.ioModuleIdx, this.ioModuleInterface).done((res:any) => {\r\n          if(res) {\r\n            resolve(true);\r\n          } else {\r\n            proxy.off('onIOModuleConnected_Event');\r\n            proxy.on('onIOModuleConnected_Event',function(evt:any) {\r\n              resolve(true);\r\n            });\r\n\r\n            proxy.off('onIOModuleConnectedError_Event');\r\n            proxy.on('onIOModuleConnectedError_Event',function(evt:any) {\r\n              reject(evt.Payload);\r\n            });\r\n\r\n            proxy.invoke('IOModule_Connect', this.ioModuleIdx, this.ioModuleInterface).done(() => undefined).fail((err:any) => {\r\n              console.error(JSON.stringify(err));\r\n              console.log(\"Failed to invoke method on IOModule_Connect\");\r\n              reject(err);\r\n            });  \r\n          }\r\n        }).fail((err:any) => {\r\n          console.error(JSON.stringify(err));\r\n          console.log(\"Failed to invoke method on IOModule_IsConnected\");\r\n          reject(err);\r\n        });     \r\n      })\r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n    }\r\n  }\r\n\r\n  async setButtonInputListener(cb:any) {\r\n    const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n    this.updateParams()\r\n\r\n    proxy.off('onIOModuleResponse_Event');\r\n    proxy.on('onIOModuleResponse_Event',function(evt:any) {\r\n      if(evt.Payload.Response === \"off\"){\r\n        cb(evt.Payload.IOPoint)\r\n      }\r\n    });\r\n  }\r\n\r\n  async removeButtonInputListener() {\r\n    const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n\r\n    await new Promise((resolve) => {\r\n      proxy.off('onIOModuleResponse_Event');\r\n      resolve(true);\r\n    })\r\n  }\r\n}\r\n\r\nexport const eiotIoModuleService = new EIoTIOModuleService()","import { eiotDeviceManagerService } from '../device-manager/eiot-device-manager.service';\r\nimport { eiotSessionVarsService } from '../session-vars/eiot-session-vars.service';\r\n\r\nclass EIoTWebcamService {\r\n  webcamModuleIdx: number;\r\n  webcamModuleInterface: string;\r\n\r\n  constructor() {\r\n    this.webcamModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.webcam?.Idx);\r\n    this.webcamModuleInterface = String(eiotSessionVarsService.DevMgrComps?.webcam?.Interface);\r\n  }\r\n\r\n  //#region Private Methods\r\n  updateParams() {\r\n    this.webcamModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.webcam?.Idx);\r\n    this.webcamModuleInterface = String(eiotSessionVarsService.DevMgrComps?.webcam?.Interface);\r\n  }\r\n  //#endregion Private Methods\r\n\r\n  //#region Public Methods\r\n    async tryStart(connCb:any, connErrCb:any) {\r\n      this.isStarted((started:any)=> {\r\n        if(started) {\r\n          connCb(true);\r\n        } else {\r\n          this.start((success:any) => {\r\n            connCb(success);\r\n          }, (err:any) => {\r\n            connErrCb(err);\r\n          });\r\n        }\r\n      }, (err:any) => {\r\n        connErrCb(err);\r\n      });\r\n    }\r\n\r\n    async start(connCb:any, connErrCb:any) {\r\n      try {\r\n        const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n        this.updateParams()\r\n  \r\n        proxy.on('onCameraStart_Event',function() {\r\n          connCb(true);\r\n        });\r\n  \r\n        proxy.invoke('Webcam_StartCamera', this.webcamModuleIdx, this.webcamModuleInterface).done((res:any) => {\r\n          if(!res)\r\n            connCb(false);\r\n        }).fail((err:any) => {\r\n          console.error(JSON.stringify(err));\r\n          connErrCb(\"Failed to invoke method on Webcam_StartCamera\");\r\n        });\r\n      } catch (err) {\r\n        console.error(JSON.stringify(err));\r\n      }\r\n    }\r\n\r\n    async isStarted(connCb:any, connErrCb:any) {\r\n      try {\r\n        const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n        this.updateParams()\r\n  \r\n        proxy.invoke('Webcam_IsStarted', this.webcamModuleIdx, this.webcamModuleInterface).done((res:any) => {\r\n          connCb(res);\r\n        }).fail((err:any) => {\r\n          console.error(JSON.stringify(err));\r\n          connErrCb(\"Failed to invoke method on Webcam_IsStarted\");\r\n        });\r\n      } catch (err) {\r\n        console.error(JSON.stringify(err));\r\n      }\r\n    }\r\n\r\n    async capture(connCb:any, connErrCb:any) {\r\n      try {\r\n        const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n        this.updateParams()\r\n  \r\n        proxy.invoke('Webcam_Capture', this.webcamModuleIdx, this.webcamModuleInterface).done((res:any) => {\r\n          connCb(res);\r\n        }).fail((err:any) => {\r\n          console.error(JSON.stringify(err));\r\n          connErrCb(\"Failed to invoke method on Webcam_Capture\");\r\n        });\r\n      } catch (err) {\r\n        console.error(JSON.stringify(err));\r\n      }\r\n    }\r\n\r\n    async saveCapturedImage(fileName:any, base64:any, connCb:any, connErrCb:any) {\r\n      try {\r\n        const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n        this.updateParams()\r\n  \r\n        proxy.invoke('Webcam_SaveCapturedImage', this.webcamModuleIdx, this.webcamModuleInterface\r\n        , fileName, base64).done((res:any) => {\r\n          connCb(res);\r\n        }).fail((err:any) => {\r\n          console.error(JSON.stringify(err));\r\n          connErrCb(\"Failed to invoke method on Webcam_SaveCapturedImage\");\r\n        });\r\n      } catch (err) {\r\n        console.error(JSON.stringify(err));\r\n      }\r\n    }\r\n\r\n    async saveLastCapturedImage(fileName:any, connCb:any, connErrCb:any) {\r\n      try {\r\n        const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n        this.updateParams()\r\n  \r\n        proxy.invoke('Webcam_SaveLastCapturedImage', this.webcamModuleIdx, this.webcamModuleInterface\r\n        , fileName).done((res:any) => {\r\n          connCb(res);\r\n        }).fail((err:any) => {\r\n          console.error(JSON.stringify(err));\r\n          connErrCb(\"Failed to invoke method on Webcam_SaveLastCapturedImage\");\r\n        });\r\n      } catch (err) {\r\n        console.error(JSON.stringify(err));\r\n      }\r\n    }\r\n\r\n    async getCurrentFrame(connCb:any, connErrCb:any) {\r\n      try {\r\n        const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n        this.updateParams()\r\n  \r\n        proxy.invoke('Webcam_GetCurrentFrame', this.webcamModuleIdx, this.webcamModuleInterface).done((res:any) => {\r\n          connCb(res);\r\n        }).fail((err:any) => {\r\n          console.error(JSON.stringify(err));\r\n          connErrCb(\"Failed to invoke method on Webcam_GetCurrentFrame\");\r\n        });\r\n      } catch (err) {\r\n        console.error(JSON.stringify(err));\r\n      }\r\n    }\r\n\r\n    async stopCamera(connCb:any, connErrCb:any) {\r\n      try {\r\n        const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n        this.updateParams()\r\n\r\n        proxy.on('onCameraStop_Event',function() {\r\n          connCb(true);\r\n        });  \r\n  \r\n        proxy.invoke('Webcam_StopCamera', this.webcamModuleIdx, this.webcamModuleInterface).done((res:any) => {\r\n          if(!res) {\r\n            connCb(false);\r\n          }\r\n        }).fail((err:any) => {\r\n          console.error(JSON.stringify(err));\r\n          connErrCb(\"Failed to invoke method on Webcam_StopCamera\");\r\n        });\r\n      } catch (err) {\r\n        console.error(JSON.stringify(err));\r\n      }\r\n    }\r\n  //#endregion Public Methods\r\n}\r\n\r\nexport const eiotWebcamService = new EIoTWebcamService();\r\n","import { hubConnection } from \"signalr-no-jquery\";\r\nimport { EIOT_APP_MANAGER_HUBNAME, EIOT_APP_MANAGER_URL } from \"../lib-constants/env.const\";\r\n\r\nclass EIoTAppManagerService {\r\n  //#region Initializations\r\n\r\n  //#region Variables\r\n  private proxy: any;\r\n  private connection: any;\r\n  private connState: Array<string> = [\r\n    \"Connecting\",\r\n    \"Connected\",\r\n    \"Reconnecting\",\r\n    \"Disconnecting\",\r\n    \"Disconnected\",\r\n  ];\r\n  private currConnState = 4;\r\n  //#endregion Variables\r\n\r\n  //#region Initializations\r\n\r\n  //#region Public Methods\r\n  async getServiceStatus() {\r\n    return this.currConnState;\r\n  }\r\n  \r\n  async getSignalRConn():Promise<any> {\r\n    const state = await this.getServiceStatus();\r\n    if (state === 1) {\r\n      return await new Promise((resolve, reject) =>\r\n        this.connection\r\n          .start()\r\n          .done((conn: any) => resolve(this.proxy))\r\n          .fail((err: any) => reject(err))\r\n      );\r\n    } else {\r\n      return await this.tryToConn().then(async (data:any) => {\r\n        console.log(\"Returned => \", data);\r\n        if(data===true) {\r\n          return await new Promise((resolve, reject) =>\r\n            this.connection\r\n              .start()\r\n              .done((conn: any) => resolve(this.proxy))\r\n              .fail((err: any) => reject(err))\r\n          );\r\n        } else {\r\n          console.log('Unable to connect Application Manager, Connection time..');\r\n  \r\n          return setTimeout(async () => {\r\n            console.log('Retrieve to connect Application Manager..');\r\n            return await this.getSignalRConn();\r\n          }, 1000);\r\n        }\r\n      })\r\n    }\r\n  }\r\n\r\n  getConnProxy(): any {\r\n    return new Promise((resolve, reject) =>\r\n      this.connection\r\n        .start()\r\n        .done((conn: any) => resolve(this.proxy))\r\n        .fail((err: any) => reject(err))\r\n    );\r\n  }\r\n\r\n  async tryToConn() {\r\n    this.connection = hubConnection(\r\n      EIOT_APP_MANAGER_URL\r\n    );\r\n    this.proxy = this.connection.createHubProxy(\r\n      EIOT_APP_MANAGER_HUBNAME\r\n    );\r\n    this.proxy.on(\"_a\", () => undefined);   \r\n\r\n    this.connection.stateChanged((t: any, u: any) => {\r\n      this.currConnState = t.newState;\r\n      console.info(\r\n        \"Application Manager state changed from: '\" +\r\n          this.connState[t.oldState] +\r\n          \"' to '\" +\r\n          this.connState[t.newState] +\r\n          \"'\"\r\n      );\r\n    });\r\n\r\n    this.connection.disconnected(() => {\r\n      console.log('Unable to connect to Application Manager.');        \r\n    });\r\n\r\n    for (let index = 0; index < 20; index++) {\r\n      console.log('Trying to connect Application Manager - '+(index + 1)+'/20');\r\n      let res: any = false;\r\n\r\n      res = await new Promise((resolve, reject) =>\r\n        setTimeout(async () => {\r\n          this.connection.start()\r\n            .done((conn: any) => resolve(true))\r\n            .fail((err: any) => resolve(false))\r\n        }, 500)\r\n      );\r\n\r\n      if (res == true) {\r\n        return res;\r\n      } else {\r\n        if (index == 19) return res;\r\n        continue;\r\n      }\r\n    }\r\n  }\r\n  //#endregion Public Methods\r\n}\r\n\r\nexport const eiotAppManagerService = new EIoTAppManagerService()\r\n","import { eiotAppManagerService } from '../eiot-app-manager.service';\r\n\r\nclass EIoTSQLiteService {\r\n  //#region Initializations\r\n\r\n  //#region Variables\r\n  public DeviceConfig = [];\r\n\r\n  public constConfigValues = {\r\n    className: 'LWAppManager.Common.LWSQLite',\r\n    key: 'Common',\r\n  };\r\n  //#endregion Variables\r\n\r\n  //#endregion Initializations\r\n\r\n  //#region Public Methods\r\n  async getDeviceConfig() {\r\n    try {\r\n      const ISignalRVM = {\r\n        Key: this.constConfigValues.key,\r\n        ClassName: this.constConfigValues.className,\r\n        MethodName: 'GetDeviceConfig',\r\n        ReqParams: '',\r\n      };\r\n  \r\n      return await new Promise((resolve, reject) => {\r\n        const execute = async () => {\r\n          const proxy = await eiotAppManagerService.getSignalRConn();\r\n          \r\n          proxy.invoke('action', ISignalRVM).done((response: any) => {\r\n            resolve(response);\r\n          }).fail((err:any)=>{\r\n            console.error(JSON.stringify(err));\r\n            reject(err);\r\n          })\r\n        }\r\n        execute()\r\n      });  \r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n      return err;\r\n    }\r\n  }\r\n\r\n  async getValueFromUtilityTbl(key: string) {\r\n    try {\r\n      const proxy = await eiotAppManagerService.getSignalRConn();\r\n      const methodName = 'GetValueFromUtilityTbl';\r\n      const ISignalRVM = {\r\n        Key: this.constConfigValues.key,\r\n        ClassName: this.constConfigValues.className,\r\n        MethodName: methodName,\r\n        ReqParams: key\r\n      };\r\n  \r\n      return await new Promise((resolve, reject) => {\r\n        const execute = async () => {\r\n          proxy.invoke('action', ISignalRVM).done((response: any) => {\r\n            resolve(response);\r\n          }).fail((err:any)=>{\r\n            console.error(JSON.stringify(err));\r\n            reject(err);\r\n          })\r\n        }\r\n        execute()\r\n      });  \r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n      return err;\r\n    }\r\n  }\r\n\r\n  async saveValueInUtilityTbl(data: string) {\r\n    try {\r\n      const proxy = await eiotAppManagerService.getSignalRConn();\r\n      const methodName = 'UtilityTblAddUpdate';\r\n      const ISignalRVM = {\r\n        Key: this.constConfigValues.key,\r\n        ClassName: this.constConfigValues.className,\r\n        MethodName: methodName,\r\n        ReqParams: data\r\n      };\r\n\r\n      return await new Promise((resolve, reject) => {\r\n        const execute = async () => {\r\n          proxy.invoke('action', ISignalRVM).done((response: any) => {\r\n            resolve(response);\r\n          }).fail((err:any)=>{\r\n            console.error(JSON.stringify(err));\r\n            reject(err);\r\n          })\r\n        }\r\n        execute()\r\n      });  \r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n      return err;\r\n    }\r\n  }\r\n  //#endregion Public Methods\r\n}\r\n\r\nexport const eiotSQLiteService = new EIoTSQLiteService()\r\n","import { eiotAppManagerService } from '../eiot-app-manager.service';\r\n\r\nclass EIoTTraceService {\r\n  //#region Initializations\r\n\r\n  //#region Variables\r\n  private static readonly CONST_CLASSNAME = 'LWAppManager.Common.LWTrace';\r\n  private static readonly CONST_TRANS_CLASSNAME =\r\n    'LWAppManager.Common.LWTransaction';\r\n  private static readonly CONST_KEY = 'Common';\r\n  //#endregion Variables\r\n\r\n  //#endregion Initializations\r\n\r\n  //#region Public Methods\r\n  // public transactionStart(\r\n  //   transactionType: string,\r\n  //   siteID: string,\r\n  //   deviceID: string,\r\n  //   updUserID: string,\r\n  //   transactionBy: string\r\n  // ) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       TransactionType: transactionType,\r\n  //       SiteID: siteID,\r\n  //       DeviceID: deviceID,\r\n  //       UpdUserID: updUserID,\r\n  //       TransactionBy: transactionBy,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_TRANS_CLASSNAME,\r\n  //         'Start',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n\r\n  // public transactionDone(transactionType: string) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       TransactionType: transactionType,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_TRANS_CLASSNAME,\r\n  //         'Done',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n\r\n  async sessionStart() {\r\n    try {\r\n      const proxy = await eiotAppManagerService.getSignalRConn();\r\n      const reqParams = {\r\n        IsDoDeviceUserLogIn: true,\r\n        Invoker: \"SessionStart\",\r\n        Severity: \"Info\",\r\n        IsUrgentTrace: false,\r\n        PageName: \"Home\",\r\n      };\r\n      const ISignalRVM = {\r\n        Key: EIoTTraceService.CONST_KEY,\r\n        ClassName: EIoTTraceService.CONST_CLASSNAME,\r\n        MethodName: 'AppSessionStart',\r\n        ReqParams: JSON.stringify(reqParams),\r\n      };\r\n\r\n      return await new Promise((resolve, reject) => {\r\n        const execute = async () => {\r\n          proxy.invoke('action', ISignalRVM).done((response:any) => {\r\n            resolve(response);\r\n          }).fail((err:any) => {\r\n            console.error(JSON.stringify(err));\r\n            reject(err);\r\n          });\r\n        }\r\n        execute()\r\n      })\r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n      return err;\r\n    }\r\n  }\r\n\r\n  async pageNavigateStart() {\r\n    try {\r\n      const proxy = await eiotAppManagerService.getSignalRConn();\r\n      const methodName = 'PageNavigateStart';\r\n      const ISignalRVM = {\r\n        Key: EIoTTraceService.CONST_KEY,\r\n        ClassName: EIoTTraceService.CONST_CLASSNAME,\r\n        MethodName: methodName,\r\n        ReqParams: JSON.stringify(\"Home\"),\r\n      };\r\n\r\n      return await new Promise((resolve, reject) => {\r\n        proxy.invoke('action', ISignalRVM).done((response:any) => {\r\n          resolve(response)\r\n        }).fail((err:any) => {\r\n          console.error(JSON.stringify(err));\r\n          reject(err)\r\n        });\r\n      }) \r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n      return err;\r\n    }\r\n  }\r\n\r\n  // public pageNavigation(\r\n  //   caption: string,\r\n  //   invoker: string,\r\n  //   severity: string,\r\n  //   pageTitle: string,\r\n  //   navUrl: string,\r\n  //   isUrgentTrace: boolean\r\n  // ) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       Invoker: invoker,\r\n  //       Severity: severity,\r\n  //       IsUrgentTrace: isUrgentTrace,\r\n  //       PageName: pageTitle,\r\n  //       NavUrl: navUrl,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_CLASSNAME,\r\n  //         'PageNavigation',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n\r\n  // public userAction(\r\n  //   caption: string,\r\n  //   invoker: string,\r\n  //   severity: string,\r\n  //   pageTitle: string,\r\n  //   isUrgentTrace: boolean,\r\n  //   message: string\r\n  // ) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       Caption: caption,\r\n  //       Invoker: invoker,\r\n  //       Severity: severity,\r\n  //       IsUrgentTrace: isUrgentTrace,\r\n  //       PageName: pageTitle,\r\n  //       Message: message,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_CLASSNAME,\r\n  //         'UserAction',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n\r\n  // public deviceCallReq(\r\n  //   device: string,\r\n  //   action: string,\r\n  //   payload: string,\r\n  //   invoker: string,\r\n  //   severity: string,\r\n  //   pageTitle: string,\r\n  //   isUrgentTrace: boolean\r\n  // ) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       Device: device,\r\n  //       Action: action,\r\n  //       Payload: payload,\r\n  //       Invoker: invoker,\r\n  //       Severity: severity,\r\n  //       IsUrgentTrace: isUrgentTrace,\r\n  //       PageName: pageTitle,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_CLASSNAME,\r\n  //         'DeviceCallReq',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n\r\n  // public deviceCallRes(\r\n  //   device: string,\r\n  //   action: string,\r\n  //   payload: string,\r\n  //   invoker: string,\r\n  //   severity: string,\r\n  //   pageTitle: string,\r\n  //   isUrgentTrace: boolean\r\n  // ) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       Device: device,\r\n  //       Action: action,\r\n  //       Payload: payload,\r\n  //       Invoker: invoker,\r\n  //       Severity: severity,\r\n  //       IsUrgentTrace: isUrgentTrace,\r\n  //       PageName: pageTitle,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_CLASSNAME,\r\n  //         'DeviceCallRes',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n\r\n  // public info(\r\n  //   message: string,\r\n  //   invoker: string,\r\n  //   severity: string,\r\n  //   pageTitle: string,\r\n  //   isUrgentTrace: boolean\r\n  // ) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       Message: message,\r\n  //       Invoker: invoker,\r\n  //       Severity: severity,\r\n  //       IsUrgentTrace: isUrgentTrace,\r\n  //       PageName: pageTitle,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_CLASSNAME,\r\n  //         'Info',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n\r\n  // public warning(\r\n  //   message: string,\r\n  //   invoker: string,\r\n  //   severity: string,\r\n  //   pageTitle: string,\r\n  //   isUrgentTrace: boolean,\r\n  //   routeID: string\r\n  // ) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       Message: message,\r\n  //       Invoker: invoker,\r\n  //       Severity: severity,\r\n  //       IsUrgentTrace: isUrgentTrace,\r\n  //       PageName: pageTitle,\r\n  //       RouteID: routeID,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_CLASSNAME,\r\n  //         'Warning',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n\r\n  // public error(\r\n  //   message: string,\r\n  //   invoker: string,\r\n  //   severity: string,\r\n  //   pageTitle: string,\r\n  //   isUrgentTrace: boolean\r\n  // ) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       Message: message,\r\n  //       Invoker: invoker,\r\n  //       Severity: severity,\r\n  //       IsUrgentTrace: isUrgentTrace,\r\n  //       PageName: pageTitle,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_CLASSNAME,\r\n  //         'Error',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n\r\n  // public sessionEnd(\r\n  //   invoker: string,\r\n  //   severity: string,\r\n  //   pageTitle: string,\r\n  //   isUrgentTrace: boolean\r\n  // ) {\r\n  //   try {\r\n  //     var reqParams = {\r\n  //       Invoker: invoker,\r\n  //       Severity: severity,\r\n  //       IsUrgentTrace: isUrgentTrace,\r\n  //       PageName: pageTitle,\r\n  //     };\r\n  //     return eiotAppManagerService\r\n  //       .callSignalR(\r\n  //         EIoTTraceService.CONST_KEY,\r\n  //         EIoTTraceService.CONST_CLASSNAME,\r\n  //         'SessionEnd',\r\n  //         JSON.stringify(reqParams)\r\n  //       )\r\n  //       .then((result) => {\r\n  //         return result;\r\n  //       });\r\n  //   } catch (e) {}\r\n  // }\r\n  //#endregion Public Methods\r\n}\r\n\r\nexport const eiotTraceService = new EIoTTraceService()\r\n","import { eiotSessionVarsService } from '../../session-vars/eiot-session-vars.service';\r\nimport { eiotDeviceManagerService } from '../eiot-device-manager.service';\r\n\r\nclass EIoTAppDictionaryService {\r\n  //#region Initializations\r\n\r\n  //#region Variables\r\n  appDictModuleIdx: number;\r\n  appDictModuleInterface: string;\r\n  //#endregion Variables\r\n\r\n  constructor() {\r\n    this.appDictModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.appDict?.Idx);\r\n    this.appDictModuleInterface = String(eiotSessionVarsService.DevMgrComps?.appDict?.Interface);\r\n  }\r\n  //#endregion Initializations\r\n\r\n  //#region Private Methods\r\n  updateParams() {\r\n    this.appDictModuleIdx = Number(eiotSessionVarsService.DevMgrComps?.appDict?.Idx);\r\n    this.appDictModuleInterface = String(eiotSessionVarsService.DevMgrComps?.appDict?.Interface);\r\n  }\r\n  //#endregion Private Methods\r\n\r\n\r\n  //#region Public Methods\r\n  async getDeviceConfig() {\r\n    try {\r\n      const proxy = await eiotDeviceManagerService.getSignalRConn();\r\n      this.updateParams();\r\n    \r\n      return await new Promise((resolve, reject) => {\r\n        const execute = async () => {\r\n          proxy.invoke('Application_GetDictionary', \r\n            this.appDictModuleIdx, \r\n            this.appDictModuleInterface\r\n          ).done((response: any) => {\r\n            resolve(response);\r\n          }).fail((err:any)=>{\r\n            console.error(JSON.stringify(err));\r\n            reject(err);\r\n          })\r\n        }\r\n        execute()\r\n      });  \r\n    } catch (err) {\r\n      console.error(JSON.stringify(err));\r\n      return err;\r\n    }\r\n  }\r\n  //#endregion Public Methods\r\n}\r\n\r\nexport const eiotAppDictionaryService = new EIoTAppDictionaryService()\r\n","export const EIOT_EMULATE_VALUES = {\r\n  WEATHER_DATA: {\r\n    GPSLocation: '+32.843544:-080.016016:+0049.80',\r\n    RelWindDir: 44,\r\n    RelWindSpeed: 1.72,\r\n    Temperature: 85.9,\r\n    Dewpoint: 74.5,\r\n    RelHumidity: 68,\r\n    RainPresent: false,\r\n    Pressure: 1020.5,\r\n  },\r\n  EMULATE_DEVICE: [\r\n    {\r\n      \"SiteName\": \"Black Ink\",\r\n      \"ProjectID\": 21,\r\n      \"LocationName\": \"Black Ink Location\",\r\n      \"Address1\": \"\",\r\n      \"Address2\": \"\",\r\n      \"City\": \"\",\r\n      \"State\": \"\",\r\n      \"PostalCode\": \"\",\r\n      \"ID\": 3331,\r\n      \"KioskName\": \"BIT-EMULATE-01\",\r\n      \"UnitName\": \"BIT-EMULATE-01\",\r\n      \"RefID\": \"da0b17a6-aaf4-48a0-9a14-9a99c273eb15\",\r\n      \"SiteID\": 9,\r\n      \"LocationID\": 9,\r\n      \"Active\": true,\r\n      \"IsOffline\": 1\r\n    },\r\n    {\r\n      \"SiteName\": \"Black Ink\",\r\n      \"ProjectID\": 21,\r\n      \"LocationName\": \"Black Ink Location\",\r\n      \"Address1\": \"\",\r\n      \"Address2\": \"\",\r\n      \"City\": \"\",\r\n      \"State\": \"\",\r\n      \"PostalCode\": \"\",\r\n      \"ID\": 3332,\r\n      \"KioskName\": \"BIT-EMULATE-02\",\r\n      \"UnitName\": \"BIT-EMULATE-02\",\r\n      \"RefID\": \"51c033f7-be85-4a42-bc90-9718ddd3c729\",\r\n      \"SiteID\": 9,\r\n      \"LocationID\": 9,\r\n      \"Active\": true,\r\n      \"IsOffline\": 1\r\n    },\r\n    {\r\n      \"SiteName\": \"Black Ink\",\r\n      \"ProjectID\": 21,\r\n      \"LocationName\": \"Black Ink Location\",\r\n      \"Address1\": \"\",\r\n      \"Address2\": \"\",\r\n      \"City\": \"\",\r\n      \"State\": \"\",\r\n      \"PostalCode\": \"\",\r\n      \"ID\": 3333,\r\n      \"KioskName\": \"BIT-EMULATE-03\",\r\n      \"UnitName\": \"BIT-EMULATE-03\",\r\n      \"RefID\": \"b3cd7def-9572-4b17-86f0-ac8e5242733d\",\r\n      \"SiteID\": 9,\r\n      \"LocationID\": 9,\r\n      \"Active\": true,\r\n      \"IsOffline\": 1\r\n    },\r\n    {\r\n      \"SiteName\": \"Black Ink\",\r\n      \"ProjectID\": 21,\r\n      \"LocationName\": \"Black Ink Location\",\r\n      \"Address1\": \"\",\r\n      \"Address2\": \"\",\r\n      \"City\": \"\",\r\n      \"State\": \"\",\r\n      \"PostalCode\": \"\",\r\n      \"ID\": 3334,\r\n      \"KioskName\": \"BIT-EMULATE-04\",\r\n      \"UnitName\": \"BIT-EMULATE-04\",\r\n      \"RefID\": \"cd4a2583-c752-426c-84ff-5903b726b15d\",\r\n      \"SiteID\": 9,\r\n      \"LocationID\": 9,\r\n      \"Active\": true,\r\n      \"IsOffline\": 1\r\n    },\r\n    {\r\n      \"SiteName\": \"Black Ink\",\r\n      \"ProjectID\": 21,\r\n      \"LocationName\": \"Black Ink Location\",\r\n      \"Address1\": \"\",\r\n      \"Address2\": \"\",\r\n      \"City\": \"\",\r\n      \"State\": \"\",\r\n      \"PostalCode\": \"\",\r\n      \"ID\": 3335,\r\n      \"KioskName\": \"BIT-EMULATE-05\",\r\n      \"UnitName\": \"BIT-EMULATE-05\",\r\n      \"RefID\": \"9005c6b7-4683-4996-baa1-7ec30313d8fb\",\r\n      \"SiteID\": 9,\r\n      \"LocationID\": 9,\r\n      \"Active\": true,\r\n      \"IsOffline\": 1\r\n    }  \r\n  ]\r\n}","import axios, { AxiosResponse } from 'axios';\r\n\r\nimport { eiotAppManagerService } from './app-manager/eiot-app-manager.service';\r\nimport { eiotDeviceManagerService } from './device-manager/eiot-device-manager.service';\r\nimport { eiotSessionVarsService } from './session-vars/eiot-session-vars.service';\r\n// import { eiotAppDictionaryService } from './device-manager/common/eiot-app-dictionary.service';\r\nimport { eiotTraceService } from './app-manager/common/eiot-trace.service';\r\nimport { eiotSQLiteService } from './app-manager/common/eiot-sqlite.service';\r\nimport { eiotGPSService } from './app-components/eiot-gps.service';\r\nimport { eiotWeatherStationService } from './app-components/eiot-weather-station.service';\r\nimport { EIOT_EMULATE_VALUES } from './lib-constants/emulate.const';\r\n\r\nconst TIMEOUT_MS = 10000; // Timeout duration in milliseconds for fetch IP address again.\r\nconst MAX_RETRIES = 3; // Maximum number of retry attempts for fetch IP address again.\r\n\r\nclass EIoTSessionStartService {\r\n  private eiotSessionRes:any = new Object();\r\n  private isEmulateMode = false;\r\n  private isExcludeAppManager = false;\r\n  private deviceConfig:any = new Object();\r\n  private eiotDeviceInfo:any = new Object();\r\n  private logInfo:any = new Object();\r\n  private applicaionGPSCoords = '';\r\n\r\n  //#region public methods\r\n  async createSession(\r\n    isEmulateMode: boolean, \r\n    isExcludeAppManager: boolean, \r\n  ) {\r\n    this.isEmulateMode = isEmulateMode\r\n    this.isExcludeAppManager = isExcludeAppManager\r\n    if (this.isExcludeAppManager) {\r\n      return await this.defaultSiteData();\r\n    } else {\r\n      await this.connectToAppMgr();\r\n      return { ...this.eiotSessionRes, Logs: this.logInfo };\r\n    }\r\n  }\r\n  //#endregion public methods\r\n\r\n  //#region private methods\r\n  async defaultSiteData() {    \r\n    if (!this.isEmulateMode) {\r\n      await eiotDeviceManagerService.tryToConn();\r\n      await this.checkStatus();\r\n    } else {\r\n      console.log('App is running on Emulate Mode.');\r\n      if (localStorage.getItem('BitDeviceInfo')) {\r\n        const BitDeviceInfo = JSON.parse(localStorage.getItem('BitDeviceInfo') as string);\r\n\r\n        this.eiotSessionRes['DeviceID'] = this.eiotDeviceInfo['DeviceID'] = BitDeviceInfo['externalId'];\r\n        this.eiotSessionRes['DeviceName'] = this.eiotDeviceInfo['DeviceName'] = BitDeviceInfo['name'];\r\n      } else {\r\n        this.eiotSessionRes['DeviceID'] = this.eiotDeviceInfo['DeviceID'] = '';\r\n        this.eiotSessionRes['DeviceName'] = this.eiotDeviceInfo['DeviceName'] = '';\r\n      }  \r\n      eiotSessionVarsService.EIoTDeviceInfo = this.eiotDeviceInfo;\r\n      await this.finalAction();\r\n    }\r\n\r\n    return { ...this.eiotSessionRes, Logs: this.logInfo }\r\n  }\r\n  \r\n  async connectToAppMgr() {\r\n    console.log('Starting to connect Application Manager.');\r\n    this.logInfo['EIoT ApplicationMgr connected'] = false;\r\n    await eiotAppManagerService.tryToConn().then(async (data:any) => {\r\n      console.log(\"Returned => \", data);\r\n      if (data === true) {  \r\n        this.logInfo['EIoT ApplicationMgr connected'] = true\r\n        console.log('Successfully Application Manager Connected.');\r\n              \r\n        console.log(\"Start fetching Device Config.\");\r\n        this.logInfo['EIoT device configuration found'] = false\r\n        await new Promise((resolve) => {\r\n          const execute = async () => {\r\n            const result:any = await eiotSQLiteService.getDeviceConfig()\r\n            // console.log(JSON.stringify(result));\r\n            if (result['Response']) {\r\n              console.log('Device Config Fetched.');\r\n              this.logInfo['EIoT device configuration found'] = true\r\n              this.deviceConfig = JSON.parse(result[\"Response\"]);\r\n  \r\n              this.eiotSessionRes['DeviceID'] = this.eiotDeviceInfo['DeviceID'] = this.deviceConfig['ID'];\r\n              this.eiotSessionRes['DeviceName'] = this.eiotDeviceInfo['DeviceName'] = this.deviceConfig['KioskName'];\r\n              \r\n              eiotSessionVarsService.EIoTDeviceInfo = this.eiotDeviceInfo;\r\n    \r\n              // if (!environment.runningAppInLockdown) {\r\n              //   await this.startSesion()\r\n              // } else {\r\n              const res:any = await this.startSesion()\r\n              //console.log(res);              \r\n              if (!res) {\r\n                await this.callPageNavigation();\r\n              }\r\n              // }\r\n                \r\n              resolve(true)\r\n            } else {\r\n              resolve(false)\r\n              console.log('Unable to fetch EIoT device configuration');\r\n              this.eiotSessionRes['Success'] = false\r\n              return;\r\n            }\r\n          }\r\n          execute()\r\n        })\r\n      } else {\r\n        console.log('Unable to connect Application Manager, Connection time..');\r\n        this.eiotSessionRes['Success'] = false\r\n        return;\r\n      }\r\n    }).catch((error:any) => {\r\n      console.log('Unable to connect Application Manager, Something went wrong..');\r\n      console.error(error)\r\n      this.eiotSessionRes['Success'] = false\r\n      return;\r\n    });\r\n  }\r\n\r\n  async startSesion() {\r\n    return await new Promise((resolve) => {\r\n      const execute = async () => {\r\n        const res:any = await eiotTraceService.sessionStart()\r\n        console.info(\"Session Start =\" + JSON.stringify(res));\r\n        if (res.Response || res.Type === \"success\") {\r\n          console.log('Session Started.');\r\n          \r\n          await this.callPageNavigation();\r\n          resolve(true)\r\n        } else {\r\n          resolve(false)\r\n        }\r\n      }\r\n      execute()\r\n    })\r\n  }\r\n\r\n  async callPageNavigation() {\r\n    return await new Promise((resolve) => {\r\n      const execute = async () => {\r\n        const res:any = await eiotTraceService.pageNavigateStart();\r\n        console.info(\"Page Navigate Start =\" + JSON.stringify(res));\r\n        if (res.Response || res.Type === \"success\") {\r\n          console.log('Page Navigate Started.');                    \r\n        }\r\n  \r\n        const isDeviceMgrStarted = await eiotDeviceManagerService.tryToConn();\r\n        if (isDeviceMgrStarted) {\r\n          await this.checkStatus();\r\n          resolve(true)\r\n        } else {\r\n          this.logInfo['EIoT DeviceMgr service ready'] = false\r\n          console.log('Unable to connect Device Manager, Connection time..');\r\n          this.eiotSessionRes['Success'] = false\r\n          resolve(false)\r\n          return;\r\n        }\r\n      }\r\n      execute()\r\n    })\r\n  }\r\n\r\n  async checkStatus() {\r\n    console.log(\"Check status of DeviceManager\");\r\n    const state = await eiotDeviceManagerService.getServiceStatus();\r\n    console.log(\"Received status of DeviceManager is : \"+ state);\r\n    if (state === 1) {\r\n      this.logInfo['EIoT DeviceMgr service ready'] = true\r\n      console.log(\"DeviceManager Service is Ready.\");\r\n      await this.beginInit();\r\n    } else {\r\n      this.logInfo['EIoT DeviceMgr service ready'] = false\r\n      console.log(\"DeviceManager Service is not ready.\");\r\n      // await new Promise((resolve) => {\r\n      //   setTimeout(async () => {\r\n      //     await this.checkStatus();\r\n      //     resolve(true)\r\n      //   }, 1000);\r\n      // })\r\n    }\r\n  }\r\n\r\n  async beginInit() {\r\n    let comps: any = await eiotDeviceManagerService.getActiveComps()      \r\n    comps = comps || [];\r\n    if (comps.length > 0) {\r\n      let ActivedDeviceComp = ''\r\n      comps.forEach((element:any) => {\r\n        ActivedDeviceComp += element['ComponentTypeName'] + ', '\r\n      });\r\n      console.log('Total '+comps.length+' active device component founds : '\r\n        +ActivedDeviceComp);\r\n\r\n      const appComp = comps.find(\r\n        (comp: any) =>\r\n          comp.ComponentTypeName === \"Application\" && comp.IsActive\r\n      );\r\n      let appCompEle = {};\r\n\r\n      if (appComp) {\r\n        appCompEle = {\r\n          Idx: appComp.CompIdx,\r\n          Interface: appComp.DeviceManagerInterface,\r\n        };\r\n      }\r\n\r\n      const cpuComp = comps.find(\r\n        (comp: any) => comp.ComponentTypeName === \"CPU\" && comp.IsActive\r\n      );\r\n      let cpuCompEle = {};\r\n\r\n      if (cpuComp) {\r\n        cpuCompEle = {\r\n          Idx: cpuComp.CompIdx,\r\n          Interface: cpuComp.DeviceManagerInterface,\r\n        };\r\n      }\r\n\r\n      const ioComp = comps.find(\r\n        (comp: any) => comp.ComponentTypeName === \"IO_Module\" && comp.IsActive\r\n      );\r\n      let ioCompEle = {};\r\n\r\n      if (ioComp) {\r\n        ioCompEle = {\r\n          Idx: ioComp.CompIdx,\r\n          Interface: ioComp.DeviceManagerInterface,\r\n        };\r\n      }\r\n\r\n      let speechCompEle = undefined;\r\n      const speechComp = comps.find(\r\n        (comp: any) => comp.ComponentTypeName === \"Speech\" && comp.IsActive\r\n      );\r\n      if (speechComp) {\r\n        speechCompEle = {\r\n          Idx: speechComp.CompIdx,\r\n          Interface: speechComp.DeviceManagerInterface,\r\n        };\r\n      }\r\n\r\n      let weatherCompEle = undefined;\r\n      const weatherComp = comps.find(\r\n        (comp: any) =>\r\n          comp.ComponentTypeName === \"Weather_Station\" && comp.IsActive\r\n      );\r\n      if (weatherComp) {\r\n        weatherCompEle = {\r\n          Idx: weatherComp.CompIdx,\r\n          Interface: weatherComp.DeviceManagerInterface,\r\n        };\r\n      }\r\n  \r\n      let webcamCompEle = undefined;\r\n      const webcamComp = comps.find(\r\n        (comp: any) => \r\n          comp.ComponentTypeName === \"Webcam\" && comp.IsActive\r\n      );\r\n      if (webcamComp) {\r\n        webcamCompEle = {\r\n          Idx: webcamComp.CompIdx,\r\n          Interface: webcamComp.DeviceManagerInterface\r\n        }\r\n      }\r\n\r\n      let gpsCompEle = undefined;\r\n      const gpsComp = comps.find(\r\n        (comp: any) => \r\n          comp.ComponentTypeName === \"IoT\" && comp.IsActive\r\n      );\r\n      if (gpsComp) {\r\n        this.logInfo['GPS component connnected'] = true\r\n        gpsCompEle = {\r\n          Idx: gpsComp.CompIdx,\r\n          Interface: gpsComp.DeviceManagerInterface\r\n        }\r\n      } else {\r\n        this.logInfo['GPS component connnected'] = false\r\n      }\r\n\r\n      if (\r\n        (this.isEmulateMode && appComp && cpuComp && speechComp) ||\r\n        (!this.isEmulateMode && appComp && cpuComp && ioComp && speechComp && weatherComp) ||\r\n        (!this.isEmulateMode && appComp && cpuComp && webcamComp && gpsComp)\r\n      ) {\r\n        let sessionComp = {};\r\n\r\n        if (this.isEmulateMode) {\r\n          sessionComp = {\r\n            appDict: appCompEle,\r\n            speech: speechCompEle,\r\n          };\r\n        } else {\r\n          sessionComp = {\r\n            appDict: appCompEle,\r\n            cpu: cpuCompEle,\r\n            ioModule: ioCompEle,\r\n            speech: speechCompEle,\r\n            weather: weatherCompEle,\r\n            webcam: webcamCompEle,\r\n            gps: gpsCompEle,\r\n          };\r\n        }\r\n        eiotSessionVarsService.DevMgrComps = sessionComp;\r\n        return await this.finalAction();\r\n      } else {\r\n        console.log(\"Invalid component configuration\");\r\n        return false;\r\n      }\r\n    } else {\r\n      console.log(\"No components configured\");\r\n      return false;\r\n    }\r\n  }\r\n\r\n  async finalAction() {\r\n    return await new Promise((resolve) => {\r\n      const execute = async () => {\r\n        if (this.isEmulateMode) {\r\n          const temp_WEATHER_DATA: any = EIOT_EMULATE_VALUES.WEATHER_DATA\r\n          eiotSessionVarsService.WeatherData = temp_WEATHER_DATA;\r\n          if (temp_WEATHER_DATA && Object.keys(temp_WEATHER_DATA).length > 0 && temp_WEATHER_DATA?.GPSLocation) {\r\n            await this.StoreGeoLocation(temp_WEATHER_DATA.GPSLocation)\r\n          }\r\n        }\r\n  \r\n        if (!this.isExcludeAppManager) {\r\n          // if (eiotSessionVarsService.EIOT) {\r\n          //   const res_DeviceConfig:any = await eiotAppDictionaryService.getDeviceConfig()\r\n          //   if (res_DeviceConfig['ByPassAuth']=='true') {\r\n          //     eiotSessionVarsService.EIoTByPassAuth = true;\r\n          //     if (res_DeviceConfig['AuthToken']) {\r\n          //       localStorage.setItem('token', String(res_DeviceConfig['AuthToken']))\r\n          //     }\r\n          //     if (res_DeviceConfig['AuthTokenID']) {\r\n          //       localStorage.setItem('token_id', String(res_DeviceConfig['AuthTokenID']))\r\n          //     }\r\n          //   }\r\n  \r\n          //   this.eiotDeviceInfo['DeviceType'] = res_DeviceConfig['EndUserDeviceType'];\r\n          //   eiotSessionVarsService.EIoTDeviceInfo = this.eiotDeviceInfo;\r\n          // }\r\n  \r\n          await Promise.all([\r\n            this.initWeatherComp(),\r\n            this.initWebCamComp(),\r\n            this.GetBitDeviceInfo()\r\n          ]).then(() => {\r\n            resolve(true)\r\n          }).catch((error:any) => {\r\n            resolve(true)\r\n            console.error(error)\r\n          });\r\n        } else {\r\n          if (localStorage.getItem('BitDeviceInfo')) {\r\n            const BitDeviceInfo = JSON.parse(localStorage.getItem('BitDeviceInfo') as string);\r\n            eiotSessionVarsService.BitDeviceInfo = BitDeviceInfo;\r\n            this.logInfo['Kiosk registered in BIT platform'] = true\r\n            this.eiotSessionRes['Success'] = true;\r\n          } else {\r\n            this.logInfo['Kiosk registered in BIT platform'] = false\r\n            this.eiotSessionRes['Success'] = false\r\n          }\r\n          resolve(true)\r\n        }\r\n      }\r\n      execute()\r\n    })\r\n  }\r\n  //#endregion private methods\r\n\r\n  //#region Application Components\r\n  async initWebCamComp() {\r\n    const WebcamCompFound = await this.deviceConfig['Components'].find((obj:any) => {\r\n      return obj.ComponentTypeName === \"Webcam\" && obj.IsActive\r\n    });\r\n    if (WebcamCompFound) {\r\n      console.log('EIoT Webcam Device Found.');\r\n    } else {\r\n      console.log('EIoT Webcam Device Not Connected.');\r\n    }\r\n  }\r\n  async initWeatherComp() {\r\n    const WeatherCompFound = await this.deviceConfig['Components'].find((obj:any) => {\r\n      return obj.ComponentTypeName === \"Weather_Station\" && obj.IsActive\r\n    });\r\n    if (WeatherCompFound) {\r\n      console.log('Weather Device Found.');\r\n\r\n      return await new Promise((resolve) => {\r\n        const execute = async () => {\r\n          const DisplayFields: string[] = ['GPSLocation', 'RelWindDir', 'RelWindSpeed', 'Temperature', 'Dewpoint', 'RelHumidity', 'RainPresent', 'Pressure']\r\n          let GPSLocation: string;\r\n  \r\n          await eiotWeatherStationService.tryConnect()\r\n          const res_getStatus:any = await eiotWeatherStationService.getStatus()\r\n          //const list:any[] = []\r\n          // console.log(res_getStatus);\r\n          // console.log(Object.keys(res_getStatus).length);        \r\n  \r\n          // Object.keys(res_getStatus).forEach(o => {\r\n          //   if (DisplayFields.includes(o)) {\r\n          //     const new_o:any = new Object();\r\n          //     new_o['title'] = o;\r\n          //     new_o['value'] = res_getStatus[o];\r\n          //     list.push(Object.assign({}, new_o));\r\n          //   }\r\n          // })\r\n          //if (list.length) {\r\n            // console.log('Weather Data Found.');\r\n            // eiotSessionVarsService.WeatherData = list;\r\n            // this.eiotSessionRes['WeatherData'] = list\r\n            // GPSLocation = list.find(i => i.title=='GPSLocation').value\r\n            // //console.log(GPSLocation);\r\n            // await this.StoreGeoLocation(GPSLocation)\r\n          //}\r\n          if (res_getStatus && Object.keys(res_getStatus).length > 0) {\r\n            console.log('Weather Data Found.');\r\n            eiotSessionVarsService.WeatherData = res_getStatus;\r\n            this.eiotSessionRes['WeatherData'] = res_getStatus\r\n            Object.keys(res_getStatus).forEach(async (o) => {\r\n              if(o == 'GPSLocation') {\r\n                GPSLocation = res_getStatus[o]\r\n                await this.StoreGeoLocation(GPSLocation)\r\n              }\r\n            })\r\n          }\r\n          resolve(true)\r\n          return;\r\n        }\r\n        execute()\r\n      })\r\n    } else {\r\n      console.log('Weather Device Not Connected.');\r\n      \r\n      return await this.initGPSComp();\r\n    }\r\n  }\r\n  async initGPSComp() {\r\n    // GPS Comp \r\n    const GPSCompFound = await this.deviceConfig['Components'].find((obj:any) => {\r\n      return obj.ComponentTypeName === \"IoT\" && obj.IsActive\r\n    });\r\n    if (GPSCompFound) {\r\n      console.log('GPS Component Found.');\r\n\r\n      await new Promise((resolve) => {\r\n        const execute = async () => {\r\n          await eiotGPSService.start();\r\n          const res_tryStart = await eiotGPSService.tryStart()\r\n          if (res_tryStart) {\r\n            console.log('GPS Started.');\r\n            const coord = await eiotGPSService.tryGetCoordinates()\r\n            console.log('Coordinates Data Found.');\r\n            console.log(JSON.stringify(coord));\r\n            await this.StoreGeoLocation(coord['Latitude'] + ':' + coord['Longitude'])\r\n            resolve(true)\r\n          } else {\r\n            this.eiotSessionRes['IsGPSNotStarted'] = true\r\n            this.eiotSessionRes['IsGPSNotFound'] = true\r\n            console.log('GPS Not Started.');\r\n            resolve(true)\r\n          }\r\n          resolve(true)\r\n        }\r\n        execute()\r\n      })\r\n    } else {\r\n      console.log('GPS Component Not Found.');\r\n      if (this.applicaionGPSCoords) {\r\n        await this.StoreGeoLocation(this.applicaionGPSCoords);\r\n      }\r\n    }\r\n  }\r\n  //#endregion Application Components\r\n\r\n  //#region common methods\r\n  async StoreGeoLocation(GPSLocation: string) {\r\n    // console.log(GPSLocation);    \r\n    let GeoLocationList:any[] = []\r\n    if (GPSLocation && GPSLocation.length) {\r\n      GeoLocationList = GPSLocation?.split(':')\r\n    }\r\n    // console.log(GeoLocationList);\r\n    const DeviceGeoLocation:any = new Object();\r\n    DeviceGeoLocation['latitude'] = Number(GeoLocationList[0]) || 0\r\n    DeviceGeoLocation['longitude'] = Number(GeoLocationList[1]) || 0\r\n    DeviceGeoLocation['meanSeaLevel'] = Number(GeoLocationList[2]) || 0\r\n    // console.log(DeviceGeoLocation);\r\n    this.eiotSessionRes['GPSData'] = DeviceGeoLocation['latitude'] + ', ' + DeviceGeoLocation['longitude']\r\n    eiotSessionVarsService.GPSData = DeviceGeoLocation;\r\n    \r\n    try {\r\n      const ipAddress = await this.getIpAddress();\r\n      console.log(`Device IP Address: ${ipAddress}`);\r\n      return true;\r\n    } catch (error) {\r\n      console.error('Maximum number of retries reached. Unable to fetch IP address.');\r\n      this.logInfo['IP address fetch successfully'] = false;\r\n      this.eiotSessionRes['Success'] = false;\r\n      return false;\r\n    }\r\n  }\r\n\r\n  getIpAddress = async (retryCount = 0): Promise<string> => {\r\n    try {\r\n      // GetIpAddress using other public domain\r\n      // https://icanhazip.com\r\n      // https://ipinfo.io/ip\r\n      const response: AxiosResponse = await axios.get('https://icanhazip.com', {\r\n        timeout: TIMEOUT_MS\r\n      });\r\n      const ip = response.data.trim();\r\n      this.eiotSessionRes['IPAddress'] = ip;\r\n      this.eiotDeviceInfo['IPAddress'] = ip;\r\n      eiotSessionVarsService.EIoTDeviceInfo = this.eiotDeviceInfo;\r\n      return ip;\r\n    } catch (error:any) {\r\n      console.error(`An error occurred while fetching IP address (Retry ${retryCount + 1}):`, error.message);\r\n      if (retryCount < MAX_RETRIES) {\r\n        return this.getIpAddress(retryCount + 1); // Retry the request recursively\r\n      }\r\n      throw error;\r\n    }\r\n  };\r\n\r\n  async GetBitDeviceInfo() {\r\n    const bitDevice:any = await eiotSQLiteService.getValueFromUtilityTbl('BitDeviceInfo')\r\n    console.log('Registered BIT Device Data : '+JSON.stringify(bitDevice));\r\n    if(bitDevice && bitDevice['Type']=='success' && bitDevice['Response']?.length>0) {\r\n      eiotSessionVarsService.BitDeviceInfo = JSON.parse(bitDevice['Response']);\r\n      this.logInfo['Kiosk registered in BIT platform'] = true\r\n      this.eiotSessionRes['Success'] = true\r\n    } else {\r\n      this.logInfo['Kiosk registered in BIT platform'] = false\r\n      this.eiotSessionRes['Success'] = false\r\n    }\r\n  }\r\n  //#endregion common methods  \r\n}\r\n\r\nexport const eiotSessionStartService = new EIoTSessionStartService()"],"mappings":"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","names":["hubConnection","BIT_SITE_ID","IS_EMULATE_MODE","IS_EXCLUDE_APP_MANAGER","EIOT_APP_MANAGER_URL","EIOT_APP_MANAGER_HUBNAME","EIOT_DEVICE_MANAGER_URL","EIOT_DEVICE_MANAGER_HUBNAME","EIoTDeviceManagerService","proxy","connection","connState","currConnState","getServiceStatus","getSignalRConn","Promise","resolve","reject","start","done","conn","fail","err","getActiveComps","proxyResult","invoke","res","console","error","JSON","stringify","tryToConn","_a","hubConnection","EIOT_DEVICE_MANAGER_URL","createHubProxy","EIOT_DEVICE_MANAGER_HUBNAME","on","undefined","stateChanged","t","u","newState","info","oldState","disconnected","log","index","setTimeout","eiotDeviceManagerService","_a","EIoTSessionVarsService","DevMgrComps","data","sessionStorage","setItem","JSON","stringify","getItem","parse","GPSData","WeatherData","EIoTDeviceInfo","BitDeviceInfo","IsEmulateMode","String","val","IsExcludeAppManager","EIOT","EIoTByPassAuth","EIoTAuth","eiotSessionVarsService","_a","EIoTGPSService","constructor","gpsModuleIdx","gpsModuleInterface","Number","eiotSessionVarsService","DevMgrComps","gps","Idx","String","Interface","updateParams","tryGetCoordinates","index","res","coord_res","Promise","resolve","setTimeout","coord","getCoordinates","JSON","stringify","includes","proxy","eiotDeviceManagerService","getSignalRConn","reject","invoke","done","fail","err","console","error","log","tryStart","isStarted","start","off","on","undefined","state","getServiceStatus","tryToConn","eiotGPSService","_a","EIoTWeatherStationService","constructor","weatherModuleIdx","weatherModuleInterface","Number","eiotSessionVarsService","DevMgrComps","weather","Idx","String","Interface","updateParams","tryConnect","proxy","eiotDeviceManagerService","getSignalRConn","Promise","resolve","invoke","done","res1","console","log","off","on","evt","Payload","res2","fail","err","error","JSON","stringify","getStatus","weatherData","waitForReady","isBusy","setTimeout","eiotWeatherStationService","_a","EIoTIOModuleService","constructor","ioModuleIdx","ioModuleInterface","Number","eiotSessionVarsService","DevMgrComps","ioModule","Idx","String","Interface","updateParams","tryConnect","proxy","eiotDeviceManagerService","getSignalRConn","Promise","resolve","reject","invoke","done","res","off","on","evt","Payload","undefined","fail","err","console","error","JSON","stringify","log","setButtonInputListener","cb","Response","IOPoint","removeButtonInputListener","eiotIoModuleService","_a","EIoTWebcamService","constructor","webcamModuleIdx","webcamModuleInterface","Number","eiotSessionVarsService","DevMgrComps","webcam","Idx","String","Interface","updateParams","tryStart","connCb","connErrCb","isStarted","started","start","success","err","proxy","eiotDeviceManagerService","getSignalRConn","on","invoke","done","res","fail","console","error","JSON","stringify","capture","saveCapturedImage","fileName","base64","saveLastCapturedImage","getCurrentFrame","stopCamera","eiotWebcamService","hubConnection","_a","EIoTAppManagerService","proxy","connection","connState","currConnState","getServiceStatus","getSignalRConn","state","Promise","resolve","reject","start","done","conn","fail","err","tryToConn","then","data","console","log","setTimeout","getConnProxy","hubConnection","EIOT_APP_MANAGER_URL","createHubProxy","EIOT_APP_MANAGER_HUBNAME","on","undefined","stateChanged","t","u","newState","info","oldState","disconnected","index","res","eiotAppManagerService","_a","EIoTSQLiteService","DeviceConfig","constConfigValues","className","key","getDeviceConfig","ISignalRVM","Key","ClassName","MethodName","ReqParams","Promise","resolve","reject","execute","proxy","eiotAppManagerService","getSignalRConn","invoke","done","response","fail","err","console","error","JSON","stringify","getValueFromUtilityTbl","methodName","saveValueInUtilityTbl","data","eiotSQLiteService","_a","EIoTTraceService","sessionStart","proxy","eiotAppManagerService","getSignalRConn","reqParams","IsDoDeviceUserLogIn","Invoker","Severity","IsUrgentTrace","PageName","ISignalRVM","Key","CONST_KEY","ClassName","CONST_CLASSNAME","MethodName","ReqParams","JSON","stringify","Promise","resolve","reject","execute","invoke","done","response","fail","err","console","error","pageNavigateStart","methodName","CONST_TRANS_CLASSNAME","eiotTraceService","_a","EIoTAppDictionaryService","constructor","appDictModuleIdx","appDictModuleInterface","Number","eiotSessionVarsService","DevMgrComps","appDict","Idx","String","Interface","updateParams","getDeviceConfig","proxy","eiotDeviceManagerService","getSignalRConn","Promise","resolve","reject","execute","invoke","done","response","fail","err","console","error","JSON","stringify","eiotAppDictionaryService","EIOT_EMULATE_VALUES","WEATHER_DATA","GPSLocation","RelWindDir","RelWindSpeed","Temperature","Dewpoint","RelHumidity","RainPresent","Pressure","EMULATE_DEVICE","axios","TIMEOUT_MS","MAX_RETRIES","_a","EIoTSessionStartService","eiotSessionRes","Object","isEmulateMode","isExcludeAppManager","deviceConfig","eiotDeviceInfo","logInfo","applicaionGPSCoords","getIpAddress","retryCount","response","axios","get","timeout","ip","data","trim","eiotSessionVarsService","EIoTDeviceInfo","error","console","message","createSession","defaultSiteData","connectToAppMgr","Logs","eiotDeviceManagerService","tryToConn","checkStatus","log","localStorage","getItem","BitDeviceInfo","JSON","parse","finalAction","eiotAppManagerService","then","Promise","resolve","execute","result","eiotSQLiteService","getDeviceConfig","res","startSesion","callPageNavigation","catch","eiotTraceService","sessionStart","info","stringify","Response","Type","pageNavigateStart","isDeviceMgrStarted","state","getServiceStatus","beginInit","comps","getActiveComps","length","ActivedDeviceComp","forEach","element","appComp","find","comp","ComponentTypeName","IsActive","appCompEle","Idx","CompIdx","Interface","DeviceManagerInterface","cpuComp","cpuCompEle","ioComp","ioCompEle","speechCompEle","undefined","speechComp","weatherCompEle","weatherComp","webcamCompEle","webcamComp","gpsCompEle","gpsComp","sessionComp","appDict","speech","cpu","ioModule","weather","webcam","gps","DevMgrComps","temp_WEATHER_DATA","EIOT_EMULATE_VALUES","WEATHER_DATA","WeatherData","keys","GPSLocation","StoreGeoLocation","all","initWeatherComp","initWebCamComp","GetBitDeviceInfo","WebcamCompFound","obj","WeatherCompFound","DisplayFields","eiotWeatherStationService","tryConnect","res_getStatus","getStatus","o","initGPSComp","GPSCompFound","eiotGPSService","start","res_tryStart","tryStart","coord","tryGetCoordinates","GeoLocationList","split","DeviceGeoLocation","Number","GPSData","ipAddress","bitDevice","getValueFromUtilityTbl","eiotSessionStartService"]}