Release of Routing Manager v0.3.0
[ric-plt/rtmgr.git] / pkg / nbi / types.go
index e02c30d..2b4bebb 100644 (file)
 
 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/rtmgr"
+       "routing-manager/pkg/models"
+       "routing-manager/pkg/rpe"
+       "routing-manager/pkg/sdl"
+)
+
+type FetchAllXappsHandler func(string) (*[]rtmgr.XApp, error)
+type RecvXappCallbackDataHandler func(<-chan *models.XappCallbackData) (*[]rtmgr.XApp, error)
+type LaunchRestHandler func(*string, chan<- *models.XappCallbackData, chan<- *models.XappSubscriptionData)
+type ProvideXappHandleHandlerImpl func(chan<- *models.XappCallbackData, *models.XappCallbackData) (error)
+type RetrieveStartupDataHandler func(string, string, string, string, sdl.SdlEngine) error
 
 type NbiEngineConfig struct {
-       Engine      NbiEngine
-       BatchFetch  batchFetch
+       Name        string
+       Version     string
+       Protocol    string
+       Instance    NbiEngine
        IsAvailable bool
 }
+
+type NbiEngine interface {
+       Initialize(string, string, string, string, sdl.SdlEngine, rpe.RpeEngine, chan<- bool) error
+       Terminate() error
+}
+