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 @@ ...@@ -16,27 +16,38 @@
/** @file i_controller.h */ /** @file i_controller.h */
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#include "MantleAPI/Common/i_identifiable.h"
#pragma once #pragma once
#include <optional>
#include "MantleAPI/Common/i_identifiable.h"
namespace mantle_api namespace mantle_api
{ {
/// Base interface for all controllers. /// Base interface for all controllers.
class IController : public IIdentifiable class IController : public IIdentifiable
{ {
public: public:
/// Activates the controller for the lateral domain /// Desired state of lateral domain
virtual void ActivateLateral() = 0; enum class LateralState
{
/// Deactivates the controller for the lateral domain kNoChange = 0,
virtual void DeactivateLateral() = 0; kActivate,
kDeactivate
/// Activates the controller for the longitudinal domain };
virtual void ActivateLongitudinal() = 0;
/// Desired state of longitudinal domain
/// Deactivates the controller for the longitudinal domain enum class LongitudinalState
virtual void DeactivateLongitudinal() = 0; {
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 } // namespace mantle_api
......
...@@ -429,23 +429,8 @@ public: ...@@ -429,23 +429,8 @@ public:
(const, override)); (const, override));
MOCK_METHOD(void, MOCK_METHOD(void,
ActivateLateral, ChangeState,
(), (mantle_api::IController::LateralState, mantle_api::IController::LongitudinalState),
(override));
MOCK_METHOD(void,
DeactivateLateral,
(),
(override));
MOCK_METHOD(void,
ActivateLongitudinal,
(),
(override));
MOCK_METHOD(void,
DeactivateLongitudinal,
(),
(override)); (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