blob: 3ec19a7a782c2075629363e68ca2f623003248aa [file] [log] [blame]
"""
Copyright 2020 The Magma Authors.
This source code is licensed under the BSD-style license found in the
LICENSE file in the root directory of this source tree.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
from state_machines.enb_acs import EnodebAcsStateMachine
class StateMachinePointer:
"""
This is a hack to deal with the possibility that the specified data model
doesn't match the eNB device enodebd ends up connecting to.
When the data model doesn't match, the state machine is replaced with one
that matches the data model.
"""
def __init__(self, acs_state_machine: EnodebAcsStateMachine):
self._acs_state_machine = acs_state_machine
@property
def state_machine(self):
return self._acs_state_machine
@state_machine.setter
def state_machine(
self,
acs_state_machine: EnodebAcsStateMachine,
) -> None:
self._acs_state_machine = acs_state_machine