// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"). You may
// not use this file except in compliance with the License. A copy of the
// License is located at
//
//     http://aws.amazon.com/apache2.0/
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/aws/amazon-ecs-agent/agent/engine/daemonmanager (interfaces: DaemonManager)

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

import (
	context "context"
	reflect "reflect"

	task "github.com/aws/amazon-ecs-agent/agent/api/task"
	dockerapi "github.com/aws/amazon-ecs-agent/agent/dockerclient/dockerapi"
	manageddaemon "github.com/aws/amazon-ecs-agent/ecs-agent/manageddaemon"
	types "github.com/docker/docker/api/types"
	gomock "github.com/golang/mock/gomock"
)

// MockDaemonManager is a mock of DaemonManager interface.
type MockDaemonManager struct {
	ctrl     *gomock.Controller
	recorder *MockDaemonManagerMockRecorder
}

// MockDaemonManagerMockRecorder is the mock recorder for MockDaemonManager.
type MockDaemonManagerMockRecorder struct {
	mock *MockDaemonManager
}

// NewMockDaemonManager creates a new mock instance.
func NewMockDaemonManager(ctrl *gomock.Controller) *MockDaemonManager {
	mock := &MockDaemonManager{ctrl: ctrl}
	mock.recorder = &MockDaemonManagerMockRecorder{mock}
	return mock
}

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

// CreateDaemonTask mocks base method.
func (m *MockDaemonManager) CreateDaemonTask() (*task.Task, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateDaemonTask")
	ret0, _ := ret[0].(*task.Task)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

// ImageExists mocks base method.
func (m *MockDaemonManager) ImageExists() (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ImageExists")
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// IsLoaded mocks base method.
func (m *MockDaemonManager) IsLoaded(arg0 dockerapi.DockerClient) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsLoaded", arg0)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// IsLoaded indicates an expected call of IsLoaded.
func (mr *MockDaemonManagerMockRecorder) IsLoaded(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsLoaded", reflect.TypeOf((*MockDaemonManager)(nil).IsLoaded), arg0)
}

// LoadImage mocks base method.
func (m *MockDaemonManager) LoadImage(arg0 context.Context, arg1 dockerapi.DockerClient) (*types.ImageInspect, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "LoadImage", arg0, arg1)
	ret0, _ := ret[0].(*types.ImageInspect)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// LoadImage indicates an expected call of LoadImage.
func (mr *MockDaemonManagerMockRecorder) LoadImage(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoadImage", reflect.TypeOf((*MockDaemonManager)(nil).LoadImage), arg0, arg1)
}
