summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Aillet <jonathan.aillet@iot.bzh>2018-05-23 21:14:08 +0200
committerJonathan Aillet <jonathan.aillet@iot.bzh>2018-10-08 15:51:00 +0200
commite21766d185885a985ddf5b2f312171b3f81eb94e (patch)
tree213927a632f136680516ebd6bd81a43b7ae859d3
parentd43607bd8665d5710e5258cf237c1f79ec94b7d9 (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.c2
-rw-r--r--4a-hal/4a-hal-controllers/4a-hal-controllers-cb.c38
-rw-r--r--4a-hal/4a-hal-controllers/4a-hal-controllers-cb.h28
-rw-r--r--4a-hal/CMakeLists.txt1
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