30 #ifndef GOOGLE_STORAGE_API_POLICY_H_ 31 #define GOOGLE_STORAGE_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/storage_api/expr.h" 53 class Policy :
public client::JsonCppData {
94 return StringPiece(
"google_storage_api::PolicyBindings");
103 return Storage().isMember(
"condition");
110 MutableStorage()->removeMember(
"condition");
117 const Expr get_condition()
const;
129 Expr mutable_condition();
137 return Storage().isMember(
"members");
144 MutableStorage()->removeMember(
"members");
152 const Json::Value& storage = Storage(
"members");
153 return client::JsonValueToCppValueHelper<client::JsonCppArray<string > >(storage);
194 Json::Value* storage = MutableStorage(
"members");
195 return client::JsonValueToMutableCppValueHelper<client::JsonCppArray<string > >(storage);
204 return Storage().isMember(
"role");
211 MutableStorage()->removeMember(
"role");
219 const Json::Value& v = Storage(
"role");
220 if (v == Json::Value::null)
return StringPiece(
"");
221 return StringPiece(v.asCString());
256 *MutableStorage(
"role") = value.data();
274 explicit Policy(
const Json::Value& storage);
281 explicit Policy(Json::Value* storage);
294 return StringPiece(
"google_storage_api::Policy");
303 return Storage().isMember(
"bindings");
310 MutableStorage()->removeMember(
"bindings");
318 const Json::Value& storage = Storage(
"bindings");
319 return client::JsonValueToCppValueHelper<client::JsonCppArray<PolicyBindings > >(storage);
332 Json::Value* storage = MutableStorage(
"bindings");
333 return client::JsonValueToMutableCppValueHelper<client::JsonCppArray<PolicyBindings > >(storage);
342 return Storage().isMember(
"etag");
349 MutableStorage()->removeMember(
"etag");
357 const Json::Value& v = Storage(
"etag");
358 if (v == Json::Value::null)
return StringPiece(
"");
359 return StringPiece(v.asCString());
370 *MutableStorage(
"etag") = value.data();
379 return Storage().isMember(
"kind");
386 MutableStorage()->removeMember(
"kind");
394 const Json::Value& v = Storage(
"kind");
395 if (v == Json::Value::null)
return StringPiece(
"");
396 return StringPiece(v.asCString());
408 *MutableStorage(
"kind") = value.data();
417 return Storage().isMember(
"resourceId");
424 MutableStorage()->removeMember(
"resourceId");
432 const Json::Value& v = Storage(
"resourceId");
433 if (v == Json::Value::null)
return StringPiece(
"");
434 return StringPiece(v.asCString());
450 *MutableStorage(
"resourceId") = value.data();
459 return Storage().isMember(
"version");
466 MutableStorage()->removeMember(
"version");
474 const Json::Value& storage = Storage(
"version");
475 return client::JsonValueToCppValueHelper<int32 >(storage);
486 client::SetJsonValueFromCppValueHelper<int32 >(
487 value, MutableStorage(
"version"));
491 void operator=(
const Policy&);
494 #endif // GOOGLE_STORAGE_API_POLICY_H_ const StringPiece GetTypeName() const
Definition: policy.h:293
const StringPiece get_resource_id() const
Definition: policy.h:431
void clear_condition()
Definition: policy.h:109
bool has_condition() const
Definition: policy.h:102
int32 get_version() const
Definition: policy.h:473
const StringPiece get_etag() const
Definition: policy.h:356
bool has_resource_id() const
Definition: policy.h:416
void clear_version()
Definition: policy.h:465
const StringPiece GetTypeName() const
Definition: policy.h:93
void set_resource_id(const StringPiece &value)
Definition: policy.h:449
client::JsonCppArray< PolicyBindings > mutable_bindings()
Definition: policy.h:331
const StringPiece get_role() const
Definition: policy.h:218
bool has_bindings() const
Definition: policy.h:302
const StringPiece get_kind() const
Definition: policy.h:393
void clear_etag()
Definition: policy.h:348
void set_version(int32 value)
Definition: policy.h:485
void clear_bindings()
Definition: policy.h:309
void clear_role()
Definition: policy.h:210
bool has_etag() const
Definition: policy.h:341
bool has_role() const
Definition: policy.h:203
bool has_members() const
Definition: policy.h:136
void set_kind(const StringPiece &value)
Definition: policy.h:407
void set_role(const StringPiece &value)
Definition: policy.h:255
void set_etag(const StringPiece &value)
Definition: policy.h:369
void clear_members()
Definition: policy.h:143
void clear_resource_id()
Definition: policy.h:423
const client::JsonCppArray< PolicyBindings > get_bindings() const
Definition: policy.h:317
const client::JsonCppArray< string > get_members() const
Definition: policy.h:151
client::JsonCppArray< string > mutable_members()
Definition: policy.h:193
void clear_kind()
Definition: policy.h:385
bool has_kind() const
Definition: policy.h:378
bool has_version() const
Definition: policy.h:458