Project

General

Profile

Actions

Bug #2307

closed

osmo-gsm-tester: Proper object-oriented structure to handle different objects

Added by pespin almost 7 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
05/30/2017
Due date:
% Done:

100%

Spec Reference:

Description

We should start using class inheritance and similar techniques to ease code maintenance for existing objects and development of new ones.

For instance, we currently have NITB or BSC+MSC, and we have to use the two differently.

We should have a Bsc abstract base class, and the same with an Msc class, which defines the APIs to implement by subclasses and provide generic helpers needed for all of them (such as bts_add()).
Then, for next generation binaries we create a OsmoBsc subclass and an OsmoMsc subclass which implements the methods of the parent abstract class. We can even support different versions of them by creating different sublcasses if needed. For NITB generation binaries, we can have an OsmoNITB class which inherits from both OsmoBsc and OsmoMsc and implements methods for both. This way we can use polymorphism and only care about the APIs defined in the abstract class when using them.

For BTSes, the same: An abstract super class called BTS, then we can have: OsmoBTSsysmo, OsmoBTStrxEttus, OsmoBTStrxSysmoCell5000, etc.


Related issues

Related to OsmoGSMTester - Feature #2270: add abstract API to picking which "core" network setup (NITB or MSC+BSC) to use by scenarioRejected05/17/2017

Actions
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)