/// <summary> /// processor of data from callbacks /// обработчик данных пришедших через каллбек /// </summary> /// <param name="pData">data from Transaq / данные, поступившие от транзака</param> bool CallBackDataHandler(IntPtr pData) { string data = MarshalUtf8.PtrToStringUtf8(pData); _newMessage.Enqueue(data); return(true); }
/// <summary> /// sent the command /// отправить команду /// </summary> /// <param name="command">command as a XML document / команда в виде XML документа</param> /// <returns>result of sending command/результат отправки команды</returns> public string ConnectorSendCommand(string command) { IntPtr pData = MarshalUtf8.StringToHGlobalUtf8(command); IntPtr pResult = SendCommand(pData); string result = MarshalUtf8.PtrToStringUtf8(pResult); Marshal.FreeHGlobal(pData); FreeMemory(pResult); return(result); }
/// <summary> /// Shuts down the internal threads of the library, including completing thread queue callbacks /// Выполняет остановку внутренних потоков библиотеки, в том числе завершает поток обработки очереди обратных вызовов /// </summary> public bool ConnectorUnInitialize() { IntPtr pResult = UnInitialize(); if (!pResult.Equals(IntPtr.Zero)) { String result = MarshalUtf8.PtrToStringUtf8(pResult); FreeMemory(pResult); return(false); } else { return(true); } }
/// <summary> /// Initializes the library: starts the callback queue processing thread /// Выполняет инициализацию библиотеки: запускает поток обработки очереди обратных вызовов /// </summary> public bool ConnectorInitialize() { IntPtr pResult = Initialize(MarshalUtf8.StringToHGlobalUtf8(LogPath), 1); if (!pResult.Equals(IntPtr.Zero)) { string result = MarshalUtf8.PtrToStringUtf8(pResult); FreeMemory(pResult); return(false); } else { return(true); } }