IoTivity-Lite
oc_client_state.h File Reference
#include "messaging/coap/constants.h"
#include "oc_endpoint.h"
#include "oc_ri.h"
#include <stdbool.h>
#include "oc_blockwise.h"

Data Structures

struct  oc_client_cb_t
 client callback information More...
 
struct  oc_client_handler_t
 client handler information More...
 
struct  oc_client_response_t
 Client response information. More...
 

Typedefs

typedef struct oc_client_cb_t oc_client_cb_t
 client callback information More...
 
typedef struct oc_client_handler_t oc_client_handler_t
 client handler information More...
 
typedef oc_discovery_flags_t(* oc_discovery_all_handler_t) (const char *, const char *, oc_string_array_t, oc_interface_mask_t, oc_endpoint_t *, oc_resource_properties_t, bool, void *)
 discovery_all handler More...
 
typedef oc_discovery_flags_t(* oc_discovery_handler_t) (const char *, const char *, oc_string_array_t, oc_interface_mask_t, oc_endpoint_t *, oc_resource_properties_t, void *)
 discovery handler More...
 
typedef void(* oc_response_handler_t) (oc_client_response_t *)
 client response handler More...
 

Enumerations

enum  oc_discovery_flags_t { OC_STOP_DISCOVERY = 0, OC_CONTINUE_DISCOVERY }
 discovery flags More...
 
enum  oc_qos_t { HIGH_QOS = 0, LOW_QOS }
 Quality of Service. More...
 

Functions

oc_client_cb_toc_ri_alloc_client_cb (const char *uri, oc_endpoint_t *endpoint, oc_method_t method, const char *query, oc_client_handler_t handler, oc_qos_t qos, void *user_data)
 allocate the client callback information More...
 
oc_client_cb_toc_ri_find_client_cb_by_mid (uint16_t mid)
 find the client callback info by message id (mid) More...
 
oc_client_cb_toc_ri_find_client_cb_by_token (uint8_t *token, uint8_t token_len)
 find the client callback info by token More...
 
void oc_ri_free_client_cbs_by_endpoint (oc_endpoint_t *endpoint)
 free the client callback informatin by endpoint More...
 
void oc_ri_free_client_cbs_by_mid (uint16_t mid)
 free the client callback infomation by message id (mid) More...
 
oc_client_cb_toc_ri_get_client_cb (const char *uri, oc_endpoint_t *endpoint, oc_method_t method)
 retrieve the client callback information More...
 
bool oc_ri_invoke_client_cb (void *response, oc_blockwise_state_t **response_state, oc_client_cb_t *cb, oc_endpoint_t *endpoint)
 invoke the Client callback when a response is received More...
 
bool oc_ri_is_client_cb_valid (oc_client_cb_t *client_cb)
 is the client callback information valid More...
 
oc_discovery_flags_t oc_ri_process_discovery_payload (uint8_t *payload, int len, oc_client_handler_t handler, oc_endpoint_t *endpoint, void *user_data)
 handle the discovery payload (e.g. More...
 

Typedef Documentation

◆ oc_client_cb_t

client callback information

◆ oc_client_handler_t

client handler information

◆ oc_discovery_all_handler_t

typedef oc_discovery_flags_t(* oc_discovery_all_handler_t) (const char *, const char *, oc_string_array_t, oc_interface_mask_t, oc_endpoint_t *, oc_resource_properties_t, bool, void *)

discovery_all handler

◆ oc_discovery_handler_t

typedef oc_discovery_flags_t(* oc_discovery_handler_t) (const char *, const char *, oc_string_array_t, oc_interface_mask_t, oc_endpoint_t *, oc_resource_properties_t, void *)

discovery handler

◆ oc_response_handler_t

typedef void(* oc_response_handler_t) (oc_client_response_t *)

client response handler

Enumeration Type Documentation

◆ oc_discovery_flags_t

discovery flags

Enumerator
OC_STOP_DISCOVERY 

stop discovering (also no more data)

OC_CONTINUE_DISCOVERY 

continue discovering (more data)

◆ oc_qos_t

enum oc_qos_t

Quality of Service.

Enumerator
HIGH_QOS 

confirmable messages

LOW_QOS 

non-confirmable messages

Function Documentation

◆ oc_ri_alloc_client_cb()

oc_client_cb_t* oc_ri_alloc_client_cb ( const char *  uri,
oc_endpoint_t endpoint,
oc_method_t  method,
const char *  query,
oc_client_handler_t  handler,
oc_qos_t  qos,
void *  user_data 
)

allocate the client callback information

Parameters
urithe uri to be called
endpointthe endpoint of the device
methodmethod to be used
querythe query params to be used
handlerthe callback when data arrives
qosquality of service level
user_datauser data to be provided with the invocation of the callback
Returns
oc_client_cb_t* the client callback info

◆ oc_ri_find_client_cb_by_mid()

oc_client_cb_t* oc_ri_find_client_cb_by_mid ( uint16_t  mid)

find the client callback info by message id (mid)

Parameters
midthe message id
Returns
oc_client_cb_t* the client callback info

◆ oc_ri_find_client_cb_by_token()

oc_client_cb_t* oc_ri_find_client_cb_by_token ( uint8_t *  token,
uint8_t  token_len 
)

find the client callback info by token

Parameters
tokenthe token
token_lenthe token lenght
Returns
oc_client_cb_t* the client callback info

◆ oc_ri_free_client_cbs_by_endpoint()

void oc_ri_free_client_cbs_by_endpoint ( oc_endpoint_t endpoint)

free the client callback informatin by endpoint

Parameters
endpointthe endpoint

◆ oc_ri_free_client_cbs_by_mid()

void oc_ri_free_client_cbs_by_mid ( uint16_t  mid)

free the client callback infomation by message id (mid)

Parameters
midthe message id

◆ oc_ri_get_client_cb()

oc_client_cb_t* oc_ri_get_client_cb ( const char *  uri,
oc_endpoint_t endpoint,
oc_method_t  method 
)

retrieve the client callback information

Parameters
urithe uri for the callback
endpointthe endpoint for the callback
methodthe used method
Returns
oc_client_cb_t* the client callback info

◆ oc_ri_invoke_client_cb()

bool oc_ri_invoke_client_cb ( void *  response,
oc_blockwise_state_t **  response_state,
oc_client_cb_t cb,
oc_endpoint_t endpoint 
)

invoke the Client callback when a response is received

Parameters
responsethe response
response_statethe state of the blockwise transfer
cbthe callback
endpointthe endpoint
Returns
true
false

◆ oc_ri_is_client_cb_valid()

bool oc_ri_is_client_cb_valid ( oc_client_cb_t client_cb)

is the client callback information valid

Parameters
client_cbthe client callback information
Returns
true is correct
false is incomplete

◆ oc_ri_process_discovery_payload()

oc_discovery_flags_t oc_ri_process_discovery_payload ( uint8_t *  payload,
int  len,
oc_client_handler_t  handler,
oc_endpoint_t endpoint,
void *  user_data 
)

handle the discovery payload (e.g.

parse the oic/res response and do the callbacks)

Parameters
payloadthe recieved discovery response
lenlenght of the payload
handlerhandler of the discovery
endpointendpoint
user_datathe user data to be supplied to the handler
Returns
oc_discovery_flags_t the discovery flags (e.g. more to come)