QString CableVirtualChannelTable::toString(int chan) const { static QString modnames[6] = { QObject::tr("[Reserved]"), QObject::tr("Analog"), QObject::tr("SCTE mode 1"), QObject::tr("SCTE mode 2"), QObject::tr("ATSC 8-VSB"), QObject::tr("ATSC 16-VSB"), }; static QString servicenames[5] = { QObject::tr("[Reserved]"), QObject::tr("Analog"), QObject::tr("ATSC TV"), QObject::tr("ATSC Audio"), QObject::tr("ATSC Data"), }; QString str; str.append(QString("Channel #%1 ").arg(chan)); str.append(QString("name(%1) %2-%3 ").arg(ShortChannelName(chan)) .arg(MajorChannel(chan)).arg(MinorChannel(chan))); if (ModulationMode(chan) > 5) str.append(QString("mod(UNKNOWN %1) ").arg(ModulationMode(chan))); else str.append(QString("mod(%1) ").arg(modnames[ModulationMode(chan)])); str.append(QString("cTSID(0x%1)\n") .arg(ChannelTransportStreamID(chan), 0, 16)); str.append(QString(" pnum(%1) ").arg(ProgramNumber(chan))); str.append(QString("ETM_loc(%1) ").arg(ETMlocation(chan))); str.append(QString("access_ctrl(%1) ").arg(IsAccessControlled(chan))); str.append(QString("hidden(%1)\n").arg(IsHidden(chan))); str.append(QString("path_select(%1) ").arg(IsPathSelect(chan))); str.append(QString("out_of_band(%1) ").arg(IsOutOfBand(chan))); str.append(QString("hide_guide(%1) ").arg(IsHiddenInGuide(chan))); if (ServiceType(chan) > 4) str.append(QString("service_type(UNKNOWN %1) ").arg(ServiceType(chan))); else str.append(QString("service_type(%1) ").arg(servicenames[ServiceType(chan)])); str.append(QString("source_id(%1)\n").arg(SourceID(chan))); if (0 != DescriptorsLength(chan)) { str.append(QString(" descriptors length(%1) ") .arg(DescriptorsLength(chan))); vector<const unsigned char*> desc = MPEGDescriptor::Parse(Descriptors(chan), DescriptorsLength(chan)); str.append(QString("count(%1)\n").arg(desc.size())); for (uint i = 0; i < desc.size(); i++) str.append(QString(" %1\n") .arg(MPEGDescriptor(desc[i]).toString())); } return str; }
void House::load( const VariantMap& stream ) { Building::load( stream ); _d->picIdOffset = stream.get( "picIdOffset" ).toInt(); _d->houseId = stream.get( "houseId" ).toInt(); _d->houseLevel = stream.get( "houseLevel" ).toInt(); _d->houseLevelSpec = HouseSpecHelper::getInstance().getHouseLevelSpec(_d->houseLevel); _d->nextHouseLevelSpec = _d->houseLevelSpec.next(); _d->desirability = stream.get( "desirability" ).toInt(); _d->currentHabitants = stream.get( "currentHubitants" ).toInt(); _d->maxHabitants = stream.get( "maxHubitants" ).toInt(); _d->freeWorkersCount = stream.get( "freeWorkersCount" ).toInt(); _d->goodStore.load( stream.get( "goodstore" ).toMap() ); VariantList vl_services = stream.get( "services" ).toList(); for( VariantList::iterator it = vl_services.begin(); it != vl_services.end(); it++ ) { ServiceType type = ServiceType( (*it).toInt() ); it++; int serviceValue = (*it).toInt(); _d->serviceAccessMap[ type ] = serviceValue; } Building::build( getTilePos() ); _update(); }
QString VirtualChannelTable::ServiceTypeString(uint i) const { static const char *servicenames[5] = { "[Reserved]", "Analog", "ATSC TV", "ATSC Audio", "ATSC Data", }; uint type = ServiceType(i); if (type >= (sizeof(servicenames) / sizeof(char*))) return QString("Unknown 0x%1").arg(type,2,16,QChar('0')); else return QString(servicenames[type]); }
QString ServiceDescriptorMapping::toString() const { QString str = ""; if (IsDTV()) str.append(" (TV)"); else if (IsDigitalAudio()) str.append(" (Radio)"); else if (IsHDTV()) str.append(" (HDTV)"); else if (IsTeletext()) str.append(" (Teletext)"); else str.append(QString(" (Unknown %1)").arg(ServiceType(),2,16)); return str; }
QString VirtualChannelTable::XMLChannelValues( uint indent_level, uint chan) const { QString indent_0 = xml_indent(indent_level); QString str; str += QString("short_channel_name=\"%1\" ").arg(ShortChannelName(chan)); str += "\n" + indent_0; str += QString("modulation=\"0x%1\" modulation_desc=\"%2\" ") .arg(ModulationMode(chan),2,16,QChar('0')) .arg(ModulationModeString(chan)); str += QString("channel_tsid=\"0x%1\"") .arg(ChannelTransportStreamID(chan),4,16,QChar('0')); str += "\n" + indent_0; str += QString("program_number=\"%1\" ").arg(ProgramNumber(chan)); str += QString("etm_location=\"%1\" ").arg(ETMlocation(chan)); str += QString("access_controlled=\"%1\"") .arg(xml_bool_to_string(IsAccessControlled(chan))); str += "\n" + indent_0; str += QString("hidden=\"%1\" ") .arg(xml_bool_to_string(IsHidden(chan))); str += QString("hide_guide=\"%1\"") .arg(xml_bool_to_string(IsHiddenInGuide(chan))); str += "\n" + indent_0; str += QString("service_type=\"0x%1\" service_type_desc=\"%2\"") .arg(ServiceType(chan),2,16,QChar('0')) .arg(ServiceTypeString(chan)); str += "\n" + indent_0; str += QString("source_id=\"0x%1\"") .arg(SourceID(chan),4,16,QChar('0')); return str; }
House::House(const int houseId) : Building( B_HOUSE ), _d( new Impl ) { _d->houseId = houseId; _d->lastPayDate = DateTime( -400, 1, 1 ); _d->picIdOffset = ( rand() % 10 > 6 ? 1 : 0 ); _d->freeWorkersCount = 0; HouseSpecHelper& helper = HouseSpecHelper::getInstance(); _d->houseLevel = helper.getHouseLevel( houseId ); _d->houseLevelSpec = helper.getHouseLevelSpec( _d->houseLevel); _d->nextHouseLevelSpec = _d->houseLevelSpec.next(); setName( _d->houseLevelSpec.getLevelName() ); _d->currentHabitants = 0; _d->desirability = -3; _fireLevel = 0; _d->goodStore.setMaxQty(10000); // no limit _d->goodStore.setMaxQty(G_WHEAT, 100); _d->goodStore.setMaxQty(G_FISH, 0); _d->goodStore.setMaxQty(G_MEAT, 0); _d->goodStore.setMaxQty(G_FRUIT, 0); _d->goodStore.setMaxQty(G_VEGETABLE, 0); _d->goodStore.setMaxQty(G_POTTERY, 0); _d->goodStore.setMaxQty(G_FURNITURE, 0); _d->goodStore.setMaxQty(G_OIL, 0); _d->goodStore.setMaxQty(G_WINE, 0); // init the service access for (int i = 0; i<S_MAX; ++i) { // for every service type ServiceType service = ServiceType(i); _d->serviceAccessMap[service] = 0; } _update(); }
Reservation::Reservation(Date date, int players, const std::string& service, const std::string& service_type) : Reservation(date, players, ServiceType(service, service_type)) { }