]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/PcdTools/org/tianocore/pcd/entity/DynamicTokenValue.java
Restructuring for better separation of Tool packages.
[mirror_edk2.git] / Tools / Java / Source / PcdTools / org / tianocore / pcd / entity / DynamicTokenValue.java
diff --git a/Tools/Java/Source/PcdTools/org/tianocore/pcd/entity/DynamicTokenValue.java b/Tools/Java/Source/PcdTools/org/tianocore/pcd/entity/DynamicTokenValue.java
new file mode 100644 (file)
index 0000000..15d0036
--- /dev/null
@@ -0,0 +1,162 @@
+/** @file\r
+  DynamicTokenValue class.\r
+\r
+  This module contains the value type of a dynamic token.\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+package org.tianocore.pcd.entity;\r
+\r
+import java.util.List;\r
+import java.util.UUID;\r
+\r
+import org.tianocore.pcd.exception.EntityException;\r
+\r
+/**\r
+   This class is to descript a value type of dynamic PCD.\r
+   For a dynamic or dynamicEx type PCD data, the value type can be:\r
+       1) Hii type: the value of dynamic or dynamicEx is stored into a variable.\r
+       2) Vpd type: the value of dynamic or dynamicEx is stored into somewhere set\r
+                    by OEM.\r
+       3) Default type: the value of dynamic or dynamicEx is stored into PCD dynamic\r
+                        database.\r
+**/\r
+public class DynamicTokenValue {\r
+    ///\r
+    /// Enumeration macro defintion for value type.\r
+    ///\r
+    public static enum        VALUE_TYPE {HII_TYPE, VPD_TYPE, DEFAULT_TYPE}\r
+\r
+    ///\r
+    /// The value type maybe:\r
+    /// HII_TYPE: the value stored into variable area.\r
+    /// VPD_TYPE: the value stored into OEM specific area.\r
+    /// DEFAULT_TYPE: the value stored into PCD runtime database.\r
+    ///\r
+    public VALUE_TYPE  type;\r
+\r
+    ///\r
+    /// ---------------------------------------------------------------------\r
+    /// Following member is for HII case. The value of HII case will be put\r
+    /// into variable area in flash.\r
+    /// ---------------------------------------------------------------------\r
+    ///\r
+\r
+    ///\r
+    /// variableName is valid only when this token support Hii functionality. variableName\r
+    /// indicates the value of token is associated with what variable.\r
+    /// variableName is defined in FPD.\r
+    public List        variableName;\r
+\r
+    ///\r
+    /// variableGuid is the GUID this token associated with.\r
+    ///\r
+    public UUID        variableGuid;\r
+\r
+    ///\r
+    /// Variable offset indicate the associated variable's offset in NV storage.\r
+    ///\r
+    public String      variableOffset;\r
+\r
+    ///\r
+    /// The default value for HII case.\r
+    ///\r
+    public String      hiiDefaultValue;\r
+\r
+    ///\r
+    /// ---------------------------------------------------------------------\r
+    /// Following member is for VPD case. The value of VPD case will be put into\r
+    /// some flash position pointed by OEM.\r
+    /// ---------------------------------------------------------------------\r
+    ///\r
+\r
+    public String      vpdOffset;\r
+\r
+    /// ---------------------------------------------------------------------\r
+    /// Following member is for default case. The value of default type will\r
+    /// be put into PCD runtime database.\r
+    /// ---------------------------------------------------------------------\r
+\r
+    ///\r
+    /// The default value of this PCD in default case.\r
+    ///\r
+    public String      value;\r
+\r
+    /**\r
+       Constructor function for DynamicTokenValue class.\r
+\r
+    **/\r
+    public DynamicTokenValue() {\r
+        type               = VALUE_TYPE.DEFAULT_TYPE;\r
+        variableName       = null;\r
+        variableGuid       = null;\r
+        variableOffset     = null;\r
+        hiiDefaultValue    = null;\r
+        vpdOffset          = null;\r
+        value              = null;\r
+    }\r
+\r
+    /**\r
+       Set the HII case data.\r
+\r
+       @param variableName      The variable name\r
+       @param variableGuid      The variable guid\r
+       @param variableOffset    The offset of value in this variable\r
+       @param hiiDefaultValue   Default value for this PCD\r
+    **/\r
+    public void setHiiData(List        variableName,\r
+                           UUID        variableGuid,\r
+                           String      variableOffset,\r
+                           String      hiiDefaultValue) {\r
+        this.type = VALUE_TYPE.HII_TYPE;\r
+\r
+        this.variableName    = variableName;\r
+        this.variableGuid    = variableGuid;\r
+        this.variableOffset  = variableOffset;\r
+        this.hiiDefaultValue = hiiDefaultValue;\r
+    }\r
+\r
+    /**\r
+       Get the variable Name.\r
+\r
+       @return String\r
+    **/\r
+    public List getStringOfVariableName() {\r
+        return variableName;\r
+    }\r
+\r
+    /**\r
+       Set Vpd case data.\r
+\r
+       @param vpdOffset the value offset the start address of OEM specific.\r
+    **/\r
+    public void setVpdData(String vpdOffset) {\r
+        this.type = VALUE_TYPE.VPD_TYPE;\r
+\r
+        this.vpdOffset = vpdOffset;\r
+    }\r
+\r
+    /**\r
+       Set default case data.\r
+\r
+       @param value\r
+    **/\r
+    public void setValue(String value) {\r
+        this.type = VALUE_TYPE.DEFAULT_TYPE;\r
+\r
+        this.value = value;\r
+    }\r
+}\r
+\r
+\r
+\r
+\r
+\r