1 #pragma once 2 3 #ifndef ANDROID_HARDWARE_FLAGS 4 #define ANDROID_HARDWARE_FLAGS(FLAG) ANDROID_HARDWARE_FLAGS_##FLAG 5 #endif 6 7 #ifndef ANDROID_HARDWARE_FLAGS_LUTS_API 8 #define ANDROID_HARDWARE_FLAGS_LUTS_API false 9 #endif 10 11 #ifdef __cplusplus 12 13 #include <memory> 14 15 namespace android::hardware::flags { 16 17 class flag_provider_interface { 18 public: 19 virtual ~flag_provider_interface() = default; 20 virtual bool luts_api() = 0; 21 virtual bool overlayproperties_class_api() = 0; 22 }; 23 24 extern std::unique_ptr<flag_provider_interface> provider_; 25 26 luts_api()27inline bool luts_api() { 28 return ANDROID_HARDWARE_FLAGS_LUTS_API; 29 } overlayproperties_class_api()30inline bool overlayproperties_class_api() { 31 return true; 32 } 33 34 } 35 36 extern "C" { 37 #endif // __cplusplus 38 39 40 bool android_hardware_flags_luts_api(); 41 bool android_hardware_flags_overlayproperties_class_api(); 42 43 #ifdef __cplusplus 44 } // extern "C" 45 #endif 46 47