// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc             v3.21.12
// source: internal/native/proto/native.proto

package proto

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.62.0 or later.
const _ = grpc.SupportPackageIsVersion8

const (
	NativeService_IsReady_FullMethodName                           = "/native.NativeService/IsReady"
	NativeService_VideoSetSleepMode_FullMethodName                 = "/native.NativeService/VideoSetSleepMode"
	NativeService_VideoGetSleepMode_FullMethodName                 = "/native.NativeService/VideoGetSleepMode"
	NativeService_VideoSleepModeSupported_FullMethodName           = "/native.NativeService/VideoSleepModeSupported"
	NativeService_VideoSetQualityFactor_FullMethodName             = "/native.NativeService/VideoSetQualityFactor"
	NativeService_VideoGetQualityFactor_FullMethodName             = "/native.NativeService/VideoGetQualityFactor"
	NativeService_VideoSetEDID_FullMethodName                      = "/native.NativeService/VideoSetEDID"
	NativeService_VideoGetEDID_FullMethodName                      = "/native.NativeService/VideoGetEDID"
	NativeService_VideoLogStatus_FullMethodName                    = "/native.NativeService/VideoLogStatus"
	NativeService_VideoStop_FullMethodName                         = "/native.NativeService/VideoStop"
	NativeService_VideoStart_FullMethodName                        = "/native.NativeService/VideoStart"
	NativeService_GetLVGLVersion_FullMethodName                    = "/native.NativeService/GetLVGLVersion"
	NativeService_UIObjHide_FullMethodName                         = "/native.NativeService/UIObjHide"
	NativeService_UIObjShow_FullMethodName                         = "/native.NativeService/UIObjShow"
	NativeService_UISetVar_FullMethodName                          = "/native.NativeService/UISetVar"
	NativeService_UIGetVar_FullMethodName                          = "/native.NativeService/UIGetVar"
	NativeService_UIObjAddState_FullMethodName                     = "/native.NativeService/UIObjAddState"
	NativeService_UIObjClearState_FullMethodName                   = "/native.NativeService/UIObjClearState"
	NativeService_UIObjAddFlag_FullMethodName                      = "/native.NativeService/UIObjAddFlag"
	NativeService_UIObjClearFlag_FullMethodName                    = "/native.NativeService/UIObjClearFlag"
	NativeService_UIObjSetOpacity_FullMethodName                   = "/native.NativeService/UIObjSetOpacity"
	NativeService_UIObjFadeIn_FullMethodName                       = "/native.NativeService/UIObjFadeIn"
	NativeService_UIObjFadeOut_FullMethodName                      = "/native.NativeService/UIObjFadeOut"
	NativeService_UIObjSetLabelText_FullMethodName                 = "/native.NativeService/UIObjSetLabelText"
	NativeService_UIObjSetImageSrc_FullMethodName                  = "/native.NativeService/UIObjSetImageSrc"
	NativeService_DisplaySetRotation_FullMethodName                = "/native.NativeService/DisplaySetRotation"
	NativeService_UpdateLabelIfChanged_FullMethodName              = "/native.NativeService/UpdateLabelIfChanged"
	NativeService_UpdateLabelAndChangeVisibility_FullMethodName    = "/native.NativeService/UpdateLabelAndChangeVisibility"
	NativeService_SwitchToScreenIf_FullMethodName                  = "/native.NativeService/SwitchToScreenIf"
	NativeService_SwitchToScreenIfDifferent_FullMethodName         = "/native.NativeService/SwitchToScreenIfDifferent"
	NativeService_DoNotUseThisIsForCrashTestingOnly_FullMethodName = "/native.NativeService/DoNotUseThisIsForCrashTestingOnly"
	NativeService_StreamEvents_FullMethodName                      = "/native.NativeService/StreamEvents"
)

// NativeServiceClient is the client API for NativeService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type NativeServiceClient interface {
	// Ready check
	IsReady(ctx context.Context, in *IsReadyRequest, opts ...grpc.CallOption) (*IsReadyResponse, error)
	// Video methods
	VideoSetSleepMode(ctx context.Context, in *VideoSetSleepModeRequest, opts ...grpc.CallOption) (*Empty, error)
	VideoGetSleepMode(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoGetSleepModeResponse, error)
	VideoSleepModeSupported(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoSleepModeSupportedResponse, error)
	VideoSetQualityFactor(ctx context.Context, in *VideoSetQualityFactorRequest, opts ...grpc.CallOption) (*Empty, error)
	VideoGetQualityFactor(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoGetQualityFactorResponse, error)
	VideoSetEDID(ctx context.Context, in *VideoSetEDIDRequest, opts ...grpc.CallOption) (*Empty, error)
	VideoGetEDID(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoGetEDIDResponse, error)
	VideoLogStatus(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoLogStatusResponse, error)
	VideoStop(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	VideoStart(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	// UI methods
	GetLVGLVersion(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*GetLVGLVersionResponse, error)
	UIObjHide(ctx context.Context, in *UIObjHideRequest, opts ...grpc.CallOption) (*UIObjHideResponse, error)
	UIObjShow(ctx context.Context, in *UIObjShowRequest, opts ...grpc.CallOption) (*UIObjShowResponse, error)
	UISetVar(ctx context.Context, in *UISetVarRequest, opts ...grpc.CallOption) (*Empty, error)
	UIGetVar(ctx context.Context, in *UIGetVarRequest, opts ...grpc.CallOption) (*UIGetVarResponse, error)
	UIObjAddState(ctx context.Context, in *UIObjAddStateRequest, opts ...grpc.CallOption) (*UIObjAddStateResponse, error)
	UIObjClearState(ctx context.Context, in *UIObjClearStateRequest, opts ...grpc.CallOption) (*UIObjClearStateResponse, error)
	UIObjAddFlag(ctx context.Context, in *UIObjAddFlagRequest, opts ...grpc.CallOption) (*UIObjAddFlagResponse, error)
	UIObjClearFlag(ctx context.Context, in *UIObjClearFlagRequest, opts ...grpc.CallOption) (*UIObjClearFlagResponse, error)
	UIObjSetOpacity(ctx context.Context, in *UIObjSetOpacityRequest, opts ...grpc.CallOption) (*UIObjSetOpacityResponse, error)
	UIObjFadeIn(ctx context.Context, in *UIObjFadeInRequest, opts ...grpc.CallOption) (*UIObjFadeInResponse, error)
	UIObjFadeOut(ctx context.Context, in *UIObjFadeOutRequest, opts ...grpc.CallOption) (*UIObjFadeOutResponse, error)
	UIObjSetLabelText(ctx context.Context, in *UIObjSetLabelTextRequest, opts ...grpc.CallOption) (*UIObjSetLabelTextResponse, error)
	UIObjSetImageSrc(ctx context.Context, in *UIObjSetImageSrcRequest, opts ...grpc.CallOption) (*UIObjSetImageSrcResponse, error)
	DisplaySetRotation(ctx context.Context, in *DisplaySetRotationRequest, opts ...grpc.CallOption) (*DisplaySetRotationResponse, error)
	UpdateLabelIfChanged(ctx context.Context, in *UpdateLabelIfChangedRequest, opts ...grpc.CallOption) (*Empty, error)
	UpdateLabelAndChangeVisibility(ctx context.Context, in *UpdateLabelAndChangeVisibilityRequest, opts ...grpc.CallOption) (*Empty, error)
	SwitchToScreenIf(ctx context.Context, in *SwitchToScreenIfRequest, opts ...grpc.CallOption) (*Empty, error)
	SwitchToScreenIfDifferent(ctx context.Context, in *SwitchToScreenIfDifferentRequest, opts ...grpc.CallOption) (*Empty, error)
	// Testing
	DoNotUseThisIsForCrashTestingOnly(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
	// Events stream
	StreamEvents(ctx context.Context, in *Empty, opts ...grpc.CallOption) (NativeService_StreamEventsClient, error)
}

type nativeServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewNativeServiceClient(cc grpc.ClientConnInterface) NativeServiceClient {
	return &nativeServiceClient{cc}
}

func (c *nativeServiceClient) IsReady(ctx context.Context, in *IsReadyRequest, opts ...grpc.CallOption) (*IsReadyResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(IsReadyResponse)
	err := c.cc.Invoke(ctx, NativeService_IsReady_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoSetSleepMode(ctx context.Context, in *VideoSetSleepModeRequest, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_VideoSetSleepMode_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoGetSleepMode(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoGetSleepModeResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(VideoGetSleepModeResponse)
	err := c.cc.Invoke(ctx, NativeService_VideoGetSleepMode_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoSleepModeSupported(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoSleepModeSupportedResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(VideoSleepModeSupportedResponse)
	err := c.cc.Invoke(ctx, NativeService_VideoSleepModeSupported_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoSetQualityFactor(ctx context.Context, in *VideoSetQualityFactorRequest, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_VideoSetQualityFactor_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoGetQualityFactor(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoGetQualityFactorResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(VideoGetQualityFactorResponse)
	err := c.cc.Invoke(ctx, NativeService_VideoGetQualityFactor_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoSetEDID(ctx context.Context, in *VideoSetEDIDRequest, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_VideoSetEDID_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoGetEDID(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoGetEDIDResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(VideoGetEDIDResponse)
	err := c.cc.Invoke(ctx, NativeService_VideoGetEDID_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoLogStatus(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VideoLogStatusResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(VideoLogStatusResponse)
	err := c.cc.Invoke(ctx, NativeService_VideoLogStatus_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoStop(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_VideoStop_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) VideoStart(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_VideoStart_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) GetLVGLVersion(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*GetLVGLVersionResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetLVGLVersionResponse)
	err := c.cc.Invoke(ctx, NativeService_GetLVGLVersion_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjHide(ctx context.Context, in *UIObjHideRequest, opts ...grpc.CallOption) (*UIObjHideResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjHideResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjHide_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjShow(ctx context.Context, in *UIObjShowRequest, opts ...grpc.CallOption) (*UIObjShowResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjShowResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjShow_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UISetVar(ctx context.Context, in *UISetVarRequest, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_UISetVar_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIGetVar(ctx context.Context, in *UIGetVarRequest, opts ...grpc.CallOption) (*UIGetVarResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIGetVarResponse)
	err := c.cc.Invoke(ctx, NativeService_UIGetVar_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjAddState(ctx context.Context, in *UIObjAddStateRequest, opts ...grpc.CallOption) (*UIObjAddStateResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjAddStateResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjAddState_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjClearState(ctx context.Context, in *UIObjClearStateRequest, opts ...grpc.CallOption) (*UIObjClearStateResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjClearStateResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjClearState_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjAddFlag(ctx context.Context, in *UIObjAddFlagRequest, opts ...grpc.CallOption) (*UIObjAddFlagResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjAddFlagResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjAddFlag_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjClearFlag(ctx context.Context, in *UIObjClearFlagRequest, opts ...grpc.CallOption) (*UIObjClearFlagResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjClearFlagResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjClearFlag_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjSetOpacity(ctx context.Context, in *UIObjSetOpacityRequest, opts ...grpc.CallOption) (*UIObjSetOpacityResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjSetOpacityResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjSetOpacity_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjFadeIn(ctx context.Context, in *UIObjFadeInRequest, opts ...grpc.CallOption) (*UIObjFadeInResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjFadeInResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjFadeIn_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjFadeOut(ctx context.Context, in *UIObjFadeOutRequest, opts ...grpc.CallOption) (*UIObjFadeOutResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjFadeOutResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjFadeOut_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjSetLabelText(ctx context.Context, in *UIObjSetLabelTextRequest, opts ...grpc.CallOption) (*UIObjSetLabelTextResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjSetLabelTextResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjSetLabelText_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UIObjSetImageSrc(ctx context.Context, in *UIObjSetImageSrcRequest, opts ...grpc.CallOption) (*UIObjSetImageSrcResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UIObjSetImageSrcResponse)
	err := c.cc.Invoke(ctx, NativeService_UIObjSetImageSrc_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) DisplaySetRotation(ctx context.Context, in *DisplaySetRotationRequest, opts ...grpc.CallOption) (*DisplaySetRotationResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DisplaySetRotationResponse)
	err := c.cc.Invoke(ctx, NativeService_DisplaySetRotation_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UpdateLabelIfChanged(ctx context.Context, in *UpdateLabelIfChangedRequest, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_UpdateLabelIfChanged_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) UpdateLabelAndChangeVisibility(ctx context.Context, in *UpdateLabelAndChangeVisibilityRequest, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_UpdateLabelAndChangeVisibility_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) SwitchToScreenIf(ctx context.Context, in *SwitchToScreenIfRequest, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_SwitchToScreenIf_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) SwitchToScreenIfDifferent(ctx context.Context, in *SwitchToScreenIfDifferentRequest, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_SwitchToScreenIfDifferent_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) DoNotUseThisIsForCrashTestingOnly(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Empty)
	err := c.cc.Invoke(ctx, NativeService_DoNotUseThisIsForCrashTestingOnly_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nativeServiceClient) StreamEvents(ctx context.Context, in *Empty, opts ...grpc.CallOption) (NativeService_StreamEventsClient, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &NativeService_ServiceDesc.Streams[0], NativeService_StreamEvents_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &nativeServiceStreamEventsClient{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NativeService_StreamEventsClient interface {
	Recv() (*Event, error)
	grpc.ClientStream
}

type nativeServiceStreamEventsClient struct {
	grpc.ClientStream
}

func (x *nativeServiceStreamEventsClient) Recv() (*Event, error) {
	m := new(Event)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

// NativeServiceServer is the server API for NativeService service.
// All implementations must embed UnimplementedNativeServiceServer
// for forward compatibility
type NativeServiceServer interface {
	// Ready check
	IsReady(context.Context, *IsReadyRequest) (*IsReadyResponse, error)
	// Video methods
	VideoSetSleepMode(context.Context, *VideoSetSleepModeRequest) (*Empty, error)
	VideoGetSleepMode(context.Context, *Empty) (*VideoGetSleepModeResponse, error)
	VideoSleepModeSupported(context.Context, *Empty) (*VideoSleepModeSupportedResponse, error)
	VideoSetQualityFactor(context.Context, *VideoSetQualityFactorRequest) (*Empty, error)
	VideoGetQualityFactor(context.Context, *Empty) (*VideoGetQualityFactorResponse, error)
	VideoSetEDID(context.Context, *VideoSetEDIDRequest) (*Empty, error)
	VideoGetEDID(context.Context, *Empty) (*VideoGetEDIDResponse, error)
	VideoLogStatus(context.Context, *Empty) (*VideoLogStatusResponse, error)
	VideoStop(context.Context, *Empty) (*Empty, error)
	VideoStart(context.Context, *Empty) (*Empty, error)
	// UI methods
	GetLVGLVersion(context.Context, *Empty) (*GetLVGLVersionResponse, error)
	UIObjHide(context.Context, *UIObjHideRequest) (*UIObjHideResponse, error)
	UIObjShow(context.Context, *UIObjShowRequest) (*UIObjShowResponse, error)
	UISetVar(context.Context, *UISetVarRequest) (*Empty, error)
	UIGetVar(context.Context, *UIGetVarRequest) (*UIGetVarResponse, error)
	UIObjAddState(context.Context, *UIObjAddStateRequest) (*UIObjAddStateResponse, error)
	UIObjClearState(context.Context, *UIObjClearStateRequest) (*UIObjClearStateResponse, error)
	UIObjAddFlag(context.Context, *UIObjAddFlagRequest) (*UIObjAddFlagResponse, error)
	UIObjClearFlag(context.Context, *UIObjClearFlagRequest) (*UIObjClearFlagResponse, error)
	UIObjSetOpacity(context.Context, *UIObjSetOpacityRequest) (*UIObjSetOpacityResponse, error)
	UIObjFadeIn(context.Context, *UIObjFadeInRequest) (*UIObjFadeInResponse, error)
	UIObjFadeOut(context.Context, *UIObjFadeOutRequest) (*UIObjFadeOutResponse, error)
	UIObjSetLabelText(context.Context, *UIObjSetLabelTextRequest) (*UIObjSetLabelTextResponse, error)
	UIObjSetImageSrc(context.Context, *UIObjSetImageSrcRequest) (*UIObjSetImageSrcResponse, error)
	DisplaySetRotation(context.Context, *DisplaySetRotationRequest) (*DisplaySetRotationResponse, error)
	UpdateLabelIfChanged(context.Context, *UpdateLabelIfChangedRequest) (*Empty, error)
	UpdateLabelAndChangeVisibility(context.Context, *UpdateLabelAndChangeVisibilityRequest) (*Empty, error)
	SwitchToScreenIf(context.Context, *SwitchToScreenIfRequest) (*Empty, error)
	SwitchToScreenIfDifferent(context.Context, *SwitchToScreenIfDifferentRequest) (*Empty, error)
	// Testing
	DoNotUseThisIsForCrashTestingOnly(context.Context, *Empty) (*Empty, error)
	// Events stream
	StreamEvents(*Empty, NativeService_StreamEventsServer) error
	mustEmbedUnimplementedNativeServiceServer()
}

// UnimplementedNativeServiceServer must be embedded to have forward compatible implementations.
type UnimplementedNativeServiceServer struct {
}

func (UnimplementedNativeServiceServer) IsReady(context.Context, *IsReadyRequest) (*IsReadyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method IsReady not implemented")
}
func (UnimplementedNativeServiceServer) VideoSetSleepMode(context.Context, *VideoSetSleepModeRequest) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoSetSleepMode not implemented")
}
func (UnimplementedNativeServiceServer) VideoGetSleepMode(context.Context, *Empty) (*VideoGetSleepModeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoGetSleepMode not implemented")
}
func (UnimplementedNativeServiceServer) VideoSleepModeSupported(context.Context, *Empty) (*VideoSleepModeSupportedResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoSleepModeSupported not implemented")
}
func (UnimplementedNativeServiceServer) VideoSetQualityFactor(context.Context, *VideoSetQualityFactorRequest) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoSetQualityFactor not implemented")
}
func (UnimplementedNativeServiceServer) VideoGetQualityFactor(context.Context, *Empty) (*VideoGetQualityFactorResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoGetQualityFactor not implemented")
}
func (UnimplementedNativeServiceServer) VideoSetEDID(context.Context, *VideoSetEDIDRequest) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoSetEDID not implemented")
}
func (UnimplementedNativeServiceServer) VideoGetEDID(context.Context, *Empty) (*VideoGetEDIDResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoGetEDID not implemented")
}
func (UnimplementedNativeServiceServer) VideoLogStatus(context.Context, *Empty) (*VideoLogStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoLogStatus not implemented")
}
func (UnimplementedNativeServiceServer) VideoStop(context.Context, *Empty) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoStop not implemented")
}
func (UnimplementedNativeServiceServer) VideoStart(context.Context, *Empty) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VideoStart not implemented")
}
func (UnimplementedNativeServiceServer) GetLVGLVersion(context.Context, *Empty) (*GetLVGLVersionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetLVGLVersion not implemented")
}
func (UnimplementedNativeServiceServer) UIObjHide(context.Context, *UIObjHideRequest) (*UIObjHideResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjHide not implemented")
}
func (UnimplementedNativeServiceServer) UIObjShow(context.Context, *UIObjShowRequest) (*UIObjShowResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjShow not implemented")
}
func (UnimplementedNativeServiceServer) UISetVar(context.Context, *UISetVarRequest) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UISetVar not implemented")
}
func (UnimplementedNativeServiceServer) UIGetVar(context.Context, *UIGetVarRequest) (*UIGetVarResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIGetVar not implemented")
}
func (UnimplementedNativeServiceServer) UIObjAddState(context.Context, *UIObjAddStateRequest) (*UIObjAddStateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjAddState not implemented")
}
func (UnimplementedNativeServiceServer) UIObjClearState(context.Context, *UIObjClearStateRequest) (*UIObjClearStateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjClearState not implemented")
}
func (UnimplementedNativeServiceServer) UIObjAddFlag(context.Context, *UIObjAddFlagRequest) (*UIObjAddFlagResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjAddFlag not implemented")
}
func (UnimplementedNativeServiceServer) UIObjClearFlag(context.Context, *UIObjClearFlagRequest) (*UIObjClearFlagResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjClearFlag not implemented")
}
func (UnimplementedNativeServiceServer) UIObjSetOpacity(context.Context, *UIObjSetOpacityRequest) (*UIObjSetOpacityResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjSetOpacity not implemented")
}
func (UnimplementedNativeServiceServer) UIObjFadeIn(context.Context, *UIObjFadeInRequest) (*UIObjFadeInResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjFadeIn not implemented")
}
func (UnimplementedNativeServiceServer) UIObjFadeOut(context.Context, *UIObjFadeOutRequest) (*UIObjFadeOutResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjFadeOut not implemented")
}
func (UnimplementedNativeServiceServer) UIObjSetLabelText(context.Context, *UIObjSetLabelTextRequest) (*UIObjSetLabelTextResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjSetLabelText not implemented")
}
func (UnimplementedNativeServiceServer) UIObjSetImageSrc(context.Context, *UIObjSetImageSrcRequest) (*UIObjSetImageSrcResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UIObjSetImageSrc not implemented")
}
func (UnimplementedNativeServiceServer) DisplaySetRotation(context.Context, *DisplaySetRotationRequest) (*DisplaySetRotationResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DisplaySetRotation not implemented")
}
func (UnimplementedNativeServiceServer) UpdateLabelIfChanged(context.Context, *UpdateLabelIfChangedRequest) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateLabelIfChanged not implemented")
}
func (UnimplementedNativeServiceServer) UpdateLabelAndChangeVisibility(context.Context, *UpdateLabelAndChangeVisibilityRequest) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateLabelAndChangeVisibility not implemented")
}
func (UnimplementedNativeServiceServer) SwitchToScreenIf(context.Context, *SwitchToScreenIfRequest) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SwitchToScreenIf not implemented")
}
func (UnimplementedNativeServiceServer) SwitchToScreenIfDifferent(context.Context, *SwitchToScreenIfDifferentRequest) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SwitchToScreenIfDifferent not implemented")
}
func (UnimplementedNativeServiceServer) DoNotUseThisIsForCrashTestingOnly(context.Context, *Empty) (*Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DoNotUseThisIsForCrashTestingOnly not implemented")
}
func (UnimplementedNativeServiceServer) StreamEvents(*Empty, NativeService_StreamEventsServer) error {
	return status.Errorf(codes.Unimplemented, "method StreamEvents not implemented")
}
func (UnimplementedNativeServiceServer) mustEmbedUnimplementedNativeServiceServer() {}

// UnsafeNativeServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to NativeServiceServer will
// result in compilation errors.
type UnsafeNativeServiceServer interface {
	mustEmbedUnimplementedNativeServiceServer()
}

func RegisterNativeServiceServer(s grpc.ServiceRegistrar, srv NativeServiceServer) {
	s.RegisterService(&NativeService_ServiceDesc, srv)
}

func _NativeService_IsReady_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(IsReadyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).IsReady(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_IsReady_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).IsReady(ctx, req.(*IsReadyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoSetSleepMode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VideoSetSleepModeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoSetSleepMode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoSetSleepMode_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoSetSleepMode(ctx, req.(*VideoSetSleepModeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoGetSleepMode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoGetSleepMode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoGetSleepMode_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoGetSleepMode(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoSleepModeSupported_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoSleepModeSupported(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoSleepModeSupported_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoSleepModeSupported(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoSetQualityFactor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VideoSetQualityFactorRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoSetQualityFactor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoSetQualityFactor_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoSetQualityFactor(ctx, req.(*VideoSetQualityFactorRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoGetQualityFactor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoGetQualityFactor(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoGetQualityFactor_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoGetQualityFactor(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoSetEDID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VideoSetEDIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoSetEDID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoSetEDID_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoSetEDID(ctx, req.(*VideoSetEDIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoGetEDID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoGetEDID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoGetEDID_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoGetEDID(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoLogStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoLogStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoLogStatus_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoLogStatus(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoStop_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoStop(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoStop_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoStop(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_VideoStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).VideoStart(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_VideoStart_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).VideoStart(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_GetLVGLVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).GetLVGLVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_GetLVGLVersion_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).GetLVGLVersion(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjHide_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjHideRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjHide(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjHide_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjHide(ctx, req.(*UIObjHideRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjShow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjShowRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjShow(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjShow_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjShow(ctx, req.(*UIObjShowRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UISetVar_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UISetVarRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UISetVar(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UISetVar_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UISetVar(ctx, req.(*UISetVarRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIGetVar_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIGetVarRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIGetVar(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIGetVar_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIGetVar(ctx, req.(*UIGetVarRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjAddState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjAddStateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjAddState(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjAddState_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjAddState(ctx, req.(*UIObjAddStateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjClearState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjClearStateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjClearState(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjClearState_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjClearState(ctx, req.(*UIObjClearStateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjAddFlag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjAddFlagRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjAddFlag(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjAddFlag_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjAddFlag(ctx, req.(*UIObjAddFlagRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjClearFlag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjClearFlagRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjClearFlag(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjClearFlag_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjClearFlag(ctx, req.(*UIObjClearFlagRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjSetOpacity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjSetOpacityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjSetOpacity(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjSetOpacity_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjSetOpacity(ctx, req.(*UIObjSetOpacityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjFadeIn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjFadeInRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjFadeIn(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjFadeIn_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjFadeIn(ctx, req.(*UIObjFadeInRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjFadeOut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjFadeOutRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjFadeOut(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjFadeOut_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjFadeOut(ctx, req.(*UIObjFadeOutRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjSetLabelText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjSetLabelTextRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjSetLabelText(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjSetLabelText_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjSetLabelText(ctx, req.(*UIObjSetLabelTextRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UIObjSetImageSrc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UIObjSetImageSrcRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UIObjSetImageSrc(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UIObjSetImageSrc_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UIObjSetImageSrc(ctx, req.(*UIObjSetImageSrcRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_DisplaySetRotation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisplaySetRotationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).DisplaySetRotation(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_DisplaySetRotation_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).DisplaySetRotation(ctx, req.(*DisplaySetRotationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UpdateLabelIfChanged_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateLabelIfChangedRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UpdateLabelIfChanged(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UpdateLabelIfChanged_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UpdateLabelIfChanged(ctx, req.(*UpdateLabelIfChangedRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_UpdateLabelAndChangeVisibility_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateLabelAndChangeVisibilityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).UpdateLabelAndChangeVisibility(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_UpdateLabelAndChangeVisibility_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).UpdateLabelAndChangeVisibility(ctx, req.(*UpdateLabelAndChangeVisibilityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_SwitchToScreenIf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SwitchToScreenIfRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).SwitchToScreenIf(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_SwitchToScreenIf_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).SwitchToScreenIf(ctx, req.(*SwitchToScreenIfRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_SwitchToScreenIfDifferent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SwitchToScreenIfDifferentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).SwitchToScreenIfDifferent(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_SwitchToScreenIfDifferent_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).SwitchToScreenIfDifferent(ctx, req.(*SwitchToScreenIfDifferentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_DoNotUseThisIsForCrashTestingOnly_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NativeServiceServer).DoNotUseThisIsForCrashTestingOnly(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: NativeService_DoNotUseThisIsForCrashTestingOnly_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NativeServiceServer).DoNotUseThisIsForCrashTestingOnly(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _NativeService_StreamEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(Empty)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NativeServiceServer).StreamEvents(m, &nativeServiceStreamEventsServer{ServerStream: stream})
}

type NativeService_StreamEventsServer interface {
	Send(*Event) error
	grpc.ServerStream
}

type nativeServiceStreamEventsServer struct {
	grpc.ServerStream
}

func (x *nativeServiceStreamEventsServer) Send(m *Event) error {
	return x.ServerStream.SendMsg(m)
}

// NativeService_ServiceDesc is the grpc.ServiceDesc for NativeService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var NativeService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "native.NativeService",
	HandlerType: (*NativeServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "IsReady",
			Handler:    _NativeService_IsReady_Handler,
		},
		{
			MethodName: "VideoSetSleepMode",
			Handler:    _NativeService_VideoSetSleepMode_Handler,
		},
		{
			MethodName: "VideoGetSleepMode",
			Handler:    _NativeService_VideoGetSleepMode_Handler,
		},
		{
			MethodName: "VideoSleepModeSupported",
			Handler:    _NativeService_VideoSleepModeSupported_Handler,
		},
		{
			MethodName: "VideoSetQualityFactor",
			Handler:    _NativeService_VideoSetQualityFactor_Handler,
		},
		{
			MethodName: "VideoGetQualityFactor",
			Handler:    _NativeService_VideoGetQualityFactor_Handler,
		},
		{
			MethodName: "VideoSetEDID",
			Handler:    _NativeService_VideoSetEDID_Handler,
		},
		{
			MethodName: "VideoGetEDID",
			Handler:    _NativeService_VideoGetEDID_Handler,
		},
		{
			MethodName: "VideoLogStatus",
			Handler:    _NativeService_VideoLogStatus_Handler,
		},
		{
			MethodName: "VideoStop",
			Handler:    _NativeService_VideoStop_Handler,
		},
		{
			MethodName: "VideoStart",
			Handler:    _NativeService_VideoStart_Handler,
		},
		{
			MethodName: "GetLVGLVersion",
			Handler:    _NativeService_GetLVGLVersion_Handler,
		},
		{
			MethodName: "UIObjHide",
			Handler:    _NativeService_UIObjHide_Handler,
		},
		{
			MethodName: "UIObjShow",
			Handler:    _NativeService_UIObjShow_Handler,
		},
		{
			MethodName: "UISetVar",
			Handler:    _NativeService_UISetVar_Handler,
		},
		{
			MethodName: "UIGetVar",
			Handler:    _NativeService_UIGetVar_Handler,
		},
		{
			MethodName: "UIObjAddState",
			Handler:    _NativeService_UIObjAddState_Handler,
		},
		{
			MethodName: "UIObjClearState",
			Handler:    _NativeService_UIObjClearState_Handler,
		},
		{
			MethodName: "UIObjAddFlag",
			Handler:    _NativeService_UIObjAddFlag_Handler,
		},
		{
			MethodName: "UIObjClearFlag",
			Handler:    _NativeService_UIObjClearFlag_Handler,
		},
		{
			MethodName: "UIObjSetOpacity",
			Handler:    _NativeService_UIObjSetOpacity_Handler,
		},
		{
			MethodName: "UIObjFadeIn",
			Handler:    _NativeService_UIObjFadeIn_Handler,
		},
		{
			MethodName: "UIObjFadeOut",
			Handler:    _NativeService_UIObjFadeOut_Handler,
		},
		{
			MethodName: "UIObjSetLabelText",
			Handler:    _NativeService_UIObjSetLabelText_Handler,
		},
		{
			MethodName: "UIObjSetImageSrc",
			Handler:    _NativeService_UIObjSetImageSrc_Handler,
		},
		{
			MethodName: "DisplaySetRotation",
			Handler:    _NativeService_DisplaySetRotation_Handler,
		},
		{
			MethodName: "UpdateLabelIfChanged",
			Handler:    _NativeService_UpdateLabelIfChanged_Handler,
		},
		{
			MethodName: "UpdateLabelAndChangeVisibility",
			Handler:    _NativeService_UpdateLabelAndChangeVisibility_Handler,
		},
		{
			MethodName: "SwitchToScreenIf",
			Handler:    _NativeService_SwitchToScreenIf_Handler,
		},
		{
			MethodName: "SwitchToScreenIfDifferent",
			Handler:    _NativeService_SwitchToScreenIfDifferent_Handler,
		},
		{
			MethodName: "DoNotUseThisIsForCrashTestingOnly",
			Handler:    _NativeService_DoNotUseThisIsForCrashTestingOnly_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamEvents",
			Handler:       _NativeService_StreamEvents_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "internal/native/proto/native.proto",
}
