// Copyright Contributors to the Open Cluster Management project
// Code generated by client-gen. DO NOT EDIT.

package fake

import (
	gentype "k8s.io/client-go/gentype"
	workv1 "open-cluster-management.io/api/client/work/clientset/versioned/typed/work/v1"
	v1 "open-cluster-management.io/api/work/v1"
)

// fakeManifestWorks implements ManifestWorkInterface
type fakeManifestWorks struct {
	*gentype.FakeClientWithList[*v1.ManifestWork, *v1.ManifestWorkList]
	Fake *FakeWorkV1
}

func newFakeManifestWorks(fake *FakeWorkV1, namespace string) workv1.ManifestWorkInterface {
	return &fakeManifestWorks{
		gentype.NewFakeClientWithList[*v1.ManifestWork, *v1.ManifestWorkList](
			fake.Fake,
			namespace,
			v1.SchemeGroupVersion.WithResource("manifestworks"),
			v1.SchemeGroupVersion.WithKind("ManifestWork"),
			func() *v1.ManifestWork { return &v1.ManifestWork{} },
			func() *v1.ManifestWorkList { return &v1.ManifestWorkList{} },
			func(dst, src *v1.ManifestWorkList) { dst.ListMeta = src.ListMeta },
			func(list *v1.ManifestWorkList) []*v1.ManifestWork { return gentype.ToPointerSlice(list.Items) },
			func(list *v1.ManifestWorkList, items []*v1.ManifestWork) {
				list.Items = gentype.FromPointerSlice(items)
			},
		),
		fake,
	}
}
