LSH-Core
Deterministic firmware core for Controllino-based Labo Smart Home nodes
 
Loading...
Searching...
No Matches
clickable_manager.hpp File Reference

Declares the manager for the global collection of Clickable objects. More...

#include <stdint.h>
#include "internal/etl_array.hpp"
#include "internal/user_config_bridge.hpp"
Include dependency graph for clickable_manager.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Clickables
 Globally stores all clickables (like buttons) and to operates over them.
 

Functions

auto Clickables::getId (uint8_t clickableIndex) -> uint8_t
 Return the static wire ID for one registered clickable index.
 
auto Clickables::getClickable (uint8_t clickableId) -> Clickable *
 Get a single clickable.
 
auto Clickables::getIndex (uint8_t clickableId) -> uint8_t
 Get a single clickable index (in device vector of clickable).
 
auto Clickables::tryGetIndex (uint8_t clickableId, uint8_t &clickableIndex) -> bool
 Resolves a clickable ID to its dense runtime index with a single map lookup.
 
auto Clickables::clickableExists (uint8_t clickableId) -> bool
 Get if the clickable actually exists.
 
void Clickables::finalizeSetup ()
 Validate the configured clickable table before runtime checks start.
 

Detailed Description

Declares the manager for the global collection of Clickable objects.

Author
Jacopo Labardi (labodj)

Copyright 2026 Jacopo Labardi

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License 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.