+ self.PcdValueFromFdf = ""\r
+ self.DefinitionPosition = ("","")\r
+\r
+ ## Get the maximum number of bytes\r
+ def GetPcdMaxSize(self):\r
+ if self.DatumType in TAB_PCD_NUMERIC_TYPES:\r
+ return MAX_SIZE_TYPE[self.DatumType]\r
+\r
+ MaxSize = int(self.MaxDatumSize, 10) if self.MaxDatumSize else 0\r
+ if self.PcdValueFromFdf:\r
+ if self.PcdValueFromFdf.startswith("{") and self.PcdValueFromFdf.endswith("}"):\r
+ MaxSize = max([len(self.PcdValueFromFdf.split(",")),MaxSize])\r
+ elif self.PcdValueFromFdf.startswith("\"") or self.PcdValueFromFdf.startswith("\'"):\r
+ MaxSize = max([len(self.PcdValueFromFdf)-2+1,MaxSize])\r
+ elif self.PcdValueFromFdf.startswith("L\""):\r
+ MaxSize = max([2*(len(self.PcdValueFromFdf)-3+1),MaxSize])\r
+ else:\r
+ MaxSize = max([len(self.PcdValueFromFdf),MaxSize])\r
+\r
+ if self.PcdValueFromComm:\r
+ if self.PcdValueFromComm.startswith("{") and self.PcdValueFromComm.endswith("}"):\r
+ return max([len(self.PcdValueFromComm.split(",")), MaxSize])\r
+ elif self.PcdValueFromComm.startswith("\"") or self.PcdValueFromComm.startswith("\'"):\r
+ return max([len(self.PcdValueFromComm)-2+1, MaxSize])\r
+ elif self.PcdValueFromComm.startswith("L\""):\r
+ return max([2*(len(self.PcdValueFromComm)-3+1), MaxSize])\r
+ else:\r
+ return max([len(self.PcdValueFromComm), MaxSize])\r
+ return MaxSize\r
+\r
+ ## Get the number of bytes\r
+ def GetPcdSize(self):\r
+ if self.DatumType in TAB_PCD_NUMERIC_TYPES:\r
+ return MAX_SIZE_TYPE[self.DatumType]\r
+ if not self.DefaultValue:\r
+ return 1\r
+ elif self.DefaultValue[0] == 'L':\r
+ return (len(self.DefaultValue) - 2) * 2\r
+ elif self.DefaultValue[0] == '{':\r
+ return len(self.DefaultValue.split(','))\r
+ else:\r
+ return len(self.DefaultValue) - 1\r
+\r