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); } }