1234567891011121314151617181920212223242526272829303132333435363738 |
- using Vinno.IUS.Common.Log;
- namespace Vinno.FIS.Sonopost.Features.Oled
- {
- public class MessageSender
- {
- private static readonly object _locker = new object();
- /// <summary>
- /// Send message
- /// </summary>
- /// <param name="sendData">data</param>
- /// <returns></returns>
- public static IReceiveResult Send(Comm comm, ISendData sendData)
- {
- lock (_locker)
- {
- Logger.WriteLineInfo(sendData.MessageType.ToString());
- if (sendData is CommandData commandData)
- {
- return comm.Write(commandData.GenerateBuffer());
- }
- if (sendData is DisplayData displayData)
- {
- return comm.Write(displayData.GenerateBuffer());
- }
- if (sendData is ImageData imageData)
- {
- return comm.Write(imageData.GenerateBuffer());
- }
- return MessageReceiver.CommonError;
- }
- }
- }
- }
|