[esp32_camera] Replace std::function callbacks with CameraListener interface (#12165)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
J. Nick Koston
2025-12-02 09:59:32 -06:00
committed by GitHub
parent deda7a1bf3
commit f9ad832e7b
7 changed files with 78 additions and 56 deletions

View File

@@ -107,12 +107,7 @@ void APIServer::setup() {
#ifdef USE_CAMERA
if (camera::Camera::instance() != nullptr && !camera::Camera::instance()->is_internal()) {
camera::Camera::instance()->add_image_callback([this](const std::shared_ptr<camera::CameraImage> &image) {
for (auto &c : this->clients_) {
if (!c->flags_.remove)
c->set_camera_state(image);
}
});
camera::Camera::instance()->add_listener(this);
}
#endif
}
@@ -544,6 +539,15 @@ void APIServer::on_log(uint8_t level, const char *tag, const char *message, size
}
#endif
#ifdef USE_CAMERA
void APIServer::on_camera_image(const std::shared_ptr<camera::CameraImage> &image) {
for (auto &c : this->clients_) {
if (!c->flags_.remove)
c->set_camera_state(image);
}
}
#endif
void APIServer::on_shutdown() {
this->shutting_down_ = true;