Solar/cbf_store_pylon.h
2025-09-03 22:38:18 +02:00

34 lines
1.2 KiB
C++

#ifndef __SOLAR_CBF_STORE_PYLON // include GUARD
#define __SOLAR_CBF_STORE_PYLON
#include "esphome.h"
#include <utility>
#include "common.h"
#include "cbf_store.h"
#include "cbf_pylon.h"
using namespace esphome;
namespace solar
{
class cbf_store_pylon : public cbf_store, public cbf_pylon
{
public:
cbf_store_pylon() = delete; // default constructor not allowed
cbf_store_pylon(int msg_id, uint32_t can_id, const byte_vector& _frame, bool _rtr , time_t timestamp);
virtual ~cbf_store_pylon() = default; // virtual destructor for base class
std::shared_ptr<cbf_store_pylon> clone() const;
void clear();
void swap(cbf_store_pylon &s);
virtual cbf_store::cbf_updateresult update(const cbf_store& newitem, const int *comparecolumns) override;
virtual std::string to_string() const override;
cbf_store_pylon(const cbf_store_pylon& b);
cbf_store_pylon& operator=(const cbf_store_pylon& b);
cbf_store_pylon(cbf_store_pylon&& src);
cbf_store_pylon& operator=(cbf_store_pylon&& src);
private:
virtual std::shared_ptr<cbf_store> clone_impl() const override;
};
} // namespace solar
#endif // __SOLAR_CBF_STORE_PYLON