1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/s3-crt/S3Crt_EXPORTS.h>
8 #include <aws/s3-crt/model/Progress.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Xml
16 {
17   class XmlNode;
18 } // namespace Xml
19 } // namespace Utils
20 namespace S3Crt
21 {
22 namespace Model
23 {
24 
25   /**
26    * <p>This data type contains information about the progress event of an
27    * operation.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ProgressEvent">AWS
29    * API Reference</a></p>
30    */
31   class AWS_S3CRT_API ProgressEvent
32   {
33   public:
34     ProgressEvent();
35     ProgressEvent(const Aws::Utils::Xml::XmlNode& xmlNode);
36     ProgressEvent& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37 
38     void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
39 
40 
41     /**
42      * <p>The Progress event details.</p>
43      */
GetDetails()44     inline const Progress& GetDetails() const{ return m_details; }
45 
46     /**
47      * <p>The Progress event details.</p>
48      */
DetailsHasBeenSet()49     inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; }
50 
51     /**
52      * <p>The Progress event details.</p>
53      */
SetDetails(const Progress & value)54     inline void SetDetails(const Progress& value) { m_detailsHasBeenSet = true; m_details = value; }
55 
56     /**
57      * <p>The Progress event details.</p>
58      */
SetDetails(Progress && value)59     inline void SetDetails(Progress&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); }
60 
61     /**
62      * <p>The Progress event details.</p>
63      */
WithDetails(const Progress & value)64     inline ProgressEvent& WithDetails(const Progress& value) { SetDetails(value); return *this;}
65 
66     /**
67      * <p>The Progress event details.</p>
68      */
WithDetails(Progress && value)69     inline ProgressEvent& WithDetails(Progress&& value) { SetDetails(std::move(value)); return *this;}
70 
71   private:
72 
73     Progress m_details;
74     bool m_detailsHasBeenSet;
75   };
76 
77 } // namespace Model
78 } // namespace S3Crt
79 } // namespace Aws
80