/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Provides information about a session.

See Also:

AWS * API Reference

*/ class Session { public: AWS_PINPOINT_API Session(); AWS_PINPOINT_API Session(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API Session& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The duration of the session, in milliseconds.

*/ inline int GetDuration() const{ return m_duration; } /** *

The duration of the session, in milliseconds.

*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *

The duration of the session, in milliseconds.

*/ inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } /** *

The duration of the session, in milliseconds.

*/ inline Session& WithDuration(int value) { SetDuration(value); return *this;} /** *

The unique identifier for the session.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The unique identifier for the session.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The unique identifier for the session.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The unique identifier for the session.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The unique identifier for the session.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The unique identifier for the session.

*/ inline Session& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The unique identifier for the session.

*/ inline Session& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The unique identifier for the session.

*/ inline Session& WithId(const char* value) { SetId(value); return *this;} /** *

The date and time when the session began.

*/ inline const Aws::String& GetStartTimestamp() const{ return m_startTimestamp; } /** *

The date and time when the session began.

*/ inline bool StartTimestampHasBeenSet() const { return m_startTimestampHasBeenSet; } /** *

The date and time when the session began.

*/ inline void SetStartTimestamp(const Aws::String& value) { m_startTimestampHasBeenSet = true; m_startTimestamp = value; } /** *

The date and time when the session began.

*/ inline void SetStartTimestamp(Aws::String&& value) { m_startTimestampHasBeenSet = true; m_startTimestamp = std::move(value); } /** *

The date and time when the session began.

*/ inline void SetStartTimestamp(const char* value) { m_startTimestampHasBeenSet = true; m_startTimestamp.assign(value); } /** *

The date and time when the session began.

*/ inline Session& WithStartTimestamp(const Aws::String& value) { SetStartTimestamp(value); return *this;} /** *

The date and time when the session began.

*/ inline Session& WithStartTimestamp(Aws::String&& value) { SetStartTimestamp(std::move(value)); return *this;} /** *

The date and time when the session began.

*/ inline Session& WithStartTimestamp(const char* value) { SetStartTimestamp(value); return *this;} /** *

The date and time when the session ended.

*/ inline const Aws::String& GetStopTimestamp() const{ return m_stopTimestamp; } /** *

The date and time when the session ended.

*/ inline bool StopTimestampHasBeenSet() const { return m_stopTimestampHasBeenSet; } /** *

The date and time when the session ended.

*/ inline void SetStopTimestamp(const Aws::String& value) { m_stopTimestampHasBeenSet = true; m_stopTimestamp = value; } /** *

The date and time when the session ended.

*/ inline void SetStopTimestamp(Aws::String&& value) { m_stopTimestampHasBeenSet = true; m_stopTimestamp = std::move(value); } /** *

The date and time when the session ended.

*/ inline void SetStopTimestamp(const char* value) { m_stopTimestampHasBeenSet = true; m_stopTimestamp.assign(value); } /** *

The date and time when the session ended.

*/ inline Session& WithStopTimestamp(const Aws::String& value) { SetStopTimestamp(value); return *this;} /** *

The date and time when the session ended.

*/ inline Session& WithStopTimestamp(Aws::String&& value) { SetStopTimestamp(std::move(value)); return *this;} /** *

The date and time when the session ended.

*/ inline Session& WithStopTimestamp(const char* value) { SetStopTimestamp(value); return *this;} private: int m_duration; bool m_durationHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_startTimestamp; bool m_startTimestampHasBeenSet = false; Aws::String m_stopTimestamp; bool m_stopTimestampHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws