aboutsummaryrefslogtreecommitdiffstats
path: root/src/hs-periphery.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hs-periphery.cpp')
-rw-r--r--src/hs-periphery.cpp165
1 files changed, 165 insertions, 0 deletions
diff --git a/src/hs-periphery.cpp b/src/hs-periphery.cpp
new file mode 100644
index 0000000..a629ead
--- /dev/null
+++ b/src/hs-periphery.cpp
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2019 TOYOTA MOTOR CORPORATION
+ *
+ * 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 "hs-periphery.h"
+#include "hs-proxy.h"
+#include "hmi-debug.h"
+#include "hs-clientmanager.h"
+
+static const char _restriction_on[] = "RestrictionOn";
+static const char _restriction_off[] = "RestrictionOff";
+
+/* -------------------------------------HS_PeripheryManager------------------------------------------ */
+
+HS_PeripheryManager* HS_PeripheryManager::me = nullptr;
+
+/**
+ * HS_PeripheryManager init function
+ *
+ * #### Parameters
+ * - Nothing
+ *
+ * #### Return
+ * init result
+ *
+ */
+int HS_PeripheryManager::init(afb_api_t api)
+{
+ return m_restriction.init(api);
+}
+
+/**
+ * get instance
+ *
+ * #### Parameters
+ * - Nothing
+ *
+ * #### Return
+ * HS_PeripheryManager instance pointer
+ *
+ */
+HS_PeripheryManager* HS_PeripheryManager::instance(void)
+{
+ if(me == nullptr)
+ me = new HS_PeripheryManager();
+ return me;
+}
+
+/**
+ * event function
+ *
+ * #### Parameters
+ * - api : the api serving the request
+ * - event : event name
+ * - object : event json object
+ *
+ * #### Return
+ * None
+ *
+ */
+void HS_PeripheryManager::onEvent(afb_api_t api, const char *event, struct json_object *object)
+{
+ m_restriction.onEvent(api, event, object);
+}
+
+/* -------------------------------------HS_Restriction------------------------------------------ */
+
+/**
+ * HS_Restriction init function
+ *
+ * #### Parameters
+ * - Nothing
+ *
+ * #### Return
+ * init result
+ *
+ */
+int HS_Restriction::init(afb_api_t api)
+{
+ HS_WmProxy wm_proxy;
+ // TBD
+ wm_proxy.subscribe(api, HS_WmProxy::Event_ScreenUpdated);
+ return 0;
+}
+
+/**
+ * event function
+ *
+ * #### Parameters
+ * - api : the api serving the request
+ * - event : event name
+ * - object : event json object
+ *
+ * #### Return
+ * None
+ *
+ */
+void HS_Restriction::onEvent(afb_api_t api, const char *event, struct json_object *object)
+{
+ if(!isConcernedEvent(event))
+ return;
+
+ std::string ev = event;
+ std::size_t pos = ev.find("/");
+ if(pos != std::string::npos) {
+ ev = ev.substr(pos + 1);
+ }
+ else {
+ HMI_ERROR("homescreen-service","received event is error.");
+ return;
+ }
+
+ if(ev == _restriction_on) {
+ restrictionOn(api, object);
+ }
+ else if(ev == _restriction_off) {
+ restrictionOff(api, object);
+ }
+ else {
+ }
+}
+
+/**
+ * restriction on function
+ *
+ * #### Parameters
+ * - api : the api serving the request
+ * - object : event json object
+ *
+ * #### Return
+ * None
+ *
+ */
+void HS_Restriction::restrictionOn(afb_api_t api, struct json_object *object)
+{
+
+}
+
+/**
+ * restriction off function
+ *
+ * #### Parameters
+ * - api : the api serving the request
+ * - object : event json object
+ *
+ * #### Return
+ * None
+ *
+ */
+void HS_Restriction::restrictionOff(afb_api_t api, struct json_object *object)
+{
+
+} \ No newline at end of file