/** * @file mce-hybris.h * Mode Control Entity - android hal access *

* Copyright (C) 2013-2019 Jolla Ltd. *

* @author Simo Piiroinen * * mce is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License * version 2.1 as published by the Free Software Foundation. * * mce is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with mce. If not, see . */ /* FIXME: This header is included in sourcetrees of both mce and * mce-plugin-libhybris. For now it must be kept in sync * manually. */ #ifndef MCE_HYBRIS_H_ # define MCE_HYBRIS_H_ # ifndef MCE_HYBRIS_INTERNAL # define MCE_HYBRIS_INTERNAL 0 # endif # include # include # ifdef __cplusplus extern "C" { # elif 0 } /* fool JED indentation ... */ # endif /* - - - - - - - - - - - - - - - - - - - * * frame buffer power state * - - - - - - - - - - - - - - - - - - - */ bool mce_hybris_framebuffer_init(void); void mce_hybris_framebuffer_quit(void); bool mce_hybris_framebuffer_set_power(bool on); /* - - - - - - - - - - - - - - - - - - - * * display backlight brightness * - - - - - - - - - - - - - - - - - - - */ bool mce_hybris_backlight_init(void); void mce_hybris_backlight_quit(void); bool mce_hybris_backlight_set_brightness(int level); /* - - - - - - - - - - - - - - - - - - - * * keypad backlight brightness * - - - - - - - - - - - - - - - - - - - */ bool mce_hybris_keypad_set_brightness(int level); void mce_hybris_keypad_quit(void); bool mce_hybris_keypad_init(void); /* - - - - - - - - - - - - - - - - - - - * * indicator led pattern * - - - - - - - - - - - - - - - - - - - */ bool mce_hybris_indicator_init(void); void mce_hybris_indicator_quit(void); bool mce_hybris_indicator_set_pattern(int r, int g, int b, int ms_on, int ms_off); void mce_hybris_indicator_enable_breathing(bool enable); bool mce_hybris_indicator_set_brightness(int level); bool mce_hybris_indicator_can_breathe(void); /* - - - - - - - - - - - - - - - - - - - * * proximity sensor * - - - - - - - - - - - - - - - - - - - */ typedef void (*mce_hybris_ps_fn)(int64_t timestamp, float distance); bool mce_hybris_ps_init(void); void mce_hybris_ps_quit(void); bool mce_hybris_ps_set_active(bool active); bool mce_hybris_ps_set_callback(mce_hybris_ps_fn cb); /* - - - - - - - - - - - - - - - - - - - * * ambient light sensor * - - - - - - - - - - - - - - - - - - - */ typedef void (*mce_hybris_als_fn)(int64_t timestamp, float light); bool mce_hybris_als_init(void); void mce_hybris_als_quit(void); bool mce_hybris_als_set_active(bool active); bool mce_hybris_als_set_callback(mce_hybris_als_fn cb); /* - - - - - - - - - - - - - - - - - - - * * generic * - - - - - - - - - - - - - - - - - - - */ void mce_hybris_quit(void); /* - - - - - - - - - - - - - - - - - - - * * internal to module <--> plugin * - - - - - - - - - - - - - - - - - - - */ # if MCE_HYBRIS_INTERNAL >= 1 typedef void (*mce_hybris_log_fn)(int lev, const char *file, const char *func, const char *text); # endif # if MCE_HYBRIS_INTERNAL >= 2 void mce_hybris_set_log_hook(mce_hybris_log_fn cb); void mce_hybris_ps_set_hook(mce_hybris_ps_fn cb); void mce_hybris_als_set_hook(mce_hybris_als_fn cb); # endif # ifdef __cplusplus }; # endif #endif /* MCE_HYBRIS_H_ */