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

package rtcservice

import (
	"context"

	"im-rtc/pb/rtc"

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

type (
	BoolValue                              = rtc.BoolValue
	BytesValue                             = rtc.BytesValue
	DeleteMeetingRecordsReq                = rtc.DeleteMeetingRecordsReq
	DeleteMeetingRecordsResp               = rtc.DeleteMeetingRecordsResp
	DeleteSignalRecordsReq                 = rtc.DeleteSignalRecordsReq
	DeleteSignalRecordsResp                = rtc.DeleteSignalRecordsResp
	DoubleValue                            = rtc.DoubleValue
	FileRecord                             = rtc.FileRecord
	FloatValue                             = rtc.FloatValue
	GetJoinTokenReq                        = rtc.GetJoinTokenReq
	GetJoinTokenResp                       = rtc.GetJoinTokenResp
	GetMeetingRecordsReq                   = rtc.GetMeetingRecordsReq
	GetMeetingRecordsResp                  = rtc.GetMeetingRecordsResp
	GetSignalInvitationInfoReq             = rtc.GetSignalInvitationInfoReq
	GetSignalInvitationInfoResp            = rtc.GetSignalInvitationInfoResp
	GetSignalInvitationInfoStartAppReq     = rtc.GetSignalInvitationInfoStartAppReq
	GetSignalInvitationInfoStartAppResp    = rtc.GetSignalInvitationInfoStartAppResp
	GetSignalInvitationRecordsReq          = rtc.GetSignalInvitationRecordsReq
	GetSignalInvitationRecordsResp         = rtc.GetSignalInvitationRecordsResp
	GroupInfo                              = rtc.GroupInfo
	GroupMemberFullInfo                    = rtc.GroupMemberFullInfo
	Int32Value                             = rtc.Int32Value
	Int64Value                             = rtc.Int64Value
	InvitationInfo                         = rtc.InvitationInfo
	MeetingInfo                            = rtc.MeetingInfo
	MeetingRecord                          = rtc.MeetingRecord
	MeetingUser                            = rtc.MeetingUser
	OfflinePushInfo                        = rtc.OfflinePushInfo
	ParticipantMetaData                    = rtc.ParticipantMetaData
	PublicUserInfo                         = rtc.PublicUserInfo
	RequestPagination                      = rtc.RequestPagination
	SignalAcceptReq                        = rtc.SignalAcceptReq
	SignalAcceptResp                       = rtc.SignalAcceptResp
	SignalCancelReq                        = rtc.SignalCancelReq
	SignalCancelResp                       = rtc.SignalCancelResp
	SignalCloseRoomReq                     = rtc.SignalCloseRoomReq
	SignalCloseRoomResp                    = rtc.SignalCloseRoomResp
	SignalCreateMeetingReq                 = rtc.SignalCreateMeetingReq
	SignalCreateMeetingResp                = rtc.SignalCreateMeetingResp
	SignalGetMeetingsReq                   = rtc.SignalGetMeetingsReq
	SignalGetMeetingsResp                  = rtc.SignalGetMeetingsResp
	SignalGetRoomByGroupIDReq              = rtc.SignalGetRoomByGroupIDReq
	SignalGetRoomByGroupIDResp             = rtc.SignalGetRoomByGroupIDResp
	SignalGetRoomsReq                      = rtc.SignalGetRoomsReq
	SignalGetRoomsResp                     = rtc.SignalGetRoomsResp
	SignalGetTokenByRoomIDReq              = rtc.SignalGetTokenByRoomIDReq
	SignalGetTokenByRoomIDResp             = rtc.SignalGetTokenByRoomIDResp
	SignalHungUpReq                        = rtc.SignalHungUpReq
	SignalHungUpResp                       = rtc.SignalHungUpResp
	SignalInviteInGroupReq                 = rtc.SignalInviteInGroupReq
	SignalInviteInGroupResp                = rtc.SignalInviteInGroupResp
	SignalInviteReq                        = rtc.SignalInviteReq
	SignalInviteResp                       = rtc.SignalInviteResp
	SignalJoinMeetingReq                   = rtc.SignalJoinMeetingReq
	SignalJoinMeetingResp                  = rtc.SignalJoinMeetingResp
	SignalMessageAssembleReq               = rtc.SignalMessageAssembleReq
	SignalMessageAssembleResp              = rtc.SignalMessageAssembleResp
	SignalOnRoomParticipantConnectedReq    = rtc.SignalOnRoomParticipantConnectedReq
	SignalOnRoomParticipantDisconnectedReq = rtc.SignalOnRoomParticipantDisconnectedReq
	SignalOnStreamChangeReq                = rtc.SignalOnStreamChangeReq
	SignalOperateStreamReq                 = rtc.SignalOperateStreamReq
	SignalOperateStreamResp                = rtc.SignalOperateStreamResp
	SignalRecord                           = rtc.SignalRecord
	SignalRejectReq                        = rtc.SignalRejectReq
	SignalRejectResp                       = rtc.SignalRejectResp
	SignalReq                              = rtc.SignalReq
	SignalResp                             = rtc.SignalResp
	SignalSendCustomSignalReq              = rtc.SignalSendCustomSignalReq
	SignalSendCustomSignalResp             = rtc.SignalSendCustomSignalResp
	SignalUpdateMeetingInfoReq             = rtc.SignalUpdateMeetingInfoReq
	SignalUpdateMeetingInfoResp            = rtc.SignalUpdateMeetingInfoResp
	SignalUser                             = rtc.SignalUser
	StringValue                            = rtc.StringValue
	UInt32Value                            = rtc.UInt32Value
	UInt64Value                            = rtc.UInt64Value
	UserInfo                               = rtc.UserInfo

	RtcService interface {
		SignalMessageAssemble(ctx context.Context, in *SignalMessageAssembleReq, opts ...grpc.CallOption) (*SignalMessageAssembleResp, error)
		SignalGetRoomByGroupID(ctx context.Context, in *SignalGetRoomByGroupIDReq, opts ...grpc.CallOption) (*SignalGetRoomByGroupIDResp, error)
		SignalGetTokenByRoomID(ctx context.Context, in *SignalGetTokenByRoomIDReq, opts ...grpc.CallOption) (*SignalGetTokenByRoomIDResp, error)
		SignalGetRooms(ctx context.Context, in *SignalGetRoomsReq, opts ...grpc.CallOption) (*SignalGetRoomsResp, error)
		GetSignalInvitationInfo(ctx context.Context, in *GetSignalInvitationInfoReq, opts ...grpc.CallOption) (*GetSignalInvitationInfoResp, error)
		GetSignalInvitationInfoStartApp(ctx context.Context, in *GetSignalInvitationInfoStartAppReq, opts ...grpc.CallOption) (*GetSignalInvitationInfoStartAppResp, error)
		// meeting
		SignalCreateMeeting(ctx context.Context, in *SignalCreateMeetingReq, opts ...grpc.CallOption) (*SignalCreateMeetingResp, error)
		SignalJoinMeeting(ctx context.Context, in *SignalJoinMeetingReq, opts ...grpc.CallOption) (*SignalJoinMeetingResp, error)
		SignalUpdateMeetingInfo(ctx context.Context, in *SignalUpdateMeetingInfoReq, opts ...grpc.CallOption) (*SignalUpdateMeetingInfoResp, error)
		SignalCloseRoom(ctx context.Context, in *SignalCloseRoomReq, opts ...grpc.CallOption) (*SignalCloseRoomResp, error)
		SignalGetMeetings(ctx context.Context, in *SignalGetMeetingsReq, opts ...grpc.CallOption) (*SignalGetMeetingsResp, error)
		SignalOperateStream(ctx context.Context, in *SignalOperateStreamReq, opts ...grpc.CallOption) (*SignalOperateStreamResp, error)
		// custom signal
		SignalSendCustomSignal(ctx context.Context, in *SignalSendCustomSignalReq, opts ...grpc.CallOption) (*SignalSendCustomSignalResp, error)
		// rtc cms
		GetSignalInvitationRecords(ctx context.Context, in *GetSignalInvitationRecordsReq, opts ...grpc.CallOption) (*GetSignalInvitationRecordsResp, error)
		DeleteSignalRecords(ctx context.Context, in *DeleteSignalRecordsReq, opts ...grpc.CallOption) (*DeleteSignalRecordsResp, error)
		GetMeetingRecords(ctx context.Context, in *GetMeetingRecordsReq, opts ...grpc.CallOption) (*GetMeetingRecordsResp, error)
		DeleteMeetingRecords(ctx context.Context, in *DeleteMeetingRecordsReq, opts ...grpc.CallOption) (*DeleteMeetingRecordsResp, error)
	}

	defaultRtcService struct {
		cli zrpc.Client
	}
)

func NewRtcService(cli zrpc.Client) RtcService {
	return &defaultRtcService{
		cli: cli,
	}
}

func (m *defaultRtcService) SignalMessageAssemble(ctx context.Context, in *SignalMessageAssembleReq, opts ...grpc.CallOption) (*SignalMessageAssembleResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalMessageAssemble(ctx, in, opts...)
}

func (m *defaultRtcService) SignalGetRoomByGroupID(ctx context.Context, in *SignalGetRoomByGroupIDReq, opts ...grpc.CallOption) (*SignalGetRoomByGroupIDResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalGetRoomByGroupID(ctx, in, opts...)
}

func (m *defaultRtcService) SignalGetTokenByRoomID(ctx context.Context, in *SignalGetTokenByRoomIDReq, opts ...grpc.CallOption) (*SignalGetTokenByRoomIDResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalGetTokenByRoomID(ctx, in, opts...)
}

func (m *defaultRtcService) SignalGetRooms(ctx context.Context, in *SignalGetRoomsReq, opts ...grpc.CallOption) (*SignalGetRoomsResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalGetRooms(ctx, in, opts...)
}

func (m *defaultRtcService) GetSignalInvitationInfo(ctx context.Context, in *GetSignalInvitationInfoReq, opts ...grpc.CallOption) (*GetSignalInvitationInfoResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.GetSignalInvitationInfo(ctx, in, opts...)
}

func (m *defaultRtcService) GetSignalInvitationInfoStartApp(ctx context.Context, in *GetSignalInvitationInfoStartAppReq, opts ...grpc.CallOption) (*GetSignalInvitationInfoStartAppResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.GetSignalInvitationInfoStartApp(ctx, in, opts...)
}

// meeting
func (m *defaultRtcService) SignalCreateMeeting(ctx context.Context, in *SignalCreateMeetingReq, opts ...grpc.CallOption) (*SignalCreateMeetingResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalCreateMeeting(ctx, in, opts...)
}

func (m *defaultRtcService) SignalJoinMeeting(ctx context.Context, in *SignalJoinMeetingReq, opts ...grpc.CallOption) (*SignalJoinMeetingResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalJoinMeeting(ctx, in, opts...)
}

func (m *defaultRtcService) SignalUpdateMeetingInfo(ctx context.Context, in *SignalUpdateMeetingInfoReq, opts ...grpc.CallOption) (*SignalUpdateMeetingInfoResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalUpdateMeetingInfo(ctx, in, opts...)
}

func (m *defaultRtcService) SignalCloseRoom(ctx context.Context, in *SignalCloseRoomReq, opts ...grpc.CallOption) (*SignalCloseRoomResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalCloseRoom(ctx, in, opts...)
}

func (m *defaultRtcService) SignalGetMeetings(ctx context.Context, in *SignalGetMeetingsReq, opts ...grpc.CallOption) (*SignalGetMeetingsResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalGetMeetings(ctx, in, opts...)
}

func (m *defaultRtcService) SignalOperateStream(ctx context.Context, in *SignalOperateStreamReq, opts ...grpc.CallOption) (*SignalOperateStreamResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalOperateStream(ctx, in, opts...)
}

// custom signal
func (m *defaultRtcService) SignalSendCustomSignal(ctx context.Context, in *SignalSendCustomSignalReq, opts ...grpc.CallOption) (*SignalSendCustomSignalResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.SignalSendCustomSignal(ctx, in, opts...)
}

// rtc cms
func (m *defaultRtcService) GetSignalInvitationRecords(ctx context.Context, in *GetSignalInvitationRecordsReq, opts ...grpc.CallOption) (*GetSignalInvitationRecordsResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.GetSignalInvitationRecords(ctx, in, opts...)
}

func (m *defaultRtcService) DeleteSignalRecords(ctx context.Context, in *DeleteSignalRecordsReq, opts ...grpc.CallOption) (*DeleteSignalRecordsResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.DeleteSignalRecords(ctx, in, opts...)
}

func (m *defaultRtcService) GetMeetingRecords(ctx context.Context, in *GetMeetingRecordsReq, opts ...grpc.CallOption) (*GetMeetingRecordsResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.GetMeetingRecords(ctx, in, opts...)
}

func (m *defaultRtcService) DeleteMeetingRecords(ctx context.Context, in *DeleteMeetingRecordsReq, opts ...grpc.CallOption) (*DeleteMeetingRecordsResp, error) {
	client := rtc.NewRtcServiceClient(m.cli.Conn())
	return client.DeleteMeetingRecords(ctx, in, opts...)
}
