/*
 * This file is part of the KubeVirt project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Copyright The KubeVirt Authors.
 *
 */

// Code generated by client-gen. DO NOT EDIT.

package fake

import (
	gentype "k8s.io/client-go/gentype"
	v1alpha1 "kubevirt.io/virt-template-api/core/v1alpha1"
	corev1alpha1 "kubevirt.io/virt-template-client-go/virttemplate/typed/core/v1alpha1"
)

// fakeVirtualMachineTemplateRequests implements VirtualMachineTemplateRequestInterface
type fakeVirtualMachineTemplateRequests struct {
	*gentype.FakeClientWithList[*v1alpha1.VirtualMachineTemplateRequest, *v1alpha1.VirtualMachineTemplateRequestList]
	Fake *FakeTemplateV1alpha1
}

func newFakeVirtualMachineTemplateRequests(fake *FakeTemplateV1alpha1, namespace string) corev1alpha1.VirtualMachineTemplateRequestInterface {
	return &fakeVirtualMachineTemplateRequests{
		gentype.NewFakeClientWithList[*v1alpha1.VirtualMachineTemplateRequest, *v1alpha1.VirtualMachineTemplateRequestList](
			fake.Fake,
			namespace,
			v1alpha1.SchemeGroupVersion.WithResource("virtualmachinetemplaterequests"),
			v1alpha1.SchemeGroupVersion.WithKind("VirtualMachineTemplateRequest"),
			func() *v1alpha1.VirtualMachineTemplateRequest { return &v1alpha1.VirtualMachineTemplateRequest{} },
			func() *v1alpha1.VirtualMachineTemplateRequestList {
				return &v1alpha1.VirtualMachineTemplateRequestList{}
			},
			func(dst, src *v1alpha1.VirtualMachineTemplateRequestList) { dst.ListMeta = src.ListMeta },
			func(list *v1alpha1.VirtualMachineTemplateRequestList) []*v1alpha1.VirtualMachineTemplateRequest {
				return gentype.ToPointerSlice(list.Items)
			},
			func(list *v1alpha1.VirtualMachineTemplateRequestList, items []*v1alpha1.VirtualMachineTemplateRequest) {
				list.Items = gentype.FromPointerSlice(items)
			},
		),
		fake,
	}
}
