//
//Сервис управления настройками FTP

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

package deviceapis_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 (
	FtpService_EditFtp_FullMethodName            = "/deviceapis.device.v1.FtpService/EditFtp"
	FtpService_GetFtp_FullMethodName             = "/deviceapis.device.v1.FtpService/GetFtp"
	FtpService_PostFtpBackup_FullMethodName      = "/deviceapis.device.v1.FtpService/PostFtpBackup"
	FtpService_PostFtpBackupApply_FullMethodName = "/deviceapis.device.v1.FtpService/PostFtpBackupApply"
)

// FtpServiceClient is the client API for FtpService 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 FtpServiceClient interface {
	// Метод редактирования настроек FTP
	EditFtp(ctx context.Context, in *EditFtpRequest, opts ...grpc.CallOption) (*EditFtpResponse, error)
	// Метод получения настроек FTP
	GetFtp(ctx context.Context, in *GetFtpRequest, opts ...grpc.CallOption) (*GetFtpResponse, error)
	// Создать бэкап и положить на FTP папку
	PostFtpBackup(ctx context.Context, in *PostFtpBackupRequest, opts ...grpc.CallOption) (*PostFtpBackupResponse, error)
	// Скачать бэкап из FTP папки и применить
	PostFtpBackupApply(ctx context.Context, in *PostFtpBackupApplyRequest, opts ...grpc.CallOption) (*PostFtpBackupApplyResponse, error)
}

type ftpServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewFtpServiceClient(cc grpc.ClientConnInterface) FtpServiceClient {
	return &ftpServiceClient{cc}
}

func (c *ftpServiceClient) EditFtp(ctx context.Context, in *EditFtpRequest, opts ...grpc.CallOption) (*EditFtpResponse, error) {
	out := new(EditFtpResponse)
	err := c.cc.Invoke(ctx, FtpService_EditFtp_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ftpServiceClient) GetFtp(ctx context.Context, in *GetFtpRequest, opts ...grpc.CallOption) (*GetFtpResponse, error) {
	out := new(GetFtpResponse)
	err := c.cc.Invoke(ctx, FtpService_GetFtp_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ftpServiceClient) PostFtpBackup(ctx context.Context, in *PostFtpBackupRequest, opts ...grpc.CallOption) (*PostFtpBackupResponse, error) {
	out := new(PostFtpBackupResponse)
	err := c.cc.Invoke(ctx, FtpService_PostFtpBackup_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *ftpServiceClient) PostFtpBackupApply(ctx context.Context, in *PostFtpBackupApplyRequest, opts ...grpc.CallOption) (*PostFtpBackupApplyResponse, error) {
	out := new(PostFtpBackupApplyResponse)
	err := c.cc.Invoke(ctx, FtpService_PostFtpBackupApply_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// FtpServiceServer is the server API for FtpService service.
// All implementations should embed UnimplementedFtpServiceServer
// for forward compatibility
type FtpServiceServer interface {
	// Метод редактирования настроек FTP
	EditFtp(context.Context, *EditFtpRequest) (*EditFtpResponse, error)
	// Метод получения настроек FTP
	GetFtp(context.Context, *GetFtpRequest) (*GetFtpResponse, error)
	// Создать бэкап и положить на FTP папку
	PostFtpBackup(context.Context, *PostFtpBackupRequest) (*PostFtpBackupResponse, error)
	// Скачать бэкап из FTP папки и применить
	PostFtpBackupApply(context.Context, *PostFtpBackupApplyRequest) (*PostFtpBackupApplyResponse, error)
}

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

func (UnimplementedFtpServiceServer) EditFtp(context.Context, *EditFtpRequest) (*EditFtpResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method EditFtp not implemented")
}
func (UnimplementedFtpServiceServer) GetFtp(context.Context, *GetFtpRequest) (*GetFtpResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetFtp not implemented")
}
func (UnimplementedFtpServiceServer) PostFtpBackup(context.Context, *PostFtpBackupRequest) (*PostFtpBackupResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PostFtpBackup not implemented")
}
func (UnimplementedFtpServiceServer) PostFtpBackupApply(context.Context, *PostFtpBackupApplyRequest) (*PostFtpBackupApplyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PostFtpBackupApply not implemented")
}

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

func RegisterFtpServiceServer(s grpc.ServiceRegistrar, srv FtpServiceServer) {
	s.RegisterService(&FtpService_ServiceDesc, srv)
}

func _FtpService_EditFtp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EditFtpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(FtpServiceServer).EditFtp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: FtpService_EditFtp_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(FtpServiceServer).EditFtp(ctx, req.(*EditFtpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _FtpService_GetFtp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetFtpRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(FtpServiceServer).GetFtp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: FtpService_GetFtp_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(FtpServiceServer).GetFtp(ctx, req.(*GetFtpRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _FtpService_PostFtpBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostFtpBackupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(FtpServiceServer).PostFtpBackup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: FtpService_PostFtpBackup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(FtpServiceServer).PostFtpBackup(ctx, req.(*PostFtpBackupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _FtpService_PostFtpBackupApply_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostFtpBackupApplyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(FtpServiceServer).PostFtpBackupApply(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: FtpService_PostFtpBackupApply_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(FtpServiceServer).PostFtpBackupApply(ctx, req.(*PostFtpBackupApplyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// FtpService_ServiceDesc is the grpc.ServiceDesc for FtpService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var FtpService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "deviceapis.device.v1.FtpService",
	HandlerType: (*FtpServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "EditFtp",
			Handler:    _FtpService_EditFtp_Handler,
		},
		{
			MethodName: "GetFtp",
			Handler:    _FtpService_GetFtp_Handler,
		},
		{
			MethodName: "PostFtpBackup",
			Handler:    _FtpService_PostFtpBackup_Handler,
		},
		{
			MethodName: "PostFtpBackupApply",
			Handler:    _FtpService_PostFtpBackupApply_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "deviceapis/device/v1/deviceapis_device_ftp_v1.proto",
}
