public bool ContactAuthorize(Contact contact, BogheXdm.Authorization authorization) { #if !WINRT if (this.sipService.IsXcapEnabled) { lock (this.groups) { Group group = this.groups.FirstOrDefault(x => x.Authorization == authorization); if (group == null) { LOG.Error("Failed to find a group matching this authorization"); } else if (!String.Equals(contact.GroupName, group.Name)) { Contact clone = contact.Clone() as Contact; // Clone() to avoid triggering OnPropertyChanged() before the end of the event clone.GroupName = group.Name; // update group String prevGroupName = contact.GroupName; if (this.ContactUpdate(clone, prevGroupName)) { // Trigger OnCollectionChanged() lock (this.contacts) { int index = this.contacts.IndexOf(contact); if (index != -1) { this.contacts[index] = clone; } else { this.contacts.Add(clone); } } this.ContactSignal(contact, ContactEventTypes.CONTACT_UPDATED); return(true); } else { return(false); } } } return(true); } else #endif { LOG.Error("Must enable XCAP storage to change authorizations"); return(false); } }
public bool GroupAuthorize(Group group, BogheXdm.Authorization authorization) { if (this.sipService.IsXcapEnabled) { new Thread(delegate() { this.xcapService.GroupAuthorize(group, authorization); }).Start(); return(true); } else { LOG.Error("Must enable XCAP storage to change authorizations"); return(false); } }
public bool GroupAuthorize(Group group, BogheXdm.Authorization authorization) { LOG.Error("Not Implemented"); return(false); }
public bool ContactAuthorize(Contact contact, BogheXdm.Authorization authorization) { LOG.Error("Not Implemented"); return(false); }