+ def IsIntegerType(self, val):\r
+ if sys.version_info[0] < 3:\r
+ if type(val) in (int, long):\r
+ return True\r
+ else:\r
+ if type(val) is int:\r
+ return True\r
+ return False\r
+\r
+ def ConvertRevisionString(self, obj):\r
+ for field in obj._fields_:\r
+ key = field[0]\r
+ val = getattr(obj, key)\r
+ rep = ''\r
+\r
+ if self.IsIntegerType(val):\r
+ if (key == 'ImageRevision'):\r
+ FspImageRevisionMajor = ((val >> 24) & 0xFF)\r
+ FspImageRevisionMinor = ((val >> 16) & 0xFF)\r
+ FspImageRevisionRevision = ((val >> 8) & 0xFF)\r
+ FspImageRevisionBuildNumber = (val & 0xFF)\r
+ rep = '0x%08X' % val\r
+ elif (key == 'ExtendedImageRevision'):\r
+ FspImageRevisionRevision |= (val & 0xFF00)\r
+ FspImageRevisionBuildNumber |= ((val << 8) & 0xFF00)\r
+ rep = "0x%04X ('%02X.%02X.%04X.%04X')" % (val, FspImageRevisionMajor, FspImageRevisionMinor, FspImageRevisionRevision, FspImageRevisionBuildNumber)\r
+ return rep\r
+\r