import (
"encoding/xml"
+
"gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
)
type RANfunctionsItemProtocolIESingleContainer struct {
- Text string `xml:",chardata"`
- Id string `xml:"id"`
- Criticality struct {
- Text string `xml:",chardata"`
- Ignore string `xml:"ignore"`
- } `xml:"criticality"`
- Value struct {
- Text string `xml:",chardata"`
- RANfunctionItem struct {
- Text string `xml:",chardata"`
- RanFunctionID uint32 `xml:"ranFunctionID"`
- RanFunctionDefinition string `xml:"ranFunctionDefinition"`
- RanFunctionRevision uint32 `xml:"ranFunctionRevision"`
- } `xml:"RANfunction-Item"`
- } `xml:"value"`
+ Text string `xml:",chardata"`
+ Id string `xml:"id"`
+ Criticality struct {
+ Text string `xml:",chardata"`
+ Ignore string `xml:"ignore"`
+ } `xml:"criticality"`
+ Value struct {
+ Text string `xml:",chardata"`
+ RANfunctionItem struct {
+ Text string `xml:",chardata"`
+ RanFunctionID uint32 `xml:"ranFunctionID"`
+ RanFunctionDefinition string `xml:"ranFunctionDefinition"`
+ RanFunctionRevision uint32 `xml:"ranFunctionRevision"`
+ RanFunctionOID string `xml:"ranFunctionOID"`
+ } `xml:"RANfunction-Item"`
+ } `xml:"value"`
}
type RANfunctionsItemIDProtocolIESingleContainer struct {
- Text string `xml:",chardata"`
- Id string `xml:"id"`
- Criticality struct {
- Text string `xml:",chardata"`
- Ignore string `xml:"ignore"`
- } `xml:"criticality"`
- Value struct {
- Text string `xml:",chardata"`
- RANfunctionIDItem struct {
- Text string `xml:",chardata"`
- RanFunctionID uint32 `xml:"ranFunctionID"`
- RanFunctionRevision uint32 `xml:"ranFunctionRevision"`
- } `xml:"RANfunctionID-Item"`
- } `xml:"value"`
+ Text string `xml:",chardata"`
+ Id string `xml:"id"`
+ Criticality struct {
+ Text string `xml:",chardata"`
+ Ignore string `xml:"ignore"`
+ } `xml:"criticality"`
+ Value struct {
+ Text string `xml:",chardata"`
+ RANfunctionIDItem struct {
+ Text string `xml:",chardata"`
+ RanFunctionID uint32 `xml:"ranFunctionID"`
+ RanFunctionRevision uint32 `xml:"ranFunctionRevision"`
+ } `xml:"RANfunctionID-Item"`
+ } `xml:"value"`
}
-
type RICServiceUpdateIEs struct {
Text string `xml:",chardata"`
- ID int `xml:"id"`
- Criticality struct {
- Text string `xml:",chardata"`
- Reject string `xml:"reject"`
- } `xml:"criticality"`
- Value struct {
+ ID int `xml:"id"`
+ Criticality struct {
Text string `xml:",chardata"`
+ Reject string `xml:"reject"`
+ } `xml:"criticality"`
+ Value struct {
+ Text string `xml:",chardata"`
+ TransactionID string `xml:"TransactionID"`
RANfunctionsList struct {
- Text string `xml:",chardata"`
+ Text string `xml:",chardata"`
RANfunctionsItemProtocolIESingleContainer []RANfunctionsItemProtocolIESingleContainer `xml:"ProtocolIE-SingleContainer"`
} `xml:"RANfunctions-List"`
RANfunctionsIDList struct {
- Text string `xml:",chardata"`
+ Text string `xml:",chardata"`
RANfunctionsItemIDProtocolIESingleContainer []RANfunctionsItemIDProtocolIESingleContainer `xml:"ProtocolIE-SingleContainer"`
} `xml:"RANfunctionsID-List"`
- }`xml:"value"`
+ } `xml:"value"`
}
type RICServiceUpdateInitiatingMessage struct {
- Text string `xml:",chardata"`
- ProcedureCode string `xml:"procedureCode"`
- Criticality struct {
- Text string `xml:",chardata"`
- Reject string `xml:"reject"`
- } `xml:"criticality"`
+ Text string `xml:",chardata"`
+ ProcedureCode string `xml:"procedureCode"`
+ Criticality struct {
+ Text string `xml:",chardata"`
+ Reject string `xml:"reject"`
+ } `xml:"criticality"`
Value struct {
- Text string `xml:",chardata"`
+ Text string `xml:",chardata"`
RICServiceUpdate struct {
Text string `xml:",chardata"`
- ProtocolIEs struct {
- Text string `xml:",chardata"`
- RICServiceUpdateIEs []RICServiceUpdateIEs `xml:"RICserviceUpdate-IEs"`
- } `xml:"protocolIEs"`
+ ProtocolIEs struct {
+ Text string `xml:",chardata"`
+ RICServiceUpdateIEs []RICServiceUpdateIEs `xml:"RICserviceUpdate-IEs"`
+ } `xml:"protocolIEs"`
} `xml:"RICserviceUpdate"`
} `xml:"value"`
}
type RICServiceUpdateE2APPDU struct {
- XMLName xml.Name `xml:"E2AP-PDU"`
- Text string `xml:",chardata"`
- InitiatingMessage RICServiceUpdateInitiatingMessage `xml:"initiatingMessage"`
+ XMLName xml.Name `xml:"E2AP-PDU"`
+ Text string `xml:",chardata"`
+ InitiatingMessage RICServiceUpdateInitiatingMessage `xml:"initiatingMessage"`
}
-type RICServiceUpdateMessage struct{
- XMLName xml.Name `xml:"RICserviceUpdateMessage"`
- Text string `xml:",chardata"`
- E2APPDU RICServiceUpdateE2APPDU `xml:"E2AP-PDU"`
+type RICServiceUpdateMessage struct {
+ XMLName xml.Name `xml:"RICserviceUpdateMessage"`
+ Text string `xml:",chardata"`
+ E2APPDU RICServiceUpdateE2APPDU `xml:"E2AP-PDU"`
}
func (m *RICServiceUpdateE2APPDU) ExtractRanFunctionsList() []*entities.RanFunction {
serviceUpdateRequestIes := m.InitiatingMessage.Value.RICServiceUpdate.ProtocolIEs.RICServiceUpdateIEs
- if len(serviceUpdateRequestIes) < 2 {
+ if len(serviceUpdateRequestIes) < 3 {
return nil
}
- ranFunctionsListContainer := serviceUpdateRequestIes[1].Value.RANfunctionsList.RANfunctionsItemProtocolIESingleContainer
+ ranFunctionsListContainer := serviceUpdateRequestIes[2].Value.RANfunctionsList.RANfunctionsItemProtocolIESingleContainer
funcs := make([]*entities.RanFunction, len(ranFunctionsListContainer))
for i := 0; i < len(funcs); i++ {
ranFunctionItem := ranFunctionsListContainer[i].Value.RANfunctionItem
RanFunctionId: ranFunctionItem.RanFunctionID,
RanFunctionDefinition: ranFunctionItem.RanFunctionDefinition,
RanFunctionRevision: ranFunctionItem.RanFunctionRevision,
+ RanFunctionOid: ranFunctionItem.RanFunctionOID,
}
}
return funcs