protected Connection(IMBase client, string account, string password) { client.Account = account; client.Password = password; client.OnMessage += (sender, buddy, message) => { MessageReceived(this, new EventArgs<Message>(new Message(_contacts[buddy], message, DateTime.Now, true))); }; client.OnOfflineMessage += (sender, buddy, message, receivedDateTime) => { MessageReceived(this, new EventArgs<Message>(new Message(_contacts[buddy], message, receivedDateTime, false))); }; client.OnError += (sender, error) => { Error(this, new EventArgs<string>(error)); }; client.OnLog += (sender, message) => { Log(this, new EventArgs<string>(message)); }; client.OnBuddyStatusChanged += (sender, buddy) => { ContactStatusChanged(this, new EventArgs<IContact>(_contacts[buddy])); }; client.OnReceiveBuddyList += delegate { _contacts.Clear(); foreach (var buddy in client.BuddyList.Keys) _contacts.Add((string) buddy, ContactFactory((string) buddy)); ContactListReceived(this, new EventArgs<IEnumerable<IContact>>(Contacts)); }; client.OnAddBuddy += (sender, buddy) => { IContact contact = ContactFactory(buddy); _contacts.Add(buddy, contact); ContactAdded(this, new EventArgs<IContact>(contact)); }; client.OnDeleteBuddy += (sender, buddy) => { ContactRemoved(this, new EventArgs<IContact>(_contacts[buddy])); _contacts.Remove(buddy); }; Client = client; }
protected Connection(IMBase client, string account, string password) { client.Account = account; client.Password = password; client.OnMessage += (sender, buddy, message) => { MessageReceived(this, new EventArgs <Message>(new Message(_contacts[buddy], message, DateTime.Now, true))); }; client.OnOfflineMessage += (sender, buddy, message, receivedDateTime) => { MessageReceived(this, new EventArgs <Message>(new Message(_contacts[buddy], message, receivedDateTime, false))); }; client.OnError += (sender, error) => { Error(this, new EventArgs <string>(error)); }; client.OnLog += (sender, message) => { Log(this, new EventArgs <string>(message)); }; client.OnBuddyStatusChanged += (sender, buddy) => { ContactStatusChanged(this, new EventArgs <IContact>(_contacts[buddy])); }; client.OnReceiveBuddyList += delegate { _contacts.Clear(); foreach (var buddy in client.BuddyList.Keys) { _contacts.Add((string)buddy, ContactFactory((string)buddy)); } ContactListReceived(this, new EventArgs <IEnumerable <IContact> >(Contacts)); }; client.OnAddBuddy += (sender, buddy) => { IContact contact = ContactFactory(buddy); _contacts.Add(buddy, contact); ContactAdded(this, new EventArgs <IContact>(contact)); }; client.OnDeleteBuddy += (sender, buddy) => { ContactRemoved(this, new EventArgs <IContact>(_contacts[buddy])); _contacts.Remove(buddy); }; Client = client; }