30 #ifndef GOOGLE_TASKS_API_TASK_H_ 31 #define GOOGLE_TASKS_API_TASK_H_ 34 #include "googleapis/base/macros.h" 35 #include "googleapis/client/data/jsoncpp_data.h" 36 #include "googleapis/client/util/date_time.h" 37 #include "googleapis/strings/stringpiece.h" 51 class Task :
public client::JsonCppData {
72 explicit TaskLinks(
const Json::Value& storage);
92 return StringPiece(
"google_tasks_api::TaskLinks");
101 return Storage().isMember(
"description");
108 MutableStorage()->removeMember(
"description");
116 const Json::Value& v = Storage(
"description");
117 if (v == Json::Value::null)
return StringPiece(
"");
118 return StringPiece(v.asCString());
129 *MutableStorage(
"description") = value.data();
138 return Storage().isMember(
"link");
145 MutableStorage()->removeMember(
"link");
153 const Json::Value& v = Storage(
"link");
154 if (v == Json::Value::null)
return StringPiece(
"");
155 return StringPiece(v.asCString());
166 *MutableStorage(
"link") = value.data();
175 return Storage().isMember(
"type");
182 MutableStorage()->removeMember(
"type");
190 const Json::Value& v = Storage(
"type");
191 if (v == Json::Value::null)
return StringPiece(
"");
192 return StringPiece(v.asCString());
203 *MutableStorage(
"type") = value.data();
221 explicit Task(
const Json::Value& storage);
228 explicit Task(Json::Value* storage);
241 return StringPiece(
"google_tasks_api::Task");
250 return Storage().isMember(
"completed");
257 MutableStorage()->removeMember(
"completed");
265 const Json::Value& storage = Storage(
"completed");
266 return client::JsonValueToCppValueHelper<client::DateTime >(storage);
278 client::SetJsonValueFromCppValueHelper<client::DateTime >(
279 value, MutableStorage(
"completed"));
288 return Storage().isMember(
"deleted");
295 MutableStorage()->removeMember(
"deleted");
303 const Json::Value& storage = Storage(
"deleted");
304 return client::JsonValueToCppValueHelper<bool >(storage);
315 client::SetJsonValueFromCppValueHelper<bool >(
316 value, MutableStorage(
"deleted"));
325 return Storage().isMember(
"due");
332 MutableStorage()->removeMember(
"due");
340 const Json::Value& storage = Storage(
"due");
341 return client::JsonValueToCppValueHelper<client::DateTime >(storage);
355 client::SetJsonValueFromCppValueHelper<client::DateTime >(
356 value, MutableStorage(
"due"));
365 return Storage().isMember(
"etag");
372 MutableStorage()->removeMember(
"etag");
380 const Json::Value& v = Storage(
"etag");
381 if (v == Json::Value::null)
return StringPiece(
"");
382 return StringPiece(v.asCString());
393 *MutableStorage(
"etag") = value.data();
402 return Storage().isMember(
"hidden");
409 MutableStorage()->removeMember(
"hidden");
417 const Json::Value& storage = Storage(
"hidden");
418 return client::JsonValueToCppValueHelper<bool >(storage);
431 client::SetJsonValueFromCppValueHelper<bool >(
432 value, MutableStorage(
"hidden"));
441 return Storage().isMember(
"id");
448 MutableStorage()->removeMember(
"id");
456 const Json::Value& v = Storage(
"id");
457 if (v == Json::Value::null)
return StringPiece(
"");
458 return StringPiece(v.asCString());
469 *MutableStorage(
"id") = value.data();
478 return Storage().isMember(
"kind");
485 MutableStorage()->removeMember(
"kind");
493 const Json::Value& v = Storage(
"kind");
494 if (v == Json::Value::null)
return StringPiece(
"");
495 return StringPiece(v.asCString());
506 *MutableStorage(
"kind") = value.data();
515 return Storage().isMember(
"links");
522 MutableStorage()->removeMember(
"links");
529 const client::JsonCppArray<TaskLinks >
get_links()
const {
530 const Json::Value& storage = Storage(
"links");
531 return client::JsonValueToCppValueHelper<client::JsonCppArray<TaskLinks > >(storage);
542 Json::Value* storage = MutableStorage(
"links");
543 return client::JsonValueToMutableCppValueHelper<client::JsonCppArray<TaskLinks > >(storage);
552 return Storage().isMember(
"notes");
559 MutableStorage()->removeMember(
"notes");
567 const Json::Value& v = Storage(
"notes");
568 if (v == Json::Value::null)
return StringPiece(
"");
569 return StringPiece(v.asCString());
580 *MutableStorage(
"notes") = value.data();
589 return Storage().isMember(
"parent");
596 MutableStorage()->removeMember(
"parent");
604 const Json::Value& v = Storage(
"parent");
605 if (v == Json::Value::null)
return StringPiece(
"");
606 return StringPiece(v.asCString());
619 *MutableStorage(
"parent") = value.data();
628 return Storage().isMember(
"position");
635 MutableStorage()->removeMember(
"position");
643 const Json::Value& v = Storage(
"position");
644 if (v == Json::Value::null)
return StringPiece(
"");
645 return StringPiece(v.asCString());
661 *MutableStorage(
"position") = value.data();
670 return Storage().isMember(
"selfLink");
677 MutableStorage()->removeMember(
"selfLink");
685 const Json::Value& v = Storage(
"selfLink");
686 if (v == Json::Value::null)
return StringPiece(
"");
687 return StringPiece(v.asCString());
698 *MutableStorage(
"selfLink") = value.data();
707 return Storage().isMember(
"status");
714 MutableStorage()->removeMember(
"status");
722 const Json::Value& v = Storage(
"status");
723 if (v == Json::Value::null)
return StringPiece(
"");
724 return StringPiece(v.asCString());
735 *MutableStorage(
"status") = value.data();
744 return Storage().isMember(
"title");
751 MutableStorage()->removeMember(
"title");
759 const Json::Value& v = Storage(
"title");
760 if (v == Json::Value::null)
return StringPiece(
"");
761 return StringPiece(v.asCString());
772 *MutableStorage(
"title") = value.data();
781 return Storage().isMember(
"updated");
788 MutableStorage()->removeMember(
"updated");
796 const Json::Value& storage = Storage(
"updated");
797 return client::JsonValueToCppValueHelper<client::DateTime >(storage);
808 client::SetJsonValueFromCppValueHelper<client::DateTime >(
809 value, MutableStorage(
"updated"));
813 void operator=(
const Task&);
816 #endif // GOOGLE_TASKS_API_TASK_H_ bool has_notes() const
Definition: task.h:551
bool has_link() const
Definition: task.h:137
bool has_hidden() const
Definition: task.h:401
void set_completed(client::DateTime value)
Definition: task.h:277
client::DateTime get_updated() const
Definition: task.h:795
void clear_description()
Definition: task.h:107
void clear_position()
Definition: task.h:634
void set_position(const StringPiece &value)
Definition: task.h:660
bool has_type() const
Definition: task.h:174
void set_hidden(bool value)
Definition: task.h:430
client::DateTime get_due() const
Definition: task.h:339
void clear_self_link()
Definition: task.h:676
client::JsonCppArray< TaskLinks > mutable_links()
Definition: task.h:541
void clear_kind()
Definition: task.h:484
void clear_id()
Definition: task.h:447
bool get_hidden() const
Definition: task.h:416
void set_updated(client::DateTime value)
Definition: task.h:807
void set_deleted(bool value)
Definition: task.h:314
void set_title(const StringPiece &value)
Definition: task.h:771
void set_self_link(const StringPiece &value)
Definition: task.h:697
void set_notes(const StringPiece &value)
Definition: task.h:579
bool has_position() const
Definition: task.h:627
void clear_links()
Definition: task.h:521
const StringPiece get_kind() const
Definition: task.h:492
void clear_status()
Definition: task.h:713
void clear_type()
Definition: task.h:181
bool has_status() const
Definition: task.h:706
const StringPiece get_position() const
Definition: task.h:642
void clear_hidden()
Definition: task.h:408
bool has_kind() const
Definition: task.h:477
const StringPiece get_status() const
Definition: task.h:721
void clear_title()
Definition: task.h:750
const StringPiece get_description() const
Definition: task.h:115
void set_id(const StringPiece &value)
Definition: task.h:468
const StringPiece get_self_link() const
Definition: task.h:684
const StringPiece get_parent() const
Definition: task.h:603
bool has_due() const
Definition: task.h:324
void clear_due()
Definition: task.h:331
void clear_deleted()
Definition: task.h:294
bool has_deleted() const
Definition: task.h:287
void clear_etag()
Definition: task.h:371
client::DateTime get_completed() const
Definition: task.h:264
void set_etag(const StringPiece &value)
Definition: task.h:392
const StringPiece get_notes() const
Definition: task.h:566
const StringPiece get_link() const
Definition: task.h:152
bool has_etag() const
Definition: task.h:364
void clear_completed()
Definition: task.h:256
const StringPiece GetTypeName() const
Definition: task.h:240
void set_type(const StringPiece &value)
Definition: task.h:202
void clear_updated()
Definition: task.h:787
const StringPiece GetTypeName() const
Definition: task.h:91
bool has_links() const
Definition: task.h:514
bool has_updated() const
Definition: task.h:780
void set_link(const StringPiece &value)
Definition: task.h:165
const StringPiece get_id() const
Definition: task.h:455
bool has_id() const
Definition: task.h:440
bool get_deleted() const
Definition: task.h:302
bool has_parent() const
Definition: task.h:588
const StringPiece get_title() const
Definition: task.h:758
const client::JsonCppArray< TaskLinks > get_links() const
Definition: task.h:529
void clear_parent()
Definition: task.h:595
void set_status(const StringPiece &value)
Definition: task.h:734
const StringPiece get_etag() const
Definition: task.h:379
void set_description(const StringPiece &value)
Definition: task.h:128
void set_parent(const StringPiece &value)
Definition: task.h:618
bool has_title() const
Definition: task.h:743
bool has_self_link() const
Definition: task.h:669
bool has_description() const
Definition: task.h:100
bool has_completed() const
Definition: task.h:249
void set_due(client::DateTime value)
Definition: task.h:354
const StringPiece get_type() const
Definition: task.h:189
void set_kind(const StringPiece &value)
Definition: task.h:505
void clear_notes()
Definition: task.h:558
void clear_link()
Definition: task.h:144