Golioth Firmware SDK
|
Typedefs | |
typedef enum golioth_rpc_status(* | golioth_rpc_cb_fn) (zcbor_state_t *request_params_array, zcbor_state_t *response_detail_map, void *callback_arg) |
Enumerations | |
enum | golioth_rpc_status { GOLIOTH_RPC_OK = 0 , GOLIOTH_RPC_CANCELED = 1 , GOLIOTH_RPC_UNKNOWN = 2 , GOLIOTH_RPC_INVALID_ARGUMENT = 3 , GOLIOTH_RPC_DEADLINE_EXCEEDED = 4 , GOLIOTH_RPC_NOT_FOUND = 5 , GOLIOTH_RPC_ALREADYEXISTS = 6 , GOLIOTH_RPC_PERMISSION_DENIED = 7 , GOLIOTH_RPC_RESOURCE_EXHAUSTED = 8 , GOLIOTH_RPC_FAILED_PRECONDITION = 9 , GOLIOTH_RPC_ABORTED = 10 , GOLIOTH_RPC_OUT_OF_RANGE = 11 , GOLIOTH_RPC_UNIMPLEMENTED = 12 , GOLIOTH_RPC_INTERNAL = 13 , GOLIOTH_RPC_UNAVAILABLE = 14 , GOLIOTH_RPC_DATA_LOSS = 15 , GOLIOTH_RPC_UNAUTHENTICATED = 16 } |
Enumeration of RPC status codes, sent in the RPC response. More... | |
Functions | |
struct golioth_rpc * | golioth_rpc_init (struct golioth_client *client) |
enum golioth_status | golioth_rpc_deinit (struct golioth_rpc *grpc) |
enum golioth_status | golioth_rpc_register (struct golioth_rpc *grpc, const char *method, golioth_rpc_cb_fn callback, void *callback_arg) |
Functions for interacting with the Golioth Remote Procedure Call service
typedef enum golioth_rpc_status(* golioth_rpc_cb_fn) (zcbor_state_t *request_params_array, zcbor_state_t *response_detail_map, void *callback_arg) |
Callback function type for remote procedure call
Example of a callback function that implements the "multiply" method, which takes two float parameters, and multiplies them:
request_params_array | zcbor decode state, inside of the RPC request params array |
response_detail_map | zcbor encode state, inside of the RPC response detail map |
callback_arg | callback_arg, unchanged from callback_arg of golioth_rpc_register |
GOLIOTH_RPC_OK | method was called successfully |
GOLIOTH_RPC_INVALID_ARGUMENT | params were invalid |
enum golioth_rpc_status |
Enumeration of RPC status codes, sent in the RPC response.
enum golioth_status golioth_rpc_deinit | ( | struct golioth_rpc * | grpc | ) |
Deinitialize the RPC service
Cancel all registered RPCs and free the Golioth RPC service handle.
grpc | Golioth RPC service handle. |
struct golioth_rpc * golioth_rpc_init | ( | struct golioth_client * | client | ) |
Initialize the RPC service
client | Golioth client handle |
enum golioth_status golioth_rpc_register | ( | struct golioth_rpc * | grpc, |
const char * | method, | ||
golioth_rpc_cb_fn | callback, | ||
void * | callback_arg ) |
Register an RPC method
grpc | Golioth RPC service handle |
method | The name of the method to register |
callback | The callback to be invoked, when an RPC request with matching method name is received by the client. |
callback_arg | User data forwarded to callback when invoked. Optional, can be NULL. |