57 lines
4.9 KiB
MQL5
57 lines
4.9 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| DXInput.mqh |
|
|
//| Copyright 2000-2025, MetaQuotes Ltd. |
|
|
//| https://www.mql5.com |
|
|
//+------------------------------------------------------------------+
|
|
#include "DXHandle.mqh"
|
|
//+------------------------------------------------------------------+
|
|
//| Class CDXInput |
|
|
//+------------------------------------------------------------------+
|
|
class CDXInput : public CDXHandleShared
|
|
{
|
|
public:
|
|
//+------------------------------------------------------------------+
|
|
//| Destructor |
|
|
//+------------------------------------------------------------------+
|
|
virtual ~CDXInput(void)
|
|
{
|
|
Shutdown();
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//| Create a new input buffer |
|
|
//+------------------------------------------------------------------+
|
|
template<typename TInput>
|
|
bool Create(int context)
|
|
{
|
|
//--- shutdown input
|
|
Shutdown();
|
|
//--- save new context
|
|
m_context=context;
|
|
//--- create new input buffer
|
|
m_handle=DXInputCreate(m_context,sizeof(TInput));
|
|
return(m_handle!=INVALID_HANDLE);
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//| Set input data |
|
|
//+------------------------------------------------------------------+
|
|
template<typename TInput>
|
|
bool InputSet(const TInput &input_data)
|
|
{
|
|
//--- check input handle
|
|
if(m_handle==INVALID_HANDLE)
|
|
return(false);
|
|
//--- set input data
|
|
return(DXInputSet(m_handle,input_data));
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//| Shutdown |
|
|
//+------------------------------------------------------------------+
|
|
virtual void Shutdown(void)
|
|
{
|
|
//--- relase handle
|
|
if(m_handle!=INVALID_HANDLE)
|
|
DXRelease(m_handle);
|
|
m_handle=INVALID_HANDLE;
|
|
}
|
|
};
|
|
//+------------------------------------------------------------------+
|