AWS SDK for C++
AWS SDK for C++
Loading...
Searching...
No Matches
EndpointParameter.h
Go to the documentation of this file.
1
7#pragma once
8
11
12namespace Aws
13{
14 namespace Endpoint
15 {
17 {
18 public:
19 enum class ParameterType
20 {
21 BOOLEAN,
22 STRING
23 };
24 enum class ParameterOrigin
25 {
26 STATIC_CONTEXT,
27 OPERATION_CONTEXT,
28 CLIENT_CONTEXT,
29 BUILT_IN,
30 NOT_SET = -1
31 };
32
33 EndpointParameter(Aws::String name, bool initialValue, ParameterOrigin parameterOrigin = ParameterOrigin::NOT_SET)
34 : m_storedType(ParameterType::BOOLEAN),
35 m_parameterOrigin(parameterOrigin),
36 m_name(std::move(name)),
37 m_boolValue(initialValue)
38 {}
39
40 EndpointParameter(Aws::String name, Aws::String initialValue, ParameterOrigin parameterOrigin = ParameterOrigin::NOT_SET)
41 : m_storedType(ParameterType::STRING),
42 m_parameterOrigin(parameterOrigin),
43 m_name(std::move(name)),
44 m_stringValue(std::move(initialValue))
45 {}
46
47 EndpointParameter(Aws::String name, const char* initialValue, ParameterOrigin parameterOrigin = ParameterOrigin::NOT_SET)
48 : m_storedType(ParameterType::STRING),
49 m_parameterOrigin(parameterOrigin),
50 m_name(std::move(name)),
51 m_stringValue(initialValue)
52 {}
53
55 : m_storedType(storedType),
56 m_parameterOrigin(parameterOrigin),
57 m_name(std::move(name))
58 {}
59
64
66 {
67 return m_storedType;
68 }
69
71 {
72 return m_parameterOrigin;
73 }
74
75 inline const Aws::String& GetName() const
76 {
77 return m_name;
78 }
79
80 enum class GetSetResult
81 {
82 SUCCESS,
83 ERROR_WRONG_TYPE
84 };
85
86 inline GetSetResult GetBool(bool& ioValue) const
87 {
88 if(m_storedType != ParameterType::BOOLEAN)
89 return GetSetResult::ERROR_WRONG_TYPE;
90 ioValue = m_boolValue;
91 return GetSetResult::SUCCESS;
92 }
93
94 inline GetSetResult GetString(Aws::String& ioValue) const
95 {
96 // disabled RTTI...
97 if(m_storedType != ParameterType::STRING)
98 return GetSetResult::ERROR_WRONG_TYPE;
99 ioValue = m_stringValue;
100 return GetSetResult::SUCCESS;
101 }
102
103 inline GetSetResult SetBool(bool iValue)
104 {
105 if(m_storedType != ParameterType::BOOLEAN)
106 return GetSetResult::ERROR_WRONG_TYPE;
107 m_boolValue = iValue;
108 return GetSetResult::SUCCESS;
109 }
110
112 {
113 if(m_storedType != ParameterType::STRING)
114 return GetSetResult::ERROR_WRONG_TYPE;
115 m_stringValue = std::move(iValue);
116 return GetSetResult::SUCCESS;
117 }
118
120 {
121 return m_boolValue;
122 }
124 {
125 return m_stringValue;
126 }
127
128 protected:
132
133 bool m_boolValue = false;
135 };
136
138 } // namespace Endpoint
139} // namespace Aws
#define AWS_CORE_API
Definition: Core_EXPORTS.h:26
const char *const name
Definition: cJSON.h:278
EndpointParameter(ParameterType storedType, ParameterOrigin parameterOrigin, Aws::String name)
EndpointParameter(Aws::String name, Aws::String initialValue, ParameterOrigin parameterOrigin=ParameterOrigin::NOT_SET)
ParameterType GetStoredType() const
EndpointParameter(EndpointParameter &&)=default
GetSetResult SetBool(bool iValue)
const Aws::String & GetName() const
EndpointParameter(Aws::String name, bool initialValue, ParameterOrigin parameterOrigin=ParameterOrigin::NOT_SET)
EndpointParameter(const EndpointParameter &)=default
const Aws::String & GetStrValueNoCheck() const
GetSetResult GetBool(bool &ioValue) const
EndpointParameter & operator=(EndpointParameter &&)=default
EndpointParameter & operator=(const EndpointParameter &)=default
ParameterOrigin GetParameterOrigin() const
EndpointParameter(Aws::String name, const char *initialValue, ParameterOrigin parameterOrigin=ParameterOrigin::NOT_SET)
GetSetResult SetString(Aws::String iValue)
GetSetResult GetString(Aws::String &ioValue) const
Aws::Vector< Aws::Endpoint::EndpointParameter > EndpointParameters
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17