1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk -Weverything -Wno-missing-permission-annotation --structured --version 4 --hash notfrozen -t --stability vintf --min_sdk_version current -pout/soong/.intermediates/hardware/interfaces/graphics/common/aidl/android.hardware.graphics.common_interface/6/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/common/aidl/android.hardware.common_interface/2/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/drm/common/aidl/android.hardware.drm.common_interface/1/preprocessed.aidl --previous_api_dir=hardware/interfaces/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3 --previous_hash d24fcd9648b8b2e7287f9238eee9180244612c10 --ninja -d out/soong/.intermediates/hardware/interfaces/graphics/composer/aidl/android.hardware.graphics.composer3-V4-ndk-source/gen/staging/android/hardware/graphics/composer3/LutProperties.cpp.d -h out/soong/.intermediates/hardware/interfaces/graphics/composer/aidl/android.hardware.graphics.composer3-V4-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/graphics/composer/aidl/android.hardware.graphics.composer3-V4-ndk-source/gen/staging -Nhardware/interfaces/graphics/composer/aidl hardware/interfaces/graphics/composer/aidl/android/hardware/graphics/composer3/LutProperties.aidl
4  *
5  * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..).
6  * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER
7  * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE.
8  */
9 #pragma once
10 
11 #include <array>
12 #include <cstdint>
13 #include <memory>
14 #include <optional>
15 #include <string>
16 #include <vector>
17 #include <android/binder_enums.h>
18 #include <android/binder_interface_utils.h>
19 #include <android/binder_parcelable_utils.h>
20 #include <android/binder_to_string.h>
21 #include <aidl/android/hardware/graphics/composer3/LutProperties.h>
22 #ifdef BINDER_STABILITY_SUPPORT
23 #include <android/binder_stability.h>
24 #endif  // BINDER_STABILITY_SUPPORT
25 
26 namespace aidl {
27 namespace android {
28 namespace hardware {
29 namespace graphics {
30 namespace composer3 {
31 class LutProperties {
32 public:
33   typedef std::false_type fixed_size;
34   static const char* descriptor;
35 
36   enum class Dimension : int8_t {
37     ONE_D = 1,
38     THREE_D = 3,
39   };
40 
41   enum class SamplingKey : int8_t {
42     RGB = 0,
43     MAX_RGB = 1,
44     CIE_Y = 2,
45   };
46 
47   ::aidl::android::hardware::graphics::composer3::LutProperties::Dimension dimension = ::aidl::android::hardware::graphics::composer3::LutProperties::Dimension(0);
48   int32_t size = 0;
49   std::vector<::aidl::android::hardware::graphics::composer3::LutProperties::SamplingKey> samplingKeys;
50 
51   binder_status_t readFromParcel(const AParcel* parcel);
52   binder_status_t writeToParcel(AParcel* parcel) const;
53 
54   inline bool operator==(const LutProperties& _rhs) const {
55     return std::tie(dimension, size, samplingKeys) == std::tie(_rhs.dimension, _rhs.size, _rhs.samplingKeys);
56   }
57   inline bool operator<(const LutProperties& _rhs) const {
58     return std::tie(dimension, size, samplingKeys) < std::tie(_rhs.dimension, _rhs.size, _rhs.samplingKeys);
59   }
60   inline bool operator!=(const LutProperties& _rhs) const {
61     return !(*this == _rhs);
62   }
63   inline bool operator>(const LutProperties& _rhs) const {
64     return _rhs < *this;
65   }
66   inline bool operator>=(const LutProperties& _rhs) const {
67     return !(*this < _rhs);
68   }
69   inline bool operator<=(const LutProperties& _rhs) const {
70     return !(_rhs < *this);
71   }
72 
73   static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()74   inline std::string toString() const {
75     std::ostringstream _aidl_os;
76     _aidl_os << "LutProperties{";
77     _aidl_os << "dimension: " << ::android::internal::ToString(dimension);
78     _aidl_os << ", size: " << ::android::internal::ToString(size);
79     _aidl_os << ", samplingKeys: " << ::android::internal::ToString(samplingKeys);
80     _aidl_os << "}";
81     return _aidl_os.str();
82   }
83 };
84 }  // namespace composer3
85 }  // namespace graphics
86 }  // namespace hardware
87 }  // namespace android
88 }  // namespace aidl
89 namespace aidl {
90 namespace android {
91 namespace hardware {
92 namespace graphics {
93 namespace composer3 {
toString(LutProperties::Dimension val)94 [[nodiscard]] static inline std::string toString(LutProperties::Dimension val) {
95   switch(val) {
96   case LutProperties::Dimension::ONE_D:
97     return "ONE_D";
98   case LutProperties::Dimension::THREE_D:
99     return "THREE_D";
100   default:
101     return std::to_string(static_cast<int8_t>(val));
102   }
103 }
104 }  // namespace composer3
105 }  // namespace graphics
106 }  // namespace hardware
107 }  // namespace android
108 }  // namespace aidl
109 namespace ndk {
110 namespace internal {
111 #pragma clang diagnostic push
112 #pragma clang diagnostic ignored "-Wc++17-extensions"
113 template <>
114 constexpr inline std::array<aidl::android::hardware::graphics::composer3::LutProperties::Dimension, 2> enum_values<aidl::android::hardware::graphics::composer3::LutProperties::Dimension> = {
115   aidl::android::hardware::graphics::composer3::LutProperties::Dimension::ONE_D,
116   aidl::android::hardware::graphics::composer3::LutProperties::Dimension::THREE_D,
117 };
118 #pragma clang diagnostic pop
119 }  // namespace internal
120 }  // namespace ndk
121 namespace aidl {
122 namespace android {
123 namespace hardware {
124 namespace graphics {
125 namespace composer3 {
toString(LutProperties::SamplingKey val)126 [[nodiscard]] static inline std::string toString(LutProperties::SamplingKey val) {
127   switch(val) {
128   case LutProperties::SamplingKey::RGB:
129     return "RGB";
130   case LutProperties::SamplingKey::MAX_RGB:
131     return "MAX_RGB";
132   case LutProperties::SamplingKey::CIE_Y:
133     return "CIE_Y";
134   default:
135     return std::to_string(static_cast<int8_t>(val));
136   }
137 }
138 }  // namespace composer3
139 }  // namespace graphics
140 }  // namespace hardware
141 }  // namespace android
142 }  // namespace aidl
143 namespace ndk {
144 namespace internal {
145 #pragma clang diagnostic push
146 #pragma clang diagnostic ignored "-Wc++17-extensions"
147 template <>
148 constexpr inline std::array<aidl::android::hardware::graphics::composer3::LutProperties::SamplingKey, 3> enum_values<aidl::android::hardware::graphics::composer3::LutProperties::SamplingKey> = {
149   aidl::android::hardware::graphics::composer3::LutProperties::SamplingKey::RGB,
150   aidl::android::hardware::graphics::composer3::LutProperties::SamplingKey::MAX_RGB,
151   aidl::android::hardware::graphics::composer3::LutProperties::SamplingKey::CIE_Y,
152 };
153 #pragma clang diagnostic pop
154 }  // namespace internal
155 }  // namespace ndk
156