#pragma once
#include <vector>
#include "GroupPropertyInternal.h"
#include "IntPropertyInternal.h"
#include "ChangeHook.h"

namespace NDTS
{
using namespace SCO;
namespace NDTS2100
{
	// This may be useful for the app when creating a TCG curve
	const static double maxGainDecibels = 80.0;

	class TCGInternal;

	class SDKPropertiesCollection
	{
	public:
		SDKPropertiesCollection(FactoryInternal *pFactoryPointer);
		virtual ~SDKPropertiesCollection(void);
		GroupProperty *getRoot();
		void initialise();
		void uninitialise();

	private:
		SCO::GroupPropertyInternal *pRootGroup;
		TCGInternal *pTcg;
		ChangeHook hookObject;
		void setADCReg(int card, int addr, int data);
 
	};
}}
