// Code generated by MockGen. DO NOT EDIT.
// Source: retained/interface.go

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

import (
	reflect "reflect"

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

// MockStore is a mock of Store interface
type MockStore struct {
	ctrl     *gomock.Controller
	recorder *MockStoreMockRecorder
}

// MockStoreMockRecorder is the mock recorder for MockStore
type MockStoreMockRecorder struct {
	mock *MockStore
}

// NewMockStore creates a new mock instance
func NewMockStore(ctrl *gomock.Controller) *MockStore {
	mock := &MockStore{ctrl: ctrl}
	mock.recorder = &MockStoreMockRecorder{mock}
	return mock
}

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

// GetRetainedMessage mocks base method
func (m *MockStore) GetRetainedMessage(topicName string) *gmqtt.Message {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetRetainedMessage", topicName)
	ret0, _ := ret[0].(*gmqtt.Message)
	return ret0
}

// GetRetainedMessage indicates an expected call of GetRetainedMessage
func (mr *MockStoreMockRecorder) GetRetainedMessage(topicName interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRetainedMessage", reflect.TypeOf((*MockStore)(nil).GetRetainedMessage), topicName)
}

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

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

// AddOrReplace mocks base method
func (m *MockStore) AddOrReplace(message *gmqtt.Message) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddOrReplace", message)
}

// AddOrReplace indicates an expected call of AddOrReplace
func (mr *MockStoreMockRecorder) AddOrReplace(message interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddOrReplace", reflect.TypeOf((*MockStore)(nil).AddOrReplace), message)
}

// Remove mocks base method
func (m *MockStore) Remove(topicName string) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Remove", topicName)
}

// Remove indicates an expected call of Remove
func (mr *MockStoreMockRecorder) Remove(topicName interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Remove", reflect.TypeOf((*MockStore)(nil).Remove), topicName)
}

// GetMatchedMessages mocks base method
func (m *MockStore) GetMatchedMessages(topicFilter string) []*gmqtt.Message {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetMatchedMessages", topicFilter)
	ret0, _ := ret[0].([]*gmqtt.Message)
	return ret0
}

// GetMatchedMessages indicates an expected call of GetMatchedMessages
func (mr *MockStoreMockRecorder) GetMatchedMessages(topicFilter interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMatchedMessages", reflect.TypeOf((*MockStore)(nil).GetMatchedMessages), topicFilter)
}

// Iterate mocks base method
func (m *MockStore) Iterate(fn IterateFn) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Iterate", fn)
}

// Iterate indicates an expected call of Iterate
func (mr *MockStoreMockRecorder) Iterate(fn interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Iterate", reflect.TypeOf((*MockStore)(nil).Iterate), fn)
}
