/* * 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. */ #ifndef HOMESCREEN_PROXY_H #define HOMESCREEN_PROXY_H #include #include #include #include "hs-helper.h" typedef void (*api_cb_func)(struct json_object *obj, const char *error, const char *info); class HS_AfmMainProxy { public: // synchronous call, call result in object int runnables(afb_api_t api, struct json_object **object); int detail(afb_api_t api, const std::string &id, struct json_object **object); // asynchronous call, reply in callback function void start(afb_api_t api, const std::string &id); }; class HS_WmProxy { public: enum EventType { Event_Val_Min = 0, Event_Active = Event_Val_Min, Event_Inactive, Event_Visible, Event_Invisible, Event_SyncDraw, Event_FlushDraw, Event_ScreenUpdated, Event_Handshake, Event_HeadlampOff, Event_HeadlampOn, Event_ParkingBrakeOff, Event_ParkingBrakeOn, Event_LightstatusBrakeOff, Event_LightstatusBrakeOn, Event_CarStop, Event_CarRun, Event_Error, Event_Val_Max = Event_Error, }; // asynchronous call, reply in callback function void subscribe(afb_api_t api, EventType event, api_cb_func f = nullptr); }; #endif // HOMESCREEN_PROXY_H