示例#1
0
 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);
         }
     }
 }
示例#2
0
        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;
        }