/// <summary> /// called when receive from the other peer online message /// </summary> /// <param name="fullPresenceInfo">contain the presence information of the peer that send the online message</param> void IAnnouncementBusinessLogic.OnOnlineAnnouncementReceived(FullPresenceInfo fullPresenceInfo) { if (!(fullPresenceInfo is MyFullPresenceInfo)) { return; } var info = fullPresenceInfo as MyFullPresenceInfo; lock (syncLock) { MyUserUpdateState myUserUpdateState; if (!MyStateDictionary.TryGetValue(info.CorrelateKey, out myUserUpdateState)) { myUserUpdateState = new MyUserUpdateState { FullPresenceInfo = info }; MyStateDictionary.Add(info.CorrelateKey, myUserUpdateState); } else { MyStateDictionary[info.CorrelateKey].FullPresenceInfo = info; } } }
void IAnnouncementBusinessLogic.OnPresenceInfoChangedReceived(FullPresenceInfo fullPresenceInfo) { }
void IAnnouncementBusinessLogic.OnOnlineAnnouncementReceived(FullPresenceInfo fullPresenceInfo) { Contract.Requires <ArgumentNullException>(fullPresenceInfo != null); }
/// <summary> /// called on other peer when some peer changed his presence information /// </summary> /// <param name="fullPresenceInfo">The new presence information of the peer that sent the message</param> void IAnnouncementBusinessLogic.OnPresenceInfoChangedReceived(FullPresenceInfo fullPresenceInfo) { LogManager.GetCurrentClassLogger().Debug("OnReceivePresenceInfoChanged , do nothing in this example"); }