knx/group_object_table_object.h
2018-03-16 00:48:39 +01:00

27 lines
760 B
C++

#pragma once
#include "table_object.h"
#include "group_object.h"
class GroupObjectTableObject: public TableObject
{
friend class GroupObject;
public:
GroupObjectTableObject(uint8_t* memoryReference);
void readProperty(PropertyID id, uint32_t start, uint32_t count, uint8_t* data);
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);
private:
bool initGroupObjects();
uint16_t* _tableData = 0;
GroupObject* _groupObjects;
uint16_t _groupObjectCount;
};