Solar/cbf_store_sthome.h
2025-10-10 17:25:17 +02:00

34 lines
1.2 KiB
C++

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