description: >
    Implement to provide host interface support.
    This will define the interfaces using which, a OpenPower
    machine can communicate with host on agreed commands.

    This is for Internal use by the Firmware only. The D-Bus object
    is visible for the REST but it must not be used.

methods:
    - name: Execute
      description: >
          Execute the requested command by the caller. This command will be
          processed in first in first out order. See the Command enum
          description below for details on all supported commands.
      parameters:
          - name: command
            type: enum[self.Command]
            description: Requested command to execute against the host
          - name: data
            type: variant[byte]
            description: Data associated with the command.

signals:
    - name: CommandComplete
      description: >
        Signal indicating that a command has completed
      properties:
        - name: command
          type: enum[self.Command]
          description: Executed command
        - name: result
          type: enum[self.Result]
          description: Result of the command execution

enumerations:
    - name: Command
      description: >
        The command to execute against the host
      values:
        - name: OCCReset
          description: >
            Host firmware should reset the OCC. This is invoked by
            OCC error monitor application on detecting the error.
            Sensor ID of the failing OCC will be sent as data.
            This command will return once the command has been placed
            in command Queue.

    - name: Result
      description: >
        The result of the command execution
      values:
        - name: Success
          description: Command execution was a success
        - name: Failure
          description: Command execution was a failure
