/// <summary>Process an incoming packet and raise the appropriate events</summary> /// <param name="sender">The sender</param> /// <param name="e">The EventArgs object containing the packet data</param> protected void EventsReplyHandler(object sender, PacketReceivedEventArgs e) { if (m_DirEvents != null) { Packet packet = e.Packet; DirEventsReplyPacket eventsReply = (DirEventsReplyPacket)packet; List<EventsSearchData> matches = new List<EventsSearchData>(eventsReply.QueryReplies.Length); foreach (DirEventsReplyPacket.QueryRepliesBlock reply in eventsReply.QueryReplies) { EventsSearchData eventsData = new EventsSearchData(); eventsData.Owner = reply.OwnerID; eventsData.Name = Utils.BytesToString(reply.Name); eventsData.ID = reply.EventID; eventsData.Date = Utils.BytesToString(reply.Date); eventsData.Time = reply.UnixTime; eventsData.Flags = (EventFlags)reply.EventFlags; matches.Add(eventsData); } OnDirEvents(new DirEventsReplyEventArgs(eventsReply.QueryData.QueryID, matches)); } }
private void EventsReplyHandler(Packet packet, Simulator simulator) { if (OnEventsReply != null) { DirEventsReplyPacket eventsReply = packet as DirEventsReplyPacket; List<EventsSearchData> matches = new List<EventsSearchData>(eventsReply.QueryReplies.Length); foreach (DirEventsReplyPacket.QueryRepliesBlock reply in eventsReply.QueryReplies) { EventsSearchData eventsData = new EventsSearchData(); eventsData.Owner = reply.OwnerID; eventsData.Name = Utils.BytesToString(reply.Name); eventsData.ID = reply.EventID; eventsData.Date = Utils.BytesToString(reply.Date); eventsData.Time = reply.UnixTime; eventsData.Flags = (EventFlags)reply.EventFlags; matches.Add(eventsData); } try { OnEventsReply(eventsReply.QueryData.QueryID, matches); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } }