// Automatically generated by mockimpl. DO NOT EDIT!

package mock

import "github.com/fleetdm/fleet/v4/server/fleet"

var _ fleet.SoftwareStore = (*SoftwareStore)(nil)

type SaveHostSoftwareFunc func(host *fleet.Host) error

type LoadHostSoftwareFunc func(host *fleet.Host) error

type AllSoftwareWithoutCPEIteratorFunc func() (fleet.SoftwareIterator, error)

type AddCPEForSoftwareFunc func(software fleet.Software, cpe string) error

type AllCPEsFunc func() ([]string, error)

type InsertCVEForCPEFunc func(cve string, cpes []string) error

type SoftwareStore struct {
	SaveHostSoftwareFunc        SaveHostSoftwareFunc
	SaveHostSoftwareFuncInvoked bool

	LoadHostSoftwareFunc        LoadHostSoftwareFunc
	LoadHostSoftwareFuncInvoked bool

	AllSoftwareWithoutCPEIteratorFunc        AllSoftwareWithoutCPEIteratorFunc
	AllSoftwareWithoutCPEIteratorFuncInvoked bool

	AddCPEForSoftwareFunc        AddCPEForSoftwareFunc
	AddCPEForSoftwareFuncInvoked bool

	AllCPEsFunc        AllCPEsFunc
	AllCPEsFuncInvoked bool

	InsertCVEForCPEFunc        InsertCVEForCPEFunc
	InsertCVEForCPEFuncInvoked bool
}

func (s *SoftwareStore) SaveHostSoftware(host *fleet.Host) error {
	s.SaveHostSoftwareFuncInvoked = true
	return s.SaveHostSoftwareFunc(host)
}

func (s *SoftwareStore) LoadHostSoftware(host *fleet.Host) error {
	s.LoadHostSoftwareFuncInvoked = true
	return s.LoadHostSoftwareFunc(host)
}

func (s *SoftwareStore) AllSoftwareWithoutCPEIterator() (fleet.SoftwareIterator, error) {
	s.AllSoftwareWithoutCPEIteratorFuncInvoked = true
	return s.AllSoftwareWithoutCPEIteratorFunc()
}

func (s *SoftwareStore) AddCPEForSoftware(software fleet.Software, cpe string) error {
	s.AddCPEForSoftwareFuncInvoked = true
	return s.AddCPEForSoftwareFunc(software, cpe)
}

func (s *SoftwareStore) AllCPEs() ([]string, error) {
	s.AllCPEsFuncInvoked = true
	return s.AllCPEsFunc()
}

func (s *SoftwareStore) InsertCVEForCPE(cve string, cpes []string) error {
	s.InsertCVEForCPEFuncInvoked = true
	return s.InsertCVEForCPEFunc(cve, cpes)
}
