Restart/Start of RM, fetch E2T data from E2manager - implementation in RM for v1...
[ric-plt/rtmgr.git] / pkg / nbi / types.go
index e02c30d..f538ac4 100644 (file)
    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.
    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.
+
+
+   This source code is part of the near-RT RIC (RAN Intelligent Controller)
+   platform project (RICP).
+
 ==================================================================================
 */
 /*
   Mnemonic:    nbi.go
 ==================================================================================
 */
 /*
   Mnemonic:    nbi.go
-  Abstract:    Containes NBI (NorthBound Interface) specific types
+  Abstract:    Contains NBI (NorthBound Interface) specific types
   Date:                12 March 2019
 */
 
 package nbi
 
   Date:                12 March 2019
 */
 
 package nbi
 
-import "rtmgr"
-
-type batchFetch func(url string) (*[]rtmgr.XApp, error)
-
-type NbiEngine struct {
-       Name     string
-       Version  string
-       Protocol string
+import (
+       "routing-manager/pkg/models"
+       "routing-manager/pkg/rpe"
+       "routing-manager/pkg/rtmgr"
+       "routing-manager/pkg/sdl"
+       "sync"
+)
+
+type FetchAllXAppsHandler func(string) (*[]rtmgr.XApp, error)
+type RecvXappCallbackDataHandler func(<-chan *models.XappCallbackData) (*[]rtmgr.XApp, error)
+type RecvNewE2TdataHandler func(<-chan *models.E2tData) (*rtmgr.E2TInstance, string, error)
+type LaunchRestHandler func(*string, chan<- *models.XappCallbackData, chan<- *models.XappSubscriptionData, chan<- *rtmgr.XappList, chan<- *models.XappSubscriptionData, chan<- *models.E2tData, chan<- models.RanE2tMap, chan<- models.RanE2tMap, chan<- *models.E2tDeleteData)
+type ProvideXappHandleHandlerImpl func(chan<- *models.XappCallbackData, *models.XappCallbackData) error
+type RetrieveStartupDataHandler func(string, string, string, string, string, sdl.Engine) error
+
+type EngineConfig struct {
+       Name        string
+       Version     string
+       Protocol    string
+       Instance    Engine
+       IsAvailable bool
 }
 
 }
 
-type NbiEngineConfig struct {
-       Engine      NbiEngine
-       BatchFetch  batchFetch
-       IsAvailable bool
+type Engine interface {
+       Initialize(string, string, string, string, string, sdl.Engine, rpe.Engine, chan<- bool, *sync.Mutex) error
+       Terminate() error
 }
 }