X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fhs-periphery.cpp;fp=src%2Fhs-periphery.cpp;h=a629eadcb0c9fb790fa06187dd0c5153d27ee011;hb=0a47c007af262ac91bfa219a7b848aa0046005b3;hp=0000000000000000000000000000000000000000;hpb=83cc1aeb7dcb0ce030a24f9aa079bb15bc2ef60a;p=apps%2Fagl-service-homescreen.git 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