-
Notifications
You must be signed in to change notification settings - Fork 2
/
response_mapping.go
35 lines (30 loc) · 834 Bytes
/
response_mapping.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package homehub
import "strings"
var responseTypeMappings = map[string]string{
// Standard types
"xmo:boolean": "bool",
"xmo:int": "int",
"xmo:int32": "int",
"xmo:int64": "int64",
"xmo:number": "int",
"xmo:str": "string",
"xmo:time": "string",
"xmo:uint32": "int",
"xmo:uint64": "int64",
// Extended types
"deviceconfig:LastSuccesfulWanType": "string",
"interface:Interface:Status": "string",
"managers:LedEnable": "string",
"wifi:AccessPoint:Security:ModeEnabled": "string",
}
func getTypeMapping(typeNames string) string {
types := strings.Split(typeNames, " ")
for _, typeName := range types {
mapping, exists := responseTypeMappings[typeName]
if exists {
return mapping
}
}
//TODO: This should probably be treated as an error
return "string"
}