/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies demographic-based dimension settings for including or excluding
* endpoints from a segment. These settings derive from characteristics of endpoint
* devices, such as platform, make, and model.See Also:
AWS
* API Reference
The app version criteria for the segment.
*/ inline const SetDimension& GetAppVersion() const{ return m_appVersion; } /** *The app version criteria for the segment.
*/ inline bool AppVersionHasBeenSet() const { return m_appVersionHasBeenSet; } /** *The app version criteria for the segment.
*/ inline void SetAppVersion(const SetDimension& value) { m_appVersionHasBeenSet = true; m_appVersion = value; } /** *The app version criteria for the segment.
*/ inline void SetAppVersion(SetDimension&& value) { m_appVersionHasBeenSet = true; m_appVersion = std::move(value); } /** *The app version criteria for the segment.
*/ inline SegmentDemographics& WithAppVersion(const SetDimension& value) { SetAppVersion(value); return *this;} /** *The app version criteria for the segment.
*/ inline SegmentDemographics& WithAppVersion(SetDimension&& value) { SetAppVersion(std::move(value)); return *this;} /** *The channel criteria for the segment.
*/ inline const SetDimension& GetChannel() const{ return m_channel; } /** *The channel criteria for the segment.
*/ inline bool ChannelHasBeenSet() const { return m_channelHasBeenSet; } /** *The channel criteria for the segment.
*/ inline void SetChannel(const SetDimension& value) { m_channelHasBeenSet = true; m_channel = value; } /** *The channel criteria for the segment.
*/ inline void SetChannel(SetDimension&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } /** *The channel criteria for the segment.
*/ inline SegmentDemographics& WithChannel(const SetDimension& value) { SetChannel(value); return *this;} /** *The channel criteria for the segment.
*/ inline SegmentDemographics& WithChannel(SetDimension&& value) { SetChannel(std::move(value)); return *this;} /** *The device type criteria for the segment.
*/ inline const SetDimension& GetDeviceType() const{ return m_deviceType; } /** *The device type criteria for the segment.
*/ inline bool DeviceTypeHasBeenSet() const { return m_deviceTypeHasBeenSet; } /** *The device type criteria for the segment.
*/ inline void SetDeviceType(const SetDimension& value) { m_deviceTypeHasBeenSet = true; m_deviceType = value; } /** *The device type criteria for the segment.
*/ inline void SetDeviceType(SetDimension&& value) { m_deviceTypeHasBeenSet = true; m_deviceType = std::move(value); } /** *The device type criteria for the segment.
*/ inline SegmentDemographics& WithDeviceType(const SetDimension& value) { SetDeviceType(value); return *this;} /** *The device type criteria for the segment.
*/ inline SegmentDemographics& WithDeviceType(SetDimension&& value) { SetDeviceType(std::move(value)); return *this;} /** *The device make criteria for the segment.
*/ inline const SetDimension& GetMake() const{ return m_make; } /** *The device make criteria for the segment.
*/ inline bool MakeHasBeenSet() const { return m_makeHasBeenSet; } /** *The device make criteria for the segment.
*/ inline void SetMake(const SetDimension& value) { m_makeHasBeenSet = true; m_make = value; } /** *The device make criteria for the segment.
*/ inline void SetMake(SetDimension&& value) { m_makeHasBeenSet = true; m_make = std::move(value); } /** *The device make criteria for the segment.
*/ inline SegmentDemographics& WithMake(const SetDimension& value) { SetMake(value); return *this;} /** *The device make criteria for the segment.
*/ inline SegmentDemographics& WithMake(SetDimension&& value) { SetMake(std::move(value)); return *this;} /** *The device model criteria for the segment.
*/ inline const SetDimension& GetModel() const{ return m_model; } /** *The device model criteria for the segment.
*/ inline bool ModelHasBeenSet() const { return m_modelHasBeenSet; } /** *The device model criteria for the segment.
*/ inline void SetModel(const SetDimension& value) { m_modelHasBeenSet = true; m_model = value; } /** *The device model criteria for the segment.
*/ inline void SetModel(SetDimension&& value) { m_modelHasBeenSet = true; m_model = std::move(value); } /** *The device model criteria for the segment.
*/ inline SegmentDemographics& WithModel(const SetDimension& value) { SetModel(value); return *this;} /** *The device model criteria for the segment.
*/ inline SegmentDemographics& WithModel(SetDimension&& value) { SetModel(std::move(value)); return *this;} /** *The device platform criteria for the segment.
*/ inline const SetDimension& GetPlatform() const{ return m_platform; } /** *The device platform criteria for the segment.
*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *The device platform criteria for the segment.
*/ inline void SetPlatform(const SetDimension& value) { m_platformHasBeenSet = true; m_platform = value; } /** *The device platform criteria for the segment.
*/ inline void SetPlatform(SetDimension&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *The device platform criteria for the segment.
*/ inline SegmentDemographics& WithPlatform(const SetDimension& value) { SetPlatform(value); return *this;} /** *The device platform criteria for the segment.
*/ inline SegmentDemographics& WithPlatform(SetDimension&& value) { SetPlatform(std::move(value)); return *this;} private: SetDimension m_appVersion; bool m_appVersionHasBeenSet = false; SetDimension m_channel; bool m_channelHasBeenSet = false; SetDimension m_deviceType; bool m_deviceTypeHasBeenSet = false; SetDimension m_make; bool m_makeHasBeenSet = false; SetDimension m_model; bool m_modelHasBeenSet = false; SetDimension m_platform; bool m_platformHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws