From eb4967fcc8278bcd994eb2ce16bf0042b4d8598c Mon Sep 17 00:00:00 2001 From: Jonathan Aillet Date: Sun, 3 Jun 2018 18:58:56 +0200 Subject: Handle app fw call errors in a dedicated function Two functions has been added in a new file in 4a-hal-utilities : - A function that handle application framework call errors by returning a specific error. - A function that handle application framework call errors from a request. Change-Id: I657773586111adc609cbbaead7db589a82e133b0 Signed-off-by: Jonathan Aillet --- .../4a-hal-utilities-appfw-responses-handler.h | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 4a-hal/4a-hal-utilities/4a-hal-utilities-appfw-responses-handler.h (limited to '4a-hal/4a-hal-utilities/4a-hal-utilities-appfw-responses-handler.h') diff --git a/4a-hal/4a-hal-utilities/4a-hal-utilities-appfw-responses-handler.h b/4a-hal/4a-hal-utilities/4a-hal-utilities-appfw-responses-handler.h new file mode 100644 index 0000000..54cdcc2 --- /dev/null +++ b/4a-hal/4a-hal-utilities/4a-hal-utilities-appfw-responses-handler.h @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2018 "IoT.bzh" + * Author Jonathan Aillet + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef _HAL_UTILITIES_APPFW_RESP_HANDLER_INCLUDE_ +#define _HAL_UTILITIES_APPFW_RESP_HANDLER_INCLUDE_ + +#include + +#include + +#define AFB_BINDING_VERSION dyn +#include + +// Enum for the type of error detected +enum CallError { + CALL_ERROR_INVALID_ARGS=-1, + CALL_ERROR_REQUEST_UNAVAILABLE=-2, + CALL_ERROR_REQUEST_NOT_VALID=-3, + CALL_ERROR_REQUEST_STATUS_UNAVAILABLE=-4, + CALL_ERROR_REQUEST_STATUS_NOT_VALID=-5, + CALL_ERROR_API_UNAVAILABLE=-6, + CALL_ERROR_VERB_UNAVAILABLE=-7, + CALL_ERROR_REQUEST_INFO_UNAVAILABLE=-8, + CALL_ERROR_REQUEST_INFO_NOT_VALID=-9, + CALL_ERROR_RETURNED=-10, +}; + +// Handle application framework response function +enum CallError HalUtlHandleAppFwCallError(afb_dynapi *apiHandle, char *apiCalled, char *verbCalled, json_object *callReturnJ, char **returnedStatus, char **returnedInfo); +void HalUtlHandleAppFwCallErrorInRequest(afb_request *request, char *apiCalled, char *verbCalled, json_object *callReturnJ, char *errorStatusToSend); + +#endif /* _HAL_UTILITIES_APPFW_RESP_HANDLER_INCLUDE_ */ \ No newline at end of file -- cgit 1.2.3-korg