30 #ifndef GOOGLE_DNS_API_POLICY_H_ 31 #define GOOGLE_DNS_API_POLICY_H_ 34 #include "googleapis/base/integral_types.h" 35 #include "googleapis/base/macros.h" 36 #include "googleapis/client/data/jsoncpp_data.h" 37 #include "googleapis/strings/stringpiece.h" 39 #include "google/dns_api/policy_alternative_name_server_config.h" 40 #include "google/dns_api/policy_network.h" 55 class Policy :
public client::JsonCppData {
69 explicit Policy(
const Json::Value& storage);
76 explicit Policy(Json::Value* storage);
89 return StringPiece(
"google_dns_api::Policy");
100 return Storage().isMember(
"alternativeNameServerConfig");
107 MutableStorage()->removeMember(
"alternativeNameServerConfig");
136 return Storage().isMember(
"description");
143 MutableStorage()->removeMember(
"description");
151 const Json::Value& v = Storage(
"description");
152 if (v == Json::Value::null)
return StringPiece(
"");
153 return StringPiece(v.asCString());
165 *MutableStorage(
"description") = value.data();
175 return Storage().isMember(
"enableInboundForwarding");
182 MutableStorage()->removeMember(
"enableInboundForwarding");
190 const Json::Value& storage = Storage(
"enableInboundForwarding");
191 return client::JsonValueToCppValueHelper<bool >(storage);
204 client::SetJsonValueFromCppValueHelper<bool >(
205 value, MutableStorage(
"enableInboundForwarding"));
214 return Storage().isMember(
"enableLogging");
221 MutableStorage()->removeMember(
"enableLogging");
229 const Json::Value& storage = Storage(
"enableLogging");
230 return client::JsonValueToCppValueHelper<bool >(storage);
242 client::SetJsonValueFromCppValueHelper<bool >(
243 value, MutableStorage(
"enableLogging"));
252 return Storage().isMember(
"id");
259 MutableStorage()->removeMember(
"id");
267 const Json::Value& storage = Storage(
"id");
268 return client::JsonValueToCppValueHelper<uint64 >(storage);
279 client::SetJsonValueFromCppValueHelper<uint64 >(
280 value, MutableStorage(
"id"));
289 return Storage().isMember(
"kind");
296 MutableStorage()->removeMember(
"kind");
304 const Json::Value& v = Storage(
"kind");
305 if (v == Json::Value::null)
return StringPiece(
"");
306 return StringPiece(v.asCString());
318 *MutableStorage(
"kind") = value.data();
327 return Storage().isMember(
"name");
334 MutableStorage()->removeMember(
"name");
342 const Json::Value& v = Storage(
"name");
343 if (v == Json::Value::null)
return StringPiece(
"");
344 return StringPiece(v.asCString());
355 *MutableStorage(
"name") = value.data();
364 return Storage().isMember(
"networks");
371 MutableStorage()->removeMember(
"networks");
378 const client::JsonCppArray<PolicyNetwork > get_networks()
const;
388 client::JsonCppArray<PolicyNetwork > mutable_networks();
391 void operator=(
const Policy&);
394 #endif // GOOGLE_DNS_API_POLICY_H_ bool has_kind() const
Definition: policy.h:288
bool get_enable_inbound_forwarding() const
Definition: policy.h:189
bool has_id() const
Definition: policy.h:251
void clear_name()
Definition: policy.h:333
void clear_kind()
Definition: policy.h:295
void set_enable_logging(bool value)
Definition: policy.h:241
void set_description(const StringPiece &value)
Definition: policy.h:164
Definition: policy_alternative_name_server_config.h:52
void clear_alternative_name_server_config()
Definition: policy.h:106
bool has_description() const
Definition: policy.h:135
const StringPiece get_description() const
Definition: policy.h:150
void clear_enable_logging()
Definition: policy.h:220
uint64 get_id() const
Definition: policy.h:266
bool has_enable_inbound_forwarding() const
Definition: policy.h:174
void set_kind(const StringPiece &value)
Definition: policy.h:317
void set_id(uint64 value)
Definition: policy.h:278
const StringPiece GetTypeName() const
Definition: policy.h:88
const StringPiece get_kind() const
Definition: policy.h:303
bool has_alternative_name_server_config() const
Definition: policy.h:99
bool has_enable_logging() const
Definition: policy.h:213
bool has_networks() const
Definition: policy.h:363
void set_name(const StringPiece &value)
Definition: policy.h:354
bool has_name() const
Definition: policy.h:326
void set_enable_inbound_forwarding(bool value)
Definition: policy.h:203
void clear_enable_inbound_forwarding()
Definition: policy.h:181
void clear_description()
Definition: policy.h:142
bool get_enable_logging() const
Definition: policy.h:228
void clear_id()
Definition: policy.h:258
void clear_networks()
Definition: policy.h:370
const StringPiece get_name() const
Definition: policy.h:341