MT5APIAttachment.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //+------------------------------------------------------------------+
  2. //| MetaTrader 5 API |
  3. //| Copyright 2000-2019, MetaQuotes Software Corp. |
  4. //| http://www.metaquotes.net |
  5. //+------------------------------------------------------------------+
  6. #pragma once
  7. //+------------------------------------------------------------------+
  8. //| Attachment record interface |
  9. //+------------------------------------------------------------------+
  10. class IMTAttachment
  11. {
  12. public:
  13. //--- file types
  14. enum EnFileType
  15. {
  16. FILE_TYPE_OTHER =0, // other
  17. FILE_TYPE_TXT =1, // txt
  18. FILE_TYPE_DOC =2, // doc
  19. FILE_TYPE_PDF =3, // pdf
  20. FILE_TYPE_JPG =4, // jpg
  21. FILE_TYPE_PNG =5, // png
  22. FILE_TYPE_BMP =6, // bmp
  23. FILE_TYPE_ZIP =7, // zip
  24. //--- enumeration borders
  25. FILE_TYPE_FIRST =FILE_TYPE_OTHER,
  26. FILE_TYPE_LAST =FILE_TYPE_ZIP,
  27. };
  28. //--- file flags
  29. enum EnFileFlags
  30. {
  31. FILE_FLAG_EMBEDDED =0x1, // embedded for content (images in HTML)
  32. //--- enumeration borders
  33. FILE_FLAG_NONE =0,
  34. FILE_FLAG_ALL =FILE_FLAG_EMBEDDED,
  35. };
  36. //--- common methods
  37. virtual void Release(void)=0;
  38. virtual MTAPIRES Assign(const IMTAttachment* file)=0;
  39. virtual MTAPIRES Clear(void)=0;
  40. //--- record id
  41. virtual UINT64 RecordID(void) const=0;
  42. virtual MTAPIRES RecordID(const UINT64 record_id)=0;
  43. //--- related client
  44. virtual UINT64 RelatedClient(void) const=0;
  45. virtual MTAPIRES RelatedClient(const UINT64 record_id)=0;
  46. //--- file type
  47. virtual UINT FileType(void) const=0;
  48. virtual MTAPIRES FileType(const UINT type)=0;
  49. //--- file name
  50. virtual LPCWSTR FileName(void) const=0;
  51. virtual MTAPIRES FileName(LPCWSTR name)=0;
  52. //--- file content
  53. virtual const void* FileContent(UINT& content_size) const=0;
  54. virtual MTAPIRES FileContent(const void* content,const UINT content_size)=0;
  55. //--- file size
  56. virtual UINT FileSize(void)=0;
  57. //--- file flags
  58. virtual UINT FileFlags(void) const=0;
  59. virtual MTAPIRES FileFlags(const UINT flags)=0;
  60. };
  61. //+------------------------------------------------------------------+