// Code generated by goctl. DO NOT EDIT.
// Source: pcmCore.proto

package pcmcore

import (
	"context"

	"gitlink.org.cn/JointCloud/pcm-coordinator/rpc/pcmCore"

	"github.com/zeromicro/go-zero/zrpc"
	"google.golang.org/grpc"
)

type (
	AiInfo                   = pcmCore.AiInfo
	ApplyInfo                = pcmCore.ApplyInfo
	ApplyListReq             = pcmCore.ApplyListReq
	ApplyListResp            = pcmCore.ApplyListResp
	ClientInfo               = pcmCore.ClientInfo
	CloudInfo                = pcmCore.CloudInfo
	HealthCheckResp          = pcmCore.HealthCheckResp
	HpcInfo                  = pcmCore.HpcInfo
	InfoListReq              = pcmCore.InfoListReq
	InfoListResp             = pcmCore.InfoListResp
	ListParticipantAvailResp = pcmCore.ListParticipantAvailResp
	ListParticipantPhyResp   = pcmCore.ListParticipantPhyResp
	ListTenantResp           = pcmCore.ListTenantResp
	NodeAvailInfo            = pcmCore.NodeAvailInfo
	NodePhyInfo              = pcmCore.NodePhyInfo
	ParticipantAvailReq      = pcmCore.ParticipantAvailReq
	ParticipantHeartbeatReq  = pcmCore.ParticipantHeartbeatReq
	ParticipantLabel         = pcmCore.ParticipantLabel
	ParticipantPhyReq        = pcmCore.ParticipantPhyReq
	ParticipantPhyResp       = pcmCore.ParticipantPhyResp
	ParticipantResp          = pcmCore.ParticipantResp
	ParticipantServiceResp   = pcmCore.ParticipantServiceResp
	ParticipantTenant        = pcmCore.ParticipantTenant
	QueuePhyInfo             = pcmCore.QueuePhyInfo
	SyncInfoReq              = pcmCore.SyncInfoReq
	SyncInfoResp             = pcmCore.SyncInfoResp
	TenantInfo               = pcmCore.TenantInfo
	TenantResp               = pcmCore.TenantResp
	VmInfo                   = pcmCore.VmInfo

	PcmCore interface {
		// SyncInfo Synchronous data information
		SyncInfo(ctx context.Context, in *SyncInfoReq, opts ...grpc.CallOption) (*SyncInfoResp, error)
		// InfoList
		InfoList(ctx context.Context, in *InfoListReq, opts ...grpc.CallOption) (*InfoListResp, error)
	}

	defaultPcmCore struct {
		cli zrpc.Client
	}
)

func NewPcmCore(cli zrpc.Client) PcmCore {
	return &defaultPcmCore{
		cli: cli,
	}
}

// SyncInfo Synchronous data information
func (m *defaultPcmCore) SyncInfo(ctx context.Context, in *SyncInfoReq, opts ...grpc.CallOption) (*SyncInfoResp, error) {
	client := pcmCore.NewPcmCoreClient(m.cli.Conn())
	return client.SyncInfo(ctx, in, opts...)
}

// InfoList
func (m *defaultPcmCore) InfoList(ctx context.Context, in *InfoListReq, opts ...grpc.CallOption) (*InfoListResp, error) {
	client := pcmCore.NewPcmCoreClient(m.cli.Conn())
	return client.InfoList(ctx, in, opts...)
}
