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

namespace Google\Ads\GoogleAds\V23\Common;

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

/**
 * Container for Campaign level third party integration partners.
 *
 * Generated from protobuf message <code>google.ads.googleads.v23.common.CampaignThirdPartyIntegrationPartners</code>
 */
class CampaignThirdPartyIntegrationPartners extends \Google\Protobuf\Internal\Message
{
    /**
     * Third party integration partners for YouTube viewability
     * verification for this Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyViewabilityIntegrationPartner viewability_integration_partners = 1;</code>
     */
    private $viewability_integration_partners;
    /**
     * Third party integration partners for Brand Lift verification for this
     * Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyBrandLiftIntegrationPartner brand_lift_integration_partners = 2;</code>
     */
    private $brand_lift_integration_partners;
    /**
     * Third party integration partners for brand safety verification for this
     * Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyBrandSafetyIntegrationPartner brand_safety_integration_partners = 3;</code>
     */
    private $brand_safety_integration_partners;
    /**
     * Third party integration partners for reach verification for this Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyReachIntegrationPartner 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\V23\Common\CampaignThirdPartyViewabilityIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $viewability_integration_partners
     *           Third party integration partners for YouTube viewability
     *           verification for this Campaign.
     *     @type array<\Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyBrandLiftIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $brand_lift_integration_partners
     *           Third party integration partners for Brand Lift verification for this
     *           Campaign.
     *     @type array<\Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyBrandSafetyIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $brand_safety_integration_partners
     *           Third party integration partners for brand safety verification for this
     *           Campaign.
     *     @type array<\Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyReachIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $reach_integration_partners
     *           Third party integration partners for reach verification for this Campaign.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Ads\GoogleAds\V23\Common\ThirdPartyIntegrationPartners::initOnce();
        parent::__construct($data);
    }

    /**
     * Third party integration partners for YouTube viewability
     * verification for this Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyViewabilityIntegrationPartner viewability_integration_partners = 1;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getViewabilityIntegrationPartners()
    {
        return $this->viewability_integration_partners;
    }

    /**
     * Third party integration partners for YouTube viewability
     * verification for this Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyViewabilityIntegrationPartner viewability_integration_partners = 1;</code>
     * @param array<\Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyViewabilityIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setViewabilityIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyViewabilityIntegrationPartner::class);
        $this->viewability_integration_partners = $arr;

        return $this;
    }

    /**
     * Third party integration partners for Brand Lift verification for this
     * Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyBrandLiftIntegrationPartner brand_lift_integration_partners = 2;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getBrandLiftIntegrationPartners()
    {
        return $this->brand_lift_integration_partners;
    }

    /**
     * Third party integration partners for Brand Lift verification for this
     * Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyBrandLiftIntegrationPartner brand_lift_integration_partners = 2;</code>
     * @param array<\Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyBrandLiftIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setBrandLiftIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyBrandLiftIntegrationPartner::class);
        $this->brand_lift_integration_partners = $arr;

        return $this;
    }

    /**
     * Third party integration partners for brand safety verification for this
     * Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyBrandSafetyIntegrationPartner brand_safety_integration_partners = 3;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getBrandSafetyIntegrationPartners()
    {
        return $this->brand_safety_integration_partners;
    }

    /**
     * Third party integration partners for brand safety verification for this
     * Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyBrandSafetyIntegrationPartner brand_safety_integration_partners = 3;</code>
     * @param array<\Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyBrandSafetyIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setBrandSafetyIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyBrandSafetyIntegrationPartner::class);
        $this->brand_safety_integration_partners = $arr;

        return $this;
    }

    /**
     * Third party integration partners for reach verification for this Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyReachIntegrationPartner reach_integration_partners = 4;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getReachIntegrationPartners()
    {
        return $this->reach_integration_partners;
    }

    /**
     * Third party integration partners for reach verification for this Campaign.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v23.common.CampaignThirdPartyReachIntegrationPartner reach_integration_partners = 4;</code>
     * @param array<\Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyReachIntegrationPartner>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setReachIntegrationPartners($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Ads\GoogleAds\V23\Common\CampaignThirdPartyReachIntegrationPartner::class);
        $this->reach_integration_partners = $arr;

        return $this;
    }

}

