Example #1
0
void FilterWheel::SaveToRegistry(std::string  strSerialNumber)
{
	QSI_Registry reg;
	std::string strValue;
	std::string strWheelName = this->Name;
	std::string strWheelNames = KEY_QSI  + strSerialNumber + "/FilterWheel/Names";
	reg.SetString(strWheelNames, Name.c_str(), "");

	std::string strKeyPath = KEY_QSI  + strSerialNumber + "/FilterWheels/" + this->Name.c_str();

	// Save filter count, no all position maybe named (below)
	reg.SetNumber(strKeyPath, SUBKEY_NumFilters, m_iNumFilters);

	for (int i = 0; i < m_iNumFilters; i++)
	{
		std::string strFilterNum;
		//strFilterNum.Format("%d", i+1);
		strFilterNum = StringOf(i+1);

		std::string strFilterNameValue = SUBKEY_FilterName + strFilterNum;
		strValue = this->Filters[i].Name.c_str();
		reg.SetString( strKeyPath, strFilterNameValue, strValue );

		std::string strFilterOffsetValue = SUBKEY_FilterFocus + strFilterNum;
		reg.SetNumber( strKeyPath, strFilterOffsetValue, this->Filters[i].Offset);

		std::string  strFilterTrimValue = SUBKEY_FilterTrim + strFilterNum;
		reg.SetNumber( strKeyPath, strFilterTrimValue, this->Filters[i].Trim);
	}
	return;
}