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

// 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_sip_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 (
	SipService_EditSipAccount_FullMethodName          = "/deviceapis.device.v1.SipService/EditSipAccount"
	SipService_GetSipAccountList_FullMethodName       = "/deviceapis.device.v1.SipService/GetSipAccountList"
	SipService_EditSipTimeoutSettings_FullMethodName  = "/deviceapis.device.v1.SipService/EditSipTimeoutSettings"
	SipService_GetSipTimeoutSettings_FullMethodName   = "/deviceapis.device.v1.SipService/GetSipTimeoutSettings"
	SipService_GetSipAccountStatusList_FullMethodName = "/deviceapis.device.v1.SipService/GetSipAccountStatusList"
)

// SipServiceClient is the client API for SipService 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 SipServiceClient interface {
	// Метод редактирования Sip-аккаунта
	EditSipAccount(ctx context.Context, in *EditSipAccountRequest, opts ...grpc.CallOption) (*EditSipAccountResponse, error)
	// Метод получения списка Sip-аккаунтов
	GetSipAccountList(ctx context.Context, in *GetSipAccountListRequest, opts ...grpc.CallOption) (*GetSipAccountListResponse, error)
	// Метод редактирования настроек максимального времени общения и дозвона
	EditSipTimeoutSettings(ctx context.Context, in *EditSipTimeoutSettingsRequest, opts ...grpc.CallOption) (*EditSipTimeoutSettingsResponse, error)
	// Метод получения настроек максимального времени общения и дозвона
	GetSipTimeoutSettings(ctx context.Context, in *GetSipTimeoutSettingsRequest, opts ...grpc.CallOption) (*GetSipTimeoutSettingsResponse, error)
	// Метод получения статусов регистрации Sip-аккаунтов
	GetSipAccountStatusList(ctx context.Context, in *GetSipAccountStatusListRequest, opts ...grpc.CallOption) (*GetSipAccountStatusListResponse, error)
}

type sipServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewSipServiceClient(cc grpc.ClientConnInterface) SipServiceClient {
	return &sipServiceClient{cc}
}

func (c *sipServiceClient) EditSipAccount(ctx context.Context, in *EditSipAccountRequest, opts ...grpc.CallOption) (*EditSipAccountResponse, error) {
	out := new(EditSipAccountResponse)
	err := c.cc.Invoke(ctx, SipService_EditSipAccount_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *sipServiceClient) GetSipAccountList(ctx context.Context, in *GetSipAccountListRequest, opts ...grpc.CallOption) (*GetSipAccountListResponse, error) {
	out := new(GetSipAccountListResponse)
	err := c.cc.Invoke(ctx, SipService_GetSipAccountList_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *sipServiceClient) EditSipTimeoutSettings(ctx context.Context, in *EditSipTimeoutSettingsRequest, opts ...grpc.CallOption) (*EditSipTimeoutSettingsResponse, error) {
	out := new(EditSipTimeoutSettingsResponse)
	err := c.cc.Invoke(ctx, SipService_EditSipTimeoutSettings_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *sipServiceClient) GetSipTimeoutSettings(ctx context.Context, in *GetSipTimeoutSettingsRequest, opts ...grpc.CallOption) (*GetSipTimeoutSettingsResponse, error) {
	out := new(GetSipTimeoutSettingsResponse)
	err := c.cc.Invoke(ctx, SipService_GetSipTimeoutSettings_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *sipServiceClient) GetSipAccountStatusList(ctx context.Context, in *GetSipAccountStatusListRequest, opts ...grpc.CallOption) (*GetSipAccountStatusListResponse, error) {
	out := new(GetSipAccountStatusListResponse)
	err := c.cc.Invoke(ctx, SipService_GetSipAccountStatusList_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// SipServiceServer is the server API for SipService service.
// All implementations should embed UnimplementedSipServiceServer
// for forward compatibility
type SipServiceServer interface {
	// Метод редактирования Sip-аккаунта
	EditSipAccount(context.Context, *EditSipAccountRequest) (*EditSipAccountResponse, error)
	// Метод получения списка Sip-аккаунтов
	GetSipAccountList(context.Context, *GetSipAccountListRequest) (*GetSipAccountListResponse, error)
	// Метод редактирования настроек максимального времени общения и дозвона
	EditSipTimeoutSettings(context.Context, *EditSipTimeoutSettingsRequest) (*EditSipTimeoutSettingsResponse, error)
	// Метод получения настроек максимального времени общения и дозвона
	GetSipTimeoutSettings(context.Context, *GetSipTimeoutSettingsRequest) (*GetSipTimeoutSettingsResponse, error)
	// Метод получения статусов регистрации Sip-аккаунтов
	GetSipAccountStatusList(context.Context, *GetSipAccountStatusListRequest) (*GetSipAccountStatusListResponse, error)
}

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

func (UnimplementedSipServiceServer) EditSipAccount(context.Context, *EditSipAccountRequest) (*EditSipAccountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method EditSipAccount not implemented")
}
func (UnimplementedSipServiceServer) GetSipAccountList(context.Context, *GetSipAccountListRequest) (*GetSipAccountListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSipAccountList not implemented")
}
func (UnimplementedSipServiceServer) EditSipTimeoutSettings(context.Context, *EditSipTimeoutSettingsRequest) (*EditSipTimeoutSettingsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method EditSipTimeoutSettings not implemented")
}
func (UnimplementedSipServiceServer) GetSipTimeoutSettings(context.Context, *GetSipTimeoutSettingsRequest) (*GetSipTimeoutSettingsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSipTimeoutSettings not implemented")
}
func (UnimplementedSipServiceServer) GetSipAccountStatusList(context.Context, *GetSipAccountStatusListRequest) (*GetSipAccountStatusListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSipAccountStatusList not implemented")
}

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

func RegisterSipServiceServer(s grpc.ServiceRegistrar, srv SipServiceServer) {
	s.RegisterService(&SipService_ServiceDesc, srv)
}

func _SipService_EditSipAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EditSipAccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SipServiceServer).EditSipAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SipService_EditSipAccount_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SipServiceServer).EditSipAccount(ctx, req.(*EditSipAccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SipService_GetSipAccountList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSipAccountListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SipServiceServer).GetSipAccountList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SipService_GetSipAccountList_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SipServiceServer).GetSipAccountList(ctx, req.(*GetSipAccountListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SipService_EditSipTimeoutSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EditSipTimeoutSettingsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SipServiceServer).EditSipTimeoutSettings(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SipService_EditSipTimeoutSettings_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SipServiceServer).EditSipTimeoutSettings(ctx, req.(*EditSipTimeoutSettingsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SipService_GetSipTimeoutSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSipTimeoutSettingsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SipServiceServer).GetSipTimeoutSettings(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SipService_GetSipTimeoutSettings_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SipServiceServer).GetSipTimeoutSettings(ctx, req.(*GetSipTimeoutSettingsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SipService_GetSipAccountStatusList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSipAccountStatusListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SipServiceServer).GetSipAccountStatusList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SipService_GetSipAccountStatusList_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SipServiceServer).GetSipAccountStatusList(ctx, req.(*GetSipAccountStatusListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// SipService_ServiceDesc is the grpc.ServiceDesc for SipService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var SipService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "deviceapis.device.v1.SipService",
	HandlerType: (*SipServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "EditSipAccount",
			Handler:    _SipService_EditSipAccount_Handler,
		},
		{
			MethodName: "GetSipAccountList",
			Handler:    _SipService_GetSipAccountList_Handler,
		},
		{
			MethodName: "EditSipTimeoutSettings",
			Handler:    _SipService_EditSipTimeoutSettings_Handler,
		},
		{
			MethodName: "GetSipTimeoutSettings",
			Handler:    _SipService_GetSipTimeoutSettings_Handler,
		},
		{
			MethodName: "GetSipAccountStatusList",
			Handler:    _SipService_GetSipAccountStatusList_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "deviceapis/device/v1/deviceapis_device_sip_v1.proto",
}
