1 #include "grouplayout.hpp"
2 #include "ledlayout.hpp"
3 
4 static const phosphor::led::GroupMap singleLedOn = {
5     {"/xyz/openbmc_project/ledmanager/groups/SingleLed",
6      {0,
7       {
8           {"One", phosphor::led::Layout::Action::On, 0, 0,
9            phosphor::led::Layout::Action::Blink},
10       }}},
11 };
12 
13 static const phosphor::led::GroupMap singleLedBlink = {
14     {"/xyz/openbmc_project/ledmanager/groups/SingleLed",
15      {0,
16       {
17           {"One", phosphor::led::Layout::Action::Blink, 0, 0,
18            phosphor::led::Layout::Action::Blink},
19       }}},
20 };
21 
22 static const phosphor::led::GroupMap singleLedBlinkOverrideOn = {
23     {"/xyz/openbmc_project/ledmanager/groups/SingleLed",
24      {0,
25       {
26           {"One", phosphor::led::Layout::Action::Blink, 0, 0,
27            phosphor::led::Layout::Action::On},
28       }}},
29 };
30 
31 static const phosphor::led::GroupMap multipleLedsOn = {
32     {"/xyz/openbmc_project/ledmanager/groups/MultipleLeds",
33      {0,
34       {
35           {"One", phosphor::led::Layout::Action::On, 0, 0,
36            phosphor::led::Layout::Action::On},
37           {"Two", phosphor::led::Layout::Action::On, 0, 0,
38            phosphor::led::Layout::Action::On},
39           {"Three", phosphor::led::Layout::Action::On, 0, 0,
40            phosphor::led::Layout::Action::On},
41       }}},
42 };
43 
44 static const phosphor::led::GroupMap multipleLedsBlink = {
45     {"/xyz/openbmc_project/ledmanager/groups/MultipleLeds",
46      {0,
47       {
48           {"One", phosphor::led::Layout::Action::Blink, 0, 0,
49            phosphor::led::Layout::Action::Blink},
50           {"Two", phosphor::led::Layout::Action::Blink, 0, 0,
51            phosphor::led::Layout::Action::Blink},
52           {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
53            phosphor::led::Layout::Action::Blink},
54       }}},
55 };
56 
57 static const phosphor::led::GroupMap multipleLedsOnAndBlink = {
58     {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsMix",
59      {0,
60       {
61           {"One", phosphor::led::Layout::Action::Blink, 0, 0,
62            phosphor::led::Layout::Action::Blink},
63           {"Two", phosphor::led::Layout::Action::On, 0, 0,
64            phosphor::led::Layout::Action::Blink},
65           {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
66            phosphor::led::Layout::Action::On},
67           {"Four", phosphor::led::Layout::Action::On, 0, 0,
68            phosphor::led::Layout::Action::Blink},
69           {"Five", phosphor::led::Layout::Action::On, 0, 0,
70            phosphor::led::Layout::Action::Blink},
71       }}},
72 };
73 
74 static const phosphor::led::GroupMap twoGroupsWithDistinctLEDsOn = {
75     {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
76      {0,
77       {
78           {"One", phosphor::led::Layout::Action::On, 0, 0,
79            phosphor::led::Layout::Action::Blink},
80           {"Two", phosphor::led::Layout::Action::On, 0, 0,
81            phosphor::led::Layout::Action::On},
82           {"Three", phosphor::led::Layout::Action::On, 0, 0,
83            phosphor::led::Layout::Action::Blink},
84       }}},
85     {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
86      {0,
87       {
88           {"Four", phosphor::led::Layout::Action::On, 0, 0,
89            phosphor::led::Layout::Action::Blink},
90           {"Five", phosphor::led::Layout::Action::On, 0, 0,
91            phosphor::led::Layout::Action::Blink},
92           {"Six", phosphor::led::Layout::Action::On, 0, 0,
93            phosphor::led::Layout::Action::On},
94       }}},
95 };
96 
97 static const phosphor::led::GroupMap twoGroupsWithOneComonLEDOn = {
98     {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
99      {0,
100       {
101           {"One", phosphor::led::Layout::Action::On, 0, 0,
102            phosphor::led::Layout::Action::On},
103           {"Two", phosphor::led::Layout::Action::On, 0, 0,
104            phosphor::led::Layout::Action::On},
105           {"Three", phosphor::led::Layout::Action::On, 0, 0,
106            phosphor::led::Layout::Action::On},
107       }}},
108     {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
109      {0,
110       {
111           {"Four", phosphor::led::Layout::Action::On, 0, 0,
112            phosphor::led::Layout::Action::On},
113           {"Three", phosphor::led::Layout::Action::On, 0, 0,
114            phosphor::led::Layout::Action::On},
115           {"Six", phosphor::led::Layout::Action::On, 0, 0,
116            phosphor::led::Layout::Action::On},
117       }}},
118 };
119 
120 static const phosphor::led::GroupMap
121     twoGroupsWithOneComonLEDOnOneLEDBlinkPriority = {
122         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
123          {0,
124           {
125               {"One", phosphor::led::Layout::Action::On, 0, 0,
126                phosphor::led::Layout::Action::On},
127               {"Two", phosphor::led::Layout::Action::On, 0, 0,
128                phosphor::led::Layout::Action::On},
129               {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
130                phosphor::led::Layout::Action::Blink},
131           }}},
132         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
133          {0,
134           {
135               {"Four", phosphor::led::Layout::Action::On, 0, 0,
136                phosphor::led::Layout::Action::On},
137               {"Three", phosphor::led::Layout::Action::On, 0, 0,
138                phosphor::led::Layout::Action::Blink},
139               {"Six", phosphor::led::Layout::Action::On, 0, 0,
140                phosphor::led::Layout::Action::On},
141           }}},
142 };
143 
144 static const phosphor::led::GroupMap twoGroupsWithOneComonLEDOnPriority = {
145     {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
146      {0,
147       {
148           {"One", phosphor::led::Layout::Action::On, 0, 0,
149            phosphor::led::Layout::Action::On},
150           {"Two", phosphor::led::Layout::Action::On, 0, 0,
151            phosphor::led::Layout::Action::On},
152           {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
153            phosphor::led::Layout::Action::On},
154       }}},
155     {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
156      {0,
157       {
158           {"Four", phosphor::led::Layout::Action::On, 0, 0,
159            phosphor::led::Layout::Action::On},
160           {"Three", phosphor::led::Layout::Action::On, 0, 0,
161            phosphor::led::Layout::Action::On},
162           {"Six", phosphor::led::Layout::Action::On, 0, 0,
163            phosphor::led::Layout::Action::On},
164       }}},
165 };
166 
167 static const phosphor::led::GroupMap twoGroupsWithMultiplComonLEDOn = {
168     {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
169      {0,
170       {
171           {"One", phosphor::led::Layout::Action::On, 0, 0,
172            phosphor::led::Layout::Action::On},
173           {"Two", phosphor::led::Layout::Action::On, 0, 0,
174            phosphor::led::Layout::Action::On},
175           {"Three", phosphor::led::Layout::Action::On, 0, 0,
176            phosphor::led::Layout::Action::On},
177       }}},
178     {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
179      {0,
180       {
181           {"Two", phosphor::led::Layout::Action::On, 0, 0,
182            phosphor::led::Layout::Action::On},
183           {"Six", phosphor::led::Layout::Action::On, 0, 0,
184            phosphor::led::Layout::Action::On},
185           {"Three", phosphor::led::Layout::Action::On, 0, 0,
186            phosphor::led::Layout::Action::On},
187           {"Seven", phosphor::led::Layout::Action::On, 0, 0,
188            phosphor::led::Layout::Action::On},
189       }}},
190 };
191 
192 static const phosphor::led::GroupMap
193     twoGroupsWithMultipleComonLEDInDifferentState = {
194         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
195          {0,
196           {
197               {"One", phosphor::led::Layout::Action::On, 0, 0,
198                phosphor::led::Layout::Action::On},
199               {"Two", phosphor::led::Layout::Action::Blink, 0, 0,
200                phosphor::led::Layout::Action::On},
201               {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
202                phosphor::led::Layout::Action::On},
203               {"Four", phosphor::led::Layout::Action::On, 0, 0,
204                phosphor::led::Layout::Action::On},
205           }}},
206         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
207          {0,
208           {
209               {"Two", phosphor::led::Layout::Action::On, 0, 0,
210                phosphor::led::Layout::Action::On},
211               {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
212                phosphor::led::Layout::Action::On},
213               {"Five", phosphor::led::Layout::Action::On, 0, 0,
214                phosphor::led::Layout::Action::On},
215               {"Six", phosphor::led::Layout::Action::On, 0, 0,
216                phosphor::led::Layout::Action::On},
217           }}},
218 };
219 
220 static const phosphor::led::GroupMap
221     twoGroupsWithMultipleComonLEDInDifferentStateDiffPriority = {
222         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
223          {0,
224           {
225               {"One", phosphor::led::Layout::Action::On, 0, 0,
226                phosphor::led::Layout::Action::On},
227               {"Two", phosphor::led::Layout::Action::Blink, 0, 0,
228                phosphor::led::Layout::Action::On},
229               {"Three", phosphor::led::Layout::Action::On, 0, 0,
230                phosphor::led::Layout::Action::Blink},
231               {"Four", phosphor::led::Layout::Action::On, 0, 0,
232                phosphor::led::Layout::Action::On},
233               {"Ten", phosphor::led::Layout::Action::Blink, 0, 0,
234                phosphor::led::Layout::Action::Blink},
235           }}},
236         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
237          {0,
238           {
239               {"Two", phosphor::led::Layout::Action::On, 0, 0,
240                phosphor::led::Layout::Action::On},
241               {"Three", phosphor::led::Layout::Action::On, 0, 0,
242                phosphor::led::Layout::Action::Blink},
243               {"Five", phosphor::led::Layout::Action::On, 0, 0,
244                phosphor::led::Layout::Action::On},
245               {"Six", phosphor::led::Layout::Action::On, 0, 0,
246                phosphor::led::Layout::Action::On},
247               {"Ten", phosphor::led::Layout::Action::On, 0, 0,
248                phosphor::led::Layout::Action::Blink},
249           }}},
250 };
251