blob: ef34c226789750c278a302c2647905a9dbd0cb2c [file] [log] [blame]
Sean Condon83fc39f2018-04-19 18:56:13 +01001/*
2 * Copyright 2018-present Open Networking Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Sean Condonb2c483c2019-01-16 20:28:55 +000016import {Inject, Injectable} from '@angular/core';
Sean Condona3ad7792020-01-04 19:26:34 +000017import { LogService } from 'gui2-fw-lib/public_api';
Sean Condon83fc39f2018-04-19 18:56:13 +010018
19/**
20 * A structure of View elements for the OnosService
21 */
22export interface View {
23 id: string;
24 path: string;
25}
26
27/**
28 * ONOS GUI -- OnosService - a placeholder for the global onos variable
29 */
Sean Condona00bf382018-06-23 07:54:01 +010030@Injectable({
31 providedIn: 'root',
32})
Sean Condon83fc39f2018-04-19 18:56:13 +010033export class OnosService {
34 // Global variable
35 public browser: string;
36 public mobile: boolean;
37 public viewMap: View[];
Sean Condonb2c483c2019-01-16 20:28:55 +000038 public username: string;
Sean Condon83fc39f2018-04-19 18:56:13 +010039
40 constructor (
Sean Condonb2c483c2019-01-16 20:28:55 +000041 private log: LogService,
42 @Inject('Window') private window: any
Sean Condon83fc39f2018-04-19 18:56:13 +010043 ) {
Sean Condonb2c483c2019-01-16 20:28:55 +000044 // The onosUser is added to the index.html by MainIndexResource
45 this.username = this.window['onosUser'];
Sean Condon83fc39f2018-04-19 18:56:13 +010046 this.log.debug('OnosService constructed');
47 }
48}