1 #pragma once
2 
3 
4 
5 #ifdef __cplusplus
6 
7 #include <memory>
8 
9 namespace com::android::frameworks::sensorservice::flags {
10 
11 class flag_provider_interface {
12 public:
13     virtual ~flag_provider_interface() = default;
14     virtual bool dynamic_sensor_hal_reconnect_handling() = 0;
15     virtual bool sensor_device_on_dynamic_sensor_disconnected() = 0;
16     virtual bool sensor_event_connection_send_event_require_nonnull_scratch() = 0;
17     virtual bool sensor_service_clear_dynamic_sensor_data_at_the_end() = 0;
18 };
19 
20 extern std::unique_ptr<flag_provider_interface> provider_;
21 
22 
dynamic_sensor_hal_reconnect_handling()23 inline bool dynamic_sensor_hal_reconnect_handling() {
24     return true;
25 }
sensor_device_on_dynamic_sensor_disconnected()26 inline bool sensor_device_on_dynamic_sensor_disconnected() {
27     return false;
28 }
sensor_event_connection_send_event_require_nonnull_scratch()29 inline bool sensor_event_connection_send_event_require_nonnull_scratch() {
30     return false;
31 }
sensor_service_clear_dynamic_sensor_data_at_the_end()32 inline bool sensor_service_clear_dynamic_sensor_data_at_the_end() {
33     return false;
34 }
35 
36 }
37 
38 extern "C" {
39 #endif // __cplusplus
40 
41 
42 bool com_android_frameworks_sensorservice_flags_dynamic_sensor_hal_reconnect_handling();
43 bool com_android_frameworks_sensorservice_flags_sensor_device_on_dynamic_sensor_disconnected();
44 bool com_android_frameworks_sensorservice_flags_sensor_event_connection_send_event_require_nonnull_scratch();
45 bool com_android_frameworks_sensorservice_flags_sensor_service_clear_dynamic_sensor_data_at_the_end();
46 
47 #ifdef __cplusplus
48 } // extern "C"
49 #endif
50 
51