private JArray GetYellowPages()
{
return new JArray(PeerCast.YellowPages.Select(yp => {
var res = new JObject();
res["yellowPageId"] = GetObjectId(yp);
res["name"] = yp.Name;
res["uri"] = yp.AnnounceUri==null ? null : yp.AnnounceUri.ToString();
res["announceUri"] = yp.AnnounceUri==null ? null : yp.AnnounceUri.ToString();
res["channelsUri"] = yp.ChannelsUri==null ? null : yp.ChannelsUri.ToString();
res["protocol"] = yp.Protocol;
res["channels"] = new JArray(yp.AnnouncingChannels.Select(ac => {
var announcing = new JObject();
announcing["channelId"] = ac.Channel.ChannelID.ToString("N").ToUpperInvariant();
announcing["status"] = ac.Status.ToString();
return announcing;
}));
return res;
}));
}