/** * \fn UPNPScanner::GetServerContent * Recursively search a MediaServerItem for video metadata and add it to * the metadata_list and meta_dir_node. */ void UPNPScanner::GetServerContent(QString &usn, MediaServerItem *content, VideoMetadataListManager::metadata_list* list, meta_dir_node *node) { if (!content->m_scanned) { smart_dir_node subnode = node->addSubDir(content->m_name); QStringList data; data << usn; data << content->m_id; subnode->SetData(data); VideoMetadataListManager::VideoMetadataPtr item(new VideoMetadata(QString())); item->SetTitle(QString("Dummy")); list->push_back(item); subnode->addEntry(smart_meta_node(new meta_data_node(item.get()))); return; } node->SetData(QVariant()); if (content->m_url.isEmpty()) { smart_dir_node container = node->addSubDir(content->m_name); QMutableMapIterator<QString,MediaServerItem> it(content->m_children); while (it.hasNext()) { it.next(); GetServerContent(usn, &it.value(), list, container.get()); } return; } VideoMetadataListManager::VideoMetadataPtr item(new VideoMetadata(content->m_url)); item->SetTitle(content->m_name); list->push_back(item); node->addEntry(smart_meta_node(new meta_data_node(item.get()))); }
/** * \fn UPNPScanner::GetServerContent * Recursively search a MediaServerItem for video metadata and add it to * the metadata_list and meta_dir_node. */ void UPNPScanner::GetServerContent(MediaServerItem *content, VideoMetadataListManager::metadata_list* list, meta_dir_node *node) { if (content->m_url.isEmpty()) { smart_dir_node container = node->addSubDir(content->m_name); QMutableMapIterator<QString,MediaServerItem> it(content->m_children); while (it.hasNext()) { it.next(); GetServerContent(&it.value(), list, container.get()); } return; } VideoMetadataListManager::VideoMetadataPtr item(new VideoMetadata(content->m_url)); item->SetTitle(content->m_name); list->push_back(item); node->addEntry(smart_meta_node(new meta_data_node(item.get()))); }