class IO2GOrdersTableResponseReader

Parents
IO2GGenericTableResponseReader

Brief

The class reads a stream of order rows coming from the trading server.

Details

All data from the trading server come in the form of responses. The type of the response depends on the type of the request. An IO2GResponse object of the GetOrders type comes from the trading server as a response to the request for initial order information. The response consists of the Orders table rows. Every row is represented by an IO2GOrderRow object. In order to read this response, you must use the O2GOrdersTableResponseReader.

Getting the response

If your application uses the IO2GTableManager, the Orders table is always loaded during the login process. This information is kept in an IO2GOrdersTable object.

If your application does not use the IO2GTableManager, the initial order information needs to be requested.
Depending on the trading server settings, the Orders table may or may not be loaded by the server automatically during the login process. To determine whether the table is loaded or not and what follow-up action is required to obtain the GetOrders response, use the returned value of the IO2GLoginRules.isTableLoadedByDefault method:

Returned Value

Follow-up action

true

Call the IO2GLoginRules.getTableRefreshResponse method. For example,

O2GResponse ordersResponse = loginRules.getTableRefreshResponse(O2GTable::Orders);

false

Create a request to get initial order information for an account by using the IO2GRequestFactory.createRefreshTableRequestByAccount method. For example,

O2GRequest request = requestFactory.createRefreshTableRequestByAccount(O2GTable::Orders, mOrderID);

In this case, an instance of the IO2GResponse class is the response parameter in your implementation of the IO2GResponseListener.onRequestCompleted method.

Instantiating the class

After receiving the GetOrders response, an instance of the O2GOrdersTableResponseReader class can be obtained by calling the IO2GResponseReaderFactory.createOrdersTableReader method. For example:

O2G2Ptr<IO2GResponseReaderFactory> responseFactory = session->getResponseReaderFactory();
if (responseFactory)
{
O2G2Ptr<IO2GOrdersTableResponseReader> ordersReader = responseFactory.createOrdersTableReader(ordersResponse);
...
}

Public Methods

columns

Gets an instance of the class that provides access to the list of table columns.

getCell

Gets the value of a cell.

getGenericRow

Gets a generic row by its index.

getRow

Gets a row from the Orders table.

getType

Gets the type of a trading table.

isCellValid

Checks whether the cell value can be used or not.

size

Gets the number of rows in the reader.

back