/* * 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) { }