thing-if SDK
 All Data Structures Files Functions Variables Typedefs Macros
kii_thing_if.h
Go to the documentation of this file.
1 #ifndef _KII_THING_IF_
2 #define _KII_THING_IF_
3 
4 #include <kii.h>
5 
6 #define EMESSAGE_SIZE 50
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 #define KII_THING_IF_TASK_NAME_STATUS_UPDATE "status_update_task"
13 
22 typedef kii_bool_t
24  (const char* schema,
25  int schema_version,
26  const char* action_name,
27  const char* action_params,
28  char error[EMESSAGE_SIZE + 1]);
29 
41 typedef kii_bool_t (*KII_THING_IF_WRITER)(kii_t* kii, const char* buff);
42 
105 typedef kii_bool_t
107  (kii_t* kii,
108  KII_THING_IF_WRITER writer);
109 
145 typedef kii_bool_t
147  (kii_t *kii,
148  const char* message,
149  size_t message_length);
150 
169  char* buffer;
170 
172  size_t buffer_size;
173 
175  char* mqtt_buffer;
176 
179 
182 
187 
195 
197 
215  char* buffer;
216 
218  size_t buffer_size;
219 
221  int period;
222 
228 
229 typedef struct kii_thing_if_t {
239 
262 kii_bool_t init_kii_thing_if(
263  kii_thing_if_t* kii_thing_if,
264  const char* app_id,
265  const char* app_key,
266  const char* app_host,
267  kii_thing_if_command_handler_resource_t* command_handler_resource,
268  kii_thing_if_state_updater_resource_t* state_updater_resource,
269  KII_JSON_RESOURCE_CB resource_cb);
270 
289  kii_thing_if_t* kii_thing_if,
290  const char* vendor_thing_id,
291  const char* password,
292  const char* thing_type,
293  const char* thing_properties
294  );
295 
306 kii_bool_t onboard_with_thing_id(
307  kii_thing_if_t* kii_thing_if,
308  const char* thing_id,
309  const char* password
310  );
311 
342  kii_thing_if_t* kii_thing_if,
343  const char* app_id,
344  const char* app_key,
345  const char* app_host,
346  const char* thing_id,
347  const char* access_token,
348  kii_thing_if_command_handler_resource_t* command_handler_resource,
349  kii_thing_if_state_updater_resource_t* state_updater_resource,
350  KII_JSON_RESOURCE_CB resource_cb);
351 
352 #ifdef __cplusplus
353 }
354 #endif
355 
356 #endif /* _KII_THING_IF_ */
357 
kii_bool_t init_kii_thing_if_with_onboarded_thing(kii_thing_if_t *kii_thing_if, const char *app_id, const char *app_key, const char *app_host, const char *thing_id, const char *access_token, kii_thing_if_command_handler_resource_t *command_handler_resource, kii_thing_if_state_updater_resource_t *state_updater_resource, KII_JSON_RESOURCE_CB resource_cb)
char * mqtt_buffer
Definition: kii_thing_if.h:175
Definition: kii_thing_if.h:167
KII_THING_IF_CUSTOM_PUSH_HANDLER custom_push_handler
Definition: kii_thing_if.h:235
Definition: kii_thing_if.h:229
kii_bool_t(* KII_THING_IF_ACTION_HANDLER)(const char *schema, int schema_version, const char *action_name, const char *action_params, char error[EMESSAGE_SIZE+1])
Definition: kii_thing_if.h:24
kii_bool_t onboard_with_thing_id(kii_thing_if_t *kii_thing_if, const char *thing_id, const char *password)
kii_bool_t(* KII_THING_IF_CUSTOM_PUSH_HANDLER)(kii_t *kii, const char *message, size_t message_length)
Definition: kii_thing_if.h:147
KII_THING_IF_STATE_HANDLER state_handler
Definition: kii_thing_if.h:186
int period
Definition: kii_thing_if.h:221
size_t buffer_size
Definition: kii_thing_if.h:172
int state_update_period
Definition: kii_thing_if.h:237
#define EMESSAGE_SIZE
Definition: kii_thing_if.h:6
char * buffer
Definition: kii_thing_if.h:169
kii_bool_t(* KII_THING_IF_STATE_HANDLER)(kii_t *kii, KII_THING_IF_WRITER writer)
Definition: kii_thing_if.h:107
size_t mqtt_buffer_size
Definition: kii_thing_if.h:178
kii_t command_handler
Definition: kii_thing_if.h:230
kii_bool_t(* KII_THING_IF_WRITER)(kii_t *kii, const char *buff)
Definition: kii_thing_if.h:41
KII_THING_IF_ACTION_HANDLER action_handler
Definition: kii_thing_if.h:181
kii_t state_updater
Definition: kii_thing_if.h:231
KII_THING_IF_STATE_HANDLER state_handler_for_period
Definition: kii_thing_if.h:233
kii_bool_t onboard_with_vendor_thing_id(kii_thing_if_t *kii_thing_if, const char *vendor_thing_id, const char *password, const char *thing_type, const char *thing_properties)
KII_THING_IF_ACTION_HANDLER action_handler
Definition: kii_thing_if.h:232
KII_THING_IF_CUSTOM_PUSH_HANDLER custom_push_handler
Definition: kii_thing_if.h:194
size_t buffer_size
Definition: kii_thing_if.h:218
char * buffer
Definition: kii_thing_if.h:215
struct kii_thing_if_t kii_thing_if_t
struct kii_thing_if_command_handler_resource_t kii_thing_if_command_handler_resource_t
KII_THING_IF_STATE_HANDLER state_handler_for_command_reaction
Definition: kii_thing_if.h:234
kii_bool_t init_kii_thing_if(kii_thing_if_t *kii_thing_if, const char *app_id, const char *app_key, const char *app_host, kii_thing_if_command_handler_resource_t *command_handler_resource, kii_thing_if_state_updater_resource_t *state_updater_resource, KII_JSON_RESOURCE_CB resource_cb)
KII_THING_IF_STATE_HANDLER state_handler
Definition: kii_thing_if.h:226
Definition: kii_thing_if.h:213
struct kii_thing_if_state_updater_resource_t kii_thing_if_state_updater_resource_t