knx/group_object_table_object.h

32 lines
960 B
C
Raw Normal View History

2018-04-09 22:30:23 +02:00
#pragma once
#include "table_object.h"
#include "group_object.h"
class GroupObjectTableObject: public TableObject
{
friend class GroupObject;
public:
GroupObjectTableObject(uint8_t* memoryReference);
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
void readProperty(PropertyID id, uint32_t start, uint32_t& count, uint8_t* data);
#pragma GCC diagnostic pop
2018-04-09 22:30:23 +02:00
uint16_t entryCount();
GroupObject& get(uint16_t asap);
GroupObject& nextUpdatedObject(bool& valid);
void groupObjects(GroupObject* objs, uint16_t size);
virtual uint8_t* save(uint8_t* buffer);
virtual uint8_t* restore(uint8_t* buffer);
protected:
virtual void beforeStateChange(LoadState& newState);
uint8_t propertyCount();
PropertyDescription* propertyDescriptions();
2018-04-09 22:30:23 +02:00
private:
bool initGroupObjects();
uint16_t* _tableData = 0;
GroupObject* _groupObjects;
uint16_t _groupObjectCount;
};