aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-10-19 12:17:17 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-10-19 12:17:58 +0200
commitcfe2298c30237186eb71c52f4105eb8534560e44 (patch)
treef2f5600a7731ecb79badf7882f7478dcd57a3f72
parent03fc96a9671d5739264f2208bfe2475641502164 (diff)
Make write permission use the same name everywhere
Confusion made with permission generated and legacy one which weren't the same. Removing unused source file Change-Id: I74f70b45358c052049ff84b872c0381915e27344 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--docs/3-Usage.md2
-rw-r--r--low-can-binding/binding/low-can-apidef.h4
-rw-r--r--low-can-binding/binding/low-can-apidef.json2
-rw-r--r--low-can-binding/binding/low-can-hat.cpp97
4 files changed, 4 insertions, 101 deletions
diff --git a/docs/3-Usage.md b/docs/3-Usage.md
index 317e0724..479dd51e 100644
--- a/docs/3-Usage.md
+++ b/docs/3-Usage.md
@@ -315,7 +315,7 @@ low-can write { "signal_name": "engine.speed", "value": 1256}
```
To be able to use write capability, you need to add the permission
- ```urn:AGL:permission:low-can:platform:write``` to your package configuration
+ ```urn:AGL:permission::platform:can:write``` to your package configuration
file that need to write on CAN bus through **low-can** api.
Then in order to write on bus, your app needs to call verb **auth**
diff --git a/low-can-binding/binding/low-can-apidef.h b/low-can-binding/binding/low-can-apidef.h
index 6f6ec926..1182b4fe 100644
--- a/low-can-binding/binding/low-can-apidef.h
+++ b/low-can-binding/binding/low-can-apidef.h
@@ -57,10 +57,10 @@ static const char _afb_description_v2_low_can[] =
#include <afb/afb-binding>
#endif
/*static const struct afb_auth _afb_auths_v2_low_can[] = {
- { .type = afb_auth_Permission, .text = "urn:AGL:permission:low-can:platform:write", .next = NULL}
+ { .type = afb_auth_Permission, .text = "urn:AGL:permission:*:*platform:can:write ", .next = NULL}
};*/
-const struct afb_auth _afb_auths_v2_low_can[] = {afb::auth_permission("urn:AGL:permission:low-can:platform:write")};
+const struct afb_auth _afb_auths_v2_low_can[] = {afb::auth_permission("urn:AGL:permission:*:*platform:can:write ")};
void subscribe(struct afb_req req);
void unsubscribe(struct afb_req req);
diff --git a/low-can-binding/binding/low-can-apidef.json b/low-can-binding/binding/low-can-apidef.json
index 623b4c71..2c7de4a2 100644
--- a/low-can-binding/binding/low-can-apidef.json
+++ b/low-can-binding/binding/low-can-apidef.json
@@ -85,7 +85,7 @@
"permission": "urn:AGL:permission:low-can:public:monitor"
},
"write": {
- "permission": "urn:AGL:permission:low-can:platform:write"
+ "permission": "urn:AGL:permission::platform:can:write "
}
},
"responses": {
diff --git a/low-can-binding/binding/low-can-hat.cpp b/low-can-binding/binding/low-can-hat.cpp
deleted file mode 100644
index 2b5baa36..00000000
--- a/low-can-binding/binding/low-can-hat.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2015, 2016 "IoT.bzh"
- * Author "Romain Forlot" <romain.forlot@iot.bzh>
- * Author "Loic Collignon" <loic.collignon@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.
- */
-
-#include "low-can-hat.hpp"
-#include "low-can-subscription.hpp"
-
-#include <map>
-#include <queue>
-#include <mutex>
-#include <vector>
-#include <json-c/json.h>
-
-#include "application.hpp"
-#include "../can/can-bus.hpp"
-
-extern "C"
-{
- static int initv2();
-
- static constexpr struct afb_auth loa_afb_auth(const unsigned loa)
- {
- struct afb_auth a = {};
- a.type = afb_auth_LOA;
- a.loa = loa;
- return a;
- }
-
- static constexpr struct afb_auth perm_afb_auth(const char* permission)
- {
- struct afb_auth a = {};
- a.type = afb_auth_Permission;
- a.text = permission;
- return a;
- }
-
- static const struct afb_auth afb_auth_loa_1 = { loa_afb_auth(1) };
- static const struct afb_auth afb_auth_perm = { perm_afb_auth("urn:AGL:permission::platform:can:write") };
-
- static const struct afb_verb_v2 verbs[]=
- {
- { .verb= "auth", .callback= auth, .auth= &afb_auth_perm, .info="Authentification against service to get the required level of confidence", .session= AFB_SESSION_NONE},
- { .verb= "subscribe", .callback= subscribe, .auth= NULL, .info="Let subscribe to signals", .session= AFB_SESSION_NONE},
- { .verb= "unsubscribe", .callback= unsubscribe, .auth= NULL, .info="Let unsubscribe signals", .session= AFB_SESSION_NONE},
- { .verb= "write", .callback= write, .auth= &afb_auth_loa_1, .info="Write a single CAN message on a CAN bus", .session= AFB_SESSION_LOA_1},
- { .verb= "get", .callback= get, .auth=NULL, .info="get a current value of CAN message", .session= AFB_SESSION_NONE},
- { .verb= "list",.callback= list, .auth=NULL, .info="get a supported CAN message list", .session= AFB_SESSION_NONE},
- { .verb= NULL, .callback= NULL, .auth= NULL, .info=NULL, .session= 0}
- };
-
- const struct afb_binding_v2 afbBindingV2 {
- .api = "low-can",
- .specification = NULL,
- .info = "API to Low level CAN service, read and decode the bus",
- .verbs = verbs,
- .preinit = NULL,
- .init = initv2,
- .onevent = NULL,
- .noconcurrency = 0
- };
-
- /// @brief Initialize the binding.
- ///
- /// @param[in] service Structure which represent the Application Framework Binder.
- ///
- /// @return Exit code, zero if success.
- static int initv2()
- {
- can_bus_t& can_bus_manager = application_t::instance().get_can_bus_manager();
-
- can_bus_manager.set_can_devices();
- can_bus_manager.start_threads();
-
- /// Initialize Diagnostic manager that will handle obd2 requests.
- /// We pass by default the first CAN bus device to its Initialization.
- /// TODO: be able to choose the CAN bus device that will be use as Diagnostic bus.
- if(application_t::instance().get_diagnostic_manager().initialize())
- return 0;
-
- AFB_ERROR("There was something wrong with CAN device Initialization.");
- return 1;
- }
-};