blob: 65e552df65517cfe5445a5a14be9617e508bd91f [file] [log] [blame]
Author Namea594e632018-08-10 11:33:58 -04001/*
2 Copyright 2017 the original author or authors.
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*/
16
17package models
18
19import (
donNewtonAlphab9b85eb2018-08-14 14:28:22 -040020 "sync"
Author Namea594e632018-08-10 11:33:58 -040021
22 "gerrit.opencord.org/abstract-olt/models/abstract"
23 "gerrit.opencord.org/abstract-olt/models/physical"
24)
25
donNewtonAlphab9b85eb2018-08-14 14:28:22 -040026var once sync.Once
27var absOnce sync.Once
Author Namea594e632018-08-10 11:33:58 -040028var chassisMap map[string]*physical.Chassis
donNewtonAlphab9b85eb2018-08-14 14:28:22 -040029var aChassisMap map[string]*abstract.Chassis
Author Namea594e632018-08-10 11:33:58 -040030
31/*
32GetPhyChassisMap return the chassis map singleton
33*/
34func GetPhyChassisMap() *map[string]*physical.Chassis {
donNewtonAlphab9b85eb2018-08-14 14:28:22 -040035 // the go singleton pattern
36 once.Do(func() {
Author Namea594e632018-08-10 11:33:58 -040037 chassisMap = make(map[string]*physical.Chassis)
donNewtonAlphab9b85eb2018-08-14 14:28:22 -040038 })
Author Namea594e632018-08-10 11:33:58 -040039 return &chassisMap
40}
41
42/*
43GetAbstractChassisMap return the chassis map singleton
44*/
45func GetAbstractChassisMap() *map[string]*abstract.Chassis {
donNewtonAlphab9b85eb2018-08-14 14:28:22 -040046 // the go singleton pattern
47 absOnce.Do(func() {
48 aChassisMap = make(map[string]*abstract.Chassis)
49 })
50 return &aChassisMap
Author Namea594e632018-08-10 11:33:58 -040051}