adding resources firmware and 1/0/8
Dependencies: Beep C12832_lcd EthernetInterface EthernetNetIf HTTPClient LM75B MMA7660 mbed-rtos mbed nsdl_lib
Fork of LWM2M_NanoService_Ethernet by
resources/register_upd_trigger.cpp@23:cf1770966071, 2016-02-17 (annotated)
- Committer:
- pnysten
- Date:
- Wed Feb 17 08:54:58 2016 +0000
- Revision:
- 23:cf1770966071
- Parent:
- 21:978281bfb26e
New
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
pnysten | 21:978281bfb26e | 1 | #include "mbed.h" |
pnysten | 21:978281bfb26e | 2 | #include "rtos.h" |
pnysten | 21:978281bfb26e | 3 | #include "nsdl_support.h" |
pnysten | 21:978281bfb26e | 4 | #include "register_upd_trigger.h" |
pnysten | 21:978281bfb26e | 5 | |
pnysten | 21:978281bfb26e | 6 | #define REGISTER_UPD_TRIGGER_ID "1/0/8" |
pnysten | 21:978281bfb26e | 7 | |
pnysten | 21:978281bfb26e | 8 | extern char endpoint_name[16]; |
pnysten | 21:978281bfb26e | 9 | extern uint8_t ep_type[]; |
pnysten | 21:978281bfb26e | 10 | extern uint8_t lifetime_ptr[]; |
pnysten | 21:978281bfb26e | 11 | extern Serial pc; |
pnysten | 21:978281bfb26e | 12 | |
pnysten | 21:978281bfb26e | 13 | /* Only POST and PUT method allowed */ |
pnysten | 21:978281bfb26e | 14 | static uint8_t register_upd_trigger_resource_cb(sn_coap_hdr_s *received_coap_ptr, sn_nsdl_addr_s *address, sn_proto_info_s * proto) |
pnysten | 21:978281bfb26e | 15 | { |
pnysten | 21:978281bfb26e | 16 | sn_coap_hdr_s *coap_res_ptr = 0; |
pnysten | 21:978281bfb26e | 17 | |
pnysten | 21:978281bfb26e | 18 | strcpy((char*) ep_type, "mbed_lpc1768_appboard"); |
pnysten | 21:978281bfb26e | 19 | strcpy((char*) lifetime_ptr, "60"); |
pnysten | 21:978281bfb26e | 20 | pc.printf("Register Update Trigger callback\r\n"); |
pnysten | 21:978281bfb26e | 21 | |
pnysten | 21:978281bfb26e | 22 | if(received_coap_ptr->msg_code == COAP_MSG_CODE_REQUEST_POST) |
pnysten | 21:978281bfb26e | 23 | { |
pnysten | 21:978281bfb26e | 24 | coap_res_ptr = sn_coap_build_response(received_coap_ptr, COAP_MSG_CODE_RESPONSE_CHANGED); |
pnysten | 21:978281bfb26e | 25 | sn_nsdl_send_coap_message(address, coap_res_ptr); |
pnysten | 21:978281bfb26e | 26 | |
pnysten | 21:978281bfb26e | 27 | sn_nsdl_ep_parameters_s *endpoint_ptr = NULL; |
pnysten | 21:978281bfb26e | 28 | endpoint_ptr = nsdl_init_register_endpoint(endpoint_ptr, (uint8_t*)endpoint_name, ep_type, lifetime_ptr); |
pnysten | 21:978281bfb26e | 29 | |
pnysten | 21:978281bfb26e | 30 | sn_nsdl_update_registration(endpoint_ptr); |
pnysten | 21:978281bfb26e | 31 | } |
pnysten | 21:978281bfb26e | 32 | else if(received_coap_ptr->msg_code == COAP_MSG_CODE_REQUEST_PUT) |
pnysten | 21:978281bfb26e | 33 | { |
pnysten | 21:978281bfb26e | 34 | |
pnysten | 21:978281bfb26e | 35 | coap_res_ptr = sn_coap_build_response(received_coap_ptr, COAP_MSG_CODE_RESPONSE_CHANGED); |
pnysten | 21:978281bfb26e | 36 | sn_nsdl_send_coap_message(address, coap_res_ptr); |
pnysten | 21:978281bfb26e | 37 | |
pnysten | 21:978281bfb26e | 38 | sn_nsdl_ep_parameters_s *endpoint_ptr = NULL; |
pnysten | 21:978281bfb26e | 39 | endpoint_ptr = nsdl_init_register_endpoint(endpoint_ptr, (uint8_t*)endpoint_name, (uint8_t*)ep_type, (uint8_t*)lifetime_ptr); |
pnysten | 21:978281bfb26e | 40 | |
pnysten | 21:978281bfb26e | 41 | sn_nsdl_update_registration(endpoint_ptr); |
pnysten | 21:978281bfb26e | 42 | } |
pnysten | 21:978281bfb26e | 43 | |
pnysten | 21:978281bfb26e | 44 | sn_coap_parser_release_allocated_coap_msg_mem(coap_res_ptr); |
pnysten | 21:978281bfb26e | 45 | return 0; |
pnysten | 21:978281bfb26e | 46 | } |
pnysten | 21:978281bfb26e | 47 | |
pnysten | 21:978281bfb26e | 48 | int create_register_upd_trigger_resource(sn_nsdl_resource_info_s *resource_ptr) |
pnysten | 21:978281bfb26e | 49 | { |
pnysten | 21:978281bfb26e | 50 | nsdl_create_dynamic_resource(resource_ptr, strlen(REGISTER_UPD_TRIGGER_ID), (uint8_t*)REGISTER_UPD_TRIGGER_ID, 0, 0, 0, ®ister_upd_trigger_resource_cb, (SN_GRS_POST_ALLOWED | SN_GRS_PUT_ALLOWED)); |
pnysten | 21:978281bfb26e | 51 | return 0; |
pnysten | 21:978281bfb26e | 52 | } |