@@ -23,19 +23,22 @@ import (
23
23
"github.com/arduino/go-paths-helper"
24
24
)
25
25
26
+ // BoardsRegistry is a database with a list of registered boards
26
27
type BoardsRegistry struct {
27
28
Boards []* RegisteredBoard
28
29
fqbnToBoard map [string ]* RegisteredBoard
29
30
aliastToBoard map [string ]* RegisteredBoard
30
31
}
31
32
33
+ // RegisteredBoard contains manifest information for a board
32
34
type RegisteredBoard struct {
33
35
FQBN * cores.FQBN
34
36
Alias string
35
37
Name string
36
38
ExternalPlatformURL * url.URL
37
39
}
38
40
41
+ // NewBoardRegistry creates a new BoardsRegistry instance
39
42
func NewBoardRegistry () * BoardsRegistry {
40
43
return & BoardsRegistry {
41
44
Boards : []* RegisteredBoard {},
@@ -50,6 +53,7 @@ func (r *BoardsRegistry) addBoard(board *RegisteredBoard) {
50
53
r .aliastToBoard [board .Alias ] = board
51
54
}
52
55
56
+ // FindBoard gets a RegisteredBoard using FQBN or Board Alias
53
57
func (r * BoardsRegistry ) FindBoard (fqbnOrAlias string ) (* cores.FQBN , * RegisteredBoard , error ) {
54
58
if found , ok := r .aliastToBoard [fqbnOrAlias ]; ok {
55
59
return found .FQBN , found , nil
@@ -64,6 +68,7 @@ func (r *BoardsRegistry) FindBoard(fqbnOrAlias string) (*cores.FQBN, *Registered
64
68
return fqbn , nil , nil
65
69
}
66
70
71
+ // SearchBoards search for a RegisteredBoard using a query string
67
72
func (r * BoardsRegistry ) SearchBoards (query string ) []* RegisteredBoard {
68
73
found := []* RegisteredBoard {}
69
74
contains := func (a string , b string ) bool {
@@ -77,6 +82,7 @@ func (r *BoardsRegistry) SearchBoards(query string) []*RegisteredBoard {
77
82
return found
78
83
}
79
84
85
+ // LoadBoardRegistry retrieve a board registry from a file. WIP...
80
86
func LoadBoardRegistry (file * paths.Path ) (* BoardsRegistry , error ) {
81
87
82
88
// TODO...
0 commit comments