public override IEnumerable <Item> ChildrenOfItem(Item item) { if (Skype.IsSkype(item)) { yield return(new SkypeBrowseStatusItem()); } else if (item is SkypeBrowseStatusItem) { foreach (Item status in statuses) { yield return(status); } } }
public override IEnumerable <Item> ChildrenOfItem(Item item) { if (Skype.IsSkype(item)) { yield return(new SkypeBrowseBuddyItem()); } else if (item is SkypeBrowseBuddyItem) { foreach (ContactItem contact in contacts) { yield return(contact); } } else if (item is ContactItem) { ContactItem contact = item as ContactItem; foreach (string detail in contact.Details) { if (!detail.EndsWith(".skype")) { continue; } if (detail.StartsWith("handle")) { yield return(new SkypeContactDetailItem(contact, contact ["handle.skype"])); } else if (detail.StartsWith("phone")) { yield return(new PhoneContactDetailItem(contact, detail)); } } } yield break; }