package mem import ( "finally-a-monolithic-linux-hw-monitor/app/common" "finally-a-monolithic-linux-hw-monitor/app/mem/drivers" "fmt" "strings" ) func (mem *Mem) Render(console *strings.Builder) { fmt.Fprintf(console, "=== %s ===\033[K\n", "Memory") for _, driver := range mem.drivers { driver.Render(console) } } 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 }