in newtmgr/cli/common.go [178:259]
func buildSesnCfg() (sesn.SesnCfg, error) {
sc := sesn.NewSesnCfg()
cp, err := getConnProfile()
if err != nil {
return sc, err
}
switch cp.Type {
case config.CONN_TYPE_SERIAL_PLAIN:
sc.MgmtProto = sesn.MGMT_PROTO_NMP
return sc, nil
case config.CONN_TYPE_SERIAL_OIC:
sc.MgmtProto = sesn.MGMT_PROTO_OMP
return sc, nil
case config.CONN_TYPE_BLE_PLAIN:
bc, err := config.ParseBleConnString(cp.ConnString)
if err != nil {
return sc, err
}
x, err := GetXport()
if err != nil {
return sc, err
}
bx := x.(*nmble.BleXport)
sc.MgmtProto = sesn.MGMT_PROTO_NMP
if err := config.FillSesnCfg(bx, bc, &sc); err != nil {
return sc, err
}
return sc, nil
case config.CONN_TYPE_BLE_OIC:
bc, err := config.ParseBleConnString(cp.ConnString)
if err != nil {
return sc, err
}
x, err := GetXport()
if err != nil {
return sc, err
}
bx := x.(*nmble.BleXport)
sc.MgmtProto = sesn.MGMT_PROTO_OMP
if err := config.FillSesnCfg(bx, bc, &sc); err != nil {
return sc, err
}
return sc, nil
case config.CONN_TYPE_UDP_PLAIN:
sc.MgmtProto = sesn.MGMT_PROTO_NMP
sc.PeerSpec.Udp = cp.ConnString
return sc, nil
case config.CONN_TYPE_UDP_OIC:
sc.MgmtProto = sesn.MGMT_PROTO_OMP
sc.PeerSpec.Udp = cp.ConnString
return sc, nil
case config.CONN_TYPE_MTECH_LORA_OIC:
mc, err := config.ParseMtechLoraConnString(cp.ConnString)
if err != nil {
return sc, err
}
sc.MgmtProto = sesn.MGMT_PROTO_OMP
err = config.FillMtechLoraSesnCfg(mc, &sc)
return sc, err
default:
return sc, util.FmtNewtError("Unknown connection type: %s (%d)",
config.ConnTypeToString(cp.Type), int(cp.Type))
}
}