package wmi

import (
	cnsmw "git.loafle.net/commons/service_matcher-go/wmi"
	ocmsc "git.loafle.net/overflow/commons-go/model/sensorconfig"
	"git.loafle.net/overflow/container_network/crawler/health"
	crawler "git.loafle.net/overflow/crawler-go"
)

type WMIHealthCrawler struct {
	health.SocketHeahthCrawler
}

func (c *WMIHealthCrawler) Name() string {
	return "WMI_HEALTH"
}

func (c *WMIHealthCrawler) String() string {
	return "WMI Health Crawler"
}

func (c *WMIHealthCrawler) Auth(auth map[string]interface{}) error {
	return nil
}

func (c *WMIHealthCrawler) Get(config *ocmsc.SensorConfig) (map[string]string, error) {
	rss, err := c.CheckHeahth(config)
	if err != nil {
		return nil, err
	}
	return rss, nil
}

func NewCrawler() crawler.Crawler {
	c := &WMIHealthCrawler{}
	c.SetMatcher(cnsmw.NewMatcher())
	return c
}