// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.4.0
// - protoc             (unknown)
// source: global/nextgen/v1/database_auditlog.proto

package nextgenv1

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
)

// 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 (
	DatabaseAuditLogService_GetAuditLogSetting_FullMethodName       = "/global.nextgen.v1.DatabaseAuditLogService/GetAuditLogSetting"
	DatabaseAuditLogService_UpdateAuditLogSetting_FullMethodName    = "/global.nextgen.v1.DatabaseAuditLogService/UpdateAuditLogSetting"
	DatabaseAuditLogService_ListAuditLogFilterRules_FullMethodName  = "/global.nextgen.v1.DatabaseAuditLogService/ListAuditLogFilterRules"
	DatabaseAuditLogService_CreateAuditLogFilterRule_FullMethodName = "/global.nextgen.v1.DatabaseAuditLogService/CreateAuditLogFilterRule"
	DatabaseAuditLogService_DeleteAuditLogFilterRule_FullMethodName = "/global.nextgen.v1.DatabaseAuditLogService/DeleteAuditLogFilterRule"
	DatabaseAuditLogService_UpdateAuditLogFilterRule_FullMethodName = "/global.nextgen.v1.DatabaseAuditLogService/UpdateAuditLogFilterRule"
)

// DatabaseAuditLogServiceClient is the client API for DatabaseAuditLogService 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 DatabaseAuditLogServiceClient interface {
	GetAuditLogSetting(ctx context.Context, in *GetAuditLogSettingRequest, opts ...grpc.CallOption) (*AuditLogSetting, error)
	UpdateAuditLogSetting(ctx context.Context, in *UpdateAuditLogSettingRequest, opts ...grpc.CallOption) (*AuditLogSetting, error)
	ListAuditLogFilterRules(ctx context.Context, in *ListAuditLogFilterRulesRequest, opts ...grpc.CallOption) (*ListAuditLogFilterRulesResponse, error)
	CreateAuditLogFilterRule(ctx context.Context, in *CreateAuditLogFilterRuleRequest, opts ...grpc.CallOption) (*AuditLogFilterRule, error)
	DeleteAuditLogFilterRule(ctx context.Context, in *DeleteAuditLogFilterRuleRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	UpdateAuditLogFilterRule(ctx context.Context, in *UpdateAuditLogFilterRuleRequest, opts ...grpc.CallOption) (*AuditLogFilterRule, error)
}

type databaseAuditLogServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewDatabaseAuditLogServiceClient(cc grpc.ClientConnInterface) DatabaseAuditLogServiceClient {
	return &databaseAuditLogServiceClient{cc}
}

func (c *databaseAuditLogServiceClient) GetAuditLogSetting(ctx context.Context, in *GetAuditLogSettingRequest, opts ...grpc.CallOption) (*AuditLogSetting, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(AuditLogSetting)
	err := c.cc.Invoke(ctx, DatabaseAuditLogService_GetAuditLogSetting_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *databaseAuditLogServiceClient) UpdateAuditLogSetting(ctx context.Context, in *UpdateAuditLogSettingRequest, opts ...grpc.CallOption) (*AuditLogSetting, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(AuditLogSetting)
	err := c.cc.Invoke(ctx, DatabaseAuditLogService_UpdateAuditLogSetting_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *databaseAuditLogServiceClient) ListAuditLogFilterRules(ctx context.Context, in *ListAuditLogFilterRulesRequest, opts ...grpc.CallOption) (*ListAuditLogFilterRulesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListAuditLogFilterRulesResponse)
	err := c.cc.Invoke(ctx, DatabaseAuditLogService_ListAuditLogFilterRules_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *databaseAuditLogServiceClient) CreateAuditLogFilterRule(ctx context.Context, in *CreateAuditLogFilterRuleRequest, opts ...grpc.CallOption) (*AuditLogFilterRule, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(AuditLogFilterRule)
	err := c.cc.Invoke(ctx, DatabaseAuditLogService_CreateAuditLogFilterRule_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

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

func (c *databaseAuditLogServiceClient) UpdateAuditLogFilterRule(ctx context.Context, in *UpdateAuditLogFilterRuleRequest, opts ...grpc.CallOption) (*AuditLogFilterRule, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(AuditLogFilterRule)
	err := c.cc.Invoke(ctx, DatabaseAuditLogService_UpdateAuditLogFilterRule_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// DatabaseAuditLogServiceServer is the server API for DatabaseAuditLogService service.
// All implementations should embed UnimplementedDatabaseAuditLogServiceServer
// for forward compatibility
type DatabaseAuditLogServiceServer interface {
	GetAuditLogSetting(context.Context, *GetAuditLogSettingRequest) (*AuditLogSetting, error)
	UpdateAuditLogSetting(context.Context, *UpdateAuditLogSettingRequest) (*AuditLogSetting, error)
	ListAuditLogFilterRules(context.Context, *ListAuditLogFilterRulesRequest) (*ListAuditLogFilterRulesResponse, error)
	CreateAuditLogFilterRule(context.Context, *CreateAuditLogFilterRuleRequest) (*AuditLogFilterRule, error)
	DeleteAuditLogFilterRule(context.Context, *DeleteAuditLogFilterRuleRequest) (*emptypb.Empty, error)
	UpdateAuditLogFilterRule(context.Context, *UpdateAuditLogFilterRuleRequest) (*AuditLogFilterRule, error)
}

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

func (UnimplementedDatabaseAuditLogServiceServer) GetAuditLogSetting(context.Context, *GetAuditLogSettingRequest) (*AuditLogSetting, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAuditLogSetting not implemented")
}
func (UnimplementedDatabaseAuditLogServiceServer) UpdateAuditLogSetting(context.Context, *UpdateAuditLogSettingRequest) (*AuditLogSetting, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateAuditLogSetting not implemented")
}
func (UnimplementedDatabaseAuditLogServiceServer) ListAuditLogFilterRules(context.Context, *ListAuditLogFilterRulesRequest) (*ListAuditLogFilterRulesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAuditLogFilterRules not implemented")
}
func (UnimplementedDatabaseAuditLogServiceServer) CreateAuditLogFilterRule(context.Context, *CreateAuditLogFilterRuleRequest) (*AuditLogFilterRule, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateAuditLogFilterRule not implemented")
}
func (UnimplementedDatabaseAuditLogServiceServer) DeleteAuditLogFilterRule(context.Context, *DeleteAuditLogFilterRuleRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteAuditLogFilterRule not implemented")
}
func (UnimplementedDatabaseAuditLogServiceServer) UpdateAuditLogFilterRule(context.Context, *UpdateAuditLogFilterRuleRequest) (*AuditLogFilterRule, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateAuditLogFilterRule not implemented")
}

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

func RegisterDatabaseAuditLogServiceServer(s grpc.ServiceRegistrar, srv DatabaseAuditLogServiceServer) {
	s.RegisterService(&DatabaseAuditLogService_ServiceDesc, srv)
}

func _DatabaseAuditLogService_GetAuditLogSetting_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetAuditLogSettingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DatabaseAuditLogServiceServer).GetAuditLogSetting(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: DatabaseAuditLogService_GetAuditLogSetting_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DatabaseAuditLogServiceServer).GetAuditLogSetting(ctx, req.(*GetAuditLogSettingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _DatabaseAuditLogService_UpdateAuditLogSetting_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateAuditLogSettingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DatabaseAuditLogServiceServer).UpdateAuditLogSetting(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: DatabaseAuditLogService_UpdateAuditLogSetting_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DatabaseAuditLogServiceServer).UpdateAuditLogSetting(ctx, req.(*UpdateAuditLogSettingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _DatabaseAuditLogService_ListAuditLogFilterRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListAuditLogFilterRulesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DatabaseAuditLogServiceServer).ListAuditLogFilterRules(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: DatabaseAuditLogService_ListAuditLogFilterRules_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DatabaseAuditLogServiceServer).ListAuditLogFilterRules(ctx, req.(*ListAuditLogFilterRulesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _DatabaseAuditLogService_CreateAuditLogFilterRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateAuditLogFilterRuleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DatabaseAuditLogServiceServer).CreateAuditLogFilterRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: DatabaseAuditLogService_CreateAuditLogFilterRule_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DatabaseAuditLogServiceServer).CreateAuditLogFilterRule(ctx, req.(*CreateAuditLogFilterRuleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _DatabaseAuditLogService_DeleteAuditLogFilterRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteAuditLogFilterRuleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DatabaseAuditLogServiceServer).DeleteAuditLogFilterRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: DatabaseAuditLogService_DeleteAuditLogFilterRule_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DatabaseAuditLogServiceServer).DeleteAuditLogFilterRule(ctx, req.(*DeleteAuditLogFilterRuleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _DatabaseAuditLogService_UpdateAuditLogFilterRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateAuditLogFilterRuleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DatabaseAuditLogServiceServer).UpdateAuditLogFilterRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: DatabaseAuditLogService_UpdateAuditLogFilterRule_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DatabaseAuditLogServiceServer).UpdateAuditLogFilterRule(ctx, req.(*UpdateAuditLogFilterRuleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// DatabaseAuditLogService_ServiceDesc is the grpc.ServiceDesc for DatabaseAuditLogService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var DatabaseAuditLogService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "global.nextgen.v1.DatabaseAuditLogService",
	HandlerType: (*DatabaseAuditLogServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetAuditLogSetting",
			Handler:    _DatabaseAuditLogService_GetAuditLogSetting_Handler,
		},
		{
			MethodName: "UpdateAuditLogSetting",
			Handler:    _DatabaseAuditLogService_UpdateAuditLogSetting_Handler,
		},
		{
			MethodName: "ListAuditLogFilterRules",
			Handler:    _DatabaseAuditLogService_ListAuditLogFilterRules_Handler,
		},
		{
			MethodName: "CreateAuditLogFilterRule",
			Handler:    _DatabaseAuditLogService_CreateAuditLogFilterRule_Handler,
		},
		{
			MethodName: "DeleteAuditLogFilterRule",
			Handler:    _DatabaseAuditLogService_DeleteAuditLogFilterRule_Handler,
		},
		{
			MethodName: "UpdateAuditLogFilterRule",
			Handler:    _DatabaseAuditLogService_UpdateAuditLogFilterRule_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "global/nextgen/v1/database_auditlog.proto",
}
