MT5APIConfigEmail.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //+------------------------------------------------------------------+
  2. //| MetaTrader 5 API |
  3. //| Copyright 2000-2019, MetaQuotes Software Corp. |
  4. //| http://www.metaquotes.net |
  5. //+------------------------------------------------------------------+
  6. #pragma once
  7. //+------------------------------------------------------------------+
  8. //| Email server config |
  9. //+------------------------------------------------------------------+
  10. class IMTConEmail
  11. {
  12. public:
  13. //--- allowed flags
  14. enum EnFlags
  15. {
  16. FLAG_NONE =0, // none
  17. FLAG_ENABLED =1, // mail server is enabled
  18. FLAG_DEFAULT =2, // mail server is default
  19. //--- flags borders
  20. FLAG_FIRST =FLAG_ENABLED,
  21. FLAG_ALL =FLAG_ENABLED|FLAG_DEFAULT
  22. };
  23. //--- common methods
  24. virtual void Release(void)=0;
  25. virtual MTAPIRES Assign(const IMTConEmail* email)=0;
  26. virtual MTAPIRES Clear(void)=0;
  27. //--- name
  28. virtual LPCWSTR Name(void) const=0;
  29. virtual MTAPIRES Name(LPCWSTR name)=0;
  30. //--- sender email
  31. virtual LPCWSTR SenderMail(void) const=0;
  32. virtual MTAPIRES SenderMail(LPCWSTR mail)=0;
  33. //--- sender name
  34. virtual LPCWSTR SenderName(void) const=0;
  35. virtual MTAPIRES SenderName(LPCWSTR name)=0;
  36. //--- server
  37. virtual LPCWSTR Server(void) const=0;
  38. virtual MTAPIRES Server(LPCWSTR server)=0;
  39. //--- login
  40. virtual LPCWSTR Login(void) const=0;
  41. virtual MTAPIRES Login(LPCWSTR login)=0;
  42. //--- password
  43. virtual LPCWSTR Password(void) const=0;
  44. virtual MTAPIRES Password(LPCWSTR password)=0;
  45. //--- EnFlags
  46. virtual UINT64 Flags(void) const=0;
  47. virtual MTAPIRES Flags(const UINT64 flags)=0;
  48. };
  49. //+------------------------------------------------------------------+
  50. //| Mail config events notification interface |
  51. //+------------------------------------------------------------------+
  52. class IMTConEmailSink
  53. {
  54. public:
  55. virtual void OnEmailAdd(const IMTConEmail* /*config*/) { }
  56. virtual void OnEmailUpdate(const IMTConEmail* /*config*/) { }
  57. virtual void OnEmailDelete(const IMTConEmail* /*config*/) { }
  58. virtual void OnEmailSync(void) { }
  59. };
  60. //+------------------------------------------------------------------+