aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--hvac-hybrid-qml-binding.c15
2 files changed, 12 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 21ed9b6..f0b4776 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -82,7 +82,7 @@ add_custom_command(
COMMAND cp -r ${CMAKE_CURRENT_SOURCE_DIR}/qml/ package/
COMMAND cp ${PROJECT_NAME}.so package/${PROJECT_LIBDIR}
COMMAND wgtpkg-pack -f -o ${PROJECT_NAME}.wgt package
- # COMMAND rm -rf package
+ COMMAND rm -rf package
)
add_custom_target(widget ALL DEPENDS ${PROJECT_NAME}.wgt)
diff --git a/hvac-hybrid-qml-binding.c b/hvac-hybrid-qml-binding.c
index 0ff7c22..e31af1c 100644
--- a/hvac-hybrid-qml-binding.c
+++ b/hvac-hybrid-qml-binding.c
@@ -27,6 +27,7 @@
#include <json-c/json.h>
#include <afb/afb-binding.h>
+#include <afb/afb-service-itf.h>
#define CAN_DEV "can0"
@@ -61,6 +62,8 @@ struct can_handler {
struct sockaddr_can txAddress;
};
+static struct can_handler can_handler;
+
/*****************************************************************************************/
/*****************************************************************************************/
/** **/
@@ -288,7 +291,6 @@ static void get_all(struct afb_req request)
*/
static void set(struct afb_req request)
{
- struct can_handler ch;
const char *val;
struct json_object *query;
struct json_object_iterator iter;
@@ -319,9 +321,7 @@ static void set(struct afb_req request)
json_object_iter_next(&iter);
}
- ch = open_can_dev();
- write_can(ch);
- close_can_dev(ch);
+ write_can(can_handler);
afb_req_success(request, query, "HVAC settings updated");
}
@@ -352,3 +352,10 @@ const struct afb_binding *afbBindingV1Register (const struct afb_binding_interfa
return &binding_desc;
}
+
+int afbBindingV1ServiceInit(struct afb_service service)
+{
+ can_handler = open_can_dev();
+ return can_handler.socket >= 0 ? 0 : -1;
+}
+