Filter results by

Older Versions

Older API versions are available as a download. To view, extract the file and open the index.html file in a web browser.

artik_cloud.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2017 Samsung Electronics All Rights Reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing,
12  * software distributed under the License is distributed on an
13  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14  * either express or implied. See the License for the specific
15  * language governing permissions and limitations under the License.
16  *
17  */
18 
19 #ifndef INCLUDE_ARTIK_CLOUD_H_
20 #define INCLUDE_ARTIK_CLOUD_H_
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #include "artik_error.h"
27 #include "artik_types.h"
28 #include "artik_http.h"
29 #include "artik_websocket.h"
30 
52 #define MAX_TOKEN_LEN 64
53 #define WEBSOCKET_CONNECTION_TIMEOUT_MS (10*1000)
54 
65 typedef void (*artik_cloud_callback)(artik_error result,
66  char *response, void *user_data);
67 
75 typedef struct {
94  artik_error (*send_message)(const char *access_token,
95  const char *device_id,
96  const char *message,
97  char **response,
98  artik_ssl_config *ssl);
116  artik_error (*send_message_async)(const char *access_token,
117  const char *device_id,
118  const char *message,
119  artik_cloud_callback callback,
120  void *user_data,
121  artik_ssl_config *ssl);
141  artik_error (*send_action)(const char *access_token,
142  const char *device_id,
143  const char *action,
144  char **response,
145  artik_ssl_config *ssl);
164  artik_error (*send_action_async)(const char *access_token,
165  const char *device_id,
166  const char *action,
167  artik_cloud_callback callback,
168  void *user_data,
169  artik_ssl_config *ssl);
186  artik_error (*get_current_user_profile)(const char
187  *access_token,
188  char **response,
189  artik_ssl_config *ssl);
205  artik_error (*get_current_user_profile_async)(const char
206  *access_token,
207  artik_cloud_callback callback,
208  void *user_data,
209  artik_ssl_config *ssl);
231  artik_error (*get_user_devices)(const char *access_token,
232  int count, bool properties,
233  int offset,
234  const char *user_id,
235  char **response,
236  artik_ssl_config *ssl);
257  artik_error (*get_user_devices_async)(const char *access_token,
258  int count, bool properties,
259  int offset,
260  const char *user_id,
261  artik_cloud_callback callback,
262  void *user_data,
263  artik_ssl_config *ssl);
285  artik_error (*get_user_device_types)(
286  const char *access_token,
287  int count, bool shared,
288  int offset,
289  const char *user_id,
290  char **response,
291  artik_ssl_config *ssl
292  );
313  artik_error (*get_user_device_types_async)(
314  const char *access_token,
315  int count, bool shared,
316  int offset,
317  const char *user_id,
318  artik_cloud_callback callback,
319  void *user_data,
320  artik_ssl_config *ssl);
339  artik_error (*get_user_application_properties)(
340  const char *access_token,
341  const char *user_id,
342  const char *app_id,
343  char **response,
344  artik_ssl_config *ssl);
362  artik_error (*get_user_application_properties_async)(
363  const char *access_token,
364  const char *user_id,
365  const char *app_id,
366  artik_cloud_callback callback,
367  void *user_data,
368  artik_ssl_config *ssl);
387  artik_error (*get_device)(const char *access_token,
388  const char *device_id,
389  bool properties, char **response,
390  artik_ssl_config *ssl);
408  artik_error (*get_device_async)(const char *access_token,
409  const char *device_id,
410  bool properties,
411  artik_cloud_callback callback,
412  void *user_data,
413  artik_ssl_config *ssl);
430  artik_error (*get_device_token)(const char *access_token,
431  const char *device_id,
432  char **response,
433  artik_ssl_config *ssl);
449  artik_error (*get_device_token_async)(const char *access_token,
450  const char *device_id,
451  artik_cloud_callback callback,
452  void *user_data,
453  artik_ssl_config *ssl);
472  artik_error (*add_device)(const char *access_token,
473  const char *user_id,
474  const char *dt_id,
475  const char *name, char **response,
476  artik_ssl_config *ssl);
494  artik_error (*add_device_async)(const char *access_token,
495  const char *user_id,
496  const char *dt_id,
497  const char *name,
498  artik_cloud_callback callback,
499  void *user_data,
500  artik_ssl_config *ssl);
517  artik_error (*update_device_token)(const char *access_token,
518  const char *device_id,
519  char **response,
520  artik_ssl_config *ssl);
536  artik_error (*update_device_token_async)(const char *access_token,
537  const char *device_id,
538  artik_cloud_callback callback,
539  void *user_data,
540  artik_ssl_config *ssl);
556  artik_error (*delete_device_token)(const char *access_token,
557  const char *device_id,
558  char **response,
559  artik_ssl_config *ssl);
575  artik_error (*delete_device_token_async)(const char *access_token,
576  const char *device_id,
577  artik_cloud_callback callback,
578  void *user_data,
579  artik_ssl_config *ssl);
595  artik_error (*delete_device)(const char *access_token,
596  const char *device_id,
597  char **response,
598  artik_ssl_config *ssl);
613  artik_error (*delete_device_async)(const char *access_token,
614  const char *device_id,
615  artik_cloud_callback callback,
616  void *user_data,
617  artik_ssl_config *ssl);
634  artik_error (*get_device_properties)(const char *access_token,
635  const char *device_id,
636  bool timestamp,
637  char **response,
638  artik_ssl_config *ssl);
654  artik_error (*get_device_properties_async)(
655  const char *access_token,
656  const char *device_id,
657  bool timestamp,
658  artik_cloud_callback callback,
659  void *user_data,
660  artik_ssl_config *ssl);
677  artik_error (*set_device_server_properties)(const char *access_token,
678  const char *device_id,
679  const char *data,
680  char **response,
681  artik_ssl_config *ssl);
697  artik_error (*set_device_server_properties_async)(const char *access_token,
698  const char *device_id,
699  const char *data,
700  artik_cloud_callback callback,
701  void *user_data,
702  artik_ssl_config *ssl);
722  artik_error (*sdr_start_registration)(
724  const char *device_type_id,
725  const char *vendor_id,
726  char **response);
741  artik_error (*sdr_start_registration_async)(
743  const char *device_type_id,
744  const char *vendor_id,
745  artik_cloud_callback callback,
746  void *user_data);
762  artik_error (*sdr_registration_status)(
764  const char *reg_id,
765  char **response);
779  artik_error (*sdr_registration_status_async)(
781  const char *reg_id,
782  artik_cloud_callback callback,
783  void *user_data);
799  artik_error (*sdr_complete_registration)(
801  const char *reg_id,
802  const char *reg_nonce,
803  char **response);
819  artik_error (*sdr_complete_registration_async)(
821  const char *reg_id,
822  const char *reg_nonce,
823  artik_cloud_callback callback,
824  void *user_data);
839  artik_error (*websocket_open_stream)(artik_websocket_handle *handle,
840  const char *access_token,
841  const char *device_id,
842  artik_ssl_config *ssl);
853  artik_error (*websocket_send_message)(artik_websocket_handle
854  handle, char *message);
867  artik_error (*websocket_set_receive_callback)(
868  artik_websocket_handle handle,
869  artik_websocket_callback callback,
870  void *user_data
871  );
872 
885  artik_error (*websocket_set_connection_callback)(
886  artik_websocket_handle handle,
887  artik_websocket_callback callback,
888  void *user_data
889  );
890 
898  artik_error (*websocket_close_stream)(artik_websocket_handle handle);
900 
901 extern const artik_cloud_module cloud_module;
902 
903 #ifdef __cplusplus
904 }
905 #endif
906 #endif /* INCLUDE_ARTIK_CLOUD_H_ */
void(* artik_cloud_callback)(artik_error result, char *response, void *user_data)
Response callback prototype.
Definition: artik_cloud.h:65
void * artik_websocket_handle
WEBSOCKET handle type.
Custom types.
artik_security_certificate_id
Certificate identifier.
int artik_error
Error type.
Definition: artik_error.h:35
void(* artik_websocket_callback)(void *user_data, void *result)
Websocket callback type.
WEBSOCKET module definition.
Cloud module operations.
Definition: artik_cloud.h:75
HTTP module definition.
Error codes.
SSL configuration structure.
Definition: artik_ssl.h:106
Last updated on: