#ifndef FRAMEWORK_DATAPOOL_PIDREADERLIST_H_
#define FRAMEWORK_DATAPOOL_PIDREADERLIST_H_

#include "PIDReader.h"
#include "PoolVariableIF.h"
template <class T, uint8_t n_var>
class PIDReaderList {
private:
	PIDReader<T> variables[n_var];
public:
	PIDReaderList( const uint32_t setPid[n_var], DataSetIF* dataSet) {
		//I really should have a look at the new init list c++ syntax.
		if (dataSet == NULL) {
			return;
		}
		for (uint8_t count = 0; count < n_var; count++) {
			variables[count].parameterId = setPid[count];
			dataSet->registerVariable(&variables[count]);
		}
	}

	PIDReader<T> &operator [](int i) { return variables[i]; }
};



#endif /* FRAMEWORK_DATAPOOL_PIDREADERLIST_H_ */