MonitorCommand.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using Quadarax.Foundation.Core.QConsole;
  2. using Quadarax.Foundation.Core.QConsole.Argument;
  3. using Quadarax.Foundation.Core.QConsole.Attributes;
  4. using Quadarax.Foundation.Core.QConsole.Value;
  5. using Quadarax.Foundation.Core.Value;
  6. namespace Quadarax.Foundation.Core.QMonitor.Console.Commands
  7. {
  8. [CommandDefinition]
  9. internal class MonitorCommand : BaseCommand
  10. {
  11. #region *** Constants ***
  12. private const string CS_CMD_MONITOR_NAME = "monitor";
  13. private const string CS_CMD_MONITOR_DESC = "Monitor specific single channel";
  14. protected const string CS_ARG_NAME_IID = "iid";
  15. private const string CS_ARG_HINT_IID = "<instance_identifier>";
  16. private const string CS_ARG_DESC_IID = "Specify instance identifier to listen from.";
  17. protected const string CS_ARG_NAME_CHANNEL = "channel";
  18. private const string CS_ARG_HINT_CHANNEL = "<chennel>";
  19. private const string CS_ARG_DESC_CHANNEL = "Specify full channel name to monitor.";
  20. #endregion
  21. #region *** Properties ***
  22. public override string Name => CS_CMD_MONITOR_NAME;
  23. public override string Description => CS_CMD_MONITOR_DESC;
  24. #endregion
  25. #region *** Constructor ***
  26. public MonitorCommand(Engine engine) : base(engine)
  27. {
  28. }
  29. #endregion
  30. #region *** Execute ***
  31. protected override Result OnExecute()
  32. {
  33. WriteInfo($"Waiting for channel definition ''");
  34. return new Result();
  35. }
  36. #endregion
  37. #region *** Private Operations ***
  38. protected override IEnumerable<AbstractArgument> OnSetupArguments()
  39. {
  40. var list = base.OnSetupArguments().ToList();
  41. list.Add(new NamedArgument(CS_ARG_NAME_IID, CS_ARG_HINT_IID, CS_ARG_DESC_IID, TypeValuesEnum.String,string.Empty,true));
  42. list.Add(new NamedArgument(CS_ARG_NAME_CHANNEL, CS_ARG_HINT_CHANNEL, CS_ARG_DESC_CHANNEL, TypeValuesEnum.String,string.Empty,true));
  43. return list;
  44. }
  45. #endregion
  46. }
  47. }