IEntity.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using MECF.Framework.Common.Equipment;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. namespace Aitex.Core.RT.Fsm
  7. {
  8. public interface IEntity
  9. {
  10. bool Initialize();
  11. void Terminate();
  12. void PostMsg<T>(T msg, params object[] args) where T : struct;
  13. bool Check(int msg, out string reason, params object[] args);
  14. }
  15. public interface IModuleEntity: IEntity
  16. {
  17. ModuleName Module { get; }
  18. bool IsInit { get; }
  19. bool IsBusy { get; }
  20. bool IsIdle { get; }
  21. bool IsError { get; }
  22. bool IsDisable { get; }
  23. bool IsAuto { get; }
  24. int TimeToReady { get; }
  25. /// <summary>
  26. /// 是否为工程模式
  27. /// </summary>
  28. bool IsEngineering { get; }
  29. /// <summary>
  30. /// 是否为产品模式
  31. /// </summary>
  32. bool IsProduction { get; }
  33. int Invoke(string function, params object[] args);
  34. bool CheckAcked(int msg);
  35. }
  36. }