| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- //+------------------------------------------------------------------+
- //| MetaTrader 5 API |
- //| Copyright 2000-2019, MetaQuotes Software Corp. |
- //| http://www.metaquotes.net |
- //+------------------------------------------------------------------+
- #pragma once
- //+------------------------------------------------------------------+
- //| Messenger config |
- //+------------------------------------------------------------------+
- class IMTConMessenger
- {
- public:
- //--- allowed flags
- enum EnFlags
- {
- FLAG_NONE =0, // none
- FLAG_ENABLED =1, // messenger is enabled
- FLAG_DEFAULT =2, // messenger is default
- //--- flags borders
- FLAG_FIRST =FLAG_ENABLED,
- FLAG_ALL =FLAG_ENABLED|FLAG_DEFAULT
- };
- //--- providers
- enum EnProviderType
- {
- //---- SMS
- PROVIDER_SMS_BULKSMS =0,
- PROVIDER_SMS_CLICKATELL =1,
- PROVIDER_SMS_WEBSMS =2,
- //--- SMS ranges
- PROVIDER_SMS_FIRST =PROVIDER_SMS_BULKSMS,
- PROVIDER_SMS_LAST =99,
- //---- Instant Messengers
- PROVIDER_IM_TELEGRAM =100,
- PROVIDER_IM_WHATSAPP =101,
- PROVIDER_IM_VIBER =102,
- //--- Instant Messengers ranges
- PROVIDER_IM_FIRST =PROVIDER_IM_TELEGRAM,
- PROVIDER_IM_LAST =199,
- //---- Push Services
- PROVIDER_PUSH_METAQUOTES=200,
- PROVIDER_PUSH_UNIVERSAL =201,
- //--- Push Services ranges
- PROVIDER_PUSH_FIRST =PROVIDER_PUSH_METAQUOTES,
- PROVIDER_PUSH_LAST =299,
- };
- //--- common methods
- virtual void Release(void)=0;
- virtual MTAPIRES Assign(const IMTConMessenger* messenger)=0;
- virtual MTAPIRES Clear(void)=0;
- //--- name
- virtual LPCWSTR Name(void) const=0;
- virtual MTAPIRES Name(LPCWSTR name)=0;
- //--- sender
- virtual LPCWSTR Sender(void) const=0;
- virtual MTAPIRES Sender(LPCWSTR sender)=0;
- //--- provider type
- virtual UINT ProviderType(void) const=0;
- virtual MTAPIRES ProviderType(const UINT provider)=0;
- //--- provider address
- virtual LPCWSTR ProviderAddress(void) const=0;
- virtual MTAPIRES ProviderAddress(LPCWSTR address)=0;
- //--- provider login
- virtual LPCWSTR ProviderLogin(void) const=0;
- virtual MTAPIRES ProviderLogin(LPCWSTR login)=0;
- //--- provider password
- virtual LPCWSTR ProviderPassword(void) const=0;
- virtual MTAPIRES ProviderPassword(LPCWSTR password)=0;
- //--- provider token
- virtual LPCWSTR ProviderToken(void) const=0;
- virtual MTAPIRES ProviderToken(LPCWSTR token)=0;
- //--- provider SubID
- virtual LPCWSTR ProviderSubId(void) const=0;
- virtual MTAPIRES ProviderSubId(LPCWSTR subid)=0;
- //--- provider currency
- virtual LPCWSTR ProviderCurrency(void) const=0;
- virtual MTAPIRES ProviderCurrency(LPCWSTR currency)=0;
- //--- provider currency rate
- virtual double ProviderCurrencyRate(void) const=0;
- virtual MTAPIRES ProviderCurrencyRate(const double rate)=0;
- //--- EnFlags
- virtual UINT64 Flags(void) const=0;
- virtual MTAPIRES Flags(const UINT64 flags)=0;
- };
- //+------------------------------------------------------------------+
- //| Messenger config events notification interface |
- //+------------------------------------------------------------------+
- class IMTConMessengerSink
- {
- public:
- virtual void OnMessengerAdd(const IMTConMessenger* /*config*/) { }
- virtual void OnMessengerUpdate(const IMTConMessenger* /*config*/) { }
- virtual void OnMessengerDelete(const IMTConMessenger* /*config*/) { }
- virtual void OnMessengerSync(void) { }
- };
- //+------------------------------------------------------------------+
|