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

namespace Livekit;

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

/**
 * Generated from protobuf message <code>livekit.WebhookInfo</code>
 */
class WebhookInfo extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>string event_id = 1 [(.logger.name) = "eventID"];</code>
     */
    protected $event_id = '';
    /**
     * Generated from protobuf field <code>string event = 2;</code>
     */
    protected $event = '';
    /**
     * Generated from protobuf field <code>string project_id = 3 [(.logger.name) = "projectID"];</code>
     */
    protected $project_id = '';
    /**
     * Generated from protobuf field <code>string room_name = 4;</code>
     */
    protected $room_name = '';
    /**
     * Generated from protobuf field <code>string room_id = 5 [(.logger.name) = "roomID"];</code>
     */
    protected $room_id = '';
    /**
     * Generated from protobuf field <code>string participant_identity = 6;</code>
     */
    protected $participant_identity = '';
    /**
     * Generated from protobuf field <code>string participant_id = 7 [(.logger.name) = "participantID"];</code>
     */
    protected $participant_id = '';
    /**
     * Generated from protobuf field <code>string track_id = 8 [(.logger.name) = "trackID"];</code>
     */
    protected $track_id = '';
    /**
     * Generated from protobuf field <code>string egress_id = 9 [(.logger.name) = "egressID"];</code>
     */
    protected $egress_id = '';
    /**
     * Generated from protobuf field <code>string ingress_id = 10 [(.logger.name) = "ingressID"];</code>
     */
    protected $ingress_id = '';
    /**
     * Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 11;</code>
     */
    protected $created_at = null;
    /**
     * Generated from protobuf field <code>.google.protobuf.Timestamp queued_at = 12;</code>
     */
    protected $queued_at = null;
    /**
     * Generated from protobuf field <code>int64 queue_duration_ns = 13;</code>
     */
    protected $queue_duration_ns = 0;
    /**
     * Generated from protobuf field <code>.google.protobuf.Timestamp sent_at = 14;</code>
     */
    protected $sent_at = null;
    /**
     * Generated from protobuf field <code>int64 send_duration_ns = 15;</code>
     */
    protected $send_duration_ns = 0;
    /**
     * Generated from protobuf field <code>string url = 16;</code>
     */
    protected $url = '';
    /**
     * Generated from protobuf field <code>int32 num_dropped = 17;</code>
     */
    protected $num_dropped = 0;
    /**
     * Generated from protobuf field <code>bool is_dropped = 18;</code>
     */
    protected $is_dropped = false;
    /**
     * Generated from protobuf field <code>string service_status = 19;</code>
     */
    protected $service_status = '';
    /**
     * Generated from protobuf field <code>int32 service_error_code = 20;</code>
     */
    protected $service_error_code = 0;
    /**
     * Generated from protobuf field <code>string service_error = 21;</code>
     */
    protected $service_error = '';
    /**
     * Generated from protobuf field <code>string send_error = 22;</code>
     */
    protected $send_error = '';

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $event_id
     *     @type string $event
     *     @type string $project_id
     *     @type string $room_name
     *     @type string $room_id
     *     @type string $participant_identity
     *     @type string $participant_id
     *     @type string $track_id
     *     @type string $egress_id
     *     @type string $ingress_id
     *     @type \Google\Protobuf\Timestamp $created_at
     *     @type \Google\Protobuf\Timestamp $queued_at
     *     @type int|string $queue_duration_ns
     *     @type \Google\Protobuf\Timestamp $sent_at
     *     @type int|string $send_duration_ns
     *     @type string $url
     *     @type int $num_dropped
     *     @type bool $is_dropped
     *     @type string $service_status
     *     @type int $service_error_code
     *     @type string $service_error
     *     @type string $send_error
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\LivekitAnalytics::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>string event_id = 1 [(.logger.name) = "eventID"];</code>
     * @return string
     */
    public function getEventId()
    {
        return $this->event_id;
    }

    /**
     * Generated from protobuf field <code>string event_id = 1 [(.logger.name) = "eventID"];</code>
     * @param string $var
     * @return $this
     */
    public function setEventId($var)
    {
        GPBUtil::checkString($var, True);
        $this->event_id = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string event = 2;</code>
     * @return string
     */
    public function getEvent()
    {
        return $this->event;
    }

    /**
     * Generated from protobuf field <code>string event = 2;</code>
     * @param string $var
     * @return $this
     */
    public function setEvent($var)
    {
        GPBUtil::checkString($var, True);
        $this->event = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string project_id = 3 [(.logger.name) = "projectID"];</code>
     * @return string
     */
    public function getProjectId()
    {
        return $this->project_id;
    }

    /**
     * Generated from protobuf field <code>string project_id = 3 [(.logger.name) = "projectID"];</code>
     * @param string $var
     * @return $this
     */
    public function setProjectId($var)
    {
        GPBUtil::checkString($var, True);
        $this->project_id = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string room_name = 4;</code>
     * @return string
     */
    public function getRoomName()
    {
        return $this->room_name;
    }

    /**
     * Generated from protobuf field <code>string room_name = 4;</code>
     * @param string $var
     * @return $this
     */
    public function setRoomName($var)
    {
        GPBUtil::checkString($var, True);
        $this->room_name = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string room_id = 5 [(.logger.name) = "roomID"];</code>
     * @return string
     */
    public function getRoomId()
    {
        return $this->room_id;
    }

    /**
     * Generated from protobuf field <code>string room_id = 5 [(.logger.name) = "roomID"];</code>
     * @param string $var
     * @return $this
     */
    public function setRoomId($var)
    {
        GPBUtil::checkString($var, True);
        $this->room_id = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string participant_identity = 6;</code>
     * @return string
     */
    public function getParticipantIdentity()
    {
        return $this->participant_identity;
    }

    /**
     * Generated from protobuf field <code>string participant_identity = 6;</code>
     * @param string $var
     * @return $this
     */
    public function setParticipantIdentity($var)
    {
        GPBUtil::checkString($var, True);
        $this->participant_identity = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string participant_id = 7 [(.logger.name) = "participantID"];</code>
     * @return string
     */
    public function getParticipantId()
    {
        return $this->participant_id;
    }

    /**
     * Generated from protobuf field <code>string participant_id = 7 [(.logger.name) = "participantID"];</code>
     * @param string $var
     * @return $this
     */
    public function setParticipantId($var)
    {
        GPBUtil::checkString($var, True);
        $this->participant_id = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string track_id = 8 [(.logger.name) = "trackID"];</code>
     * @return string
     */
    public function getTrackId()
    {
        return $this->track_id;
    }

    /**
     * Generated from protobuf field <code>string track_id = 8 [(.logger.name) = "trackID"];</code>
     * @param string $var
     * @return $this
     */
    public function setTrackId($var)
    {
        GPBUtil::checkString($var, True);
        $this->track_id = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string egress_id = 9 [(.logger.name) = "egressID"];</code>
     * @return string
     */
    public function getEgressId()
    {
        return $this->egress_id;
    }

    /**
     * Generated from protobuf field <code>string egress_id = 9 [(.logger.name) = "egressID"];</code>
     * @param string $var
     * @return $this
     */
    public function setEgressId($var)
    {
        GPBUtil::checkString($var, True);
        $this->egress_id = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string ingress_id = 10 [(.logger.name) = "ingressID"];</code>
     * @return string
     */
    public function getIngressId()
    {
        return $this->ingress_id;
    }

    /**
     * Generated from protobuf field <code>string ingress_id = 10 [(.logger.name) = "ingressID"];</code>
     * @param string $var
     * @return $this
     */
    public function setIngressId($var)
    {
        GPBUtil::checkString($var, True);
        $this->ingress_id = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 11;</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getCreatedAt()
    {
        return $this->created_at;
    }

    public function hasCreatedAt()
    {
        return isset($this->created_at);
    }

    public function clearCreatedAt()
    {
        unset($this->created_at);
    }

    /**
     * Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 11;</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setCreatedAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->created_at = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.google.protobuf.Timestamp queued_at = 12;</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getQueuedAt()
    {
        return $this->queued_at;
    }

    public function hasQueuedAt()
    {
        return isset($this->queued_at);
    }

    public function clearQueuedAt()
    {
        unset($this->queued_at);
    }

    /**
     * Generated from protobuf field <code>.google.protobuf.Timestamp queued_at = 12;</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setQueuedAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->queued_at = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>int64 queue_duration_ns = 13;</code>
     * @return int|string
     */
    public function getQueueDurationNs()
    {
        return $this->queue_duration_ns;
    }

    /**
     * Generated from protobuf field <code>int64 queue_duration_ns = 13;</code>
     * @param int|string $var
     * @return $this
     */
    public function setQueueDurationNs($var)
    {
        GPBUtil::checkInt64($var);
        $this->queue_duration_ns = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.google.protobuf.Timestamp sent_at = 14;</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getSentAt()
    {
        return $this->sent_at;
    }

    public function hasSentAt()
    {
        return isset($this->sent_at);
    }

    public function clearSentAt()
    {
        unset($this->sent_at);
    }

    /**
     * Generated from protobuf field <code>.google.protobuf.Timestamp sent_at = 14;</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setSentAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->sent_at = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>int64 send_duration_ns = 15;</code>
     * @return int|string
     */
    public function getSendDurationNs()
    {
        return $this->send_duration_ns;
    }

    /**
     * Generated from protobuf field <code>int64 send_duration_ns = 15;</code>
     * @param int|string $var
     * @return $this
     */
    public function setSendDurationNs($var)
    {
        GPBUtil::checkInt64($var);
        $this->send_duration_ns = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string url = 16;</code>
     * @return string
     */
    public function getUrl()
    {
        return $this->url;
    }

    /**
     * Generated from protobuf field <code>string url = 16;</code>
     * @param string $var
     * @return $this
     */
    public function setUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->url = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>int32 num_dropped = 17;</code>
     * @return int
     */
    public function getNumDropped()
    {
        return $this->num_dropped;
    }

    /**
     * Generated from protobuf field <code>int32 num_dropped = 17;</code>
     * @param int $var
     * @return $this
     */
    public function setNumDropped($var)
    {
        GPBUtil::checkInt32($var);
        $this->num_dropped = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>bool is_dropped = 18;</code>
     * @return bool
     */
    public function getIsDropped()
    {
        return $this->is_dropped;
    }

    /**
     * Generated from protobuf field <code>bool is_dropped = 18;</code>
     * @param bool $var
     * @return $this
     */
    public function setIsDropped($var)
    {
        GPBUtil::checkBool($var);
        $this->is_dropped = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string service_status = 19;</code>
     * @return string
     */
    public function getServiceStatus()
    {
        return $this->service_status;
    }

    /**
     * Generated from protobuf field <code>string service_status = 19;</code>
     * @param string $var
     * @return $this
     */
    public function setServiceStatus($var)
    {
        GPBUtil::checkString($var, True);
        $this->service_status = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>int32 service_error_code = 20;</code>
     * @return int
     */
    public function getServiceErrorCode()
    {
        return $this->service_error_code;
    }

    /**
     * Generated from protobuf field <code>int32 service_error_code = 20;</code>
     * @param int $var
     * @return $this
     */
    public function setServiceErrorCode($var)
    {
        GPBUtil::checkInt32($var);
        $this->service_error_code = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string service_error = 21;</code>
     * @return string
     */
    public function getServiceError()
    {
        return $this->service_error;
    }

    /**
     * Generated from protobuf field <code>string service_error = 21;</code>
     * @param string $var
     * @return $this
     */
    public function setServiceError($var)
    {
        GPBUtil::checkString($var, True);
        $this->service_error = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string send_error = 22;</code>
     * @return string
     */
    public function getSendError()
    {
        return $this->send_error;
    }

    /**
     * Generated from protobuf field <code>string send_error = 22;</code>
     * @param string $var
     * @return $this
     */
    public function setSendError($var)
    {
        GPBUtil::checkString($var, True);
        $this->send_error = $var;

        return $this;
    }

}

