MT5APIConfigTime.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //+------------------------------------------------------------------+
  2. //| MetaTrader 5 API |
  3. //| Copyright 2000-2019, MetaQuotes Software Corp. |
  4. //| http://www.metaquotes.net |
  5. //+------------------------------------------------------------------+
  6. #pragma once
  7. //+------------------------------------------------------------------+
  8. //| Time configuration |
  9. //+------------------------------------------------------------------+
  10. class IMTConTime
  11. {
  12. public:
  13. //--- day working mode
  14. enum EnTimeTableMode
  15. {
  16. TIME_MODE_DISABLED=0, // work enabled
  17. TIME_MODE_ENABLED =1, // work disabled
  18. //---
  19. TIME_MODE_FIRST =TIME_MODE_DISABLED,
  20. TIME_MODE_LAST =TIME_MODE_ENABLED
  21. };
  22. //--- common methods
  23. virtual void Release(void)=0;
  24. virtual MTAPIRES Assign(IMTConTime* param)=0;
  25. virtual MTAPIRES Clear(void)=0;
  26. //--- daylight correction mode
  27. virtual bool Daylight(void) const=0;
  28. virtual MTAPIRES Daylight(const bool enable)=0;
  29. //--- server timezone in minutes (0=GMT;-60=GMT-1;60=GMT+1)
  30. virtual int TimeZone(void) const=0;
  31. virtual MTAPIRES TimeZone(const int zone)=0;
  32. //--- time synchronization server address (TIME or NTP protocol)
  33. virtual LPCWSTR TimeServer(void) const=0;
  34. virtual MTAPIRES TimeServer(LPCWSTR server)=0;
  35. //--- time schedule (wday -> 0-Sunday,6-Saturday, hour-> 0-24, mode-> EnTimeTableMode)
  36. virtual MTAPIRES TimeTableGet(const UINT wday,const UINT hour,UINT& mode) const=0;
  37. virtual MTAPIRES TimeTableSet(const UINT wday,const UINT hour,const UINT mode)=0;
  38. //--- current daylight state
  39. virtual int DaylightState(void) const=0;
  40. };
  41. //+------------------------------------------------------------------+
  42. //| Time config events notification interface |
  43. //+------------------------------------------------------------------+
  44. class IMTConTimeSink
  45. {
  46. public:
  47. virtual void OnTimeUpdate(const IMTConTime* /*config*/) { }
  48. virtual void OnTimeSync(void) { }
  49. };
  50. //+------------------------------------------------------------------+