MonitorCommand.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. }
  35. #endregion
  36. #region *** Private Operations ***
  37. protected override IEnumerable<AbstractArgument> OnSetupArguments()
  38. {
  39. var list = base.OnSetupArguments().ToList();
  40. list.Add(new NamedArgument(CS_ARG_NAME_IID, CS_ARG_HINT_IID, CS_ARG_DESC_IID, TypeValuesEnum.String,string.Empty,true));
  41. list.Add(new NamedArgument(CS_ARG_NAME_CHANNEL, CS_ARG_HINT_CHANNEL, CS_ARG_DESC_CHANNEL, TypeValuesEnum.String,string.Empty,true));
  42. return list;
  43. }
  44. #endregion
  45. }
  46. }