cloudbilling  v1
pricing_expression.h
1 // Copyright 2010 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 // use this file except in compliance with the License. You may obtain a copy of
5 // the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations under
13 // the License.
14 
15 // This code was generated by google-apis-code-generator 1.5.1
16 // Build date: 2018-10-08 17:45:39 UTC
17 // on: 2020-03-24, 00:22:17 UTC
18 // C++ generator version: 0.1.4
19 
20 // ----------------------------------------------------------------------------
21 // NOTE: This file is generated from Google APIs Discovery Service.
22 // Service:
23 // Cloud Billing API (cloudbilling/v1)
24 // Generated from:
25 // Version: v1
26 // Revision: 56
27 // Generated by:
28 // Tool: google-apis-code-generator 1.5.1
29 // C++: 0.1.4
30 #ifndef GOOGLE_CLOUDBILLING_API_PRICING_EXPRESSION_H_
31 #define GOOGLE_CLOUDBILLING_API_PRICING_EXPRESSION_H_
32 
33 #include <string>
34 #include "googleapis/base/macros.h"
35 #include "googleapis/client/data/jsoncpp_data.h"
36 #include "googleapis/strings/stringpiece.h"
37 
38 #include "google/cloudbilling_api/tier_rate.h"
39 
40 namespace Json {
41 class Value;
42 } // namespace Json
43 
44 namespace google_cloudbilling_api {
45 using namespace googleapis;
46 
68 class PricingExpression : public client::JsonCppData {
69  public:
75  static PricingExpression* New();
76 
82  explicit PricingExpression(const Json::Value& storage);
83 
89  explicit PricingExpression(Json::Value* storage);
90 
94  virtual ~PricingExpression();
95 
101  const StringPiece GetTypeName() const {
102  return StringPiece("google_cloudbilling_api::PricingExpression");
103  }
104 
110  bool has_base_unit() const {
111  return Storage().isMember("baseUnit");
112  }
113 
118  MutableStorage()->removeMember("baseUnit");
119  }
120 
121 
125  const StringPiece get_base_unit() const {
126  const Json::Value& v = Storage("baseUnit");
127  if (v == Json::Value::null) return StringPiece("");
128  return StringPiece(v.asCString());
129  }
130 
139  void set_base_unit(const StringPiece& value) {
140  *MutableStorage("baseUnit") = value.data();
141  }
142 
150  return Storage().isMember("baseUnitConversionFactor");
151  }
152 
157  MutableStorage()->removeMember("baseUnitConversionFactor");
158  }
159 
160 
165  const Json::Value& storage = Storage("baseUnitConversionFactor");
166  return client::JsonValueToCppValueHelper<double >(storage);
167  }
168 
180  void set_base_unit_conversion_factor(double value) {
181  client::SetJsonValueFromCppValueHelper<double >(
182  value, MutableStorage("baseUnitConversionFactor"));
183  }
184 
191  return Storage().isMember("baseUnitDescription");
192  }
193 
198  MutableStorage()->removeMember("baseUnitDescription");
199  }
200 
201 
205  const StringPiece get_base_unit_description() const {
206  const Json::Value& v = Storage("baseUnitDescription");
207  if (v == Json::Value::null) return StringPiece("");
208  return StringPiece(v.asCString());
209  }
210 
219  void set_base_unit_description(const StringPiece& value) {
220  *MutableStorage("baseUnitDescription") = value.data();
221  }
222 
228  bool has_display_quantity() const {
229  return Storage().isMember("displayQuantity");
230  }
231 
236  MutableStorage()->removeMember("displayQuantity");
237  }
238 
239 
243  double get_display_quantity() const {
244  const Json::Value& storage = Storage("displayQuantity");
245  return client::JsonValueToCppValueHelper<double >(storage);
246  }
247 
262  void set_display_quantity(double value) {
263  client::SetJsonValueFromCppValueHelper<double >(
264  value, MutableStorage("displayQuantity"));
265  }
266 
272  bool has_tiered_rates() const {
273  return Storage().isMember("tieredRates");
274  }
275 
280  MutableStorage()->removeMember("tieredRates");
281  }
282 
283 
287  const client::JsonCppArray<TierRate > get_tiered_rates() const;
288 
299  client::JsonCppArray<TierRate > mutable_tieredRates();
300 
306  bool has_usage_unit() const {
307  return Storage().isMember("usageUnit");
308  }
309 
314  MutableStorage()->removeMember("usageUnit");
315  }
316 
317 
321  const StringPiece get_usage_unit() const {
322  const Json::Value& v = Storage("usageUnit");
323  if (v == Json::Value::null) return StringPiece("");
324  return StringPiece(v.asCString());
325  }
326 
335  void set_usage_unit(const StringPiece& value) {
336  *MutableStorage("usageUnit") = value.data();
337  }
338 
345  return Storage().isMember("usageUnitDescription");
346  }
347 
352  MutableStorage()->removeMember("usageUnitDescription");
353  }
354 
355 
359  const StringPiece get_usage_unit_description() const {
360  const Json::Value& v = Storage("usageUnitDescription");
361  if (v == Json::Value::null) return StringPiece("");
362  return StringPiece(v.asCString());
363  }
364 
373  void set_usage_unit_description(const StringPiece& value) {
374  *MutableStorage("usageUnitDescription") = value.data();
375  }
376 
377  private:
378  void operator=(const PricingExpression&);
379 }; // PricingExpression
380 } // namespace google_cloudbilling_api
381 #endif // GOOGLE_CLOUDBILLING_API_PRICING_EXPRESSION_H_
double get_base_unit_conversion_factor() const
Definition: pricing_expression.h:164
const StringPiece get_usage_unit_description() const
Definition: pricing_expression.h:359
bool has_display_quantity() const
Definition: pricing_expression.h:228
void clear_usage_unit_description()
Definition: pricing_expression.h:351
void set_display_quantity(double value)
Definition: pricing_expression.h:262
void set_base_unit_conversion_factor(double value)
Definition: pricing_expression.h:180
bool has_tiered_rates() const
Definition: pricing_expression.h:272
bool has_usage_unit_description() const
Definition: pricing_expression.h:344
void set_usage_unit(const StringPiece &value)
Definition: pricing_expression.h:335
void set_base_unit_description(const StringPiece &value)
Definition: pricing_expression.h:219
bool has_base_unit() const
Definition: pricing_expression.h:110
bool has_base_unit_conversion_factor() const
Definition: pricing_expression.h:149
const StringPiece GetTypeName() const
Definition: pricing_expression.h:101
const StringPiece get_base_unit() const
Definition: pricing_expression.h:125
const StringPiece get_usage_unit() const
Definition: pricing_expression.h:321
void clear_base_unit()
Definition: pricing_expression.h:117
const StringPiece get_base_unit_description() const
Definition: pricing_expression.h:205
void clear_base_unit_description()
Definition: pricing_expression.h:197
bool has_base_unit_description() const
Definition: pricing_expression.h:190
Definition: aggregation_info.h:39
double get_display_quantity() const
Definition: pricing_expression.h:243
void set_base_unit(const StringPiece &value)
Definition: pricing_expression.h:139
void clear_tiered_rates()
Definition: pricing_expression.h:279
void set_usage_unit_description(const StringPiece &value)
Definition: pricing_expression.h:373
void clear_base_unit_conversion_factor()
Definition: pricing_expression.h:156
bool has_usage_unit() const
Definition: pricing_expression.h:306
void clear_display_quantity()
Definition: pricing_expression.h:235
Definition: aggregation_info.cc:42
void clear_usage_unit()
Definition: pricing_expression.h:313
Definition: pricing_expression.h:68