xref: /openbmc/phosphor-host-ipmid/scripts/readfru.cpp.mako (revision c84add583a4989f2c1f4b950a0a204111afd3723)
1*c84add58SJayanth Othayoth// !!! WARNING: This is a GENERATED Code..Please do NOT Edit !!!
2*c84add58SJayanth Othayoth#include <iostream>
3*c84add58SJayanth Othayoth#include "fruread.hpp"
4*c84add58SJayanth Othayoth
5*c84add58SJayanth Othayothextern const FruMap __attribute__((init_priority(101))) frus = {
6*c84add58SJayanth Othayoth% for key in fruDict.keys():
7*c84add58SJayanth Othayoth   {${key},{
8*c84add58SJayanth Othayoth<%
9*c84add58SJayanth Othayoth    instanceList = fruDict[key]
10*c84add58SJayanth Othayoth%>
11*c84add58SJayanth Othayoth    % for instancePath,instanceInfo in instanceList.items():
12*c84add58SJayanth Othayoth<%
13*c84add58SJayanth Othayoth        entityID = instanceInfo["entityID"]
14*c84add58SJayanth Othayoth        entityInstance = instanceInfo["entityInstance"]
15*c84add58SJayanth Othayoth        interfaces = instanceInfo["interfaces"]
16*c84add58SJayanth Othayoth%>
17*c84add58SJayanth Othayoth         {${entityID}, ${entityInstance}, "${instancePath}",{
18*c84add58SJayanth Othayoth         % for interface,properties in interfaces.items():
19*c84add58SJayanth Othayoth             {"${interface}",{
20*c84add58SJayanth Othayoth            % if properties:
21*c84add58SJayanth Othayoth                % for dbus_property,property_value in properties.items():
22*c84add58SJayanth Othayoth                    {"${dbus_property}",{
23*c84add58SJayanth Othayoth                        "${property_value.get("IPMIFruSection", "")}",
24*c84add58SJayanth Othayoth                        "${property_value.get("IPMIFruProperty", "")}",\
25*c84add58SJayanth Othayoth<%
26*c84add58SJayanth Othayoth    delimiter = property_value.get("IPMIFruValueDelimiter")
27*c84add58SJayanth Othayoth    if not delimiter:
28*c84add58SJayanth Othayoth        delimiter = ""
29*c84add58SJayanth Othayoth    else:
30*c84add58SJayanth Othayoth        delimiter = '\\' + hex(delimiter)[1:]
31*c84add58SJayanth Othayoth%>
32*c84add58SJayanth Othayoth                     "${delimiter}"
33*c84add58SJayanth Othayoth                 }},
34*c84add58SJayanth Othayoth                % endfor
35*c84add58SJayanth Othayoth            %endif
36*c84add58SJayanth Othayoth             }},
37*c84add58SJayanth Othayoth         % endfor
38*c84add58SJayanth Othayoth        }},
39*c84add58SJayanth Othayoth    % endfor
40*c84add58SJayanth Othayoth   }},
41*c84add58SJayanth Othayoth% endfor
42*c84add58SJayanth Othayoth};
43