<?php
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/ads/googleads/v24/common/third_party_integration_partners.proto

namespace Google\Ads\GoogleAds\V24\Common;

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

/**
 * Container for Customer level third party integration partners.
 *
 * Generated from protobuf message <code>google.ads.googleads.v24.common.CustomerThirdPartyIntegrationPartners</code>
 */
class CustomerThirdPartyIntegrationPartners extends \Google\Protobuf\Internal\Message
{
    /**
     * Allowed third party integration partners for YouTube viewability
     * verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyViewabilityIntegrationPartner viewability_integration_partners = 1;</code>
     */
    private $viewability_integration_partners;
    /**
     * Allowed third party integration partners for Brand Lift verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyBrandLiftIntegrationPartner brand_lift_integration_partners = 2;</code>
     */
    private $brand_lift_integration_partners;
    /**
     * Allowed third party integration partners for brand safety verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyBrandSafetyIntegrationPartner brand_safety_integration_partners = 3;</code>
     */
    private $brand_safety_integration_partners;
    /**
     * Allowed third party integration partners for reach verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyReachIntegrationPartner reach_integration_partners = 4;</code>
     */
    private $reach_integration_partners;

    /**
     * Constructor.
     *
     * @param array $data {
     *                    Optional. Data for populating the Message object.
     *
     * @type \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyViewabilityIntegrationPartner[] $viewability_integration_partners
     *           Allowed third party integration partners for YouTube viewability
     *           verification.
     * @type \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyBrandLiftIntegrationPartner[] $brand_lift_integration_partners
     *           Allowed third party integration partners for Brand Lift verification.
     * @type \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyBrandSafetyIntegrationPartner[] $brand_safety_integration_partners
     *           Allowed third party integration partners for brand safety verification.
     * @type \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyReachIntegrationPartner[] $reach_integration_partners
     *           Allowed third party integration partners for reach verification.
     * }
     */
    public function __construct($data = null)
    {
        \GPBMetadata\Google\Ads\GoogleAds\V24\Common\ThirdPartyIntegrationPartners::initOnce();
        parent::__construct($data);
    }

    /**
     * Allowed third party integration partners for YouTube viewability
     * verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyViewabilityIntegrationPartner viewability_integration_partners = 1;</code>
     *
     * @return RepeatedField<\Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyViewabilityIntegrationPartner>
     */
    public function getViewabilityIntegrationPartners()
    {
        return $this->viewability_integration_partners;
    }

    /**
     * Allowed third party integration partners for YouTube viewability
     * verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyViewabilityIntegrationPartner viewability_integration_partners = 1;</code>
     *
     * @param  \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyViewabilityIntegrationPartner[] $var
     * @return $this
     */
    public function setViewabilityIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyViewabilityIntegrationPartner::class);
        $this->viewability_integration_partners = $arr;

        return $this;
    }

    /**
     * Allowed third party integration partners for Brand Lift verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyBrandLiftIntegrationPartner brand_lift_integration_partners = 2;</code>
     *
     * @return RepeatedField<\Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyBrandLiftIntegrationPartner>
     */
    public function getBrandLiftIntegrationPartners()
    {
        return $this->brand_lift_integration_partners;
    }

    /**
     * Allowed third party integration partners for Brand Lift verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyBrandLiftIntegrationPartner brand_lift_integration_partners = 2;</code>
     *
     * @param  \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyBrandLiftIntegrationPartner[] $var
     * @return $this
     */
    public function setBrandLiftIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyBrandLiftIntegrationPartner::class);
        $this->brand_lift_integration_partners = $arr;

        return $this;
    }

    /**
     * Allowed third party integration partners for brand safety verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyBrandSafetyIntegrationPartner brand_safety_integration_partners = 3;</code>
     *
     * @return RepeatedField<\Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyBrandSafetyIntegrationPartner>
     */
    public function getBrandSafetyIntegrationPartners()
    {
        return $this->brand_safety_integration_partners;
    }

    /**
     * Allowed third party integration partners for brand safety verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyBrandSafetyIntegrationPartner brand_safety_integration_partners = 3;</code>
     *
     * @param  \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyBrandSafetyIntegrationPartner[] $var
     * @return $this
     */
    public function setBrandSafetyIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyBrandSafetyIntegrationPartner::class);
        $this->brand_safety_integration_partners = $arr;

        return $this;
    }

    /**
     * Allowed third party integration partners for reach verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyReachIntegrationPartner reach_integration_partners = 4;</code>
     *
     * @return RepeatedField<\Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyReachIntegrationPartner>
     */
    public function getReachIntegrationPartners()
    {
        return $this->reach_integration_partners;
    }

    /**
     * Allowed third party integration partners for reach verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v24.common.CustomerThirdPartyReachIntegrationPartner reach_integration_partners = 4;</code>
     *
     * @param  \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyReachIntegrationPartner[] $var
     * @return $this
     */
    public function setReachIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V24\Common\CustomerThirdPartyReachIntegrationPartner::class);
        $this->reach_integration_partners = $arr;

        return $this;
    }

}

