// Code generated by MockGen. DO NOT EDIT.
// Source: server/client.go

// Package server is a generated GoMock package.
package server

import (
	net "net"
	reflect "reflect"
	time "time"

	gomock "github.com/golang/mock/gomock"
	packets "github.com/winc-link/hummingbird/internal/pkg/packets"
	gmqtt "github.com/winc-link/hummingbird/internal/hummingbird/mqttbroker"
)

// MockClient is a mock of Client interface
type MockClient struct {
	ctrl     *gomock.Controller
	recorder *MockClientMockRecorder
}

// MockClientMockRecorder is the mock recorder for MockClient
type MockClientMockRecorder struct {
	mock *MockClient
}

// NewMockClient creates a new mock instance
func NewMockClient(ctrl *gomock.Controller) *MockClient {
	mock := &MockClient{ctrl: ctrl}
	mock.recorder = &MockClientMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use
func (m *MockClient) EXPECT() *MockClientMockRecorder {
	return m.recorder
}

// ClientOptions mocks base method
func (m *MockClient) ClientOptions() *ClientOptions {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClientOptions")
	ret0, _ := ret[0].(*ClientOptions)
	return ret0
}

// ClientOptions indicates an expected call of ClientOptions
func (mr *MockClientMockRecorder) ClientOptions() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClientOptions", reflect.TypeOf((*MockClient)(nil).ClientOptions))
}

// SessionInfo mocks base method
func (m *MockClient) SessionInfo() *gmqtt.Session {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SessionInfo")
	ret0, _ := ret[0].(*gmqtt.Session)
	return ret0
}

// SessionInfo indicates an expected call of SessionInfo
func (mr *MockClientMockRecorder) SessionInfo() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SessionInfo", reflect.TypeOf((*MockClient)(nil).SessionInfo))
}

// Version mocks base method
func (m *MockClient) Version() packets.Version {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Version")
	ret0, _ := ret[0].(packets.Version)
	return ret0
}

// Version indicates an expected call of Version
func (mr *MockClientMockRecorder) Version() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Version", reflect.TypeOf((*MockClient)(nil).Version))
}

// ConnectedAt mocks base method
func (m *MockClient) ConnectedAt() time.Time {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ConnectedAt")
	ret0, _ := ret[0].(time.Time)
	return ret0
}

// ConnectedAt indicates an expected call of ConnectedAt
func (mr *MockClientMockRecorder) ConnectedAt() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConnectedAt", reflect.TypeOf((*MockClient)(nil).ConnectedAt))
}

// Connection mocks base method
func (m *MockClient) Connection() net.Conn {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Connection")
	ret0, _ := ret[0].(net.Conn)
	return ret0
}

// Connection indicates an expected call of Connection
func (mr *MockClientMockRecorder) Connection() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Connection", reflect.TypeOf((*MockClient)(nil).Connection))
}

// Close mocks base method
func (m *MockClient) Close() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Close")
}

// Close indicates an expected call of Close
func (mr *MockClientMockRecorder) Close() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockClient)(nil).Close))
}

// Disconnect mocks base method
func (m *MockClient) Disconnect(disconnect *packets.Disconnect) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Disconnect", disconnect)
}

// Disconnect indicates an expected call of Disconnect
func (mr *MockClientMockRecorder) Disconnect(disconnect interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Disconnect", reflect.TypeOf((*MockClient)(nil).Disconnect), disconnect)
}
