1 #pragma once
2 
3 #include "ledlayout.hpp"
4 
5 #include <string>
6 #include <unordered_map>
7 
8 namespace phosphor
9 {
10 namespace led
11 {
12 /** @namespace Layout
13  *  @brief Depicts the LED and their mappings and group actions
14  */
15 namespace Layout
16 {
17 
18 /** @brief Name of the Group and its properties
19  */
20 struct GroupLayout
21 {
22     int priority = 0;
23     ActionSet actionSet;
24 };
25 
26 struct CompareGroupLayout
27 {
operator ()phosphor::led::Layout::CompareGroupLayout28     bool operator()(const Layout::GroupLayout* lhs,
29                     const Layout::GroupLayout* rhs) const
30     {
31         return lhs->priority < rhs->priority;
32     };
33 };
34 
35 } // namespace Layout
36 
37 using GroupMap = std::unordered_map<std::string, Layout::GroupLayout>;
38 
39 } // namespace led
40 } // namespace phosphor
41