122 char err_message[64];
150 typedef size_t (*
TIO_CB_READ)(
char *buffer,
size_t size,
void *userdata);
175 typedef void (*
TIO_CB_ERR)(tio_code_t code,
const char* err_message,
void* userdata);
200 void* _cb_action_data;
206 size_t _keep_alive_interval;
207 KII_CB_TASK_CONTINUE _cb_task_continue;
208 void* _task_continue_data;
209 KII_CB_TASK_EXIT _cb_task_exit;
210 void* _task_exit_data;
226 void* _cb_state_size_data;
228 void* _state_reader_data;
232 size_t _update_interval;
233 KII_CB_TASK_CONTINUE _cb_task_continue;
234 void* _task_continue_data;
235 KII_CB_TASK_EXIT _cb_task_exit;
236 void* _task_exit_data;
579 JKII_CB_RESOURCE_ALLOC cb_alloc,
580 JKII_CB_RESOURCE_FREE cb_free);
595 KHC_CB_SLIST_ALLOC cb_alloc,
596 KHC_CB_SLIST_FREE cb_free,
612 tio_bool_t enable_insecure_http
626 tio_bool_t enable_insecure_mqtt
650 const char* vendor_thing_id,
651 const char* password,
652 const char* thing_type,
653 const char* firmware_version,
654 const char* layout_position,
655 const char* thing_properties
686 const tio_author_t* author,
716 size_t command_length,
751 size_t command_length,
958 JKII_CB_RESOURCE_ALLOC cb_alloc,
959 JKII_CB_RESOURCE_FREE cb_free);
974 KHC_CB_SLIST_ALLOC cb_alloc,
975 KHC_CB_SLIST_FREE cb_free,
991 tio_bool_t enable_insecure_http
1015 const char* vendor_thing_id,
1016 const char* password,
1017 const char* thing_type,
1018 const char* firmware_version,
1019 const char* layout_position,
1020 const char* thing_properties
1054 const tio_author_t* author,
1056 void* state_size_data,
1058 void* read_state_data);
void tio_handler_set_stream_buff(tio_handler_t *handler, char *buff, size_t buff_size)
Set stream buffer. Stream buffer is used store part of HTTP body when reading/ writing it from the ne...
size_t opaque_value_length
Indicate length of opaque_value in case type is TIO_TYPE_STRING, TIO_TYPE_OBJECT or TIO_TYPE_ARRAY...
Definition: tio.h:87
tio_code_t tio_updater_onboard(tio_updater_t *updater, const char *vendor_thing_id, const char *password, const char *thing_type, const char *firmware_version, const char *layout_position, const char *thing_properties)
Execute onboarding.
const char * opaque_value
Definition: tio.h:81
Represents action result data.
Definition: tio.h:128
Data is larger than expected.
Definition: tio.h:42
void tio_updater_set_cb_task_exit(tio_updater_t *updater, KII_CB_TASK_EXIT cb_exit, void *userdata)
Callback called right before exit of tio_updater task.
void tio_handler_enable_insecure_mqtt(tio_handler_t *handler, tio_bool_t enable_insecure_mqtt)
Enable insecure MQTT connection.
struct tio_action_err_t tio_action_err_t
Represents error.
size_t alias_length
Length of the alias name.
Definition: tio.h:102
Error in write callback.
Definition: tio.h:39
Represents action.
Definition: tio.h:93
tio_action_value_t action_value
Value of the action.
Definition: tio.h:115
void tio_handler_set_json_parser_resource(tio_handler_t *handler, jkii_resource_t *resource)
Set JSON parser resource.
struct tio_action_value_t tio_action_value_t
Represents value of the action.
Stores data/ callbacks used by tio_updater.
Definition: tio.h:224
double double_value
Definition: tio.h:79
tio_code_t tio_updater_start(tio_updater_t *updater, const tio_author_t *author, TIO_CB_SIZE cb_state_size, void *state_size_data, TIO_CB_READ cb_read_state, void *read_state_data)
Start tio_updater task.
Socket error in connection.
Definition: tio.h:35
struct tio_action_t tio_action_t
Represents action.
kii_mqtt_task_state task_state
Definition: tio.h:218
kii_bool_t tio_bool_t
Boolean type.
Definition: tio.h:23
Represents error.
Definition: tio.h:121
void tio_handler_set_keep_alive_interval(tio_handler_t *handler, size_t keep_alive_interval_sec)
Set MQTT Keep-Alive interval.
long long_value
Definition: tio.h:78
void tio_handler_set_cb_task_continue(tio_handler_t *handler, KII_CB_TASK_CONTINUE cb_continue, void *userdata)
Set callback determines whether to continue or discontinue task.
void tio_updater_set_cb_delay_ms(tio_updater_t *updater, KII_CB_DELAY_MS cb_delay_ms, void *userdata)
Callback asks to delay/ sleep task execution.
tio_code_t tio_handler_start(tio_handler_t *handler, const tio_author_t *author, TIO_CB_ACTION cb_action, void *userdata)
Start tio_handler task.
void tio_handler_set_cb_sock_recv_http(tio_handler_t *handler, KHC_CB_SOCK_RECV cb_recv, void *userdata)
Set socket recv callback used for HTTP(S)
Socket error in sending data.
Definition: tio.h:36
void tio_handler_set_cb_slist_resource(tio_handler_t *handler, KHC_CB_SLIST_ALLOC cb_alloc, KHC_CB_SLIST_FREE cb_free, void *cb_alloc_data, void *cb_free_data)
Set custom memory allocator for the linked list used to constuct request headers of HTTP...
struct tio_updater_t tio_updater_t
Stores data/ callbacks used by tio_updater.
tio_bool_t bool_value
Definition: tio.h:80
Boolean type.
Definition: tio.h:56
Error in parsing JSON.
Definition: tio.h:44
void tio_updater_set_cb_sock_send(tio_updater_t *updater, KHC_CB_SOCK_SEND cb_send, void *userdata)
Set socket send callback used for HTTP(S)
const tio_author_t * tio_handler_get_author(tio_handler_t *handler)
Get author.
const char * action_name
Name of the action. You need to use action_name_length field to determine the length. It might not be null terminated.
Definition: tio.h:107
void tio_updater_set_stream_buff(tio_updater_t *updater, char *buff, size_t buff_size)
Set stream buffer. Stream buffer is used store part of HTTP body when reading/ writing it from the ne...
tio_code_t tio_handler_parse_command(tio_handler_t *handler, const char *command, size_t command_length, TIO_CB_PARSED_ACTION cb_parsed_action, void *userdata)
Parse the received command.
size_t(* TIO_CB_READ)(char *buffer, size_t size, void *userdata)
Callback reads state.
Definition: tio.h:150
void tio_updater_set_json_parser_resource(tio_updater_t *updater, jkii_resource_t *resource)
tio_data_type_t type
Data type of the value.
Definition: tio.h:68
const tio_author_t * tio_updater_get_author(tio_updater_t *updater)
Get author.
void tio_updater_enable_insecure_http(tio_updater_t *updater, tio_bool_t enable_insecure_http)
Enable insecure HTTP connection.
void tio_handler_set_http_buff(tio_handler_t *handler, char *buff, size_t buff_size)
Set buffer used to construct/ parse HTTP request/ response.
void tio_updater_set_cb_task_create(tio_updater_t *updater, KII_CB_TASK_CREATE cb_task_create, void *userdata)
Set callback creates task.
void tio_updater_set_cb_error(tio_updater_t *updater, TIO_CB_ERR cb_err, void *userdata)
Set callback propagates error. You can use it for debugging, etc or you can skip calling this API...
void tio_handler_set_resp_header_buff(tio_handler_t *handler, char *buff, size_t buff_size)
Set response header buffer.
void tio_handler_set_cb_sock_close_mqtt(tio_handler_t *handler, KHC_CB_SOCK_CLOSE cb_close, void *userdata)
Set socket close callback used for MQTT(S)
tio_bool_t(* TIO_CB_PUSH)(const char *message, size_t message_length, void *userdata)
Callback handles custom push notification.
Definition: tio.h:193
void tio_handler_set_cb_task_exit(tio_handler_t *handler, KII_CB_TASK_EXIT cb_exit, void *userdata)
Callback called right before exit of tio_handler task.
void tio_handler_set_cb_task_create(tio_handler_t *handler, KII_CB_TASK_CREATE cb_task_create, void *userdata)
Set callback creates task.
Socket error in closing.
Definition: tio.h:38
tio_bool_t(* TIO_CB_ACTION)(tio_action_t *action, tio_action_err_t *err, tio_action_result_data_t *data, void *userdata)
Callback handles action.
Definition: tio.h:164
void tio_updater_init(tio_updater_t *updater)
tio_updater_t initializer.
const char * alias
Name of the alias. You need to use alias_length field to determine the length. It might not be null t...
Definition: tio.h:98
Indicates handler state.
Definition: tio.h:216
String type.
Definition: tio.h:59
Stores data/ callbacks used by tio_handler.
Definition: tio.h:198
void tio_handler_set_cb_sock_connect_mqtt(tio_handler_t *handler, KHC_CB_SOCK_CONNECT cb_connect, void *userdata)
Set socket connect callback used for MQTT(S)
NULL type.
Definition: tio.h:55
void tio_handler_set_cb_sock_recv_mqtt(tio_handler_t *handler, KHC_CB_SOCK_RECV cb_recv, void *userdata)
Set socket recv callback used for MQTT(S)
kii_mqtt_error error
Definition: tio.h:217
Succeeded.
Definition: tio.h:34
void(* TIO_CB_ERR)(tio_code_t code, const char *err_message, void *userdata)
Callback propagates error information.
Definition: tio.h:175
void tio_handler_set_cb_json_parser_resource(tio_handler_t *handler, JKII_CB_RESOURCE_ALLOC cb_alloc, JKII_CB_RESOURCE_FREE cb_free)
JSON parser resource callbacks.
Integer type.
Definition: tio.h:57
void tio_updater_set_cb_json_parser_resource(tio_updater_t *updater, JKII_CB_RESOURCE_ALLOC cb_alloc, JKII_CB_RESOURCE_FREE cb_free)
void tio_updater_set_buff(tio_updater_t *updater, char *buff, size_t buff_size)
Set buffer used to construct/ parse HTTP request/ response.
Socket error in receiving data.
Definition: tio.h:37
void tio_handler_set_cb_sock_send_mqtt(tio_handler_t *handler, KHC_CB_SOCK_SEND cb_send, void *userdata)
Set socket send callback used for MQTT(S)
kii_author_t tio_author_t
Author of API.
Definition: tio.h:28
size_t(* TIO_CB_SIZE)(void *userdata)
Callback asks for size of the state to be uploaded.
Definition: tio.h:138
void tio_handler_set_mqtt_buff(tio_handler_t *handler, char *buff, size_t buff_size)
Set buffer used to parse MQTT message.
Error in creating task.
Definition: tio.h:45
const char TIO_TASK_NAME_UPDATE_STATE[]
tio_updater Task name.
void tio_updater_set_app(tio_updater_t *updater, const char *app_id, const char *host)
Set app identifier and host.
void tio_handler_set_cb_push(tio_handler_t *handler, TIO_CB_PUSH cb_push, void *userdata)
Set callback handles custom push message.
void tio_handler_set_mqtt_to_sock_recv(tio_handler_t *handler, unsigned int to_sock_recv_sec)
Set timeout of receiving data from socket user for MQTT(S)
Array type.
Definition: tio.h:61
void tio_handler_set_cb_sock_send_http(tio_handler_t *handler, KHC_CB_SOCK_SEND cb_send, void *userdata)
Set socket send callback used for HTTP(S)
Represents value of the action.
Definition: tio.h:67
void tio_updater_set_resp_header_buff(tio_updater_t *updater, char *buff, size_t buff_size)
Set response header buffer.
tio_code_t
Error Codes used in tio.
Definition: tio.h:33
void tio_handler_set_mqtt_to_sock_send(tio_handler_t *handler, unsigned int to_sock_send_sec)
Set timeout of sending data from socket user for MQTT(S)
struct tio_handler_t tio_handler_t
Stores data/ callbacks used by tio_handler.
void(* TIO_CB_PARSED_ACTION)(char *command_id, tio_action_t *action, void *userdata)
Callback handles parsed action.
Definition: tio.h:730
void tio_updater_set_cb_task_continue(tio_updater_t *updater, KII_CB_TASK_CONTINUE cb_continue, void *userdata)
Set callback determines whether to continue or discontinue task.
tio_data_type_t
Data types.
Definition: tio.h:54
Error in header callback.
Definition: tio.h:40
void tio_handler_set_cb_err(tio_handler_t *handler, TIO_CB_ERR cb_err, void *userdata)
Set callback propagates error. You can use it for debugging, etc or you can skip calling this API...
tio_code_t tio_handler_handle_command(tio_handler_t *handler, const char *command, size_t command_length, TIO_CB_ACTION cb_action, void *userdata)
Handle the command.
void tio_handler_set_cb_sock_connect_http(tio_handler_t *handler, KHC_CB_SOCK_CONNECT cb_connect, void *userdata)
Set socket connect callback used for HTTP(S)
void tio_handler_set_app(tio_handler_t *handler, const char *app_id, const char *host)
Set app identifier and host.
void tio_updater_set_cb_sock_recv(tio_updater_t *updater, KHC_CB_SOCK_RECV cb_recv, void *userdata)
Set socket recv callback used for HTTP(S)
tio_code_t tio_handler_onboard(tio_handler_t *handler, const char *vendor_thing_id, const char *password, const char *thing_type, const char *firmware_version, const char *layout_position, const char *thing_properties)
Execute onboarding.
Double type.
Definition: tio.h:58
void tio_handler_set_cb_delay_ms(tio_handler_t *handler, KII_CB_DELAY_MS cb_delay_ms, void *userdata)
Callback asks to delay/ sleep task execution.
void tio_handler_init(tio_handler_t *handler)
tio_handler_t initializer.
void tio_updater_set_cb_sock_connect(tio_updater_t *updater, KHC_CB_SOCK_CONNECT cb_connect, void *userdata)
Set socket connect callback used for HTTP(S)
Object type.
Definition: tio.h:60
REST API returns error status code.
Definition: tio.h:43
void tio_updater_set_cb_sock_close(tio_updater_t *updater, KHC_CB_SOCK_CLOSE cb_close, void *userdata)
Set socket close callback used for HTTP(S)
struct tio_action_result_data_t tio_action_result_data_t
Represents action result data.
Other errors.
Definition: tio.h:46
union tio_action_value_t::@0 param
Union stores value.
void tio_updater_set_cb_slist_resource(tio_updater_t *updater, KHC_CB_SLIST_ALLOC cb_alloc, KHC_CB_SLIST_FREE cb_free, void *cb_alloc_data, void *cb_free_data)
Set custom memory allocator for the linked list used to constuct request headers of HTTP...
Error in memory allocation.
Definition: tio.h:41
size_t action_name_length
Length of the action name.
Definition: tio.h:111
void tio_handler_set_cb_sock_close_http(tio_handler_t *handler, KHC_CB_SOCK_CLOSE cb_close, void *userdata)
Set socket close callback used for HTTP(S)
void tio_updater_set_interval(tio_updater_t *updater, size_t update_interval_sec)
Set interval of updating state.
void tio_handler_enable_insecure_http(tio_handler_t *handler, tio_bool_t enable_insecure_http)
Enable insecure HTTP connection.