'Sends the query and asynchronously returns a RDCResult.
'Example: <code> Wait For (Manager.ExecuteQuery1("select_item", "sample")) Complete (Result As RDCResult)</code>
Public Sub ExecuteQuery1 (QueryName As String, Parameter As String) As ResumableSub
Dim ser As B4XSerializator
Dim data() As Byte = ser.ConvertObjectToBytes(CreateMap("command": CreateMap("name": "SQL." & QueryName, "parameters": Array(Parameter)), "version": VERSION))
Dim j As HttpJob
j.Initialize("", Me)
j.PostBytes(mLink & "?method=query2", data)
j.GetRequest.SetContentType("application/octet-stream")
Wait For (j) JobDone(j As HttpJob)
Dim res As RDCResult
If j.Success Then
Dim ser As B4XSerializator
Dim data() As Byte = Bit.InputStreamToBytes(j.GetInputStream)
ser.ConvertBytesToObjectAsync(data, "ser")
Wait For (ser) ser_BytesToObject (Success As Boolean, NewObject As Object)
If Success Then
res = CreateRDCResult(True, "", LOAUtils.WrapWithHeader(NewObject))
Else
res = CreateRDCResult(False, "Error during serialization: " & LastException, Null)
End If
Else
res = CreateRDCResult(False, j.ErrorMessage, Null)
End If
j.Release
Return res
End Sub