Adding support of Graphic Provider program

Issue #205 on hold
Patryk Kubiak created an issue

Implementation reason

It is not possible to choose a program responsible for GUI. Actually user has to choose between console provider and graphic provider. It should be possible to create and set a program as graphic provider in easy way.

Generic Description

It should be possible to set graphic-provider in the system configuration. The system has to work and build also when graphic provider is not given or not enabled. Enabling and disabling of graphic-provider should be possible in the system configuration. If the provider is disabled, it should not taken under compilation (#ifdef). The graphic provider should be defined as string. The function oC_ProgramMan_RunGraphicProvider, should in the first order try to find the program named given as a string on the programs list and then run it. If it is not possible to run a program, the function should try to use function oC_ProgramMan_RunCommand. The function should not try to run command if console provider is disabled. Graphic-provider has to be started automatically during boot of the system (at the end of Level 3 - InitializeLevel3). The provider should be rerun if it is not running in the idle task (oc_boot.c, function oC_Boot_Main)

Required Interface

#!c

#define CFG_ENABLE_GRAPHIC_PROVIDER    ON
#define CFG_STRING_GRAPHIC_PROVIDER_COMMAND    "/flash/provider --white-gui --login-box"
// Runs graphic provider
// If User is #NULL, the function uses current user 
extern oC_ErrorCode_t oC_ProgramMan_RunGraphicProvider( oC_User_t User );
// Reruns provider if it is not running
extern oC_ErrorCode_t oC_ProgramMan_RerunGraphicProviderIfIsNotRunning( oC_User_t User );

Trello

Link to trello board:

https://trello.com/c/ZVlNnyRj

Story

  • [ #245 ] - Providing support of standard system providers

List of requirements

  • [ #205 ] - Graphic provider defined as command for console provider
  • [ #205 ] - System supports graphic provider
  • [ #205 ] - Possibility of choosing cbin and elf files as graphic provider
  • [ #205 ] - Possibility of disabling graphic provider if it is not needed
  • [ #205 ] - Possibility of adding command arguments to the graphic provider
  • [ #205 ] - Graphic provider is rerun if it is not running in idle task

Comments (8)

  1. Log in to comment