// Code generated by goctl. DO NOT EDIT.
// Source: pcm-ceph.proto

package cephclient

import (
	"context"

	"gitlink.org.cn/jcce-pcm/pcm-participant-ceph/ceph"

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

type (
	AccOtJobInfo                = ceph.AccOtJobInfo
	AiCenterInfos               = ceph.AiCenterInfos
	AiCenterInfosResp           = ceph.AiCenterInfosResp
	DailyComputerPowers         = ceph.DailyComputerPowers
	DailyPowerScreenReq         = ceph.DailyPowerScreenReq
	DailyPowerScreenResp        = ceph.DailyPowerScreenResp
	PerCenterComputerPowers     = ceph.PerCenterComputerPowers
	PerCenterComputerPowersReq  = ceph.PerCenterComputerPowersReq
	PerCenterComputerPowersResp = ceph.PerCenterComputerPowersResp
	Resource                    = ceph.Resource
	StorageScreenReq            = ceph.StorageScreenReq
	StorageScreenResp           = ceph.StorageScreenResp

	Ceph interface {
		StorageScreen(ctx context.Context, in *StorageScreenReq, opts ...grpc.CallOption) (*StorageScreenResp, error)
		DailyPowerScreen(ctx context.Context, in *DailyPowerScreenReq, opts ...grpc.CallOption) (*DailyPowerScreenResp, error)
		PerCenterComputerPowerScreen(ctx context.Context, in *PerCenterComputerPowersReq, opts ...grpc.CallOption) (*PerCenterComputerPowersResp, error)
	}

	defaultCeph struct {
		cli zrpc.Client
	}
)

func NewCeph(cli zrpc.Client) Ceph {
	return &defaultCeph{
		cli: cli,
	}
}

func (m *defaultCeph) StorageScreen(ctx context.Context, in *StorageScreenReq, opts ...grpc.CallOption) (*StorageScreenResp, error) {
	client := ceph.NewCephClient(m.cli.Conn())
	return client.StorageScreen(ctx, in, opts...)
}

func (m *defaultCeph) DailyPowerScreen(ctx context.Context, in *DailyPowerScreenReq, opts ...grpc.CallOption) (*DailyPowerScreenResp, error) {
	client := ceph.NewCephClient(m.cli.Conn())
	return client.DailyPowerScreen(ctx, in, opts...)
}

func (m *defaultCeph) PerCenterComputerPowerScreen(ctx context.Context, in *PerCenterComputerPowersReq, opts ...grpc.CallOption) (*PerCenterComputerPowersResp, error) {
	client := ceph.NewCephClient(m.cli.Conn())
	return client.PerCenterComputerPowerScreen(ctx, in, opts...)
}
