/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Configuration information for the timer. After the timer configuration is
* set, it persists for the duration of the chat. It persists across new contacts
* in the chain, for example, transfer contacts. For more information about
* how chat timeouts work, see Set
* up chat timeouts for human participants. See Also:
AWS
* API Reference
The role of the participant in the chat conversation.
*/ inline const TimerEligibleParticipantRoles& GetParticipantRole() const{ return m_participantRole; } /** *The role of the participant in the chat conversation.
*/ inline bool ParticipantRoleHasBeenSet() const { return m_participantRoleHasBeenSet; } /** *The role of the participant in the chat conversation.
*/ inline void SetParticipantRole(const TimerEligibleParticipantRoles& value) { m_participantRoleHasBeenSet = true; m_participantRole = value; } /** *The role of the participant in the chat conversation.
*/ inline void SetParticipantRole(TimerEligibleParticipantRoles&& value) { m_participantRoleHasBeenSet = true; m_participantRole = std::move(value); } /** *The role of the participant in the chat conversation.
*/ inline ParticipantTimerConfiguration& WithParticipantRole(const TimerEligibleParticipantRoles& value) { SetParticipantRole(value); return *this;} /** *The role of the participant in the chat conversation.
*/ inline ParticipantTimerConfiguration& WithParticipantRole(TimerEligibleParticipantRoles&& value) { SetParticipantRole(std::move(value)); return *this;} /** *The type of timer. IDLE
indicates the timer applies for
* considering a human chat participant as idle.
* DISCONNECT_NONCUSTOMER
indicates the timer applies to automatically
* disconnecting a chat participant due to idleness.
The type of timer. IDLE
indicates the timer applies for
* considering a human chat participant as idle.
* DISCONNECT_NONCUSTOMER
indicates the timer applies to automatically
* disconnecting a chat participant due to idleness.
The type of timer. IDLE
indicates the timer applies for
* considering a human chat participant as idle.
* DISCONNECT_NONCUSTOMER
indicates the timer applies to automatically
* disconnecting a chat participant due to idleness.
The type of timer. IDLE
indicates the timer applies for
* considering a human chat participant as idle.
* DISCONNECT_NONCUSTOMER
indicates the timer applies to automatically
* disconnecting a chat participant due to idleness.
The type of timer. IDLE
indicates the timer applies for
* considering a human chat participant as idle.
* DISCONNECT_NONCUSTOMER
indicates the timer applies to automatically
* disconnecting a chat participant due to idleness.
The type of timer. IDLE
indicates the timer applies for
* considering a human chat participant as idle.
* DISCONNECT_NONCUSTOMER
indicates the timer applies to automatically
* disconnecting a chat participant due to idleness.
The value of the timer. Either the timer action (Unset to delete the timer), * or the duration of the timer in minutes. Only one value can be set.
*/ inline const ParticipantTimerValue& GetTimerValue() const{ return m_timerValue; } /** *The value of the timer. Either the timer action (Unset to delete the timer), * or the duration of the timer in minutes. Only one value can be set.
*/ inline bool TimerValueHasBeenSet() const { return m_timerValueHasBeenSet; } /** *The value of the timer. Either the timer action (Unset to delete the timer), * or the duration of the timer in minutes. Only one value can be set.
*/ inline void SetTimerValue(const ParticipantTimerValue& value) { m_timerValueHasBeenSet = true; m_timerValue = value; } /** *The value of the timer. Either the timer action (Unset to delete the timer), * or the duration of the timer in minutes. Only one value can be set.
*/ inline void SetTimerValue(ParticipantTimerValue&& value) { m_timerValueHasBeenSet = true; m_timerValue = std::move(value); } /** *The value of the timer. Either the timer action (Unset to delete the timer), * or the duration of the timer in minutes. Only one value can be set.
*/ inline ParticipantTimerConfiguration& WithTimerValue(const ParticipantTimerValue& value) { SetTimerValue(value); return *this;} /** *The value of the timer. Either the timer action (Unset to delete the timer), * or the duration of the timer in minutes. Only one value can be set.
*/ inline ParticipantTimerConfiguration& WithTimerValue(ParticipantTimerValue&& value) { SetTimerValue(std::move(value)); return *this;} private: TimerEligibleParticipantRoles m_participantRole; bool m_participantRoleHasBeenSet = false; ParticipantTimerType m_timerType; bool m_timerTypeHasBeenSet = false; ParticipantTimerValue m_timerValue; bool m_timerValueHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws