private void HandleSessionArchiveMessage(vx_evt_base_t eventMessage) { vx_evt_session_archive_message_t evt = eventMessage; Debug.Assert(evt != null); if (evt.session_handle != _sessionHandle) { return; } DateTime parsedReceivedTime; if (!DateTime.TryParse(evt.time_stamp, out parsedReceivedTime)) { VivoxDebug.Instance.DebugMessage($"{GetType().Name}: {eventMessage.GetType().Name} invalid message: Bad time format", vx_log_level.log_error); Debug.Assert(false); return; } ChannelParticipant p = _participants[evt.participant_uri] as ChannelParticipant; var message = new SessionArchiveMessage() { ChannelSession = this, Key = evt.message_id, MessageId = evt.message_id, QueryId = evt.query_id, ReceivedTime = parsedReceivedTime, Sender = p != null ? p.Account : new AccountId(evt.participant_uri), Message = evt.message_body, FromSelf = (evt.is_current_user != 0), Language = evt.language }; _sessionArchive.Enqueue(message); }
public vx_evt_session_archive_message_t as_vx_evt_session_archive_message() { global::System.IntPtr cPtr = VivoxCoreInstancePINVOKE.vx_evt_base_t_as_vx_evt_session_archive_message(swigCPtr); vx_evt_session_archive_message_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new vx_evt_session_archive_message_t(cPtr, false); return(ret); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(vx_evt_session_archive_message_t obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }