using XFEExtension.NetCore.DelegateExtension;
namespace XFEExtension.NetCore.CyberComm.XCCNetWork;
///
/// XCC文件
///
/// 群组ID
/// 文件消息ID
/// 文件类型
/// 发送者
/// 发送时间
/// 文件的Buffer
public class XCCFile(string groupId, string messageId, XCCFileType fileType, string sender, DateTime? sendTime, byte[]? fileBuffer = null)
{
///
/// 文件加载完成时触发
///
public event XFEEventHandler? FileLoaded;
///
/// 群组ID
///
public string GroupId { get; } = groupId;
///
/// 消息ID
///
public string MessageId { get; } = messageId;
///
/// 发送者
///
public string Sender { get; } = sender;
///
/// 发送时间
///
public DateTime? SendTime { get; } = sendTime;
///
/// XCC文件类型
///
public XCCFileType FileType { get; } = fileType;
///
/// 是否已加载
///
public bool Loaded { get; private set; } = fileBuffer is not null;
///
/// 文件流
///
public byte[]? FileBuffer { get; set; } = fileBuffer;
///
/// 加载文件
///
/// 文件流
public void LoadFile(byte[] fileBuffer)
{
FileBuffer = fileBuffer;
Loaded = true;
FileLoaded?.Invoke(this);
}
}