| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- //+------------------------------------------------------------------+
- //| MetaTrader 5 API Server |
- //| Copyright 2000-2019, MetaQuotes Software Corp. |
- //| http://www.metaquotes.net |
- //+------------------------------------------------------------------+
- #pragma once
- //+------------------------------------------------------------------+
- //| News Message interface |
- //+------------------------------------------------------------------+
- class IMTNews
- {
- public:
- //--- news flags
- enum EnNewsFlags
- {
- NEWS_FLAGS_NONE =0x0000,
- NEWS_FLAGS_PRIORITY =0x0001,
- NEWS_FLAGS_READ =0x0002,
- NEWS_FLAGS_NOBODY =0x0004,
- NEWS_FLAGS_CALENDAR =0x0008,
- //--- enumeration borders
- NEWS_FLAGS_FIRST =NEWS_FLAGS_PRIORITY,
- NEWS_FLAGS_ALL =NEWS_FLAGS_PRIORITY|NEWS_FLAGS_READ|NEWS_FLAGS_NOBODY|NEWS_FLAGS_CALENDAR
- };
- public:
- //--- common methods
- virtual void Release(void)=0;
- virtual MTAPIRES Assign(const IMTNews* news)=0;
- virtual MTAPIRES Clear(void)=0;
- //--- news ID
- virtual UINT64 ID(void) const=0;
- //--- subject
- virtual LPCWSTR Subject(void) const=0;
- virtual MTAPIRES Subject(LPCWSTR subject)=0;
- //--- category
- virtual LPCWSTR Category(void) const=0;
- virtual MTAPIRES Category(LPCWSTR category)=0;
- //--- time
- virtual INT64 Time(void) const=0;
- virtual MTAPIRES Time(const INT64 datetime)=0;
- //--- language
- virtual UINT Language(void) const=0;
- virtual MTAPIRES Language(const UINT language)=0;
- //--- language
- virtual UINT Flags(void) const=0;
- virtual MTAPIRES Flags(const UINT flags)=0;
- //--- body
- virtual LPCVOID Body(void) const=0;
- virtual UINT BodySize(void) const=0;
- virtual MTAPIRES Body(LPCVOID body,const UINT body_size)=0;
- };
- //+------------------------------------------------------------------+
- //| News events notification interface |
- //+------------------------------------------------------------------+
- class IMTNewsSink
- {
- public:
- virtual void OnNews(const IMTNews* /*news*/) { };
- virtual MTAPIRES HookNews(const int /*feeder*/,IMTNews* /*news*/) { return(MT_RET_OK); }
- };
- //+------------------------------------------------------------------+
|