public void SetMessageStatus(NIMMessageSetting setting) { this.BeMuted = setting.BeMuted; this.MultiSync = setting.MultiSync; this.NeedCounting = setting.NeedCounting; this.NeedPush = setting.NeedPush; this.NeedPushNick = setting.NeedPushNick; this.OfflineStorage = setting.OfflineStorage; }
/// <summary> /// 由其他消息生成转发消息 /// </summary> /// <param name="srcMsg">原始消息</param> /// <param name="msgSetting">新的消息属性</param> /// <param name="msgId">新的客户端消息id</param> /// <param name="sessionId">转发目标</param> /// <param name="sessionType">转发目标会话类型</param> /// <param name="timetag">消息时间</param> /// <returns></returns> public static NIMIMMessage CreateRetweetMessage(NIMIMMessage srcMsg, NIMMessageSetting msgSetting, string msgId, string sessionId, Session.NIMSessionType sessionType, long timetag) { string srcMsgJson = srcMsg.Serialize(); string settingJson = string.Empty; if (msgSetting != null) { settingJson = msgSetting.Serialize(); } var newMsgPtr = TalkNativeMethods.nim_talk_create_retweet_msg(srcMsgJson, msgId, sessionType, sessionId, settingJson, timetag); if (newMsgPtr != IntPtr.Zero) { NimUtility.Utf8StringMarshaler marshaler = new NimUtility.Utf8StringMarshaler(); var newMsg = marshaler.MarshalNativeToManaged(newMsgPtr); var newMsgJson = newMsg.ToString(); var dstMsg = MessageFactory.CreateMessage(newMsgJson); GlobalAPI.FreeStringBuffer(newMsgPtr); return(dstMsg); } return(null); }