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

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

	class TCGInternal;

	class SDKPropertiesCollection
	{
	public:
		SDKPropertiesCollection(TCGInternal *pTcg);
		virtual ~SDKPropertiesCollection(void);
		GroupProperty *getRoot();
		bool initialise();
		void uninitialise();

	private:
		SCO::GroupPropertyInternal *pRootGroup;
		bool initialiseInternalValues();
		TCGInternal *pTcg;
		SDKChangeHook hookObject;
	};
}}
