public AskAuthorization(Contact contact) : base(_keyBase, contact.Jid.Bare) { InitializeComponent(); DataContext = contact; _contact.Content = contact; }
public EventPresenceChanged(Contact contact, Presence oldPresence, Presence newPresence) : base(String.Empty, EventSeverity.Info) { _contact = contact; _oldPresence = oldPresence; _newPresence = newPresence; Expiration = DateTime.Now.AddSeconds(Settings.Default.UI_Notify_Presence_Exp); }
public AskAuthorization(Presence presence) : base(_keyBase, presence.From.Bare) { InitializeComponent(); Contact contact = new Contact(presence); DataContext = contact; _contact.Content = contact; }
private void Show(Contact contact) { try { AskAuthorization authorization = new AskAuthorization(contact); authorization.Show(); authorization.Activate(); } catch (WindowExistsException e) { e.ActivateControl(); } }
public static Contact GetContact(RosterItem rosterItem) { Contact contact = null; try { using (SQLiteCommand command = _connection.CreateCommand()) { command.CommandText = "SELECT * FROM [Contact] WHERE [Jid]=@jid"; command.Parameters.Add(new SQLiteParameter("jid", rosterItem.Jid.Bare)); SQLiteDataReader reader = command.ExecuteReader(); if (reader.Read()) { contact = new Contact(reader, rosterItem); } reader.Close(); } } catch (Exception e) { Events.Instance.OnEvent(e, new EventError(e.Message, null)); } return contact; }
public static void SaveContact(Contact contact) { try { Dictionary<string, object> values = contact.GetData(); SaveOrUpdate(values, "Jid", "Contact", false, _connection); } catch (Exception e) { Events.Instance.OnEvent(e, new EventError(e.Message, null)); } }
private void VcardResultAuth(object sender, IQ iq, object data) { Contact contact; if (data is Presence) { contact = new Contact((Presence) data); } else { contact = (Contact) data; } if (iq.Type == IqType.error || iq.Error != null) { if (iq.Error.Code == ErrorCode.NotFound || iq.Error.Code == ErrorCode.NotImplemented || iq.Error.Code == ErrorCode.Unauthorized) { contact.SetVcard(null); } else { Events.Instance.OnEvent(this, new EventError(String.Format("V-Card receiving error from {0}", iq.From), null)); } } else if (iq.Type == IqType.result) { contact.SetVcard(iq.Vcard); } }
private void RemoveRosterItem(Contact contact) { lock (_items._syncObject) { MetaContact metaContact = FindMetaContact(contact.Jid); if (metaContact != null) { metaContact.SubContacts.Remove(contact); _realContacts.Remove(contact.Jid.Bare.ToLowerInvariant()); if (metaContact.SubContacts.Count == 0) { _items.Remove(metaContact); } } } }
private void RefreshIqAvatar(Contact contact) { if (contact.Presence != null) { Avatar avatar = contact.Presence.SelectSingleElement(typeof (Avatar)) as Avatar; if (avatar != null) { string hash; Storage.GetIqAvatar(contact.Jid.Bare, out hash); if (avatar.Hash.ToLowerInvariant() != contact.AvatarHash) { AvatarIq aiq = new AvatarIq(IqType.get, contact.FullJid); Account.Instance.XmppConnection.IqGrabber.SendIq(aiq, new IqCB(IqAvatarResult), contact); } } } }
private void AskForDisco(Contact contact) { Account.Instance.DiscoMan.DiscoverInformation(contact.FullJid, new IqCB(OnDiscoInfoResult), contact); }
private Contact AddRosterItem(RosterItem item) { Contact contact; lock (_items._syncObject) { // for now contact = Database.GetContact(item); MetaContact metaContact = null; if (contact != null) { metaContact = Database.GetMetaContact(contact.MetaId); } if (metaContact == null) { metaContact = new MetaContact(); Database.SaveMetaContact(metaContact); contact = new Contact(item, metaContact.Id); Database.SaveContact(contact); } metaContact.AddContact(contact); _realContacts.Add(item.Jid.Bare.ToLowerInvariant(), contact); _items.Add(metaContact); } Vcard vcard = Storage.GetVcard(contact.Jid, 99999); if (vcard != null) { contact.SetVcard(vcard); contact.HasVCardRecieved = false; } return contact; }
public IContact FindContactOrGetNew(Jid jid) { Contact contact; lock (Items._syncObject) { contact = FindContact(jid); } if (contact == null) { Presence presence = new Presence(ShowType.NONE, string.Empty); presence.From = jid; contact = new Contact(presence); } return contact; }
public void Ask(Contact contact) { App.InvokeSafe(App._dispatcherPriority, new ShowCallback(Show), contact); }
public MetaContact(Contact contact) { _activeContact = contact; AddContact(contact); }
public void AddContact(Contact contact) { contact.PropertyChanged += contact_PropertyChanged; lock (SubContacts._syncObject) { SubContacts.Add(contact); if (_activeContact == null) { _activeContact = contact; } } }