// Code generated by mockery v2.53.5. DO NOT EDIT.

package gonetworkmanager

import (
	gonetworkmanager "github.com/Wifx/gonetworkmanager/v2"
	dbus "github.com/godbus/dbus/v5"

	mock "github.com/stretchr/testify/mock"
)

// MockDevice is an autogenerated mock type for the Device type
type MockDevice struct {
	mock.Mock
}

type MockDevice_Expecter struct {
	mock *mock.Mock
}

func (_m *MockDevice) EXPECT() *MockDevice_Expecter {
	return &MockDevice_Expecter{mock: &_m.Mock}
}

// Delete provides a mock function with no fields
func (_m *MockDevice) Delete() error {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Delete")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func() error); ok {
		r0 = rf()
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockDevice_Delete_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Delete'
type MockDevice_Delete_Call struct {
	*mock.Call
}

// Delete is a helper method to define mock.On call
func (_e *MockDevice_Expecter) Delete() *MockDevice_Delete_Call {
	return &MockDevice_Delete_Call{Call: _e.mock.On("Delete")}
}

func (_c *MockDevice_Delete_Call) Run(run func()) *MockDevice_Delete_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_Delete_Call) Return(_a0 error) *MockDevice_Delete_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockDevice_Delete_Call) RunAndReturn(run func() error) *MockDevice_Delete_Call {
	_c.Call.Return(run)
	return _c
}

// Disconnect provides a mock function with no fields
func (_m *MockDevice) Disconnect() error {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Disconnect")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func() error); ok {
		r0 = rf()
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockDevice_Disconnect_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Disconnect'
type MockDevice_Disconnect_Call struct {
	*mock.Call
}

// Disconnect is a helper method to define mock.On call
func (_e *MockDevice_Expecter) Disconnect() *MockDevice_Disconnect_Call {
	return &MockDevice_Disconnect_Call{Call: _e.mock.On("Disconnect")}
}

func (_c *MockDevice_Disconnect_Call) Run(run func()) *MockDevice_Disconnect_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_Disconnect_Call) Return(_a0 error) *MockDevice_Disconnect_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockDevice_Disconnect_Call) RunAndReturn(run func() error) *MockDevice_Disconnect_Call {
	_c.Call.Return(run)
	return _c
}

// GetPath provides a mock function with no fields
func (_m *MockDevice) GetPath() dbus.ObjectPath {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPath")
	}

	var r0 dbus.ObjectPath
	if rf, ok := ret.Get(0).(func() dbus.ObjectPath); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(dbus.ObjectPath)
	}

	return r0
}

// MockDevice_GetPath_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPath'
type MockDevice_GetPath_Call struct {
	*mock.Call
}

// GetPath is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPath() *MockDevice_GetPath_Call {
	return &MockDevice_GetPath_Call{Call: _e.mock.On("GetPath")}
}

func (_c *MockDevice_GetPath_Call) Run(run func()) *MockDevice_GetPath_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPath_Call) Return(_a0 dbus.ObjectPath) *MockDevice_GetPath_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockDevice_GetPath_Call) RunAndReturn(run func() dbus.ObjectPath) *MockDevice_GetPath_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyActiveConnection provides a mock function with no fields
func (_m *MockDevice) GetPropertyActiveConnection() (gonetworkmanager.ActiveConnection, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyActiveConnection")
	}

	var r0 gonetworkmanager.ActiveConnection
	var r1 error
	if rf, ok := ret.Get(0).(func() (gonetworkmanager.ActiveConnection, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() gonetworkmanager.ActiveConnection); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(gonetworkmanager.ActiveConnection)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyActiveConnection_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyActiveConnection'
type MockDevice_GetPropertyActiveConnection_Call struct {
	*mock.Call
}

// GetPropertyActiveConnection is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyActiveConnection() *MockDevice_GetPropertyActiveConnection_Call {
	return &MockDevice_GetPropertyActiveConnection_Call{Call: _e.mock.On("GetPropertyActiveConnection")}
}

func (_c *MockDevice_GetPropertyActiveConnection_Call) Run(run func()) *MockDevice_GetPropertyActiveConnection_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyActiveConnection_Call) Return(_a0 gonetworkmanager.ActiveConnection, _a1 error) *MockDevice_GetPropertyActiveConnection_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyActiveConnection_Call) RunAndReturn(run func() (gonetworkmanager.ActiveConnection, error)) *MockDevice_GetPropertyActiveConnection_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyAutoConnect provides a mock function with no fields
func (_m *MockDevice) GetPropertyAutoConnect() (bool, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyAutoConnect")
	}

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func() (bool, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() bool); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyAutoConnect_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyAutoConnect'
type MockDevice_GetPropertyAutoConnect_Call struct {
	*mock.Call
}

// GetPropertyAutoConnect is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyAutoConnect() *MockDevice_GetPropertyAutoConnect_Call {
	return &MockDevice_GetPropertyAutoConnect_Call{Call: _e.mock.On("GetPropertyAutoConnect")}
}

func (_c *MockDevice_GetPropertyAutoConnect_Call) Run(run func()) *MockDevice_GetPropertyAutoConnect_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyAutoConnect_Call) Return(_a0 bool, _a1 error) *MockDevice_GetPropertyAutoConnect_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyAutoConnect_Call) RunAndReturn(run func() (bool, error)) *MockDevice_GetPropertyAutoConnect_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyAvailableConnections provides a mock function with no fields
func (_m *MockDevice) GetPropertyAvailableConnections() ([]gonetworkmanager.Connection, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyAvailableConnections")
	}

	var r0 []gonetworkmanager.Connection
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]gonetworkmanager.Connection, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []gonetworkmanager.Connection); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]gonetworkmanager.Connection)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyAvailableConnections_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyAvailableConnections'
type MockDevice_GetPropertyAvailableConnections_Call struct {
	*mock.Call
}

// GetPropertyAvailableConnections is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyAvailableConnections() *MockDevice_GetPropertyAvailableConnections_Call {
	return &MockDevice_GetPropertyAvailableConnections_Call{Call: _e.mock.On("GetPropertyAvailableConnections")}
}

func (_c *MockDevice_GetPropertyAvailableConnections_Call) Run(run func()) *MockDevice_GetPropertyAvailableConnections_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyAvailableConnections_Call) Return(_a0 []gonetworkmanager.Connection, _a1 error) *MockDevice_GetPropertyAvailableConnections_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyAvailableConnections_Call) RunAndReturn(run func() ([]gonetworkmanager.Connection, error)) *MockDevice_GetPropertyAvailableConnections_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyDHCP4Config provides a mock function with no fields
func (_m *MockDevice) GetPropertyDHCP4Config() (gonetworkmanager.DHCP4Config, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyDHCP4Config")
	}

	var r0 gonetworkmanager.DHCP4Config
	var r1 error
	if rf, ok := ret.Get(0).(func() (gonetworkmanager.DHCP4Config, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() gonetworkmanager.DHCP4Config); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(gonetworkmanager.DHCP4Config)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyDHCP4Config_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyDHCP4Config'
type MockDevice_GetPropertyDHCP4Config_Call struct {
	*mock.Call
}

// GetPropertyDHCP4Config is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyDHCP4Config() *MockDevice_GetPropertyDHCP4Config_Call {
	return &MockDevice_GetPropertyDHCP4Config_Call{Call: _e.mock.On("GetPropertyDHCP4Config")}
}

func (_c *MockDevice_GetPropertyDHCP4Config_Call) Run(run func()) *MockDevice_GetPropertyDHCP4Config_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyDHCP4Config_Call) Return(_a0 gonetworkmanager.DHCP4Config, _a1 error) *MockDevice_GetPropertyDHCP4Config_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyDHCP4Config_Call) RunAndReturn(run func() (gonetworkmanager.DHCP4Config, error)) *MockDevice_GetPropertyDHCP4Config_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyDHCP6Config provides a mock function with no fields
func (_m *MockDevice) GetPropertyDHCP6Config() (gonetworkmanager.DHCP6Config, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyDHCP6Config")
	}

	var r0 gonetworkmanager.DHCP6Config
	var r1 error
	if rf, ok := ret.Get(0).(func() (gonetworkmanager.DHCP6Config, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() gonetworkmanager.DHCP6Config); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(gonetworkmanager.DHCP6Config)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyDHCP6Config_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyDHCP6Config'
type MockDevice_GetPropertyDHCP6Config_Call struct {
	*mock.Call
}

// GetPropertyDHCP6Config is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyDHCP6Config() *MockDevice_GetPropertyDHCP6Config_Call {
	return &MockDevice_GetPropertyDHCP6Config_Call{Call: _e.mock.On("GetPropertyDHCP6Config")}
}

func (_c *MockDevice_GetPropertyDHCP6Config_Call) Run(run func()) *MockDevice_GetPropertyDHCP6Config_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyDHCP6Config_Call) Return(_a0 gonetworkmanager.DHCP6Config, _a1 error) *MockDevice_GetPropertyDHCP6Config_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyDHCP6Config_Call) RunAndReturn(run func() (gonetworkmanager.DHCP6Config, error)) *MockDevice_GetPropertyDHCP6Config_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyDeviceType provides a mock function with no fields
func (_m *MockDevice) GetPropertyDeviceType() (gonetworkmanager.NmDeviceType, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyDeviceType")
	}

	var r0 gonetworkmanager.NmDeviceType
	var r1 error
	if rf, ok := ret.Get(0).(func() (gonetworkmanager.NmDeviceType, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() gonetworkmanager.NmDeviceType); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(gonetworkmanager.NmDeviceType)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyDeviceType_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyDeviceType'
type MockDevice_GetPropertyDeviceType_Call struct {
	*mock.Call
}

// GetPropertyDeviceType is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyDeviceType() *MockDevice_GetPropertyDeviceType_Call {
	return &MockDevice_GetPropertyDeviceType_Call{Call: _e.mock.On("GetPropertyDeviceType")}
}

func (_c *MockDevice_GetPropertyDeviceType_Call) Run(run func()) *MockDevice_GetPropertyDeviceType_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyDeviceType_Call) Return(_a0 gonetworkmanager.NmDeviceType, _a1 error) *MockDevice_GetPropertyDeviceType_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyDeviceType_Call) RunAndReturn(run func() (gonetworkmanager.NmDeviceType, error)) *MockDevice_GetPropertyDeviceType_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyDriver provides a mock function with no fields
func (_m *MockDevice) GetPropertyDriver() (string, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyDriver")
	}

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func() (string, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyDriver_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyDriver'
type MockDevice_GetPropertyDriver_Call struct {
	*mock.Call
}

// GetPropertyDriver is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyDriver() *MockDevice_GetPropertyDriver_Call {
	return &MockDevice_GetPropertyDriver_Call{Call: _e.mock.On("GetPropertyDriver")}
}

func (_c *MockDevice_GetPropertyDriver_Call) Run(run func()) *MockDevice_GetPropertyDriver_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyDriver_Call) Return(_a0 string, _a1 error) *MockDevice_GetPropertyDriver_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyDriver_Call) RunAndReturn(run func() (string, error)) *MockDevice_GetPropertyDriver_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyDriverVersion provides a mock function with no fields
func (_m *MockDevice) GetPropertyDriverVersion() (string, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyDriverVersion")
	}

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func() (string, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyDriverVersion_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyDriverVersion'
type MockDevice_GetPropertyDriverVersion_Call struct {
	*mock.Call
}

// GetPropertyDriverVersion is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyDriverVersion() *MockDevice_GetPropertyDriverVersion_Call {
	return &MockDevice_GetPropertyDriverVersion_Call{Call: _e.mock.On("GetPropertyDriverVersion")}
}

func (_c *MockDevice_GetPropertyDriverVersion_Call) Run(run func()) *MockDevice_GetPropertyDriverVersion_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyDriverVersion_Call) Return(_a0 string, _a1 error) *MockDevice_GetPropertyDriverVersion_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyDriverVersion_Call) RunAndReturn(run func() (string, error)) *MockDevice_GetPropertyDriverVersion_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyFirmwareMissing provides a mock function with no fields
func (_m *MockDevice) GetPropertyFirmwareMissing() (bool, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyFirmwareMissing")
	}

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func() (bool, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() bool); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyFirmwareMissing_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyFirmwareMissing'
type MockDevice_GetPropertyFirmwareMissing_Call struct {
	*mock.Call
}

// GetPropertyFirmwareMissing is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyFirmwareMissing() *MockDevice_GetPropertyFirmwareMissing_Call {
	return &MockDevice_GetPropertyFirmwareMissing_Call{Call: _e.mock.On("GetPropertyFirmwareMissing")}
}

func (_c *MockDevice_GetPropertyFirmwareMissing_Call) Run(run func()) *MockDevice_GetPropertyFirmwareMissing_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyFirmwareMissing_Call) Return(_a0 bool, _a1 error) *MockDevice_GetPropertyFirmwareMissing_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyFirmwareMissing_Call) RunAndReturn(run func() (bool, error)) *MockDevice_GetPropertyFirmwareMissing_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyFirmwareVersion provides a mock function with no fields
func (_m *MockDevice) GetPropertyFirmwareVersion() (string, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyFirmwareVersion")
	}

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func() (string, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyFirmwareVersion_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyFirmwareVersion'
type MockDevice_GetPropertyFirmwareVersion_Call struct {
	*mock.Call
}

// GetPropertyFirmwareVersion is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyFirmwareVersion() *MockDevice_GetPropertyFirmwareVersion_Call {
	return &MockDevice_GetPropertyFirmwareVersion_Call{Call: _e.mock.On("GetPropertyFirmwareVersion")}
}

func (_c *MockDevice_GetPropertyFirmwareVersion_Call) Run(run func()) *MockDevice_GetPropertyFirmwareVersion_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyFirmwareVersion_Call) Return(_a0 string, _a1 error) *MockDevice_GetPropertyFirmwareVersion_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyFirmwareVersion_Call) RunAndReturn(run func() (string, error)) *MockDevice_GetPropertyFirmwareVersion_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyIP4Config provides a mock function with no fields
func (_m *MockDevice) GetPropertyIP4Config() (gonetworkmanager.IP4Config, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyIP4Config")
	}

	var r0 gonetworkmanager.IP4Config
	var r1 error
	if rf, ok := ret.Get(0).(func() (gonetworkmanager.IP4Config, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() gonetworkmanager.IP4Config); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(gonetworkmanager.IP4Config)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyIP4Config_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyIP4Config'
type MockDevice_GetPropertyIP4Config_Call struct {
	*mock.Call
}

// GetPropertyIP4Config is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyIP4Config() *MockDevice_GetPropertyIP4Config_Call {
	return &MockDevice_GetPropertyIP4Config_Call{Call: _e.mock.On("GetPropertyIP4Config")}
}

func (_c *MockDevice_GetPropertyIP4Config_Call) Run(run func()) *MockDevice_GetPropertyIP4Config_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyIP4Config_Call) Return(_a0 gonetworkmanager.IP4Config, _a1 error) *MockDevice_GetPropertyIP4Config_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyIP4Config_Call) RunAndReturn(run func() (gonetworkmanager.IP4Config, error)) *MockDevice_GetPropertyIP4Config_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyIP6Config provides a mock function with no fields
func (_m *MockDevice) GetPropertyIP6Config() (gonetworkmanager.IP6Config, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyIP6Config")
	}

	var r0 gonetworkmanager.IP6Config
	var r1 error
	if rf, ok := ret.Get(0).(func() (gonetworkmanager.IP6Config, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() gonetworkmanager.IP6Config); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(gonetworkmanager.IP6Config)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyIP6Config_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyIP6Config'
type MockDevice_GetPropertyIP6Config_Call struct {
	*mock.Call
}

// GetPropertyIP6Config is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyIP6Config() *MockDevice_GetPropertyIP6Config_Call {
	return &MockDevice_GetPropertyIP6Config_Call{Call: _e.mock.On("GetPropertyIP6Config")}
}

func (_c *MockDevice_GetPropertyIP6Config_Call) Run(run func()) *MockDevice_GetPropertyIP6Config_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyIP6Config_Call) Return(_a0 gonetworkmanager.IP6Config, _a1 error) *MockDevice_GetPropertyIP6Config_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyIP6Config_Call) RunAndReturn(run func() (gonetworkmanager.IP6Config, error)) *MockDevice_GetPropertyIP6Config_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyInterface provides a mock function with no fields
func (_m *MockDevice) GetPropertyInterface() (string, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyInterface")
	}

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func() (string, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyInterface_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyInterface'
type MockDevice_GetPropertyInterface_Call struct {
	*mock.Call
}

// GetPropertyInterface is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyInterface() *MockDevice_GetPropertyInterface_Call {
	return &MockDevice_GetPropertyInterface_Call{Call: _e.mock.On("GetPropertyInterface")}
}

func (_c *MockDevice_GetPropertyInterface_Call) Run(run func()) *MockDevice_GetPropertyInterface_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyInterface_Call) Return(_a0 string, _a1 error) *MockDevice_GetPropertyInterface_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyInterface_Call) RunAndReturn(run func() (string, error)) *MockDevice_GetPropertyInterface_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyIp4Connectivity provides a mock function with no fields
func (_m *MockDevice) GetPropertyIp4Connectivity() (gonetworkmanager.NmConnectivity, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyIp4Connectivity")
	}

	var r0 gonetworkmanager.NmConnectivity
	var r1 error
	if rf, ok := ret.Get(0).(func() (gonetworkmanager.NmConnectivity, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() gonetworkmanager.NmConnectivity); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(gonetworkmanager.NmConnectivity)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyIp4Connectivity_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyIp4Connectivity'
type MockDevice_GetPropertyIp4Connectivity_Call struct {
	*mock.Call
}

// GetPropertyIp4Connectivity is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyIp4Connectivity() *MockDevice_GetPropertyIp4Connectivity_Call {
	return &MockDevice_GetPropertyIp4Connectivity_Call{Call: _e.mock.On("GetPropertyIp4Connectivity")}
}

func (_c *MockDevice_GetPropertyIp4Connectivity_Call) Run(run func()) *MockDevice_GetPropertyIp4Connectivity_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyIp4Connectivity_Call) Return(_a0 gonetworkmanager.NmConnectivity, _a1 error) *MockDevice_GetPropertyIp4Connectivity_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyIp4Connectivity_Call) RunAndReturn(run func() (gonetworkmanager.NmConnectivity, error)) *MockDevice_GetPropertyIp4Connectivity_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyIpInterface provides a mock function with no fields
func (_m *MockDevice) GetPropertyIpInterface() (string, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyIpInterface")
	}

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func() (string, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyIpInterface_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyIpInterface'
type MockDevice_GetPropertyIpInterface_Call struct {
	*mock.Call
}

// GetPropertyIpInterface is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyIpInterface() *MockDevice_GetPropertyIpInterface_Call {
	return &MockDevice_GetPropertyIpInterface_Call{Call: _e.mock.On("GetPropertyIpInterface")}
}

func (_c *MockDevice_GetPropertyIpInterface_Call) Run(run func()) *MockDevice_GetPropertyIpInterface_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyIpInterface_Call) Return(_a0 string, _a1 error) *MockDevice_GetPropertyIpInterface_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyIpInterface_Call) RunAndReturn(run func() (string, error)) *MockDevice_GetPropertyIpInterface_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyManaged provides a mock function with no fields
func (_m *MockDevice) GetPropertyManaged() (bool, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyManaged")
	}

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func() (bool, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() bool); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyManaged_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyManaged'
type MockDevice_GetPropertyManaged_Call struct {
	*mock.Call
}

// GetPropertyManaged is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyManaged() *MockDevice_GetPropertyManaged_Call {
	return &MockDevice_GetPropertyManaged_Call{Call: _e.mock.On("GetPropertyManaged")}
}

func (_c *MockDevice_GetPropertyManaged_Call) Run(run func()) *MockDevice_GetPropertyManaged_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyManaged_Call) Return(_a0 bool, _a1 error) *MockDevice_GetPropertyManaged_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyManaged_Call) RunAndReturn(run func() (bool, error)) *MockDevice_GetPropertyManaged_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyMtu provides a mock function with no fields
func (_m *MockDevice) GetPropertyMtu() (uint32, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyMtu")
	}

	var r0 uint32
	var r1 error
	if rf, ok := ret.Get(0).(func() (uint32, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() uint32); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(uint32)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyMtu_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyMtu'
type MockDevice_GetPropertyMtu_Call struct {
	*mock.Call
}

// GetPropertyMtu is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyMtu() *MockDevice_GetPropertyMtu_Call {
	return &MockDevice_GetPropertyMtu_Call{Call: _e.mock.On("GetPropertyMtu")}
}

func (_c *MockDevice_GetPropertyMtu_Call) Run(run func()) *MockDevice_GetPropertyMtu_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyMtu_Call) Return(_a0 uint32, _a1 error) *MockDevice_GetPropertyMtu_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyMtu_Call) RunAndReturn(run func() (uint32, error)) *MockDevice_GetPropertyMtu_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyNmPluginMissing provides a mock function with no fields
func (_m *MockDevice) GetPropertyNmPluginMissing() (bool, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyNmPluginMissing")
	}

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func() (bool, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() bool); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyNmPluginMissing_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyNmPluginMissing'
type MockDevice_GetPropertyNmPluginMissing_Call struct {
	*mock.Call
}

// GetPropertyNmPluginMissing is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyNmPluginMissing() *MockDevice_GetPropertyNmPluginMissing_Call {
	return &MockDevice_GetPropertyNmPluginMissing_Call{Call: _e.mock.On("GetPropertyNmPluginMissing")}
}

func (_c *MockDevice_GetPropertyNmPluginMissing_Call) Run(run func()) *MockDevice_GetPropertyNmPluginMissing_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyNmPluginMissing_Call) Return(_a0 bool, _a1 error) *MockDevice_GetPropertyNmPluginMissing_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyNmPluginMissing_Call) RunAndReturn(run func() (bool, error)) *MockDevice_GetPropertyNmPluginMissing_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyPhysicalPortId provides a mock function with no fields
func (_m *MockDevice) GetPropertyPhysicalPortId() (string, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyPhysicalPortId")
	}

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func() (string, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyPhysicalPortId_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyPhysicalPortId'
type MockDevice_GetPropertyPhysicalPortId_Call struct {
	*mock.Call
}

// GetPropertyPhysicalPortId is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyPhysicalPortId() *MockDevice_GetPropertyPhysicalPortId_Call {
	return &MockDevice_GetPropertyPhysicalPortId_Call{Call: _e.mock.On("GetPropertyPhysicalPortId")}
}

func (_c *MockDevice_GetPropertyPhysicalPortId_Call) Run(run func()) *MockDevice_GetPropertyPhysicalPortId_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyPhysicalPortId_Call) Return(_a0 string, _a1 error) *MockDevice_GetPropertyPhysicalPortId_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyPhysicalPortId_Call) RunAndReturn(run func() (string, error)) *MockDevice_GetPropertyPhysicalPortId_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyReal provides a mock function with no fields
func (_m *MockDevice) GetPropertyReal() (bool, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyReal")
	}

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func() (bool, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() bool); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyReal_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyReal'
type MockDevice_GetPropertyReal_Call struct {
	*mock.Call
}

// GetPropertyReal is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyReal() *MockDevice_GetPropertyReal_Call {
	return &MockDevice_GetPropertyReal_Call{Call: _e.mock.On("GetPropertyReal")}
}

func (_c *MockDevice_GetPropertyReal_Call) Run(run func()) *MockDevice_GetPropertyReal_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyReal_Call) Return(_a0 bool, _a1 error) *MockDevice_GetPropertyReal_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyReal_Call) RunAndReturn(run func() (bool, error)) *MockDevice_GetPropertyReal_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyState provides a mock function with no fields
func (_m *MockDevice) GetPropertyState() (gonetworkmanager.NmDeviceState, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyState")
	}

	var r0 gonetworkmanager.NmDeviceState
	var r1 error
	if rf, ok := ret.Get(0).(func() (gonetworkmanager.NmDeviceState, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() gonetworkmanager.NmDeviceState); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(gonetworkmanager.NmDeviceState)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyState_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyState'
type MockDevice_GetPropertyState_Call struct {
	*mock.Call
}

// GetPropertyState is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyState() *MockDevice_GetPropertyState_Call {
	return &MockDevice_GetPropertyState_Call{Call: _e.mock.On("GetPropertyState")}
}

func (_c *MockDevice_GetPropertyState_Call) Run(run func()) *MockDevice_GetPropertyState_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyState_Call) Return(_a0 gonetworkmanager.NmDeviceState, _a1 error) *MockDevice_GetPropertyState_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyState_Call) RunAndReturn(run func() (gonetworkmanager.NmDeviceState, error)) *MockDevice_GetPropertyState_Call {
	_c.Call.Return(run)
	return _c
}

// GetPropertyUdi provides a mock function with no fields
func (_m *MockDevice) GetPropertyUdi() (string, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetPropertyUdi")
	}

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func() (string, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_GetPropertyUdi_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPropertyUdi'
type MockDevice_GetPropertyUdi_Call struct {
	*mock.Call
}

// GetPropertyUdi is a helper method to define mock.On call
func (_e *MockDevice_Expecter) GetPropertyUdi() *MockDevice_GetPropertyUdi_Call {
	return &MockDevice_GetPropertyUdi_Call{Call: _e.mock.On("GetPropertyUdi")}
}

func (_c *MockDevice_GetPropertyUdi_Call) Run(run func()) *MockDevice_GetPropertyUdi_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_GetPropertyUdi_Call) Return(_a0 string, _a1 error) *MockDevice_GetPropertyUdi_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_GetPropertyUdi_Call) RunAndReturn(run func() (string, error)) *MockDevice_GetPropertyUdi_Call {
	_c.Call.Return(run)
	return _c
}

// MarshalJSON provides a mock function with no fields
func (_m *MockDevice) MarshalJSON() ([]byte, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for MarshalJSON")
	}

	var r0 []byte
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]byte, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []byte); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]byte)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// MockDevice_MarshalJSON_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'MarshalJSON'
type MockDevice_MarshalJSON_Call struct {
	*mock.Call
}

// MarshalJSON is a helper method to define mock.On call
func (_e *MockDevice_Expecter) MarshalJSON() *MockDevice_MarshalJSON_Call {
	return &MockDevice_MarshalJSON_Call{Call: _e.mock.On("MarshalJSON")}
}

func (_c *MockDevice_MarshalJSON_Call) Run(run func()) *MockDevice_MarshalJSON_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *MockDevice_MarshalJSON_Call) Return(_a0 []byte, _a1 error) *MockDevice_MarshalJSON_Call {
	_c.Call.Return(_a0, _a1)
	return _c
}

func (_c *MockDevice_MarshalJSON_Call) RunAndReturn(run func() ([]byte, error)) *MockDevice_MarshalJSON_Call {
	_c.Call.Return(run)
	return _c
}

// Reapply provides a mock function with given fields: connection, versionId, flags
func (_m *MockDevice) Reapply(connection gonetworkmanager.Connection, versionId uint64, flags uint32) error {
	ret := _m.Called(connection, versionId, flags)

	if len(ret) == 0 {
		panic("no return value specified for Reapply")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(gonetworkmanager.Connection, uint64, uint32) error); ok {
		r0 = rf(connection, versionId, flags)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockDevice_Reapply_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Reapply'
type MockDevice_Reapply_Call struct {
	*mock.Call
}

// Reapply is a helper method to define mock.On call
//   - connection gonetworkmanager.Connection
//   - versionId uint64
//   - flags uint32
func (_e *MockDevice_Expecter) Reapply(connection interface{}, versionId interface{}, flags interface{}) *MockDevice_Reapply_Call {
	return &MockDevice_Reapply_Call{Call: _e.mock.On("Reapply", connection, versionId, flags)}
}

func (_c *MockDevice_Reapply_Call) Run(run func(connection gonetworkmanager.Connection, versionId uint64, flags uint32)) *MockDevice_Reapply_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(gonetworkmanager.Connection), args[1].(uint64), args[2].(uint32))
	})
	return _c
}

func (_c *MockDevice_Reapply_Call) Return(_a0 error) *MockDevice_Reapply_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockDevice_Reapply_Call) RunAndReturn(run func(gonetworkmanager.Connection, uint64, uint32) error) *MockDevice_Reapply_Call {
	_c.Call.Return(run)
	return _c
}

// SetPropertyAutoConnect provides a mock function with given fields: _a0
func (_m *MockDevice) SetPropertyAutoConnect(_a0 bool) error {
	ret := _m.Called(_a0)

	if len(ret) == 0 {
		panic("no return value specified for SetPropertyAutoConnect")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(bool) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockDevice_SetPropertyAutoConnect_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetPropertyAutoConnect'
type MockDevice_SetPropertyAutoConnect_Call struct {
	*mock.Call
}

// SetPropertyAutoConnect is a helper method to define mock.On call
//   - _a0 bool
func (_e *MockDevice_Expecter) SetPropertyAutoConnect(_a0 interface{}) *MockDevice_SetPropertyAutoConnect_Call {
	return &MockDevice_SetPropertyAutoConnect_Call{Call: _e.mock.On("SetPropertyAutoConnect", _a0)}
}

func (_c *MockDevice_SetPropertyAutoConnect_Call) Run(run func(_a0 bool)) *MockDevice_SetPropertyAutoConnect_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(bool))
	})
	return _c
}

func (_c *MockDevice_SetPropertyAutoConnect_Call) Return(_a0 error) *MockDevice_SetPropertyAutoConnect_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockDevice_SetPropertyAutoConnect_Call) RunAndReturn(run func(bool) error) *MockDevice_SetPropertyAutoConnect_Call {
	_c.Call.Return(run)
	return _c
}

// SetPropertyManaged provides a mock function with given fields: _a0
func (_m *MockDevice) SetPropertyManaged(_a0 bool) error {
	ret := _m.Called(_a0)

	if len(ret) == 0 {
		panic("no return value specified for SetPropertyManaged")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(bool) error); ok {
		r0 = rf(_a0)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockDevice_SetPropertyManaged_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetPropertyManaged'
type MockDevice_SetPropertyManaged_Call struct {
	*mock.Call
}

// SetPropertyManaged is a helper method to define mock.On call
//   - _a0 bool
func (_e *MockDevice_Expecter) SetPropertyManaged(_a0 interface{}) *MockDevice_SetPropertyManaged_Call {
	return &MockDevice_SetPropertyManaged_Call{Call: _e.mock.On("SetPropertyManaged", _a0)}
}

func (_c *MockDevice_SetPropertyManaged_Call) Run(run func(_a0 bool)) *MockDevice_SetPropertyManaged_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(bool))
	})
	return _c
}

func (_c *MockDevice_SetPropertyManaged_Call) Return(_a0 error) *MockDevice_SetPropertyManaged_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockDevice_SetPropertyManaged_Call) RunAndReturn(run func(bool) error) *MockDevice_SetPropertyManaged_Call {
	_c.Call.Return(run)
	return _c
}

// SubscribeState provides a mock function with given fields: receiver, exit
func (_m *MockDevice) SubscribeState(receiver chan gonetworkmanager.DeviceStateChange, exit chan struct{}) error {
	ret := _m.Called(receiver, exit)

	if len(ret) == 0 {
		panic("no return value specified for SubscribeState")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(chan gonetworkmanager.DeviceStateChange, chan struct{}) error); ok {
		r0 = rf(receiver, exit)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockDevice_SubscribeState_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SubscribeState'
type MockDevice_SubscribeState_Call struct {
	*mock.Call
}

// SubscribeState is a helper method to define mock.On call
//   - receiver chan gonetworkmanager.DeviceStateChange
//   - exit chan struct{}
func (_e *MockDevice_Expecter) SubscribeState(receiver interface{}, exit interface{}) *MockDevice_SubscribeState_Call {
	return &MockDevice_SubscribeState_Call{Call: _e.mock.On("SubscribeState", receiver, exit)}
}

func (_c *MockDevice_SubscribeState_Call) Run(run func(receiver chan gonetworkmanager.DeviceStateChange, exit chan struct{})) *MockDevice_SubscribeState_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(chan gonetworkmanager.DeviceStateChange), args[1].(chan struct{}))
	})
	return _c
}

func (_c *MockDevice_SubscribeState_Call) Return(err error) *MockDevice_SubscribeState_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockDevice_SubscribeState_Call) RunAndReturn(run func(chan gonetworkmanager.DeviceStateChange, chan struct{}) error) *MockDevice_SubscribeState_Call {
	_c.Call.Return(run)
	return _c
}

// NewMockDevice creates a new instance of MockDevice. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewMockDevice(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockDevice {
	mock := &MockDevice{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}
