oem-ibm: create OEM PDRs for all OEM state sensors and
effecters

Created Sensors and effecters for Code update for the
Boot side and Firmware update State indication and
control.

root@rainier:/tmp# ./pldmtool platform GetPDR -d 22
nextRecordHandle: 23
responseCount: 30
recordHandle: 22
PDRHeaderVersion: 1
PDRType: State Effecter PDR(11)
recordChangeNumber: 0
dataLength: 16

PLDMTerminusHandle: 1
effecterID: 7
entityType: Virtual Machine Manager
entityInstanceNumber: 0
containerID: 0
effecterSemanticID: 0
effecterInit: noInit
effecterDescriptionPDR: false
compositeEffecterCount: 1
stateSetID: 32769
possibleStatesSize: 2
possibleStates: 1 2
root@rainier:/tmp# ./pldmtool platform GetPDR -d 23
nextRecordHandle: 24
responseCount: 30
recordHandle: 23
PDRHeaderVersion: 1
PDRType: State Effecter PDR(11)
recordChangeNumber: 0
dataLength: 16

PLDMTerminusHandle: 1
effecterID: 8
entityType: Virtual Machine Manager
entityInstanceNumber: 1
containerID: 0
effecterSemanticID: 0
effecterInit: noInit
effecterDescriptionPDR: false
compositeEffecterCount: 1
stateSetID: 32769
possibleStatesSize: 2
possibleStates: 1 2
root@rainier:/tmp# ./pldmtool platform GetPDR -d 24
nextRecordHandle: 25
responseCount: 30
recordHandle: 24
PDRHeaderVersion: 1
PDRType: State Effecter PDR(11)
recordChangeNumber: 0
dataLength: 16

PLDMTerminusHandle: 1
effecterID: 9
entityType: Virtual Machine Manager
entityInstanceNumber: 0
containerID: 0
effecterSemanticID: 0
effecterInit: noInit
effecterDescriptionPDR: false
compositeEffecterCount: 1
stateSetID: 32768
possibleStatesSize: 2
possibleStates: 1 2 3 4 5 6
root@rainier:/tmp# ./pldmtool platform GetPDR -d 25
nextRecordHandle: 26
responseCount: 28
recordHandle: 25
PDRHeaderVersion: 1
PDRType: State Sensor PDR(4)
recordChangeNumber: 0
dataLength: 14

PLDMTerminusHandle: 1
sensorID: 1
entityType: Virtual Machine Manager
entityInstanceNumber: 0
containerID: 0
sensorInit: noInit
sensorAuxiliaryNamesPDR: false
compositeSensorCount: 1
stateSetID: 32769
possibleStatesSize: 2
possibleStates: 1 2
root@rainier:/tmp# ./pldmtool platform GetPDR -d 26
nextRecordHandle: 27
responseCount: 28
recordHandle: 26
PDRHeaderVersion: 1
PDRType: State Sensor PDR(4)
recordChangeNumber: 0
dataLength: 14

PLDMTerminusHandle: 1
sensorID: 2
entityType: Virtual Machine Manager
entityInstanceNumber: 1
containerID: 0
sensorInit: noInit
sensorAuxiliaryNamesPDR: false
compositeSensorCount: 1
stateSetID: 32769
possibleStatesSize: 2
possibleStates: 1 2
root@rainier:/tmp# ./pldmtool platform GetPDR -d 27
nextRecordHandle: 0
responseCount: 28
recordHandle: 27
PDRHeaderVersion: 1
PDRType: State Sensor PDR(4)
recordChangeNumber: 0
dataLength: 14

PLDMTerminusHandle: 1
sensorID: 3
entityType: Virtual Machine Manager
entityInstanceNumber: 0
containerID: 0
sensorInit: noInit
sensorAuxiliaryNamesPDR: false
compositeSensorCount: 1
stateSetID: 32768
possibleStatesSize: 2
possibleStates: 1 2 3 4 5 6

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: I1dc39a549297241792cebc7812722447cce5762d
diff --git a/libpldmresponder/oem_handler.hpp b/libpldmresponder/oem_handler.hpp
index 52d0027..ca51366 100644
--- a/libpldmresponder/oem_handler.hpp
+++ b/libpldmresponder/oem_handler.hpp
@@ -62,6 +62,12 @@
         StateSetId stateSetId, CompositeCount compEffecterCnt,
         const std::vector<set_effecter_state_field>& stateField) = 0;
 
+    /** @brief Interface to generate the OEM PDRs
+     *
+     * @param[in] repo - instance of concrete implementation of Repo
+     */
+    virtual void buildOEMPDR(pdr_utils::Repo& repo) = 0;
+
     virtual ~Handler() = default;
 
   protected: