Skip to content
Snippets Groups Projects
Commit f296e211 authored by René Paris's avatar René Paris
Browse files

refactor(IController): Simplify controller interface

parent 212ffdbf
No related branches found
No related tags found
1 merge request!105refactor(IController): Simplify controller interface
......@@ -16,27 +16,38 @@
/** @file i_controller.h */
//-----------------------------------------------------------------------------
#include "MantleAPI/Common/i_identifiable.h"
#pragma once
#include <optional>
#include "MantleAPI/Common/i_identifiable.h"
namespace mantle_api
{
/// Base interface for all controllers.
class IController : public IIdentifiable
{
public:
/// Activates the controller for the lateral domain
virtual void ActivateLateral() = 0;
/// Deactivates the controller for the lateral domain
virtual void DeactivateLateral() = 0;
/// Activates the controller for the longitudinal domain
virtual void ActivateLongitudinal() = 0;
/// Deactivates the controller for the longitudinal domain
virtual void DeactivateLongitudinal() = 0;
/// Desired state of lateral domain
enum class LateralState
{
kNoChange = 0,
kActivate,
kDeactivate
};
/// Desired state of longitudinal domain
enum class LongitudinalState
{
kNoChange = 0,
kActivate,
kDeactivate
};
/// Change the state of a controller
/// @param parameter lateral New state of the lateral domain
/// @param parameter longitudinal New state of the longituindal domain
virtual void ChangeState(LateralState lateral_state, LongitudinalState longitudinal_state) = 0;
};
} // namespace mantle_api
......
......@@ -429,23 +429,8 @@ public:
(const, override));
MOCK_METHOD(void,
ActivateLateral,
(),
(override));
MOCK_METHOD(void,
DeactivateLateral,
(),
(override));
MOCK_METHOD(void,
ActivateLongitudinal,
(),
(override));
MOCK_METHOD(void,
DeactivateLongitudinal,
(),
ChangeState,
(mantle_api::IController::LateralState, mantle_api::IController::LongitudinalState),
(override));
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment