consting things

This commit is contained in:
Jonas Zeunert
2018-12-14 03:43:13 +01:00
parent 2b9981e521
commit 57ec8fda79
21 changed files with 58 additions and 59 deletions

View File

@@ -25,7 +25,7 @@ public:
virtual void register_event_handler(EventHandler* handler) = 0; virtual void register_event_handler(EventHandler* handler) = 0;
virtual void unregister_event_handler(EventHandler* handler) = 0; virtual void unregister_event_handler(EventHandler* handler) = 0;
virtual void distribute_event(Event &event) = 0; virtual void distribute_event(const Event &event) = 0;
}; };
} }

View File

@@ -20,7 +20,7 @@ class InputPinController
public: public:
virtual ~InputPinController() = default; virtual ~InputPinController() = default;
virtual bool read_data(uint8_t pin) const = 0; virtual bool read_data(const uint8_t &pin) const = 0;
}; };
} }

View File

@@ -34,7 +34,7 @@ Detector::~Detector()
this->detect_thread.join(); this->detect_thread.join();
} }
void Detector::detect() void Detector::detect() const
{ {
while(this->is_running) while(this->is_running)
{ {
@@ -42,7 +42,7 @@ void Detector::detect()
} }
} }
void Detector::check_inputs() void Detector::check_inputs() const
{ {
for(auto &event : events) for(auto &event : events)
{ {

View File

@@ -40,8 +40,8 @@ public:
~Detector() override; ~Detector() override;
private: private:
void detect(); void detect() const;
void check_inputs(); void check_inputs() const;
private: private:
const std::unique_ptr<input::InputPinController> input_gpio_interface; const std::unique_ptr<input::InputPinController> input_gpio_interface;

View File

@@ -51,7 +51,7 @@ void EventNotifier::unregister_event_handler(EventHandler *handler)
this->event_handlers.erase(handler); this->event_handlers.erase(handler);
} }
void EventNotifier::distribute_event(Event &event) void EventNotifier::distribute_event(const Event &event)
{ {
this->event_queue->push(event); this->event_queue->push(event);
} }

View File

@@ -38,7 +38,7 @@ public:
void register_event_handler(EventHandler *handler) override; void register_event_handler(EventHandler *handler) override;
void unregister_event_handler(EventHandler *handler) override; void unregister_event_handler(EventHandler *handler) override;
void distribute_event(Event &event) override; void distribute_event(const Event &event) override;
private: private:
void notify(); void notify();

View File

@@ -28,7 +28,7 @@ InputPinController::InputPinController(std::map<std::string, uint8_t> pins)
init_pins(); init_pins();
} }
bool InputPinController::read_data(uint8_t pin) const bool InputPinController::read_data(const uint8_t &pin) const
{ {
// setting address to read // setting address to read
write_row(pin / INPUT_MATRIX_SIZE); write_row(pin / INPUT_MATRIX_SIZE);
@@ -40,14 +40,14 @@ bool InputPinController::read_data(uint8_t pin) const
return read_pin(this->pins.at("data_address")); return read_pin(this->pins.at("data_address"));
} }
void InputPinController::write_row(u_int8_t data) const void InputPinController::write_row(const u_int8_t &data) const
{ {
write_pin(this->pins.at("row_address_A"), data & 0b001u); write_pin(this->pins.at("row_address_A"), data & 0b001u);
write_pin(this->pins.at("row_address_B"), data & 0b010u); write_pin(this->pins.at("row_address_B"), data & 0b010u);
write_pin(this->pins.at("row_address_C"), data & 0b100u); write_pin(this->pins.at("row_address_C"), data & 0b100u);
} }
void InputPinController::write_col(uint8_t data) const void InputPinController::write_col(const uint8_t &data) const
{ {
write_pin(this->pins.at("col_address_A"), data & 0b001u); write_pin(this->pins.at("col_address_A"), data & 0b001u);
write_pin(this->pins.at("col_address_B"), data & 0b010u); write_pin(this->pins.at("col_address_B"), data & 0b010u);

View File

@@ -26,12 +26,12 @@ class InputPinController : public input::InputPinController, public PinControlle
{ {
public: public:
explicit InputPinController(std::map<std::string, uint8_t> pins); explicit InputPinController(std::map<std::string, uint8_t> pins);
bool read_data(uint8_t pin) const override; bool read_data(const uint8_t &pin) const override;
private: private:
void init_pins() const; void init_pins() const;
void write_row(u_int8_t data) const; void write_row(const u_int8_t &data) const;
void write_col(uint8_t data) const; void write_col(const uint8_t &data) const;
private: private:
const std::map<std::string, uint8_t> pins; const std::map<std::string, uint8_t> pins;

View File

@@ -17,10 +17,10 @@ class DisplayBoardPinController
public: public:
virtual ~DisplayBoardPinController() = default; virtual ~DisplayBoardPinController() = default;
virtual void activate_displays() = 0; virtual void activate_displays() const = 0;
virtual void deactivate_displays() = 0; virtual void deactivate_displays() const = 0;
virtual void write_display(items::Display &display) = 0; virtual void write_display(const items::Display &display) const = 0;
}; };
} }

View File

@@ -20,17 +20,17 @@ DisplayBoardPinController::DisplayBoardPinController(std::map<std::string, uint8
} }
void DisplayBoardPinController::activate_displays() void DisplayBoardPinController::activate_displays() const
{ {
write_pin(pins_display_board.at("run"), 1); write_pin(pins_display_board.at("run"), 1);
} }
void DisplayBoardPinController::deactivate_displays() void DisplayBoardPinController::deactivate_displays() const
{ {
write_pin(pins_display_board.at("run"), 0); write_pin(pins_display_board.at("run"), 0);
} }
void DisplayBoardPinController::write_display(items::Display &display) void DisplayBoardPinController::write_display(const items::Display &display) const
{ {
std::vector<char> content = display.get_content(); std::vector<char> content = display.get_content();

View File

@@ -24,10 +24,10 @@ public:
explicit DisplayBoardPinController(std::map<std::string, uint8_t> pins_display); explicit DisplayBoardPinController(std::map<std::string, uint8_t> pins_display);
~DisplayBoardPinController() override = default; ~DisplayBoardPinController() override = default;
void activate_displays() override; void activate_displays() const override;
void deactivate_displays() override; void deactivate_displays() const override;
void write_display(items::Display &display) override; void write_display(const items::Display &display) const override;
private: private:
void write_display_digit(const uint8_t display_address, const char &content, const uint8_t &position); void write_display_digit(const uint8_t display_address, const char &content, const uint8_t &position);

View File

@@ -31,7 +31,7 @@ DisplayController::~DisplayController()
this->display_cycle_thread.join(); this->display_cycle_thread.join();
} }
void DisplayController::cycle_displays() void DisplayController::cycle_displays() const
{ {
while(is_running) while(is_running)
{ {

View File

@@ -30,15 +30,14 @@ public:
~DisplayController() override; ~DisplayController() override;
private: private:
void cycle_displays(); void cycle_displays() const;
private: private:
std::vector<std::shared_ptr<items::Display>> displays; const std::vector<std::shared_ptr<items::Display>> displays;
const std::shared_ptr<DisplayBoardPinController> pin_controller;
std::thread display_cycle_thread; std::thread display_cycle_thread;
std::shared_ptr<DisplayBoardPinController> pin_controller;
bool is_running; bool is_running;
}; };

View File

@@ -36,7 +36,7 @@ void DriverBoardPinController::deactivate(items::DriverBoardItem &driver_board_i
} }
void DriverBoardPinController::write_driver_board_address(uint8_t address) void DriverBoardPinController::write_driver_board_address(const uint8_t address) const
{ {
int latch = address / 8; int latch = address / 8;
int pin = address % 8; int pin = address % 8;
@@ -48,7 +48,7 @@ void DriverBoardPinController::write_driver_board_address(uint8_t address)
select_pin(pin); select_pin(pin);
} }
void DriverBoardPinController::select_mux(uint8_t latch) void DriverBoardPinController::select_mux(const uint8_t latch)const
{ {
bool mux1 = latch / 8; bool mux1 = latch / 8;
@@ -56,7 +56,7 @@ void DriverBoardPinController::select_mux(uint8_t latch)
write_pin(pins_driver_board.at("mux2"), !mux1); write_pin(pins_driver_board.at("mux2"), !mux1);
} }
void DriverBoardPinController::select_latch(uint8_t latch) void DriverBoardPinController::select_latch(uint8_t latch) const
{ {
// todo not nice // todo not nice
if(latch > 8) if(latch > 8)
@@ -68,19 +68,19 @@ void DriverBoardPinController::select_latch(uint8_t latch)
} }
void DriverBoardPinController::write_data(bool data) void DriverBoardPinController::write_data(const bool data) const
{ {
write_pin(pins_driver_board.at("data"), data); write_pin(pins_driver_board.at("data"), data);
} }
void DriverBoardPinController::select_pin(uint8_t pin) void DriverBoardPinController::select_pin(const uint8_t pin) const
{ {
write_pin(pins_driver_board.at("pin-select-A"), pin & 0b001u); write_pin(pins_driver_board.at("pin-select-A"), pin & 0b001u);
write_pin(pins_driver_board.at("pin-select-B"), pin & 0b010u); write_pin(pins_driver_board.at("pin-select-B"), pin & 0b010u);
write_pin(pins_driver_board.at("pin-select-C"), pin & 0b100u); write_pin(pins_driver_board.at("pin-select-C"), pin & 0b100u);
} }
void DriverBoardPinController::write_pin(uint8_t pin, bool value) void DriverBoardPinController::write_pin(const uint8_t pin, const bool value) const
{ {
PinController::write_pin(pins_driver_board.at("pin_base") + pin, value); PinController::write_pin(pins_driver_board.at("pin_base") + pin, value);
} }

View File

@@ -31,13 +31,13 @@ public:
void deactivate(items::DriverBoardItem &driver_board_item) override; void deactivate(items::DriverBoardItem &driver_board_item) override;
private: private:
void write_driver_board_address(uint8_t address); void write_driver_board_address(const uint8_t address) const;
void select_mux(uint8_t latch); void select_mux(const uint8_t latch) const;
void select_latch(uint8_t latch); void select_latch(uint8_t latch) const;
void select_pin(uint8_t pin); void select_pin(const uint8_t pin) const;
void write_data(bool data); void write_data(const bool data) const;
void write_pin(uint8_t pin, bool value); void write_pin(const uint8_t pin, const bool value) const;
private: private:
std::shared_ptr<std::mutex> output_item_mutex; std::shared_ptr<std::mutex> output_item_mutex;

View File

@@ -59,22 +59,22 @@ std::vector<std::shared_ptr<Solenoid>> OutputDriver::get_solenoids()
return solenoids; return solenoids;
} }
boost::optional<std::shared_ptr<items::Lamp>> OutputDriver::get_lamp(std::string name) boost::optional<std::shared_ptr<items::Lamp>> OutputDriver::get_lamp(const std::string &name) const
{ {
return this->lamps.find(name)->second; return this->lamps.find(name)->second;
} }
boost::optional<std::shared_ptr<items::Solenoid>> OutputDriver::get_solenoid(std::string name) boost::optional<std::shared_ptr<items::Solenoid>> OutputDriver::get_solenoid(const std::string &name) const
{ {
return this->solenoids.find(name)->second; return this->solenoids.find(name)->second;
} }
boost::optional<std::shared_ptr<items::Sound>> OutputDriver::get_sound(std::string name) boost::optional<std::shared_ptr<items::Sound>> OutputDriver::get_sound(const std::string &name) const
{ {
return this->sounds.find(name)->second; return this->sounds.find(name)->second;
} }
boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(char number) boost::optional<std::shared_ptr<items::Display>> OutputDriver::get_display(const char &number) const
{ {
return this->displays.find(number)->second; return this->displays.find(number)->second;
} }

View File

@@ -32,10 +32,10 @@ public:
std::vector<std::shared_ptr<items::Sound>> get_sounds() override; std::vector<std::shared_ptr<items::Sound>> get_sounds() override;
std::vector<std::shared_ptr<items::Display>> get_displays() override; std::vector<std::shared_ptr<items::Display>> get_displays() override;
boost::optional<std::shared_ptr<items::Lamp>> get_lamp(std::string name) override; boost::optional<std::shared_ptr<items::Lamp>> get_lamp(const std::string &name) override;
boost::optional<std::shared_ptr<items::Solenoid>> get_solenoid(std::string name) override; boost::optional<std::shared_ptr<items::Solenoid>> get_solenoid(const std::&string name) override;
boost::optional<std::shared_ptr<items::Sound>> get_sound(std::string name) override; boost::optional<std::shared_ptr<items::Sound>> get_sound(const std::string &name) override;
boost::optional<std::shared_ptr<items::Display>> get_display(char number) override; boost::optional<std::shared_ptr<items::Display>> get_display(const char &number) override;
private: private:
std::unique_ptr<output::DisplayController> display_controller; std::unique_ptr<output::DisplayController> display_controller;

View File

@@ -24,8 +24,8 @@ class Display
public: public:
virtual ~Display() = default; virtual ~Display() = default;
virtual uint8_t get_address() = 0; virtual uint8_t get_address() const = 0;
virtual std::vector<char> get_content() = 0; virtual std::vector<char> get_content() const = 0;
}; };
} }

View File

@@ -31,8 +31,8 @@ public:
virtual void write_score(int score); virtual void write_score(int score);
virtual void write_content(std::array<char, DigitCount> content); virtual void write_content(std::array<char, DigitCount> content);
std::vector<char> get_content() override; std::vector<char> get_content() const override;
uint8_t get_address() override; uint8_t get_address() const override;
public: public:
std::array<char, DigitCount> content; std::array<char, DigitCount> content;

View File

@@ -32,12 +32,12 @@ public:
void trigger() override; void trigger() override;
private: private:
std::chrono::milliseconds deactivation_time; virtual void triggerTask();
std::future<void> trigger_task;
private: private:
virtual void triggerTask(); const std::chrono::milliseconds deactivation_time;
std::future<void> trigger_task;
}; };

View File

@@ -40,9 +40,9 @@ public:
void play() override; void play() override;
private: private:
const std::shared_ptr<SoundBoardPinController> pin_controller; const std::chrono::milliseconds deactivation_time;
std::chrono::milliseconds deactivation_time; const std::shared_ptr<SoundBoardPinController> pin_controller;
std::future<void> play_task; std::future<void> play_task;