summaryrefslogtreecommitdiffstats
path: root/scripts/writefru.mako.hpp
diff options
context:
space:
mode:
authorRatan Gupta <ratagupt@in.ibm.com>2016-12-22 19:00:41 +0530
committerRatan Gupta <ratagupt@in.ibm.com>2017-02-01 12:48:09 +0530
commit0f2e7fe1bf008b96e5ea7da4dcf8d978c854eeb6 (patch)
treed4b8c6882ed69905c2f7f300b6dd3b6800cb8b09 /scripts/writefru.mako.hpp
parenta2ca100a21ae6e712e01a11f86476eb2717b25ad (diff)
downloadipmi-fru-parser-0f2e7fe1bf008b96e5ea7da4dcf8d978c854eeb6.tar.gz
ipmi-fru-parser-0f2e7fe1bf008b96e5ea7da4dcf8d978c854eeb6.zip
Add IPMI FRU parser code generator.
Add a script that generates c++ structures based on system dependent configuration. Change-Id: I3a005b2dd31d7db3137bed9be6df2a0658c48d82 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
Diffstat (limited to 'scripts/writefru.mako.hpp')
-rw-r--r--scripts/writefru.mako.hpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/scripts/writefru.mako.hpp b/scripts/writefru.mako.hpp
new file mode 100644
index 0000000..a5c2f24
--- /dev/null
+++ b/scripts/writefru.mako.hpp
@@ -0,0 +1,50 @@
+// !!! WARNING: This is a GENERATED Code..Please do NOT Edit !!!
+#pragma once
+
+#include <iostream>
+
+#include <string>
+#include <list>
+#include <map>
+
+using IPMIFruMetadata = std::string;
+using IPMIFruMetadataValue = std::string;
+using IPMIFruMap = std::map<IPMIFruMetadata,IPMIFruMetadataValue>;
+
+using DbusProperty = std::string;
+using DbusPropertyMap = std::map<DbusProperty,IPMIFruMap>;
+
+using DbusInterface = std::string;
+using DbusInterfaceMap = std::map<DbusInterface,DbusPropertyMap>;
+
+using FruInstancePath = std::string;
+using FruInstanceMap = std::map<FruInstancePath,DbusInterfaceMap>;
+
+using FruId = uint32_t;
+using FruMap = std::map<FruId,FruInstanceMap>;
+
+
+const FruMap frus = {
+% for key in fruDict.iterkeys():
+ {${key},{
+<%
+ fru = fruDict[key]
+%>
+ % for object,interfaces in fru.iteritems():
+ {"${object}",{
+ % for interface,properties in interfaces.iteritems():
+ {"${interface}",{
+ % for dbus_property,property_value in properties.iteritems():
+ {"${dbus_property}",{
+ % for name,value in property_value.iteritems():
+ {"${name}","${value}"},
+ % endfor
+ }},
+ % endfor
+ }},
+ % endfor
+ }},
+ % endfor
+ }},
+% endfor
+};
OpenPOWER on IntegriCloud