32 lines
795 B
C#
32 lines
795 B
C#
using System.Text;
|
|
|
|
namespace Sick.ColaB.Commands;
|
|
|
|
/// <summary>
|
|
/// Base class for ColaB commands
|
|
/// </summary>
|
|
public abstract class CommandBase(string commandString)
|
|
{
|
|
private readonly string _commandString = commandString ?? throw new ArgumentNullException(nameof(commandString));
|
|
private bool _wasSuccessful;
|
|
|
|
public ReadOnlyMemory<byte> GetCommandData()
|
|
{
|
|
return Encoding.ASCII.GetBytes(_commandString);
|
|
}
|
|
|
|
public bool WasSuccessful
|
|
{
|
|
get => _wasSuccessful;
|
|
protected set => _wasSuccessful = value;
|
|
}
|
|
|
|
public abstract bool ProcessReply(ReadOnlyMemory<byte> replyData);
|
|
|
|
/// <summary>
|
|
/// Gets the command string
|
|
/// </summary>
|
|
protected string CommandString => _commandString;
|
|
}
|
|
|