idigi_callback_status_t app_idigi_callback(idigi_class_t const class_id, idigi_request_t const request_id, void const * const request_data, size_t const request_length, void * response_data, size_t * const response_length) { idigi_callback_status_t status = idigi_callback_continue; switch (class_id) { case idigi_class_config: status = app_config_handler(request_id.config_request, request_data, request_length, response_data, response_length); break; case idigi_class_operating_system: status = app_os_handler(request_id.os_request, request_data, request_length, response_data, response_length); break; case idigi_class_network: status = app_network_handler(request_id.network_request, request_data, request_length, response_data, response_length); break; case idigi_class_data_service: status = app_data_service_handler(request_id.data_service_request, request_data, request_length, response_data, response_length); break; default: /* not supported */ break; } return status; }
/* iDigi Connector callback */ idigi_callback_status_t ArduinoiDigiInterfaceClass::appCallback( idigi_class_t const class_id, idigi_request_t const request_id, void * const request_data, size_t const request_length, void * response_data, size_t * const response_length) { idigi_callback_status_t status = idigi_callback_continue; //AR_DEBUG_PRINTF("iDigi.appCallback(): %d %d\n", class_id, request_id); switch (class_id) { case idigi_class_config: if (request_id.config_request == idigi_config_ip_addr) { // HACK: from testing we know this callback is called if we are connected: iDigi.connected = true; } status = app_config_handler(request_id.config_request, request_data, request_length, response_data, response_length); break; case idigi_class_operating_system: status = app_os_handler(request_id.os_request, request_data, request_length, response_data, response_length); break; case idigi_class_network: status = app_network_handler(request_id.network_request, request_data, request_length, response_data, response_length); break; case idigi_class_data_service: status = dataService.appReqHandler(request_id.data_service_request, request_data, request_length, response_data, response_length); default: /* not supported */ break; } return status; }