summaryrefslogtreecommitdiffstats
path: root/policy_manager/stm
AgeCommit message (Collapse)AuthorFilesLines
2019-10-20Add remote display supporthalibut_8.0.6halibut_8.0.5halibut_8.0.4halibut_8.0.3halibut/8.0.6halibut/8.0.5halibut/8.0.4halibut/8.0.38.0.68.0.58.0.48.0.3halibutScott Murray3-0/+24
Apply a heavily refactored version of the remote display changes from the CES 2019 demo #3 source demo3/common/agl-service-windowmanager in: https://git.automotivelinux.org/staging/new-apps The refactoring of the extracted changes has been done with an eye to reduce code duplication and minimize the changes to existing code. As well, the required default policy manager changes missing in the demo #3 tree have been added to produce a working default policy. At present the configuration has been hard-coded to assume use of the tbtnavi application on a Weston remoting display, but testing has also been done with a second display on one board. The changes should not impact operation of any other application, as only applications with roles listed in the "Remote" layer definition can be displayed on a configured second Weston screen. Bug-AGL: SPEC-2914 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I29380bbbec46969b75ed4fe7e8095db772524082
2018-08-15Readd policy table generated by ZIPC for EXAMPLEYuta Doi35-0/+5659
This patch reverts commit e4222ca8da3b02afca5625fa2cef6832aa8ce90e and update it. To Policy Manager, add the source code of policy table which is generated by ZIPC for EXAMPLE. If use this example, please comment out line 22 and uncomment line 23 in policy_manager/CMakeLists.txt as follows: #set(STM_DIR stub) set(STM_DIR zipc) If try to show split layout, please set bool value "ON" to TRY_SPLIT_LAYOUT at line 28 in policy_manager/CMakeLists.txt as follows: set(TRY_SPLIT_LAYOUT OFF CACHE BOOL "Enable to show split layout") The generated source codes by ZIPC are "Common" and "StateTransitionor" in policy_manager/stm/zipc/. Bug-AGL: SPEC-1537 Change-Id: I1f91cf728eab79c229c5b4b12b9e1bdd338f64aa Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
2018-08-15Readd Policy Manager as pluginYuta Doi5-0/+515
This patch reverts commit c6f9a9b8468b3746a3dec7ee2a0b7d84ec9fb44a and update it. Policy Manager decides next layout by inputed event and current state based on the policy table. And Policy Manager is plugin for Window Manager. Therefore the OEMs can replace it. This patch provides Policy Manager I/F as reference implementation and does not have policy table. Therefore Policy Manager updates each layers to draw the applications in requested area in accordance with just like activate/deactivate request. [APIs of Policy Manager class] - int initialize(void) Initialize Policy Manger. in: none out: 0(success), -1(error) - void registerCallback(CallbackTable callback_table) Register callback functions. in: the pointers of callback handlers out: none "CallbackTable" type is as follows: typedef struct { Handler onStateTransitioned; Handler onError; } CallbackTable; "Handler" type is as follows: using Handler = std::function<void(json_object *)>; - int setInputEventData(json_object *json_in) Set input event data for the policy table. in: input event data as json_object out: 0(success), -1(error) - int executeStateTransition(void) Execute state transition by using set input event data. in: none out: 0(success), -1(error) - void undoState(void) Undo state only once per once state transition. in: none out: none [Callbacks of Policy Manager class] - void onStateTransitioned(json_object *json_out) When state transition succeeds, this callback is called. The argument json_out has the state after transition. - void onError(json_object *json_out) When state transition fails, this callback is called. The argument json_out has the error information like message, inputed event datas and etc.. Bug-AGL: SPEC-1537 Change-Id: Ib8c71f2e544cb90b6763d07fad56dc1c453e9a97 Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>