// Code generated by protoc-gen-liverpc v0.1, DO NOT EDIT.
// source: v1/Remind.proto

package v1

import context "context"

import proto "github.com/golang/protobuf/proto"
import "go-common/library/net/rpc/liverpc"

var _ proto.Message // generate to suppress unused imports

// ================
// Remind Interface
// ================

type RemindRPCClient interface {
	// * 预约、取消提醒
	//
	Operate(ctx context.Context, req *RemindOperateReq, opts ...liverpc.CallOption) (resp *RemindOperateResp, err error)

	// * 查询预约状态
	//
	Query(ctx context.Context, req *RemindQueryReq, opts ...liverpc.CallOption) (resp *RemindQueryResp, err error)

	// * 预约、取消提醒
	//
	Submit(ctx context.Context, req *RemindSubmitReq, opts ...liverpc.CallOption) (resp *RemindSubmitResp, err error)

	// * 查询预约状态
	//
	Get(ctx context.Context, req *RemindGetReq, opts ...liverpc.CallOption) (resp *RemindGetResp, err error)
}

// ======================
// Remind Live Rpc Client
// ======================

type remindRPCClient struct {
	client *liverpc.Client
}

// NewRemindRPCClient creates a client that implements the RemindRPCClient interface.
func NewRemindRPCClient(client *liverpc.Client) RemindRPCClient {
	return &remindRPCClient{
		client: client,
	}
}

func (c *remindRPCClient) Operate(ctx context.Context, in *RemindOperateReq, opts ...liverpc.CallOption) (*RemindOperateResp, error) {
	out := new(RemindOperateResp)
	err := doRPCRequest(ctx, c.client, 1, "Remind.operate", in, out, opts)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *remindRPCClient) Query(ctx context.Context, in *RemindQueryReq, opts ...liverpc.CallOption) (*RemindQueryResp, error) {
	out := new(RemindQueryResp)
	err := doRPCRequest(ctx, c.client, 1, "Remind.query", in, out, opts)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *remindRPCClient) Submit(ctx context.Context, in *RemindSubmitReq, opts ...liverpc.CallOption) (*RemindSubmitResp, error) {
	out := new(RemindSubmitResp)
	err := doRPCRequest(ctx, c.client, 1, "Remind.submit", in, out, opts)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *remindRPCClient) Get(ctx context.Context, in *RemindGetReq, opts ...liverpc.CallOption) (*RemindGetResp, error) {
	out := new(RemindGetResp)
	err := doRPCRequest(ctx, c.client, 1, "Remind.get", in, out, opts)
	if err != nil {
		return nil, err
	}
	return out, nil
}
