diff options
author | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2018-05-23 21:14:08 +0200 |
---|---|---|
committer | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2018-10-08 15:51:00 +0200 |
commit | e21766d185885a985ddf5b2f312171b3f81eb94e (patch) | |
tree | 213927a632f136680516ebd6bd81a43b7ae859d3 | |
parent | d43607bd8665d5710e5258cf237c1f79ec94b7d9 (diff) |
Add a 'List' verb to each hal controller api
Add a 'List' verb to each hal controller api which will list verbs
available for this api.
The callback of the verb is not implemented yet.
Change-Id: Ibc44ef8673267b0b952b32fb256214452aa3c000
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
-rw-r--r-- | 4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c | 2 | ||||
-rw-r--r-- | 4a-hal/4a-hal-controllers/4a-hal-controllers-cb.c | 38 | ||||
-rw-r--r-- | 4a-hal/4a-hal-controllers/4a-hal-controllers-cb.h | 28 | ||||
-rw-r--r-- | 4a-hal/CMakeLists.txt | 1 |
4 files changed, 69 insertions, 0 deletions
diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c b/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c index 834d717..8bac074 100644 --- a/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c +++ b/4a-hal/4a-hal-controllers/4a-hal-controllers-api-loader.c @@ -30,6 +30,7 @@ #include "../4a-hal-manager/4a-hal-manager-cb.h" #include "4a-hal-controllers-api-loader.h" +#include "4a-hal-controllers-cb.h" // Default api to print log when apihandle not available afb_dynapi *AFB_default; @@ -57,6 +58,7 @@ static struct HalUtlApiVerb CtlHalDynApiStaticVerbs[] = { /* VERB'S NAME FUNCTION TO CALL SHORT DESCRIPTION */ { .verb = "ping", .callback = HalMgrPing, .info = "Ping test for DynApi"}, + { .verb = "list", .callback = HalCtlsListVerbs, .info = "List available verbs for this api"}, { .verb = NULL } // Marker for end of the array }; diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.c b/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.c new file mode 100644 index 0000000..bc8339c --- /dev/null +++ b/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.c @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2016 "IoT.bzh" + * Author Jonathan Aillet <jonathan.aillet@iot.bzh> + * + * 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. + */ + +#define _GNU_SOURCE + +#include <stdio.h> +#include <string.h> +#include <stdbool.h> + +#include <wrap-json.h> + +#include "4a-hal-controllers-cb.h" + +/******************************************************************************* + * HAL Manager verbs functions * + ******************************************************************************/ + +// TODO JAI : to implement +void HalCtlsListVerbs(afb_request *request) +{ + AFB_REQUEST_WARNING(request, "JAI :%s not implemented yet", __func__); + + afb_request_success(request, json_object_new_boolean(false), NULL); +}
\ No newline at end of file diff --git a/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.h b/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.h new file mode 100644 index 0000000..7bd6434 --- /dev/null +++ b/4a-hal/4a-hal-controllers/4a-hal-controllers-cb.h @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2016 "IoT.bzh" + * Author Jonathan Aillet <jonathan.aillet@iot.bzh> + * + * 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_CTLS_CB_INCLUDE_ +#define _HAL_CTLS_CB_INCLUDE_ + +#include <stdio.h> + +#define AFB_BINDING_VERSION dyn +#include <afb/afb-binding.h> + +void HalCtlsListVerbs(afb_request *request); + +#endif /* _HALMGR_CB_INCLUDE_ */
\ No newline at end of file diff --git a/4a-hal/CMakeLists.txt b/4a-hal/CMakeLists.txt index d7d536b..b963bc0 100644 --- a/4a-hal/CMakeLists.txt +++ b/4a-hal/CMakeLists.txt @@ -30,6 +30,7 @@ PROJECT_TARGET_ADD(4a-hal) ${TARGET_NAME}-manager/${TARGET_NAME}-manager-cb.c ${TARGET_NAME}-manager/${TARGET_NAME}-manager-events.c ${TARGET_NAME}-controllers/${TARGET_NAME}-controllers-api-loader.c + ${TARGET_NAME}-controllers/${TARGET_NAME}-controllers-cb.c ) # Binder exposes a unique public entry point |