Sample C/C++ code for the handleData method.
EspMessageReader * reader = esp_subscriber_event_get_reader(event, error); EspStream * stream = esp_message_reader_get_stream(reader, error); const EspSchema * schema = esp_stream_get_schema(stream, error); EspRowReader * row_reader; int32_t int_value; int64_t long_value; time_t date_value; double double_value; int numcolumns, numrows, type; rc = esp_schema_get_numcolumns(schema, &numcolumns, error); while ((row_reader = esp_message_reader_next_row(reader, error)) != NULL) { for (int i = 0; i < numcolumns; ++i) { rc = esp_schema_get_column_type(schema, i, &type, error); switch(type){ case ESP_DATATYPE_INTEGER: rc = esp_row_reader_get_integer(row_reader, i, &int_value, error); break; case ESP_DATATYPE_LONG: rc = esp_row_reader_get_long(row_reader, i, &long_value, error); break; case ESP_DATATYPE_DATE: rc = esp_row_reader_get_date(row_reader, i, &date_value, error); break; } }