<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: rpc.proto

namespace OS\PB;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;

/**
 **
 * \@brief   Response message type of Remote Procedure Call
 * \@details When a request is received, will output its response in the Response Message. 
 *          Segmentation is used for bulky RPC responses like file reads, where multiple responses will be generated for a single request. The RPC will only end once every Segment has arrived.
 *
 * Generated from protobuf message <code>OS.PB.ResponseMessage</code>
 */
class ResponseMessage extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>uint32 InterfaceIndex = 1;</code>
     */
    protected $InterfaceIndex = 0;
    /**
     * used to divide a singular response into more than 1 messages. This is the index of the segment starting from 0.
     *
     * Generated from protobuf field <code>uint32 SegmentIndex = 2;</code>
     */
    protected $SegmentIndex = 0;
    /**
     * used to divide a singular response into more than 1 messages. 0 is the same as 1, only if 2 or more then destination awaits for response to complete.
     *
     * Generated from protobuf field <code>uint32 SegmentTotal = 3;</code>
     */
    protected $SegmentTotal = 0;
    protected $ResponseType;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $InterfaceIndex
     *     @type int $SegmentIndex
     *           used to divide a singular response into more than 1 messages. This is the index of the segment starting from 0.
     *     @type int $SegmentTotal
     *           used to divide a singular response into more than 1 messages. 0 is the same as 1, only if 2 or more then destination awaits for response to complete.
     *     @type \OS\PB\WiegandResponse $WiegandInfo
     *           non-networkable interfaces
     *     @type \OS\PB\InputResponse $InputInfo
     *           1.4 Response to Input Info Request
     *     @type \OS\PB\RS485Response $RS485Info
     *           networkable interfaces
     *     @type \OS\PB\BLEResponse $BLEInfo
     *           1.4 Response to BLE Info Request
     *     @type \OS\PB\BLEResponse $BLELongRangeInfo
     *           1.4 Response to BLELongRange Info Request
     *     @type \OS\PB\ModemResponse $ModemInfo
     *           1.1 Response to ModemInfo Request
     *     @type \OS\PB\EthernetResponse $EthernetInfo
     *           1.4 Response to EthernetInfo Request
     *     @type \OS\PB\DeviceConnectRPC $DeviceConnect
     *           1.4 FW Only: Request a connection to another device
     *     @type \OS\PB\AccessResponse $AccessSimulate
     *           oneaccess system
     *     @type \OS\PB\AccessResponse $AccessEnrol
     *           Provides either a success, with the Method enroled, or failed result
     *     @type \OS\PB\DeviceResponse $DeviceInfo
     *           device system
     *     @type \OS\PB\FileSystemResponse $DirectoryCreate
     *           > 2.0
     *     @type \OS\PB\FileSystemResponse $DirectoryDelete
     *           > 2.0
     *     @type \OS\PB\FileSystemResponse $DirectorySearch
     *           > 2.0
     *     @type \OS\PB\FileSystemResponse $FileRead
     *           > 2.0
     *     @type \OS\PB\FileSystemResponse $FileWrite
     *           > 2.0
     *     @type \OS\PB\FileSystemResponse $FileDelete
     *           > 2.0
     *     @type \OS\PB\FileSystemResponse $FileCopy
     *           > 2.0
     *     @type \OS\PB\DeviceConnectRPC $ConnectAnswer
     *     @type \OS\PB\DeviceConnectRPC $ConnectSuccess
     *     @type \OS\PB\CodeHopResponse $CodeHopEnroll
     *           The CodeHop Serial that were read back to be provided to cloud
     *     @type \OS\PB\DFUResponse $DFUInitiate
     *           1.1 Response to DFU Request
     *     @type \OS\PB\DFUResponse $DFUStatus
     *           Request status of DFU
     *     @type \OS\PB\DFUResponse $DFUCancel
     *           Request cancellation of DFU process
     *     @type \OS\PB\HTTPResponse $HTTP
     *           miscellaneous
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Rpc::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>uint32 InterfaceIndex = 1;</code>
     * @return int
     */
    public function getInterfaceIndex()
    {
        return $this->InterfaceIndex;
    }

    /**
     * Generated from protobuf field <code>uint32 InterfaceIndex = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setInterfaceIndex($var)
    {
        GPBUtil::checkUint32($var);
        $this->InterfaceIndex = $var;

        return $this;
    }

    /**
     * used to divide a singular response into more than 1 messages. This is the index of the segment starting from 0.
     *
     * Generated from protobuf field <code>uint32 SegmentIndex = 2;</code>
     * @return int
     */
    public function getSegmentIndex()
    {
        return $this->SegmentIndex;
    }

    /**
     * used to divide a singular response into more than 1 messages. This is the index of the segment starting from 0.
     *
     * Generated from protobuf field <code>uint32 SegmentIndex = 2;</code>
     * @param int $var
     * @return $this
     */
    public function setSegmentIndex($var)
    {
        GPBUtil::checkUint32($var);
        $this->SegmentIndex = $var;

        return $this;
    }

    /**
     * used to divide a singular response into more than 1 messages. 0 is the same as 1, only if 2 or more then destination awaits for response to complete.
     *
     * Generated from protobuf field <code>uint32 SegmentTotal = 3;</code>
     * @return int
     */
    public function getSegmentTotal()
    {
        return $this->SegmentTotal;
    }

    /**
     * used to divide a singular response into more than 1 messages. 0 is the same as 1, only if 2 or more then destination awaits for response to complete.
     *
     * Generated from protobuf field <code>uint32 SegmentTotal = 3;</code>
     * @param int $var
     * @return $this
     */
    public function setSegmentTotal($var)
    {
        GPBUtil::checkUint32($var);
        $this->SegmentTotal = $var;

        return $this;
    }

    /**
     * non-networkable interfaces
     *
     * Generated from protobuf field <code>.OS.PB.WiegandResponse WiegandInfo = 5;</code>
     * @return \OS\PB\WiegandResponse|null
     */
    public function getWiegandInfo()
    {
        return $this->readOneof(5);
    }

    public function hasWiegandInfo()
    {
        return $this->hasOneof(5);
    }

    /**
     * non-networkable interfaces
     *
     * Generated from protobuf field <code>.OS.PB.WiegandResponse WiegandInfo = 5;</code>
     * @param \OS\PB\WiegandResponse $var
     * @return $this
     */
    public function setWiegandInfo($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\WiegandResponse::class);
        $this->writeOneof(5, $var);

        return $this;
    }

    /**
     * 1.4 Response to Input Info Request
     *
     * Generated from protobuf field <code>.OS.PB.InputResponse InputInfo = 6;</code>
     * @return \OS\PB\InputResponse|null
     */
    public function getInputInfo()
    {
        return $this->readOneof(6);
    }

    public function hasInputInfo()
    {
        return $this->hasOneof(6);
    }

    /**
     * 1.4 Response to Input Info Request
     *
     * Generated from protobuf field <code>.OS.PB.InputResponse InputInfo = 6;</code>
     * @param \OS\PB\InputResponse $var
     * @return $this
     */
    public function setInputInfo($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\InputResponse::class);
        $this->writeOneof(6, $var);

        return $this;
    }

    /**
     * networkable interfaces
     *
     * Generated from protobuf field <code>.OS.PB.RS485Response RS485Info = 8;</code>
     * @return \OS\PB\RS485Response|null
     */
    public function getRS485Info()
    {
        return $this->readOneof(8);
    }

    public function hasRS485Info()
    {
        return $this->hasOneof(8);
    }

    /**
     * networkable interfaces
     *
     * Generated from protobuf field <code>.OS.PB.RS485Response RS485Info = 8;</code>
     * @param \OS\PB\RS485Response $var
     * @return $this
     */
    public function setRS485Info($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\RS485Response::class);
        $this->writeOneof(8, $var);

        return $this;
    }

    /**
     * 1.4 Response to BLE Info Request
     *
     * Generated from protobuf field <code>.OS.PB.BLEResponse BLEInfo = 9;</code>
     * @return \OS\PB\BLEResponse|null
     */
    public function getBLEInfo()
    {
        return $this->readOneof(9);
    }

    public function hasBLEInfo()
    {
        return $this->hasOneof(9);
    }

    /**
     * 1.4 Response to BLE Info Request
     *
     * Generated from protobuf field <code>.OS.PB.BLEResponse BLEInfo = 9;</code>
     * @param \OS\PB\BLEResponse $var
     * @return $this
     */
    public function setBLEInfo($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\BLEResponse::class);
        $this->writeOneof(9, $var);

        return $this;
    }

    /**
     * 1.4 Response to BLELongRange Info Request
     *
     * Generated from protobuf field <code>.OS.PB.BLEResponse BLELongRangeInfo = 10;</code>
     * @return \OS\PB\BLEResponse|null
     */
    public function getBLELongRangeInfo()
    {
        return $this->readOneof(10);
    }

    public function hasBLELongRangeInfo()
    {
        return $this->hasOneof(10);
    }

    /**
     * 1.4 Response to BLELongRange Info Request
     *
     * Generated from protobuf field <code>.OS.PB.BLEResponse BLELongRangeInfo = 10;</code>
     * @param \OS\PB\BLEResponse $var
     * @return $this
     */
    public function setBLELongRangeInfo($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\BLEResponse::class);
        $this->writeOneof(10, $var);

        return $this;
    }

    /**
     * 1.1 Response to ModemInfo Request
     *
     * Generated from protobuf field <code>.OS.PB.ModemResponse ModemInfo = 11;</code>
     * @return \OS\PB\ModemResponse|null
     */
    public function getModemInfo()
    {
        return $this->readOneof(11);
    }

    public function hasModemInfo()
    {
        return $this->hasOneof(11);
    }

    /**
     * 1.1 Response to ModemInfo Request
     *
     * Generated from protobuf field <code>.OS.PB.ModemResponse ModemInfo = 11;</code>
     * @param \OS\PB\ModemResponse $var
     * @return $this
     */
    public function setModemInfo($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\ModemResponse::class);
        $this->writeOneof(11, $var);

        return $this;
    }

    /**
     * 1.4 Response to EthernetInfo Request
     *
     * Generated from protobuf field <code>.OS.PB.EthernetResponse EthernetInfo = 12;</code>
     * @return \OS\PB\EthernetResponse|null
     */
    public function getEthernetInfo()
    {
        return $this->readOneof(12);
    }

    public function hasEthernetInfo()
    {
        return $this->hasOneof(12);
    }

    /**
     * 1.4 Response to EthernetInfo Request
     *
     * Generated from protobuf field <code>.OS.PB.EthernetResponse EthernetInfo = 12;</code>
     * @param \OS\PB\EthernetResponse $var
     * @return $this
     */
    public function setEthernetInfo($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\EthernetResponse::class);
        $this->writeOneof(12, $var);

        return $this;
    }

    /**
     * 1.4 FW Only: Request a connection to another device
     *
     * Generated from protobuf field <code>.OS.PB.DeviceConnectRPC DeviceConnect = 15;</code>
     * @return \OS\PB\DeviceConnectRPC|null
     */
    public function getDeviceConnect()
    {
        return $this->readOneof(15);
    }

    public function hasDeviceConnect()
    {
        return $this->hasOneof(15);
    }

    /**
     * 1.4 FW Only: Request a connection to another device
     *
     * Generated from protobuf field <code>.OS.PB.DeviceConnectRPC DeviceConnect = 15;</code>
     * @param \OS\PB\DeviceConnectRPC $var
     * @return $this
     */
    public function setDeviceConnect($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\DeviceConnectRPC::class);
        $this->writeOneof(15, $var);

        return $this;
    }

    /**
     * oneaccess system
     *
     * Generated from protobuf field <code>.OS.PB.AccessResponse AccessSimulate = 20;</code>
     * @return \OS\PB\AccessResponse|null
     */
    public function getAccessSimulate()
    {
        return $this->readOneof(20);
    }

    public function hasAccessSimulate()
    {
        return $this->hasOneof(20);
    }

    /**
     * oneaccess system
     *
     * Generated from protobuf field <code>.OS.PB.AccessResponse AccessSimulate = 20;</code>
     * @param \OS\PB\AccessResponse $var
     * @return $this
     */
    public function setAccessSimulate($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\AccessResponse::class);
        $this->writeOneof(20, $var);

        return $this;
    }

    /**
     * Provides either a success, with the Method enroled, or failed result
     *
     * Generated from protobuf field <code>.OS.PB.AccessResponse AccessEnrol = 21;</code>
     * @return \OS\PB\AccessResponse|null
     */
    public function getAccessEnrol()
    {
        return $this->readOneof(21);
    }

    public function hasAccessEnrol()
    {
        return $this->hasOneof(21);
    }

    /**
     * Provides either a success, with the Method enroled, or failed result
     *
     * Generated from protobuf field <code>.OS.PB.AccessResponse AccessEnrol = 21;</code>
     * @param \OS\PB\AccessResponse $var
     * @return $this
     */
    public function setAccessEnrol($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\AccessResponse::class);
        $this->writeOneof(21, $var);

        return $this;
    }

    /**
     * device system
     *
     * Generated from protobuf field <code>.OS.PB.DeviceResponse DeviceInfo = 300;</code>
     * @return \OS\PB\DeviceResponse|null
     */
    public function getDeviceInfo()
    {
        return $this->readOneof(300);
    }

    public function hasDeviceInfo()
    {
        return $this->hasOneof(300);
    }

    /**
     * device system
     *
     * Generated from protobuf field <code>.OS.PB.DeviceResponse DeviceInfo = 300;</code>
     * @param \OS\PB\DeviceResponse $var
     * @return $this
     */
    public function setDeviceInfo($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\DeviceResponse::class);
        $this->writeOneof(300, $var);

        return $this;
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse DirectoryCreate = 310;</code>
     * @return \OS\PB\FileSystemResponse|null
     */
    public function getDirectoryCreate()
    {
        return $this->readOneof(310);
    }

    public function hasDirectoryCreate()
    {
        return $this->hasOneof(310);
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse DirectoryCreate = 310;</code>
     * @param \OS\PB\FileSystemResponse $var
     * @return $this
     */
    public function setDirectoryCreate($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\FileSystemResponse::class);
        $this->writeOneof(310, $var);

        return $this;
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse DirectoryDelete = 311;</code>
     * @return \OS\PB\FileSystemResponse|null
     */
    public function getDirectoryDelete()
    {
        return $this->readOneof(311);
    }

    public function hasDirectoryDelete()
    {
        return $this->hasOneof(311);
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse DirectoryDelete = 311;</code>
     * @param \OS\PB\FileSystemResponse $var
     * @return $this
     */
    public function setDirectoryDelete($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\FileSystemResponse::class);
        $this->writeOneof(311, $var);

        return $this;
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse DirectorySearch = 312;</code>
     * @return \OS\PB\FileSystemResponse|null
     */
    public function getDirectorySearch()
    {
        return $this->readOneof(312);
    }

    public function hasDirectorySearch()
    {
        return $this->hasOneof(312);
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse DirectorySearch = 312;</code>
     * @param \OS\PB\FileSystemResponse $var
     * @return $this
     */
    public function setDirectorySearch($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\FileSystemResponse::class);
        $this->writeOneof(312, $var);

        return $this;
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse FileRead = 313;</code>
     * @return \OS\PB\FileSystemResponse|null
     */
    public function getFileRead()
    {
        return $this->readOneof(313);
    }

    public function hasFileRead()
    {
        return $this->hasOneof(313);
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse FileRead = 313;</code>
     * @param \OS\PB\FileSystemResponse $var
     * @return $this
     */
    public function setFileRead($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\FileSystemResponse::class);
        $this->writeOneof(313, $var);

        return $this;
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse FileWrite = 314;</code>
     * @return \OS\PB\FileSystemResponse|null
     */
    public function getFileWrite()
    {
        return $this->readOneof(314);
    }

    public function hasFileWrite()
    {
        return $this->hasOneof(314);
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse FileWrite = 314;</code>
     * @param \OS\PB\FileSystemResponse $var
     * @return $this
     */
    public function setFileWrite($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\FileSystemResponse::class);
        $this->writeOneof(314, $var);

        return $this;
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse FileDelete = 315;</code>
     * @return \OS\PB\FileSystemResponse|null
     */
    public function getFileDelete()
    {
        return $this->readOneof(315);
    }

    public function hasFileDelete()
    {
        return $this->hasOneof(315);
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse FileDelete = 315;</code>
     * @param \OS\PB\FileSystemResponse $var
     * @return $this
     */
    public function setFileDelete($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\FileSystemResponse::class);
        $this->writeOneof(315, $var);

        return $this;
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse FileCopy = 316;</code>
     * @return \OS\PB\FileSystemResponse|null
     */
    public function getFileCopy()
    {
        return $this->readOneof(316);
    }

    public function hasFileCopy()
    {
        return $this->hasOneof(316);
    }

    /**
     * > 2.0
     *
     * Generated from protobuf field <code>.OS.PB.FileSystemResponse FileCopy = 316;</code>
     * @param \OS\PB\FileSystemResponse $var
     * @return $this
     */
    public function setFileCopy($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\FileSystemResponse::class);
        $this->writeOneof(316, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.OS.PB.DeviceConnectRPC ConnectAnswer = 320;</code>
     * @return \OS\PB\DeviceConnectRPC|null
     */
    public function getConnectAnswer()
    {
        return $this->readOneof(320);
    }

    public function hasConnectAnswer()
    {
        return $this->hasOneof(320);
    }

    /**
     * Generated from protobuf field <code>.OS.PB.DeviceConnectRPC ConnectAnswer = 320;</code>
     * @param \OS\PB\DeviceConnectRPC $var
     * @return $this
     */
    public function setConnectAnswer($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\DeviceConnectRPC::class);
        $this->writeOneof(320, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.OS.PB.DeviceConnectRPC ConnectSuccess = 321;</code>
     * @return \OS\PB\DeviceConnectRPC|null
     */
    public function getConnectSuccess()
    {
        return $this->readOneof(321);
    }

    public function hasConnectSuccess()
    {
        return $this->hasOneof(321);
    }

    /**
     * Generated from protobuf field <code>.OS.PB.DeviceConnectRPC ConnectSuccess = 321;</code>
     * @param \OS\PB\DeviceConnectRPC $var
     * @return $this
     */
    public function setConnectSuccess($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\DeviceConnectRPC::class);
        $this->writeOneof(321, $var);

        return $this;
    }

    /**
     * The CodeHop Serial that were read back to be provided to cloud
     *
     * Generated from protobuf field <code>.OS.PB.CodeHopResponse CodeHopEnroll = 330;</code>
     * @return \OS\PB\CodeHopResponse|null
     */
    public function getCodeHopEnroll()
    {
        return $this->readOneof(330);
    }

    public function hasCodeHopEnroll()
    {
        return $this->hasOneof(330);
    }

    /**
     * The CodeHop Serial that were read back to be provided to cloud
     *
     * Generated from protobuf field <code>.OS.PB.CodeHopResponse CodeHopEnroll = 330;</code>
     * @param \OS\PB\CodeHopResponse $var
     * @return $this
     */
    public function setCodeHopEnroll($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\CodeHopResponse::class);
        $this->writeOneof(330, $var);

        return $this;
    }

    /**
     * 1.1 Response to DFU Request
     *
     * Generated from protobuf field <code>.OS.PB.DFUResponse DFUInitiate = 350;</code>
     * @return \OS\PB\DFUResponse|null
     */
    public function getDFUInitiate()
    {
        return $this->readOneof(350);
    }

    public function hasDFUInitiate()
    {
        return $this->hasOneof(350);
    }

    /**
     * 1.1 Response to DFU Request
     *
     * Generated from protobuf field <code>.OS.PB.DFUResponse DFUInitiate = 350;</code>
     * @param \OS\PB\DFUResponse $var
     * @return $this
     */
    public function setDFUInitiate($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\DFUResponse::class);
        $this->writeOneof(350, $var);

        return $this;
    }

    /**
     * Request status of DFU
     *
     * Generated from protobuf field <code>.OS.PB.DFUResponse DFUStatus = 351;</code>
     * @return \OS\PB\DFUResponse|null
     */
    public function getDFUStatus()
    {
        return $this->readOneof(351);
    }

    public function hasDFUStatus()
    {
        return $this->hasOneof(351);
    }

    /**
     * Request status of DFU
     *
     * Generated from protobuf field <code>.OS.PB.DFUResponse DFUStatus = 351;</code>
     * @param \OS\PB\DFUResponse $var
     * @return $this
     */
    public function setDFUStatus($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\DFUResponse::class);
        $this->writeOneof(351, $var);

        return $this;
    }

    /**
     * Request cancellation of DFU process
     *
     * Generated from protobuf field <code>.OS.PB.DFUResponse DFUCancel = 352;</code>
     * @return \OS\PB\DFUResponse|null
     */
    public function getDFUCancel()
    {
        return $this->readOneof(352);
    }

    public function hasDFUCancel()
    {
        return $this->hasOneof(352);
    }

    /**
     * Request cancellation of DFU process
     *
     * Generated from protobuf field <code>.OS.PB.DFUResponse DFUCancel = 352;</code>
     * @param \OS\PB\DFUResponse $var
     * @return $this
     */
    public function setDFUCancel($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\DFUResponse::class);
        $this->writeOneof(352, $var);

        return $this;
    }

    /**
     * miscellaneous
     *
     * Generated from protobuf field <code>.OS.PB.HTTPResponse HTTP = 80;</code>
     * @return \OS\PB\HTTPResponse|null
     */
    public function getHTTP()
    {
        return $this->readOneof(80);
    }

    public function hasHTTP()
    {
        return $this->hasOneof(80);
    }

    /**
     * miscellaneous
     *
     * Generated from protobuf field <code>.OS.PB.HTTPResponse HTTP = 80;</code>
     * @param \OS\PB\HTTPResponse $var
     * @return $this
     */
    public function setHTTP($var)
    {
        GPBUtil::checkMessage($var, \OS\PB\HTTPResponse::class);
        $this->writeOneof(80, $var);

        return $this;
    }

    /**
     * @return string
     */
    public function getResponseType()
    {
        return $this->whichOneof("ResponseType");
    }

}

