//
//Сервис реализует функционал управления трубками аналоговых трубок

// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc             v4.23.1
// source: keyapis/device/v1/keyapis_device_cms_phone_v1.proto

package keyapis_device_v1

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.32.0 or later.
const _ = grpc.SupportPackageIsVersion7

const (
	CmsPhoneService_GetCmsPhone_FullMethodName                           = "/keyapis.device.v1.CmsPhoneService/GetCmsPhone"
	CmsPhoneService_GetCmsPhoneList_FullMethodName                       = "/keyapis.device.v1.CmsPhoneService/GetCmsPhoneList"
	CmsPhoneService_GetCmsPhoneCount_FullMethodName                      = "/keyapis.device.v1.CmsPhoneService/GetCmsPhoneCount"
	CmsPhoneService_DeleteCmsPhone_FullMethodName                        = "/keyapis.device.v1.CmsPhoneService/DeleteCmsPhone"
	CmsPhoneService_DeleteCmsPhoneDeviceId_FullMethodName                = "/keyapis.device.v1.CmsPhoneService/DeleteCmsPhoneDeviceId"
	CmsPhoneService_DeleteCmsPhoneOrponId_FullMethodName                 = "/keyapis.device.v1.CmsPhoneService/DeleteCmsPhoneOrponId"
	CmsPhoneService_DeleteCmsPhoneOrponIdRoomNumber_FullMethodName       = "/keyapis.device.v1.CmsPhoneService/DeleteCmsPhoneOrponIdRoomNumber"
	CmsPhoneService_PostCmsPhoneRefresh_FullMethodName                   = "/keyapis.device.v1.CmsPhoneService/PostCmsPhoneRefresh"
	CmsPhoneService_DeleteCmsPhoneOrponRoomNumberDeviceId_FullMethodName = "/keyapis.device.v1.CmsPhoneService/DeleteCmsPhoneOrponRoomNumberDeviceId"
)

// CmsPhoneServiceClient is the client API for CmsPhoneService 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 CmsPhoneServiceClient interface {
	// Метод получения аналоговой трубки по идентификатору.
	// Метод доступен для: admin, service, owner, employee, bti, ltp_first
	GetCmsPhone(ctx context.Context, in *GetCmsPhoneRequest, opts ...grpc.CallOption) (*GetCmsPhoneResponse, error)
	// Метод получения списка аналоговых трубок.
	// Метод доступен для: admin, service, owner, employee, bti, ltp_first
	GetCmsPhoneList(ctx context.Context, in *GetCmsPhoneListRequest, opts ...grpc.CallOption) (CmsPhoneService_GetCmsPhoneListClient, error)
	// Метод получения количества аналоговых трубок.
	// Метод доступен для: admin, service, owner, employee, bti, ltp_first
	GetCmsPhoneCount(ctx context.Context, in *GetCmsPhoneCountRequest, opts ...grpc.CallOption) (*GetCmsPhoneCountResponse, error)
	// Метод удаления аналоговой трубки.
	// Метод доступен для: admin, service
	DeleteCmsPhone(ctx context.Context, in *DeleteCmsPhoneRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneResponse, error)
	// Метод удаления аналоговой трубки по идентификатору устройсва.
	// Метод доступен для: admin, service
	DeleteCmsPhoneDeviceId(ctx context.Context, in *DeleteCmsPhoneDeviceIdRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneDeviceIdResponse, error)
	// Метод удаления аналоговой трубки по идентификатору ОРПОН.
	// Метод доступен для: admin, service
	DeleteCmsPhoneOrponId(ctx context.Context, in *DeleteCmsPhoneOrponIdRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneOrponIdResponse, error)
	// Метод удаления аналоговой трубки по идентификатору ОРПОН и номеру квартиры.
	// Метод доступен для: admin, service
	DeleteCmsPhoneOrponIdRoomNumber(ctx context.Context, in *DeleteCmsPhoneOrponIdRoomNumberRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneOrponIdRoomNumberResponse, error)
	// Метод для принудительного обновления статуса аналоговых трубок.
	// Метод доступен для: admin, service, bti, ltp_first
	PostCmsPhoneRefresh(ctx context.Context, in *PostCmsPhoneRefreshRequest, opts ...grpc.CallOption) (*PostCmsPhoneRefreshResponse, error)
	// Метод удаления аналоговой трубки по идентификатору ОРПОН, номеру квартиры и идентификатору устройства.
	// Метод доступен для: admin, service
	DeleteCmsPhoneOrponRoomNumberDeviceId(ctx context.Context, in *DeleteCmsPhoneOrponRoomNumberDeviceIdRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneOrponRoomNumberDeviceIdResponse, error)
}

type cmsPhoneServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewCmsPhoneServiceClient(cc grpc.ClientConnInterface) CmsPhoneServiceClient {
	return &cmsPhoneServiceClient{cc}
}

func (c *cmsPhoneServiceClient) GetCmsPhone(ctx context.Context, in *GetCmsPhoneRequest, opts ...grpc.CallOption) (*GetCmsPhoneResponse, error) {
	out := new(GetCmsPhoneResponse)
	err := c.cc.Invoke(ctx, CmsPhoneService_GetCmsPhone_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cmsPhoneServiceClient) GetCmsPhoneList(ctx context.Context, in *GetCmsPhoneListRequest, opts ...grpc.CallOption) (CmsPhoneService_GetCmsPhoneListClient, error) {
	stream, err := c.cc.NewStream(ctx, &CmsPhoneService_ServiceDesc.Streams[0], CmsPhoneService_GetCmsPhoneList_FullMethodName, opts...)
	if err != nil {
		return nil, err
	}
	x := &cmsPhoneServiceGetCmsPhoneListClient{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 CmsPhoneService_GetCmsPhoneListClient interface {
	Recv() (*GetCmsPhoneListResponse, error)
	grpc.ClientStream
}

type cmsPhoneServiceGetCmsPhoneListClient struct {
	grpc.ClientStream
}

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

func (c *cmsPhoneServiceClient) GetCmsPhoneCount(ctx context.Context, in *GetCmsPhoneCountRequest, opts ...grpc.CallOption) (*GetCmsPhoneCountResponse, error) {
	out := new(GetCmsPhoneCountResponse)
	err := c.cc.Invoke(ctx, CmsPhoneService_GetCmsPhoneCount_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cmsPhoneServiceClient) DeleteCmsPhone(ctx context.Context, in *DeleteCmsPhoneRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneResponse, error) {
	out := new(DeleteCmsPhoneResponse)
	err := c.cc.Invoke(ctx, CmsPhoneService_DeleteCmsPhone_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cmsPhoneServiceClient) DeleteCmsPhoneDeviceId(ctx context.Context, in *DeleteCmsPhoneDeviceIdRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneDeviceIdResponse, error) {
	out := new(DeleteCmsPhoneDeviceIdResponse)
	err := c.cc.Invoke(ctx, CmsPhoneService_DeleteCmsPhoneDeviceId_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cmsPhoneServiceClient) DeleteCmsPhoneOrponId(ctx context.Context, in *DeleteCmsPhoneOrponIdRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneOrponIdResponse, error) {
	out := new(DeleteCmsPhoneOrponIdResponse)
	err := c.cc.Invoke(ctx, CmsPhoneService_DeleteCmsPhoneOrponId_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cmsPhoneServiceClient) DeleteCmsPhoneOrponIdRoomNumber(ctx context.Context, in *DeleteCmsPhoneOrponIdRoomNumberRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneOrponIdRoomNumberResponse, error) {
	out := new(DeleteCmsPhoneOrponIdRoomNumberResponse)
	err := c.cc.Invoke(ctx, CmsPhoneService_DeleteCmsPhoneOrponIdRoomNumber_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cmsPhoneServiceClient) PostCmsPhoneRefresh(ctx context.Context, in *PostCmsPhoneRefreshRequest, opts ...grpc.CallOption) (*PostCmsPhoneRefreshResponse, error) {
	out := new(PostCmsPhoneRefreshResponse)
	err := c.cc.Invoke(ctx, CmsPhoneService_PostCmsPhoneRefresh_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cmsPhoneServiceClient) DeleteCmsPhoneOrponRoomNumberDeviceId(ctx context.Context, in *DeleteCmsPhoneOrponRoomNumberDeviceIdRequest, opts ...grpc.CallOption) (*DeleteCmsPhoneOrponRoomNumberDeviceIdResponse, error) {
	out := new(DeleteCmsPhoneOrponRoomNumberDeviceIdResponse)
	err := c.cc.Invoke(ctx, CmsPhoneService_DeleteCmsPhoneOrponRoomNumberDeviceId_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// CmsPhoneServiceServer is the server API for CmsPhoneService service.
// All implementations should embed UnimplementedCmsPhoneServiceServer
// for forward compatibility
type CmsPhoneServiceServer interface {
	// Метод получения аналоговой трубки по идентификатору.
	// Метод доступен для: admin, service, owner, employee, bti, ltp_first
	GetCmsPhone(context.Context, *GetCmsPhoneRequest) (*GetCmsPhoneResponse, error)
	// Метод получения списка аналоговых трубок.
	// Метод доступен для: admin, service, owner, employee, bti, ltp_first
	GetCmsPhoneList(*GetCmsPhoneListRequest, CmsPhoneService_GetCmsPhoneListServer) error
	// Метод получения количества аналоговых трубок.
	// Метод доступен для: admin, service, owner, employee, bti, ltp_first
	GetCmsPhoneCount(context.Context, *GetCmsPhoneCountRequest) (*GetCmsPhoneCountResponse, error)
	// Метод удаления аналоговой трубки.
	// Метод доступен для: admin, service
	DeleteCmsPhone(context.Context, *DeleteCmsPhoneRequest) (*DeleteCmsPhoneResponse, error)
	// Метод удаления аналоговой трубки по идентификатору устройсва.
	// Метод доступен для: admin, service
	DeleteCmsPhoneDeviceId(context.Context, *DeleteCmsPhoneDeviceIdRequest) (*DeleteCmsPhoneDeviceIdResponse, error)
	// Метод удаления аналоговой трубки по идентификатору ОРПОН.
	// Метод доступен для: admin, service
	DeleteCmsPhoneOrponId(context.Context, *DeleteCmsPhoneOrponIdRequest) (*DeleteCmsPhoneOrponIdResponse, error)
	// Метод удаления аналоговой трубки по идентификатору ОРПОН и номеру квартиры.
	// Метод доступен для: admin, service
	DeleteCmsPhoneOrponIdRoomNumber(context.Context, *DeleteCmsPhoneOrponIdRoomNumberRequest) (*DeleteCmsPhoneOrponIdRoomNumberResponse, error)
	// Метод для принудительного обновления статуса аналоговых трубок.
	// Метод доступен для: admin, service, bti, ltp_first
	PostCmsPhoneRefresh(context.Context, *PostCmsPhoneRefreshRequest) (*PostCmsPhoneRefreshResponse, error)
	// Метод удаления аналоговой трубки по идентификатору ОРПОН, номеру квартиры и идентификатору устройства.
	// Метод доступен для: admin, service
	DeleteCmsPhoneOrponRoomNumberDeviceId(context.Context, *DeleteCmsPhoneOrponRoomNumberDeviceIdRequest) (*DeleteCmsPhoneOrponRoomNumberDeviceIdResponse, error)
}

// UnimplementedCmsPhoneServiceServer should be embedded to have forward compatible implementations.
type UnimplementedCmsPhoneServiceServer struct {
}

func (UnimplementedCmsPhoneServiceServer) GetCmsPhone(context.Context, *GetCmsPhoneRequest) (*GetCmsPhoneResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetCmsPhone not implemented")
}
func (UnimplementedCmsPhoneServiceServer) GetCmsPhoneList(*GetCmsPhoneListRequest, CmsPhoneService_GetCmsPhoneListServer) error {
	return status.Errorf(codes.Unimplemented, "method GetCmsPhoneList not implemented")
}
func (UnimplementedCmsPhoneServiceServer) GetCmsPhoneCount(context.Context, *GetCmsPhoneCountRequest) (*GetCmsPhoneCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetCmsPhoneCount not implemented")
}
func (UnimplementedCmsPhoneServiceServer) DeleteCmsPhone(context.Context, *DeleteCmsPhoneRequest) (*DeleteCmsPhoneResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteCmsPhone not implemented")
}
func (UnimplementedCmsPhoneServiceServer) DeleteCmsPhoneDeviceId(context.Context, *DeleteCmsPhoneDeviceIdRequest) (*DeleteCmsPhoneDeviceIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteCmsPhoneDeviceId not implemented")
}
func (UnimplementedCmsPhoneServiceServer) DeleteCmsPhoneOrponId(context.Context, *DeleteCmsPhoneOrponIdRequest) (*DeleteCmsPhoneOrponIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteCmsPhoneOrponId not implemented")
}
func (UnimplementedCmsPhoneServiceServer) DeleteCmsPhoneOrponIdRoomNumber(context.Context, *DeleteCmsPhoneOrponIdRoomNumberRequest) (*DeleteCmsPhoneOrponIdRoomNumberResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteCmsPhoneOrponIdRoomNumber not implemented")
}
func (UnimplementedCmsPhoneServiceServer) PostCmsPhoneRefresh(context.Context, *PostCmsPhoneRefreshRequest) (*PostCmsPhoneRefreshResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PostCmsPhoneRefresh not implemented")
}
func (UnimplementedCmsPhoneServiceServer) DeleteCmsPhoneOrponRoomNumberDeviceId(context.Context, *DeleteCmsPhoneOrponRoomNumberDeviceIdRequest) (*DeleteCmsPhoneOrponRoomNumberDeviceIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteCmsPhoneOrponRoomNumberDeviceId not implemented")
}

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

func RegisterCmsPhoneServiceServer(s grpc.ServiceRegistrar, srv CmsPhoneServiceServer) {
	s.RegisterService(&CmsPhoneService_ServiceDesc, srv)
}

func _CmsPhoneService_GetCmsPhone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetCmsPhoneRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CmsPhoneServiceServer).GetCmsPhone(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: CmsPhoneService_GetCmsPhone_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CmsPhoneServiceServer).GetCmsPhone(ctx, req.(*GetCmsPhoneRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CmsPhoneService_GetCmsPhoneList_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetCmsPhoneListRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(CmsPhoneServiceServer).GetCmsPhoneList(m, &cmsPhoneServiceGetCmsPhoneListServer{stream})
}

type CmsPhoneService_GetCmsPhoneListServer interface {
	Send(*GetCmsPhoneListResponse) error
	grpc.ServerStream
}

type cmsPhoneServiceGetCmsPhoneListServer struct {
	grpc.ServerStream
}

func (x *cmsPhoneServiceGetCmsPhoneListServer) Send(m *GetCmsPhoneListResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _CmsPhoneService_GetCmsPhoneCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetCmsPhoneCountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CmsPhoneServiceServer).GetCmsPhoneCount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: CmsPhoneService_GetCmsPhoneCount_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CmsPhoneServiceServer).GetCmsPhoneCount(ctx, req.(*GetCmsPhoneCountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CmsPhoneService_DeleteCmsPhone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteCmsPhoneRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhone(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: CmsPhoneService_DeleteCmsPhone_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhone(ctx, req.(*DeleteCmsPhoneRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CmsPhoneService_DeleteCmsPhoneDeviceId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteCmsPhoneDeviceIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhoneDeviceId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: CmsPhoneService_DeleteCmsPhoneDeviceId_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhoneDeviceId(ctx, req.(*DeleteCmsPhoneDeviceIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CmsPhoneService_DeleteCmsPhoneOrponId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteCmsPhoneOrponIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhoneOrponId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: CmsPhoneService_DeleteCmsPhoneOrponId_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhoneOrponId(ctx, req.(*DeleteCmsPhoneOrponIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CmsPhoneService_DeleteCmsPhoneOrponIdRoomNumber_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteCmsPhoneOrponIdRoomNumberRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhoneOrponIdRoomNumber(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: CmsPhoneService_DeleteCmsPhoneOrponIdRoomNumber_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhoneOrponIdRoomNumber(ctx, req.(*DeleteCmsPhoneOrponIdRoomNumberRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CmsPhoneService_PostCmsPhoneRefresh_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostCmsPhoneRefreshRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CmsPhoneServiceServer).PostCmsPhoneRefresh(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: CmsPhoneService_PostCmsPhoneRefresh_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CmsPhoneServiceServer).PostCmsPhoneRefresh(ctx, req.(*PostCmsPhoneRefreshRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CmsPhoneService_DeleteCmsPhoneOrponRoomNumberDeviceId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteCmsPhoneOrponRoomNumberDeviceIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhoneOrponRoomNumberDeviceId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: CmsPhoneService_DeleteCmsPhoneOrponRoomNumberDeviceId_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CmsPhoneServiceServer).DeleteCmsPhoneOrponRoomNumberDeviceId(ctx, req.(*DeleteCmsPhoneOrponRoomNumberDeviceIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// CmsPhoneService_ServiceDesc is the grpc.ServiceDesc for CmsPhoneService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var CmsPhoneService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "keyapis.device.v1.CmsPhoneService",
	HandlerType: (*CmsPhoneServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetCmsPhone",
			Handler:    _CmsPhoneService_GetCmsPhone_Handler,
		},
		{
			MethodName: "GetCmsPhoneCount",
			Handler:    _CmsPhoneService_GetCmsPhoneCount_Handler,
		},
		{
			MethodName: "DeleteCmsPhone",
			Handler:    _CmsPhoneService_DeleteCmsPhone_Handler,
		},
		{
			MethodName: "DeleteCmsPhoneDeviceId",
			Handler:    _CmsPhoneService_DeleteCmsPhoneDeviceId_Handler,
		},
		{
			MethodName: "DeleteCmsPhoneOrponId",
			Handler:    _CmsPhoneService_DeleteCmsPhoneOrponId_Handler,
		},
		{
			MethodName: "DeleteCmsPhoneOrponIdRoomNumber",
			Handler:    _CmsPhoneService_DeleteCmsPhoneOrponIdRoomNumber_Handler,
		},
		{
			MethodName: "PostCmsPhoneRefresh",
			Handler:    _CmsPhoneService_PostCmsPhoneRefresh_Handler,
		},
		{
			MethodName: "DeleteCmsPhoneOrponRoomNumberDeviceId",
			Handler:    _CmsPhoneService_DeleteCmsPhoneOrponRoomNumberDeviceId_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "GetCmsPhoneList",
			Handler:       _CmsPhoneService_GetCmsPhoneList_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "keyapis/device/v1/keyapis_device_cms_phone_v1.proto",
}
