35 lines
638 B
Go
35 lines
638 B
Go
package mem
|
|
|
|
import (
|
|
"finally-a-monolithic-linux-hw-monitor/app/common"
|
|
"finally-a-monolithic-linux-hw-monitor/app/mem/drivers"
|
|
)
|
|
|
|
func (mem *Mem) Render(term common.Terminal) {
|
|
term.Header("Memory")
|
|
for _, driver := range mem.drivers {
|
|
driver.Render(term)
|
|
}
|
|
}
|
|
|
|
type Mem struct {
|
|
drivers []common.Driver
|
|
}
|
|
|
|
func GetMem() (Mem, error) {
|
|
mem := Mem{}
|
|
mem.drivers = []common.Driver{}
|
|
|
|
meminfo, err := drivers.NewMemInfoDriver()
|
|
if err == nil {
|
|
mem.drivers = append(mem.drivers, meminfo)
|
|
}
|
|
|
|
dmidecode, err := drivers.NewDmiDecodeDriver()
|
|
if err == nil {
|
|
mem.drivers = append(mem.drivers, dmidecode)
|
|
}
|
|
|
|
return mem, nil
|
|
}
|