cloudbilling  v1
binding.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_BINDING_H_
31 #define GOOGLE_CLOUDBILLING_API_BINDING_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/expr.h"
39 
40 namespace Json {
41 class Value;
42 } // namespace Json
43 
44 namespace google_cloudbilling_api {
45 using namespace googleapis;
46 
52 class Binding : public client::JsonCppData {
53  public:
59  static Binding* New();
60 
66  explicit Binding(const Json::Value& storage);
67 
73  explicit Binding(Json::Value* storage);
74 
78  virtual ~Binding();
79 
85  const StringPiece GetTypeName() const {
86  return StringPiece("google_cloudbilling_api::Binding");
87  }
88 
94  bool has_condition() const {
95  return Storage().isMember("condition");
96  }
97 
102  MutableStorage()->removeMember("condition");
103  }
104 
105 
109  const Expr get_condition() const;
110 
122  Expr mutable_condition();
123 
129  bool has_members() const {
130  return Storage().isMember("members");
131  }
132 
136  void clear_members() {
137  MutableStorage()->removeMember("members");
138  }
139 
140 
144  const client::JsonCppArray<string > get_members() const {
145  const Json::Value& storage = Storage("members");
146  return client::JsonValueToCppValueHelper<client::JsonCppArray<string > >(storage);
147  }
148 
198  client::JsonCppArray<string > mutable_members() {
199  Json::Value* storage = MutableStorage("members");
200  return client::JsonValueToMutableCppValueHelper<client::JsonCppArray<string > >(storage);
201  }
202 
208  bool has_role() const {
209  return Storage().isMember("role");
210  }
211 
215  void clear_role() {
216  MutableStorage()->removeMember("role");
217  }
218 
219 
223  const StringPiece get_role() const {
224  const Json::Value& v = Storage("role");
225  if (v == Json::Value::null) return StringPiece("");
226  return StringPiece(v.asCString());
227  }
228 
237  void set_role(const StringPiece& value) {
238  *MutableStorage("role") = value.data();
239  }
240 
241  private:
242  void operator=(const Binding&);
243 }; // Binding
244 } // namespace google_cloudbilling_api
245 #endif // GOOGLE_CLOUDBILLING_API_BINDING_H_
bool has_condition() const
Definition: binding.h:94
client::JsonCppArray< string > mutable_members()
Definition: binding.h:198
void clear_role()
Definition: binding.h:215
const client::JsonCppArray< string > get_members() const
Definition: binding.h:144
void set_role(const StringPiece &value)
Definition: binding.h:237
void clear_condition()
Definition: binding.h:101
Definition: binding.h:52
const StringPiece get_role() const
Definition: binding.h:223
const StringPiece GetTypeName() const
Definition: binding.h:85
bool has_role() const
Definition: binding.h:208
Definition: aggregation_info.h:39
Definition: expr.h:98
void clear_members()
Definition: binding.h:136
Definition: aggregation_info.cc:42
bool has_members() const
Definition: binding.h:129