QString CableVirtualChannelTable::XMLChannelValues( uint indent_level, uint chan) const { QString channel_info = SCTEIsChannelNumberTwoPart(chan) ? QString("major_channel=\"%1\" minor_channel=\"%2\" ") .arg(MajorChannel(chan)).arg(MinorChannel(chan)) : QString("channel_number=\"%1\" ") .arg(SCTEOnePartChannel(chan)); return channel_info + VirtualChannelTable::XMLChannelValues(indent_level, chan) + QString(" path_select=\"%1\" out_of_band=\"%2\"") .arg(xml_bool_to_string(IsPathSelect(chan))) .arg(xml_bool_to_string(IsOutOfBand(chan))); }
QString ModulationModeSubtable::toStringXML(uint indent_level) const { QString indent_0 = xml_indent(indent_level); QString indent_1 = xml_indent(indent_level + 1); QString str = indent_0 + QString("<ModulationMode descriptors_count=\"%2\"") .arg(DescriptorsCount()); str += "\n" + indent_1; str += QString("transmission_system=\"%1\" transmission_system_desc=\"%2\"") .arg(TransmissionSystem()).arg(TransmissionSystemString()); str += "\n" + indent_1; str += QString("inner_coding_mode=\"%1\" inner_coding_mode_desc=\"%2\"") .arg(InnerCodingMode()).arg(InnerCodingModeString()); str += "\n" + indent_1; str += QString("split_bitstream_mode=\"%1\" ") .arg(xml_bool_to_string(SplitBitstreamMode())); str += QString("symbol_rate=\"%1\"").arg(SymbolRate()); vector<const unsigned char*> desc = MPEGDescriptor::Parse(Descriptors(), DescriptorsLength()); if (desc.empty()) return str + " />"; str += ">\n"; for (uint i = 0; i < desc.size(); i++) { str += MPEGDescriptor(desc[i], 300) .toStringXML(indent_level + 1) + "\n"; } return str + indent_0 + "</ModulationMode>"; }
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; }
QString SystemTimeTable::toStringXML(uint indent_level) const { QString indent_0 = xml_indent(indent_level); QString indent_1 = xml_indent(indent_level + 1); return QString( "%1<SystemTimeSection system_time=\"%2\" system_time_iso=\"%3\"" "\n%4in_dst=\"%5\" dst_start_day=\"%6\" dst_start_hour=\"%7\"" "\n%8%9 />") .arg(indent_0) .arg(GPSRaw()) .arg(SystemTimeGPS().toString(Qt::ISODate)) .arg(indent_1) .arg(xml_bool_to_string(InDaylightSavingsTime())) .arg(DayDaylightSavingsStarts()) /* day-of-month */ .arg(HourDaylightSavingsStarts()) .arg(indent_1) .arg(PSIPTable::XMLValues(indent_level + 1)); }
QString DefinedChannelsMapSubtable::toStringXML(uint indent_level) const { QString indent_0 = xml_indent(indent_level); QString indent_1 = xml_indent(indent_level + 1); QString str = indent_0 + "<DefinedChannelsMap "; str += QString("first_virtual_channel=\"%1\" ") .arg(FirstVirtualChannel()); str += QString("dcm_data_length=\"%1\">\n") .arg(DCMDataLength()); for (uint i = 0; i < DCMDataLength(); i++) { str += indent_1 + QString("<Range range_defined=\"%1\"%2 " "channels_count=\"%3\" />\n") .arg(xml_bool_to_string(RangeDefined(i))) .arg(RangeDefined(i) ? " " : "") .arg(ChannelsCount(i)); } return str + indent_0 + "</DefinedChannelsMap>"; }
QString VirtualChannelMapSubtable::toStringXML(uint indent_level) const { QString indent_0 = xml_indent(indent_level); QString indent_1 = xml_indent(indent_level + 1); QString indent_2 = xml_indent(indent_level + 2); QString str = indent_0 + "<DefinedChannelsMap "; str += QString("number_of_vc_records=\"%1\"") .arg(NumberOfVCRecords()); str += "\n" + indent_1; str += QString("descriptors_included=\"%1\" ") .arg(xml_bool_to_string(DescriptorsIncluded())); str += QString("splice=\"%1\" ") .arg(xml_bool_to_string(Splice())); str += "\n" + indent_1; str += QString("activation_time=\"%1\" actication_time_desc=\"%2\"") .arg(ActivationTimeRaw()) .arg(ActivationTimeUTC().toString(Qt::ISODate)); str += ">\n"; for (uint i = 0; i < NumberOfVCRecords(); i++) { str += indent_1 + "<Channel "; str += QString("virtual_channel_number=\"%1\" ") .arg(VirtualChannelNumber(i)); str += "\n" + indent_2; str += QString("application_virtual_channel=\"%1\" ") .arg(xml_bool_to_string(ApplicationVirtualChannel(i))); str += QString("path_select=\"%1\" ").arg(PathSelect(i)); str += "\n" + indent_2; str += QString("transport_type=\"%1\" transport_type_desc=\"%2\" ") .arg(TransportType(i)).arg(TransportTypeString(i)); str += "\n" + indent_2; str += QString("channel_type=\"%1\" channel_type_desc=\"%2\" ") .arg(ChannelType(i)).arg(ChannelTypeString(i)); if (ApplicationVirtualChannel(i)) str += QString("application_id=\"%1\" ").arg(ApplicationID(i)); else str += QString("source_id=\"%1\" ").arg(SourceID(i)); str += "\n" + indent_2; if (kMPEG2Transport == TransportType(i)) { str += QString("cds_reference=\"%1\" ").arg(CDSReference(i)); str += QString("program_number=\"%1\" ").arg(ProgramNumber(i)); str += QString("mms_reference=\"%1\" ").arg(MMSReference(i)); } else { str += QString("cds_reference=\"%1\" ").arg(CDSReference(i)); str += QString("scrampled=\"%1\" ").arg(Scrambled(i)); str += "\n" + indent_2; str += QString("video_standard=\"%1\" video_standard_desc=\"%2\" ") .arg(VideoStandard(i)).arg(VideoStandardString(i)); } if (!DescriptorsIncluded()) { str += "/>\n"; continue; } str += "\n" + indent_2; str += QString("descriptors_count=\"%1\"").arg(DescriptorsCount(i)); str += ">\n"; vector<const unsigned char*> desc = MPEGDescriptor::Parse(Descriptors(i), DescriptorsLength(i)); for (uint i = 0; i < desc.size(); i++) { str += MPEGDescriptor(desc[i], 300) .toStringXML(indent_level + 2) + "\n"; } str += indent_1 + "</Channel>"; } return str + indent_0 + "</DefinedChannelsMap>"; }