12#ifndef ANJ_COAP_DOWNLOADER_H
13# define ANJ_COAP_DOWNLOADER_H
19# define ANJ_INTERNAL_INCLUDE_EXCHANGE
20# include <anj_internal/exchange.h>
21# undef ANJ_INTERNAL_INCLUDE_EXCHANGE
27# ifdef ANJ_WITH_COAP_DOWNLOADER
35# define ANJ_COAP_DOWNLOADER_ERR_INVALID_URI -1
45# define ANJ_COAP_DOWNLOADER_ERR_IN_PROGRESS -2
51# define ANJ_COAP_DOWNLOADER_ERR_INVALID_CONFIGURATION -3
57# define ANJ_COAP_DOWNLOADER_ERR_TERMINATED -4
65# define ANJ_COAP_DOWNLOADER_ERR_NETWORK -5
71# define ANJ_COAP_DOWNLOADER_ERR_INVALID_RESPONSE -6
77# define ANJ_COAP_DOWNLOADER_ERR_TIMEOUT -7
86# define ANJ_COAP_DOWNLOADER_ERR_INTERNAL -8
94# define ANJ_COAP_DOWNLOADER_ERR_ETAG_MISMATCH -9
105 ANJ_COAP_DOWNLOADER_STATUS_INITIAL,
110 ANJ_COAP_DOWNLOADER_STATUS_STARTING,
116 ANJ_COAP_DOWNLOADER_STATUS_DOWNLOADING,
121 ANJ_COAP_DOWNLOADER_STATUS_FINISHING,
126 ANJ_COAP_DOWNLOADER_STATUS_FINISHED,
134 ANJ_COAP_DOWNLOADER_STATUS_FAILED,
135} anj_coap_downloader_status_t;
155anj_coap_downloader_event_callback_t(
void *arg,
156 anj_coap_downloader_t *coap_downloader,
157 anj_coap_downloader_status_t conn_status,
165typedef struct anjay_coap_downloader_configuration_struct {
172 anj_coap_downloader_event_callback_t *event_cb;
190} anj_coap_downloader_configuration_t;
202int anj_coap_downloader_init(anj_coap_downloader_t *coap_downloader,
203 const anj_coap_downloader_configuration_t *config);
217void anj_coap_downloader_step(anj_coap_downloader_t *coap_downloader);
236int anj_coap_downloader_start(anj_coap_downloader_t *coap_downloader,
261void anj_coap_downloader_terminate(anj_coap_downloader_t *coap_downloader);
275int anj_coap_downloader_get_error(anj_coap_downloader_t *coap_downloader);
277# define ANJ_INTERNAL_INCLUDE_COAP_DOWNLOADER
278# include <anj_internal/coap_downloader.h>
279# undef ANJ_INTERNAL_INCLUDE_COAP_DOWNLOADER
Definition anj_net_api.h:378