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

namespace OS\PB;

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

/**
 * Generated from protobuf message <code>OS.PB.OSDPAction</code>
 */
class OSDPAction extends \Google\Protobuf\Internal\Message
{
    /**
     * The address of the OSDP Reader to trigger
     *
     * Generated from protobuf field <code>uint32 Address = 2;</code>
     */
    protected $Address = 0;
    /**
     * LED, Output, Text: In Deciseconds (100ms), the temporary duration of the LED, Output and text
     *
     * Generated from protobuf field <code>uint32 DurationDs = 3;</code>
     */
    protected $DurationDs = 0;
    /**
     * LED, Output:       0 for first led/output, 1 for second etc etc. Leave as 0 by default
     *
     * Generated from protobuf field <code>uint32 ItemNo = 4;</code>
     */
    protected $ItemNo = 0;
    /**
     * LED Only:          Color when on
     *
     * Generated from protobuf field <code>.OS.PB.OSDPLEDColor OnColor = 5;</code>
     */
    protected $OnColor = 0;
    /**
     * LED, Buzzer:       In Deciseconds (100ms), how long buzzer or "on" color should be there for
     *
     * Generated from protobuf field <code>uint32 OnDurationDs = 6;</code>
     */
    protected $OnDurationDs = 0;
    /**
     * LED Only:          Color when off
     *
     * Generated from protobuf field <code>.OS.PB.OSDPLEDColor OffColor = 7;</code>
     */
    protected $OffColor = 0;
    /**
     * LED, Buzzer:       In Deciseconds (100ms), how long buzzer or "off" color should be there for
     *
     * Generated from protobuf field <code>uint32 OffDurationDs = 8;</code>
     */
    protected $OffDurationDs = 0;
    /**
     * Text Only:         The text to display, maximum 32 characters
     *
     * Generated from protobuf field <code>string Text = 9;</code>
     */
    protected $Text = '';
    /**
     * Buzzer Only:       How many times the buzzer turns on and off
     *
     * Generated from protobuf field <code>uint32 Repetitions = 10;</code>
     */
    protected $Repetitions = 0;
    /**
     * LED Only:          Whether this command makes the LED parameters permanent
     *
     * Generated from protobuf field <code>bool Permanent = 11;</code>
     */
    protected $Permanent = false;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $Address
     *           The address of the OSDP Reader to trigger
     *     @type int $DurationDs
     *           LED, Output, Text: In Deciseconds (100ms), the temporary duration of the LED, Output and text
     *     @type int $ItemNo
     *           LED, Output:       0 for first led/output, 1 for second etc etc. Leave as 0 by default
     *     @type int $OnColor
     *           LED Only:          Color when on
     *     @type int $OnDurationDs
     *           LED, Buzzer:       In Deciseconds (100ms), how long buzzer or "on" color should be there for
     *     @type int $OffColor
     *           LED Only:          Color when off
     *     @type int $OffDurationDs
     *           LED, Buzzer:       In Deciseconds (100ms), how long buzzer or "off" color should be there for
     *     @type string $Text
     *           Text Only:         The text to display, maximum 32 characters
     *     @type int $Repetitions
     *           Buzzer Only:       How many times the buzzer turns on and off
     *     @type bool $Permanent
     *           LED Only:          Whether this command makes the LED parameters permanent
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Osdp::initOnce();
        parent::__construct($data);
    }

    /**
     * The address of the OSDP Reader to trigger
     *
     * Generated from protobuf field <code>uint32 Address = 2;</code>
     * @return int
     */
    public function getAddress()
    {
        return $this->Address;
    }

    /**
     * The address of the OSDP Reader to trigger
     *
     * Generated from protobuf field <code>uint32 Address = 2;</code>
     * @param int $var
     * @return $this
     */
    public function setAddress($var)
    {
        GPBUtil::checkUint32($var);
        $this->Address = $var;

        return $this;
    }

    /**
     * LED, Output, Text: In Deciseconds (100ms), the temporary duration of the LED, Output and text
     *
     * Generated from protobuf field <code>uint32 DurationDs = 3;</code>
     * @return int
     */
    public function getDurationDs()
    {
        return $this->DurationDs;
    }

    /**
     * LED, Output, Text: In Deciseconds (100ms), the temporary duration of the LED, Output and text
     *
     * Generated from protobuf field <code>uint32 DurationDs = 3;</code>
     * @param int $var
     * @return $this
     */
    public function setDurationDs($var)
    {
        GPBUtil::checkUint32($var);
        $this->DurationDs = $var;

        return $this;
    }

    /**
     * LED, Output:       0 for first led/output, 1 for second etc etc. Leave as 0 by default
     *
     * Generated from protobuf field <code>uint32 ItemNo = 4;</code>
     * @return int
     */
    public function getItemNo()
    {
        return $this->ItemNo;
    }

    /**
     * LED, Output:       0 for first led/output, 1 for second etc etc. Leave as 0 by default
     *
     * Generated from protobuf field <code>uint32 ItemNo = 4;</code>
     * @param int $var
     * @return $this
     */
    public function setItemNo($var)
    {
        GPBUtil::checkUint32($var);
        $this->ItemNo = $var;

        return $this;
    }

    /**
     * LED Only:          Color when on
     *
     * Generated from protobuf field <code>.OS.PB.OSDPLEDColor OnColor = 5;</code>
     * @return int
     */
    public function getOnColor()
    {
        return $this->OnColor;
    }

    /**
     * LED Only:          Color when on
     *
     * Generated from protobuf field <code>.OS.PB.OSDPLEDColor OnColor = 5;</code>
     * @param int $var
     * @return $this
     */
    public function setOnColor($var)
    {
        GPBUtil::checkEnum($var, \OS\PB\OSDPLEDColor::class);
        $this->OnColor = $var;

        return $this;
    }

    /**
     * LED, Buzzer:       In Deciseconds (100ms), how long buzzer or "on" color should be there for
     *
     * Generated from protobuf field <code>uint32 OnDurationDs = 6;</code>
     * @return int
     */
    public function getOnDurationDs()
    {
        return $this->OnDurationDs;
    }

    /**
     * LED, Buzzer:       In Deciseconds (100ms), how long buzzer or "on" color should be there for
     *
     * Generated from protobuf field <code>uint32 OnDurationDs = 6;</code>
     * @param int $var
     * @return $this
     */
    public function setOnDurationDs($var)
    {
        GPBUtil::checkUint32($var);
        $this->OnDurationDs = $var;

        return $this;
    }

    /**
     * LED Only:          Color when off
     *
     * Generated from protobuf field <code>.OS.PB.OSDPLEDColor OffColor = 7;</code>
     * @return int
     */
    public function getOffColor()
    {
        return $this->OffColor;
    }

    /**
     * LED Only:          Color when off
     *
     * Generated from protobuf field <code>.OS.PB.OSDPLEDColor OffColor = 7;</code>
     * @param int $var
     * @return $this
     */
    public function setOffColor($var)
    {
        GPBUtil::checkEnum($var, \OS\PB\OSDPLEDColor::class);
        $this->OffColor = $var;

        return $this;
    }

    /**
     * LED, Buzzer:       In Deciseconds (100ms), how long buzzer or "off" color should be there for
     *
     * Generated from protobuf field <code>uint32 OffDurationDs = 8;</code>
     * @return int
     */
    public function getOffDurationDs()
    {
        return $this->OffDurationDs;
    }

    /**
     * LED, Buzzer:       In Deciseconds (100ms), how long buzzer or "off" color should be there for
     *
     * Generated from protobuf field <code>uint32 OffDurationDs = 8;</code>
     * @param int $var
     * @return $this
     */
    public function setOffDurationDs($var)
    {
        GPBUtil::checkUint32($var);
        $this->OffDurationDs = $var;

        return $this;
    }

    /**
     * Text Only:         The text to display, maximum 32 characters
     *
     * Generated from protobuf field <code>string Text = 9;</code>
     * @return string
     */
    public function getText()
    {
        return $this->Text;
    }

    /**
     * Text Only:         The text to display, maximum 32 characters
     *
     * Generated from protobuf field <code>string Text = 9;</code>
     * @param string $var
     * @return $this
     */
    public function setText($var)
    {
        GPBUtil::checkString($var, True);
        $this->Text = $var;

        return $this;
    }

    /**
     * Buzzer Only:       How many times the buzzer turns on and off
     *
     * Generated from protobuf field <code>uint32 Repetitions = 10;</code>
     * @return int
     */
    public function getRepetitions()
    {
        return $this->Repetitions;
    }

    /**
     * Buzzer Only:       How many times the buzzer turns on and off
     *
     * Generated from protobuf field <code>uint32 Repetitions = 10;</code>
     * @param int $var
     * @return $this
     */
    public function setRepetitions($var)
    {
        GPBUtil::checkUint32($var);
        $this->Repetitions = $var;

        return $this;
    }

    /**
     * LED Only:          Whether this command makes the LED parameters permanent
     *
     * Generated from protobuf field <code>bool Permanent = 11;</code>
     * @return bool
     */
    public function getPermanent()
    {
        return $this->Permanent;
    }

    /**
     * LED Only:          Whether this command makes the LED parameters permanent
     *
     * Generated from protobuf field <code>bool Permanent = 11;</code>
     * @param bool $var
     * @return $this
     */
    public function setPermanent($var)
    {
        GPBUtil::checkBool($var);
        $this->Permanent = $var;

        return $this;
    }

}

