示例#1
0
void transponderDataToDict(ePyObject &dest, ePtr<iDVBTransponderData> data)
{
	if (dest && PyDict_Check(dest))
	{
		int value;
		PutToDict(dest, "tuner_type", data->getTunerType().c_str());
		PutToDict(dest, "frequency", data->getFrequency());
		value = data->getSymbolRate();
		if (value > 0) PutToDict(dest, "symbol_rate", value);
		value = data->getOrbitalPosition();
		if (value >= 0) PutToDict(dest, "orbital_position", value);
		value = data->getInversion();
		if (value >= 0) PutToDict(dest, "inversion", value);
		value = data->getFecInner();
		if (value >= 0) PutToDict(dest, "fec_inner", value);
		value = data->getModulation();
		if (value >= 0) PutToDict(dest, "modulation", value);
		value = data->getPolarization();
		if (value >= 0) PutToDict(dest, "polarization", value);
		value = data->getRolloff();
		if (value >= 0) PutToDict(dest, "rolloff", value);
		value = data->getPilot();
		if (value >= 0) PutToDict(dest, "pilot", value);
		value = data->getSystem();
		if (value >= 0) PutToDict(dest, "system", value);
		value = data->getIsId();
		if (value >= -1) PutToDict(dest, "is_id", value);
		value = data->getPLSMode();
		if (value >= 0) PutToDict(dest, "pls_mode", value);
		value = data->getPLSCode();
		if (value >= 0) PutToDict(dest, "pls_code", value);

		/* additional terrestrial fields */
		value = data->getBandwidth();
		if (value >= 0) PutToDict(dest, "bandwidth", value);
		value = data->getCodeRateLp();
		if (value >= 0) PutToDict(dest, "code_rate_lp", value);
		value = data->getCodeRateHp();
		if (value >= 0) PutToDict(dest, "code_rate_hp", value);
		value = data->getConstellation();
		if (value >= 0) PutToDict(dest, "constellation", value);
		value = data->getTransmissionMode();
		if (value >= 0) PutToDict(dest, "transmission_mode", value);
		value = data->getGuardInterval();
		if (value >= 0) PutToDict(dest, "guard_interval", value);
		value = data->getHierarchyInformation();
		if (value >= 0) PutToDict(dest, "hierarchy_information", value);
		value = data->getPlpId();
		if (value >= 0) PutToDict(dest, "plp_id", value);
	}
}