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

namespace Google\Ads\GoogleAds\V22\Common;

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

/**
 * Container for Customer level third party integration partners.
 *
 * Generated from protobuf message <code>google.ads.googleads.v22.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.v22.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.v22.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.v22.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.v22.common.CustomerThirdPartyReachIntegrationPartner reach_integration_partners = 4;</code>
     */
    private $reach_integration_partners;

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

    /**
     * Allowed third party integration partners for YouTube viewability
     * verification.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v22.common.CustomerThirdPartyViewabilityIntegrationPartner viewability_integration_partners = 1;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    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.v22.common.CustomerThirdPartyViewabilityIntegrationPartner viewability_integration_partners = 1;</code>
     * @param array<\Google\Ads\GoogleAds\V22\Common\CustomerThirdPartyViewabilityIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setViewabilityIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V22\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.v22.common.CustomerThirdPartyBrandLiftIntegrationPartner brand_lift_integration_partners = 2;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    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.v22.common.CustomerThirdPartyBrandLiftIntegrationPartner brand_lift_integration_partners = 2;</code>
     * @param array<\Google\Ads\GoogleAds\V22\Common\CustomerThirdPartyBrandLiftIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setBrandLiftIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V22\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.v22.common.CustomerThirdPartyBrandSafetyIntegrationPartner brand_safety_integration_partners = 3;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    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.v22.common.CustomerThirdPartyBrandSafetyIntegrationPartner brand_safety_integration_partners = 3;</code>
     * @param array<\Google\Ads\GoogleAds\V22\Common\CustomerThirdPartyBrandSafetyIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setBrandSafetyIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V22\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.v22.common.CustomerThirdPartyReachIntegrationPartner reach_integration_partners = 4;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    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.v22.common.CustomerThirdPartyReachIntegrationPartner reach_integration_partners = 4;</code>
     * @param array<\Google\Ads\GoogleAds\V22\Common\CustomerThirdPartyReachIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setReachIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V22\Common\CustomerThirdPartyReachIntegrationPartner::class);
        $this->reach_integration_partners = $arr;

        return $this;
    }

}

