// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc             v3.12.4
// source: solidarity-api.proto

package proto

import (
	context "context"
	empty "github.com/golang/protobuf/ptypes/empty"
	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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9

const (
	SolidarityService_SetDriverRegularAvailabilities_FullMethodName  = "/SolidarityService/SetDriverRegularAvailabilities"
	SolidarityService_SetDriverPunctualAvailabilities_FullMethodName = "/SolidarityService/SetDriverPunctualAvailabilities"
	SolidarityService_CreateBookingSolidarity_FullMethodName         = "/SolidarityService/CreateBookingSolidarity"
	SolidarityService_UpdateBookingSolidarity_FullMethodName         = "/SolidarityService/UpdateBookingSolidarity"
	SolidarityService_GetBookingSolidarity_FullMethodName            = "/SolidarityService/GetBookingSolidarity"
	SolidarityService_GetBookingsByStatus_FullMethodName             = "/SolidarityService/GetBookingsByStatus"
	SolidarityService_DriverJourneys_FullMethodName                  = "/SolidarityService/DriverJourneys"
	SolidarityService_GetAllPassengers_FullMethodName                = "/SolidarityService/GetAllPassengers"
	SolidarityService_GetPassenger_FullMethodName                    = "/SolidarityService/GetPassenger"
	SolidarityService_SetPassengerTrip_FullMethodName                = "/SolidarityService/SetPassengerTrip"
)

// SolidarityServiceClient is the client API for SolidarityService 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 SolidarityServiceClient interface {
	SetDriverRegularAvailabilities(ctx context.Context, in *DriverRegularAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error)
	SetDriverPunctualAvailabilities(ctx context.Context, in *DriverPunctualAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error)
	CreateBookingSolidarity(ctx context.Context, in *CreateBookingSolidarityRequest, opts ...grpc.CallOption) (*CreateBookingSolidarityResponse, error)
	UpdateBookingSolidarity(ctx context.Context, in *UpdateBookingSolidarityRequest, opts ...grpc.CallOption) (*UpdateBookingSolidarityResponse, error)
	GetBookingSolidarity(ctx context.Context, in *GetBookingSolidarityRequest, opts ...grpc.CallOption) (*GetBookingSolidarityResponse, error)
	GetBookingsByStatus(ctx context.Context, in *GetBookingsByStatusRequest, opts ...grpc.CallOption) (*GetBookingsByStatusResponse, error)
	DriverJourneys(ctx context.Context, in *DriverJourneysRequest, opts ...grpc.CallOption) (*DriverJourneysResponse, error)
	GetAllPassengers(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*GetAllPassengersResponse, error)
	GetPassenger(ctx context.Context, in *GetPassengerRequest, opts ...grpc.CallOption) (*GetPassengerResponse, error)
	SetPassengerTrip(ctx context.Context, in *PassengerTripRequest, opts ...grpc.CallOption) (*PassengerTripResponse, error)
}

type solidarityServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewSolidarityServiceClient(cc grpc.ClientConnInterface) SolidarityServiceClient {
	return &solidarityServiceClient{cc}
}

func (c *solidarityServiceClient) SetDriverRegularAvailabilities(ctx context.Context, in *DriverRegularAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DriverAvailabilitiesResponse)
	err := c.cc.Invoke(ctx, SolidarityService_SetDriverRegularAvailabilities_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *solidarityServiceClient) SetDriverPunctualAvailabilities(ctx context.Context, in *DriverPunctualAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DriverAvailabilitiesResponse)
	err := c.cc.Invoke(ctx, SolidarityService_SetDriverPunctualAvailabilities_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *solidarityServiceClient) CreateBookingSolidarity(ctx context.Context, in *CreateBookingSolidarityRequest, opts ...grpc.CallOption) (*CreateBookingSolidarityResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(CreateBookingSolidarityResponse)
	err := c.cc.Invoke(ctx, SolidarityService_CreateBookingSolidarity_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *solidarityServiceClient) UpdateBookingSolidarity(ctx context.Context, in *UpdateBookingSolidarityRequest, opts ...grpc.CallOption) (*UpdateBookingSolidarityResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UpdateBookingSolidarityResponse)
	err := c.cc.Invoke(ctx, SolidarityService_UpdateBookingSolidarity_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *solidarityServiceClient) GetBookingSolidarity(ctx context.Context, in *GetBookingSolidarityRequest, opts ...grpc.CallOption) (*GetBookingSolidarityResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetBookingSolidarityResponse)
	err := c.cc.Invoke(ctx, SolidarityService_GetBookingSolidarity_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *solidarityServiceClient) GetBookingsByStatus(ctx context.Context, in *GetBookingsByStatusRequest, opts ...grpc.CallOption) (*GetBookingsByStatusResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetBookingsByStatusResponse)
	err := c.cc.Invoke(ctx, SolidarityService_GetBookingsByStatus_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *solidarityServiceClient) DriverJourneys(ctx context.Context, in *DriverJourneysRequest, opts ...grpc.CallOption) (*DriverJourneysResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DriverJourneysResponse)
	err := c.cc.Invoke(ctx, SolidarityService_DriverJourneys_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

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

func (c *solidarityServiceClient) GetPassenger(ctx context.Context, in *GetPassengerRequest, opts ...grpc.CallOption) (*GetPassengerResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetPassengerResponse)
	err := c.cc.Invoke(ctx, SolidarityService_GetPassenger_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *solidarityServiceClient) SetPassengerTrip(ctx context.Context, in *PassengerTripRequest, opts ...grpc.CallOption) (*PassengerTripResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PassengerTripResponse)
	err := c.cc.Invoke(ctx, SolidarityService_SetPassengerTrip_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// SolidarityServiceServer is the server API for SolidarityService service.
// All implementations must embed UnimplementedSolidarityServiceServer
// for forward compatibility.
type SolidarityServiceServer interface {
	SetDriverRegularAvailabilities(context.Context, *DriverRegularAvailabilities) (*DriverAvailabilitiesResponse, error)
	SetDriverPunctualAvailabilities(context.Context, *DriverPunctualAvailabilities) (*DriverAvailabilitiesResponse, error)
	CreateBookingSolidarity(context.Context, *CreateBookingSolidarityRequest) (*CreateBookingSolidarityResponse, error)
	UpdateBookingSolidarity(context.Context, *UpdateBookingSolidarityRequest) (*UpdateBookingSolidarityResponse, error)
	GetBookingSolidarity(context.Context, *GetBookingSolidarityRequest) (*GetBookingSolidarityResponse, error)
	GetBookingsByStatus(context.Context, *GetBookingsByStatusRequest) (*GetBookingsByStatusResponse, error)
	DriverJourneys(context.Context, *DriverJourneysRequest) (*DriverJourneysResponse, error)
	GetAllPassengers(context.Context, *empty.Empty) (*GetAllPassengersResponse, error)
	GetPassenger(context.Context, *GetPassengerRequest) (*GetPassengerResponse, error)
	SetPassengerTrip(context.Context, *PassengerTripRequest) (*PassengerTripResponse, error)
	mustEmbedUnimplementedSolidarityServiceServer()
}

// UnimplementedSolidarityServiceServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedSolidarityServiceServer struct{}

func (UnimplementedSolidarityServiceServer) SetDriverRegularAvailabilities(context.Context, *DriverRegularAvailabilities) (*DriverAvailabilitiesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetDriverRegularAvailabilities not implemented")
}
func (UnimplementedSolidarityServiceServer) SetDriverPunctualAvailabilities(context.Context, *DriverPunctualAvailabilities) (*DriverAvailabilitiesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetDriverPunctualAvailabilities not implemented")
}
func (UnimplementedSolidarityServiceServer) CreateBookingSolidarity(context.Context, *CreateBookingSolidarityRequest) (*CreateBookingSolidarityResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateBookingSolidarity not implemented")
}
func (UnimplementedSolidarityServiceServer) UpdateBookingSolidarity(context.Context, *UpdateBookingSolidarityRequest) (*UpdateBookingSolidarityResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateBookingSolidarity not implemented")
}
func (UnimplementedSolidarityServiceServer) GetBookingSolidarity(context.Context, *GetBookingSolidarityRequest) (*GetBookingSolidarityResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBookingSolidarity not implemented")
}
func (UnimplementedSolidarityServiceServer) GetBookingsByStatus(context.Context, *GetBookingsByStatusRequest) (*GetBookingsByStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBookingsByStatus not implemented")
}
func (UnimplementedSolidarityServiceServer) DriverJourneys(context.Context, *DriverJourneysRequest) (*DriverJourneysResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DriverJourneys not implemented")
}
func (UnimplementedSolidarityServiceServer) GetAllPassengers(context.Context, *empty.Empty) (*GetAllPassengersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAllPassengers not implemented")
}
func (UnimplementedSolidarityServiceServer) GetPassenger(context.Context, *GetPassengerRequest) (*GetPassengerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPassenger not implemented")
}
func (UnimplementedSolidarityServiceServer) SetPassengerTrip(context.Context, *PassengerTripRequest) (*PassengerTripResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetPassengerTrip not implemented")
}
func (UnimplementedSolidarityServiceServer) mustEmbedUnimplementedSolidarityServiceServer() {}
func (UnimplementedSolidarityServiceServer) testEmbeddedByValue()                           {}

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

func RegisterSolidarityServiceServer(s grpc.ServiceRegistrar, srv SolidarityServiceServer) {
	// If the following call pancis, it indicates UnimplementedSolidarityServiceServer was
	// embedded by pointer and is nil.  This will cause panics if an
	// unimplemented method is ever invoked, so we test this at initialization
	// time to prevent it from happening at runtime later due to I/O.
	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
		t.testEmbeddedByValue()
	}
	s.RegisterService(&SolidarityService_ServiceDesc, srv)
}

func _SolidarityService_SetDriverRegularAvailabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DriverRegularAvailabilities)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SolidarityServiceServer).SetDriverRegularAvailabilities(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SolidarityService_SetDriverRegularAvailabilities_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SolidarityServiceServer).SetDriverRegularAvailabilities(ctx, req.(*DriverRegularAvailabilities))
	}
	return interceptor(ctx, in, info, handler)
}

func _SolidarityService_SetDriverPunctualAvailabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DriverPunctualAvailabilities)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SolidarityServiceServer).SetDriverPunctualAvailabilities(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SolidarityService_SetDriverPunctualAvailabilities_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SolidarityServiceServer).SetDriverPunctualAvailabilities(ctx, req.(*DriverPunctualAvailabilities))
	}
	return interceptor(ctx, in, info, handler)
}

func _SolidarityService_CreateBookingSolidarity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateBookingSolidarityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SolidarityServiceServer).CreateBookingSolidarity(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SolidarityService_CreateBookingSolidarity_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SolidarityServiceServer).CreateBookingSolidarity(ctx, req.(*CreateBookingSolidarityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SolidarityService_UpdateBookingSolidarity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateBookingSolidarityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SolidarityServiceServer).UpdateBookingSolidarity(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SolidarityService_UpdateBookingSolidarity_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SolidarityServiceServer).UpdateBookingSolidarity(ctx, req.(*UpdateBookingSolidarityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SolidarityService_GetBookingSolidarity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetBookingSolidarityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SolidarityServiceServer).GetBookingSolidarity(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SolidarityService_GetBookingSolidarity_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SolidarityServiceServer).GetBookingSolidarity(ctx, req.(*GetBookingSolidarityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SolidarityService_GetBookingsByStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetBookingsByStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SolidarityServiceServer).GetBookingsByStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SolidarityService_GetBookingsByStatus_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SolidarityServiceServer).GetBookingsByStatus(ctx, req.(*GetBookingsByStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SolidarityService_DriverJourneys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DriverJourneysRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SolidarityServiceServer).DriverJourneys(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SolidarityService_DriverJourneys_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SolidarityServiceServer).DriverJourneys(ctx, req.(*DriverJourneysRequest))
	}
	return interceptor(ctx, in, info, handler)
}

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

func _SolidarityService_GetPassenger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetPassengerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SolidarityServiceServer).GetPassenger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SolidarityService_GetPassenger_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SolidarityServiceServer).GetPassenger(ctx, req.(*GetPassengerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SolidarityService_SetPassengerTrip_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PassengerTripRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SolidarityServiceServer).SetPassengerTrip(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: SolidarityService_SetPassengerTrip_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SolidarityServiceServer).SetPassengerTrip(ctx, req.(*PassengerTripRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// SolidarityService_ServiceDesc is the grpc.ServiceDesc for SolidarityService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var SolidarityService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "SolidarityService",
	HandlerType: (*SolidarityServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "SetDriverRegularAvailabilities",
			Handler:    _SolidarityService_SetDriverRegularAvailabilities_Handler,
		},
		{
			MethodName: "SetDriverPunctualAvailabilities",
			Handler:    _SolidarityService_SetDriverPunctualAvailabilities_Handler,
		},
		{
			MethodName: "CreateBookingSolidarity",
			Handler:    _SolidarityService_CreateBookingSolidarity_Handler,
		},
		{
			MethodName: "UpdateBookingSolidarity",
			Handler:    _SolidarityService_UpdateBookingSolidarity_Handler,
		},
		{
			MethodName: "GetBookingSolidarity",
			Handler:    _SolidarityService_GetBookingSolidarity_Handler,
		},
		{
			MethodName: "GetBookingsByStatus",
			Handler:    _SolidarityService_GetBookingsByStatus_Handler,
		},
		{
			MethodName: "DriverJourneys",
			Handler:    _SolidarityService_DriverJourneys_Handler,
		},
		{
			MethodName: "GetAllPassengers",
			Handler:    _SolidarityService_GetAllPassengers_Handler,
		},
		{
			MethodName: "GetPassenger",
			Handler:    _SolidarityService_GetPassenger_Handler,
		},
		{
			MethodName: "SetPassengerTrip",
			Handler:    _SolidarityService_SetPassengerTrip_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "solidarity-api.proto",
}
