mirror of
https://github.com/esphome/esphome.git
synced 2025-03-27 04:58:15 +00:00
36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "esphome/core/component.h"
|
|
#include "esphome/core/helpers.h"
|
|
|
|
#include "esphome/components/http_request/http_request.h"
|
|
#include "esphome/components/http_request/ota/ota_http_request.h"
|
|
#include "esphome/components/update/update_entity.h"
|
|
|
|
namespace esphome {
|
|
namespace http_request {
|
|
|
|
class HttpRequestUpdate : public update::UpdateEntity, public PollingComponent {
|
|
public:
|
|
void setup() override;
|
|
void update() override;
|
|
|
|
void perform(bool force) override;
|
|
void check() override { this->update(); }
|
|
|
|
void set_source_url(const std::string &source_url) { this->source_url_ = source_url; }
|
|
|
|
void set_request_parent(HttpRequestComponent *request_parent) { this->request_parent_ = request_parent; }
|
|
void set_ota_parent(OtaHttpRequestComponent *ota_parent) { this->ota_parent_ = ota_parent; }
|
|
|
|
float get_setup_priority() const override { return setup_priority::AFTER_WIFI; }
|
|
|
|
protected:
|
|
HttpRequestComponent *request_parent_;
|
|
OtaHttpRequestComponent *ota_parent_;
|
|
std::string source_url_;
|
|
};
|
|
|
|
} // namespace http_request
|
|
} // namespace esphome
|