| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- //+------------------------------------------------------------------+
- //| MetaTrader 5 API |
- //| Copyright 2000-2019, MetaQuotes Software Corp. |
- //| http://www.metaquotes.net |
- //+------------------------------------------------------------------+
- #pragma once
- //+------------------------------------------------------------------+
- //| Byte stream interface |
- //+------------------------------------------------------------------+
- class IMTByteStream
- {
- public:
- //--- common methods
- virtual void Release(void)=0;
- virtual MTAPIRES Assign(const IMTByteStream* stream)=0;
- virtual MTAPIRES Clear(void)=0;
- //--- common properties
- virtual UINT Len(void)=0;
- virtual UINT ReadLen(void)=0;
- //--- data add
- virtual MTAPIRES Add(const void *buf,const UINT len)=0;
- virtual MTAPIRES AddChar(const char data)=0;
- virtual MTAPIRES AddUChar(const UCHAR data)=0;
- virtual MTAPIRES AddShort(const short data)=0;
- virtual MTAPIRES AddUShort(const USHORT data)=0;
- virtual MTAPIRES AddInt(const int data)=0;
- virtual MTAPIRES AddUInt(const UINT data)=0;
- virtual MTAPIRES AddInt64(const INT64 data)=0;
- virtual MTAPIRES AddUInt64(const UINT64 data)=0;
- virtual MTAPIRES AddFloat(const float data)=0;
- virtual MTAPIRES AddDouble(const double data)=0;
- virtual MTAPIRES AddResult(const MTAPIRES data)=0;
- virtual MTAPIRES AddStr(LPCWSTR buf)=0;
- //--- data read
- virtual void ReadReset(void)=0;
- virtual MTAPIRES Read(void* buf,const UINT len)=0;
- virtual MTAPIRES ReadSkip(const UINT len)=0;
- virtual MTAPIRES ReadChar(char& data)=0;
- virtual MTAPIRES ReadUChar(UCHAR& data)=0;
- virtual MTAPIRES ReadShort(SHORT& data)=0;
- virtual MTAPIRES ReadUShort(USHORT& data)=0;
- virtual MTAPIRES ReadInt(int& data)=0;
- virtual MTAPIRES ReadUInt(UINT& data)=0;
- virtual MTAPIRES ReadInt64(INT64& data)=0;
- virtual MTAPIRES ReadUInt64(UINT64& data)=0;
- virtual MTAPIRES ReadFloat(float& data)=0;
- virtual MTAPIRES ReadDouble(double& data)=0;
- virtual MTAPIRES ReadResult(MTAPIRES& data)=0;
- virtual MTAPIRES ReadStr(MTAPISTR& buf)=0;
- //--- web api data add
- virtual MTAPIRES WebAddParamStr(LPCWSTR name,LPCWSTR value)=0;
- virtual MTAPIRES WebAddParamChar(LPCWSTR name,const char value)=0;
- virtual MTAPIRES WebAddParamUChar(LPCWSTR name,const UCHAR value)=0;
- virtual MTAPIRES WebAddParamShort(LPCWSTR name,const short value)=0;
- virtual MTAPIRES WebAddParamUShort(LPCWSTR name,const USHORT value)=0;
- virtual MTAPIRES WebAddParamInt(LPCWSTR name,const int value)=0;
- virtual MTAPIRES WebAddParamUInt(LPCWSTR name,const UINT value)=0;
- virtual MTAPIRES WebAddParamInt64(LPCWSTR name,const INT64 value)=0;
- virtual MTAPIRES WebAddParamUInt64(LPCWSTR name,const UINT64 value)=0;
- virtual MTAPIRES WebAddParamDouble(LPCWSTR name,const double value,const UINT digits)=0;
- virtual MTAPIRES WebAddParamFinalize(void)=0;
- //--- web api data read
- virtual MTAPIRES WebReadCommand(MTAPISTR& cmd)=0;
- virtual MTAPIRES WebReadParamName(MTAPISTR& name)=0;
- virtual MTAPIRES WebReadParamStr(MTAPISTR& str)=0;
- virtual MTAPIRES WebReadParamStr(LPWSTR value,const UINT size)=0;
- virtual MTAPIRES WebReadParamSkip(void)=0;
- virtual MTAPIRES WebReadParamChar(char& data)=0;
- virtual MTAPIRES WebReadParamUChar(UCHAR& data)=0;
- virtual MTAPIRES WebReadParamShort(SHORT& data)=0;
- virtual MTAPIRES WebReadParamUShort(USHORT& data)=0;
- virtual MTAPIRES WebReadParamInt(int& value)=0;
- virtual MTAPIRES WebReadParamUInt(UINT& value)=0;
- virtual MTAPIRES WebReadParamInt64(INT64& value)=0;
- virtual MTAPIRES WebReadParamUInt64(UINT64& value)=0;
- virtual MTAPIRES WebReadParamDouble(double& value)=0;
- };
- //+------------------------------------------------------------------+
-
|