SVC address support for rmr stubs.
[ric-plt/submgr.git] / pkg / control / registry.go
index f24dccd..2570960 100644 (file)
@@ -22,6 +22,8 @@ package control
 import (
        "fmt"
        "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap"
+       "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/xapptweaks"
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/models"
        "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
        "sync"
        "time"
@@ -46,6 +48,19 @@ func (r *Registry) Initialize() {
        }
 }
 
+func (r *Registry) QueryHandler() (models.SubscriptionList, error) {
+       r.mutex.Lock()
+       defer r.mutex.Unlock()
+
+       resp := models.SubscriptionList{}
+       for _, subs := range r.register {
+               subs.mutex.Lock()
+               resp = append(resp, &models.SubscriptionData{SubscriptionID: int64(subs.ReqId.Seq), Meid: subs.Meid.RanName, Endpoint: subs.EpList.StringList()})
+               subs.mutex.Unlock()
+       }
+       return resp, nil
+}
+
 func (r *Registry) allocateSubs(trans *TransactionXapp, subReqMsg *e2ap.E2APSubscriptionRequest) (*Subscription, error) {
        if len(r.subIds) > 0 {
                sequenceNumber := r.subIds[0]
@@ -230,7 +245,7 @@ func (r *Registry) RemoveFromSubscription(subs *Subscription, trans *Transaction
                        //
                        // Subscription route delete
                        //
-                       tmpList := RmrEndpointList{}
+                       tmpList := xapptweaks.RmrEndpointList{}
                        tmpList.AddEndpoint(trans.GetEndpoint())
                        subRouteAction := SubRouteInfo{tmpList, uint16(seqId)}
                        r.rtmgrClient.SubscriptionRequestDelete(subRouteAction)