30 #ifndef GOOGLE_CLASSROOM_API_COURSE_WORK_H_ 31 #define GOOGLE_CLASSROOM_API_COURSE_WORK_H_ 34 #include "googleapis/base/macros.h" 35 #include "googleapis/client/data/jsoncpp_data.h" 36 #include "googleapis/strings/stringpiece.h" 38 #include "google/classroom_api/assignment.h" 39 #include "google/classroom_api/date.h" 40 #include "google/classroom_api/individual_students_options.h" 41 #include "google/classroom_api/material.h" 42 #include "google/classroom_api/multiple_choice_question.h" 43 #include "google/classroom_api/time_of_day.h" 71 explicit CourseWork(
const Json::Value& storage);
91 return StringPiece(
"google_classroom_api::CourseWork");
100 return Storage().isMember(
"alternateLink");
107 MutableStorage()->removeMember(
"alternateLink");
115 const Json::Value& v = Storage(
"alternateLink");
116 if (v == Json::Value::null)
return StringPiece(
"");
117 return StringPiece(v.asCString());
131 *MutableStorage(
"alternateLink") = value.data();
140 return Storage().isMember(
"assigneeMode");
147 MutableStorage()->removeMember(
"assigneeMode");
155 const Json::Value& v = Storage(
"assigneeMode");
156 if (v == Json::Value::null)
return StringPiece(
"");
157 return StringPiece(v.asCString());
169 *MutableStorage(
"assigneeMode") = value.data();
178 return Storage().isMember(
"assignment");
185 MutableStorage()->removeMember(
"assignment");
214 return Storage().isMember(
"associatedWithDeveloper");
221 MutableStorage()->removeMember(
"associatedWithDeveloper");
229 const Json::Value& storage = Storage(
"associatedWithDeveloper");
230 return client::JsonValueToCppValueHelper<bool >(storage);
247 client::SetJsonValueFromCppValueHelper<bool >(
248 value, MutableStorage(
"associatedWithDeveloper"));
257 return Storage().isMember(
"courseId");
264 MutableStorage()->removeMember(
"courseId");
272 const Json::Value& v = Storage(
"courseId");
273 if (v == Json::Value::null)
return StringPiece(
"");
274 return StringPiece(v.asCString());
287 *MutableStorage(
"courseId") = value.data();
296 return Storage().isMember(
"creationTime");
303 MutableStorage()->removeMember(
"creationTime");
311 const Json::Value& v = Storage(
"creationTime");
312 if (v == Json::Value::null)
return StringPiece(
"");
313 return StringPiece(v.asCString());
326 *MutableStorage(
"creationTime") = value.data();
335 return Storage().isMember(
"creatorUserId");
342 MutableStorage()->removeMember(
"creatorUserId");
350 const Json::Value& v = Storage(
"creatorUserId");
351 if (v == Json::Value::null)
return StringPiece(
"");
352 return StringPiece(v.asCString());
365 *MutableStorage(
"creatorUserId") = value.data();
374 return Storage().isMember(
"description");
381 MutableStorage()->removeMember(
"description");
389 const Json::Value& v = Storage(
"description");
390 if (v == Json::Value::null)
return StringPiece(
"");
391 return StringPiece(v.asCString());
404 *MutableStorage(
"description") = value.data();
413 return Storage().isMember(
"dueDate");
420 MutableStorage()->removeMember(
"dueDate");
427 const Date get_due_date()
const;
437 Date mutable_dueDate();
445 return Storage().isMember(
"dueTime");
452 MutableStorage()->removeMember(
"dueTime");
478 return Storage().isMember(
"id");
485 MutableStorage()->removeMember(
"id");
493 const Json::Value& v = Storage(
"id");
494 if (v == Json::Value::null)
return StringPiece(
"");
495 return StringPiece(v.asCString());
512 *MutableStorage(
"id") = value.data();
523 return Storage().isMember(
"individualStudentsOptions");
530 MutableStorage()->removeMember(
"individualStudentsOptions");
559 return Storage().isMember(
"materials");
566 MutableStorage()->removeMember(
"materials");
573 const client::JsonCppArray<Material > get_materials()
const;
585 client::JsonCppArray<Material > mutable_materials();
593 return Storage().isMember(
"maxPoints");
600 MutableStorage()->removeMember(
"maxPoints");
608 const Json::Value& storage = Storage(
"maxPoints");
609 return client::JsonValueToCppValueHelper<double >(storage);
622 client::SetJsonValueFromCppValueHelper<double >(
623 value, MutableStorage(
"maxPoints"));
633 return Storage().isMember(
"multipleChoiceQuestion");
640 MutableStorage()->removeMember(
"multipleChoiceQuestion");
671 return Storage().isMember(
"scheduledTime");
678 MutableStorage()->removeMember(
"scheduledTime");
686 const Json::Value& v = Storage(
"scheduledTime");
687 if (v == Json::Value::null)
return StringPiece(
"");
688 return StringPiece(v.asCString());
699 *MutableStorage(
"scheduledTime") = value.data();
708 return Storage().isMember(
"state");
715 MutableStorage()->removeMember(
"state");
723 const Json::Value& v = Storage(
"state");
724 if (v == Json::Value::null)
return StringPiece(
"");
725 return StringPiece(v.asCString());
737 *MutableStorage(
"state") = value.data();
748 return Storage().isMember(
"submissionModificationMode");
755 MutableStorage()->removeMember(
"submissionModificationMode");
763 const Json::Value& v = Storage(
"submissionModificationMode");
764 if (v == Json::Value::null)
return StringPiece(
"");
765 return StringPiece(v.asCString());
777 *MutableStorage(
"submissionModificationMode") = value.data();
786 return Storage().isMember(
"title");
793 MutableStorage()->removeMember(
"title");
801 const Json::Value& v = Storage(
"title");
802 if (v == Json::Value::null)
return StringPiece(
"");
803 return StringPiece(v.asCString());
816 *MutableStorage(
"title") = value.data();
825 return Storage().isMember(
"topicId");
832 MutableStorage()->removeMember(
"topicId");
840 const Json::Value& v = Storage(
"topicId");
841 if (v == Json::Value::null)
return StringPiece(
"");
842 return StringPiece(v.asCString());
854 *MutableStorage(
"topicId") = value.data();
863 return Storage().isMember(
"updateTime");
870 MutableStorage()->removeMember(
"updateTime");
878 const Json::Value& v = Storage(
"updateTime");
879 if (v == Json::Value::null)
return StringPiece(
"");
880 return StringPiece(v.asCString());
893 *MutableStorage(
"updateTime") = value.data();
902 return Storage().isMember(
"workType");
909 MutableStorage()->removeMember(
"workType");
917 const Json::Value& v = Storage(
"workType");
918 if (v == Json::Value::null)
return StringPiece(
"");
919 return StringPiece(v.asCString());
932 *MutableStorage(
"workType") = value.data();
939 #endif // GOOGLE_CLASSROOM_API_COURSE_WORK_H_ bool has_individual_students_options() const
Definition: course_work.h:522
bool has_creation_time() const
Definition: course_work.h:295
bool has_title() const
Definition: course_work.h:785
void clear_course_id()
Definition: course_work.h:263
const StringPiece get_course_id() const
Definition: course_work.h:271
bool has_state() const
Definition: course_work.h:707
const StringPiece get_scheduled_time() const
Definition: course_work.h:685
bool has_update_time() const
Definition: course_work.h:862
void set_scheduled_time(const StringPiece &value)
Definition: course_work.h:698
Definition: assignment.h:51
bool has_associated_with_developer() const
Definition: course_work.h:213
bool has_id() const
Definition: course_work.h:477
const StringPiece get_title() const
Definition: course_work.h:800
void clear_description()
Definition: course_work.h:380
void clear_assignee_mode()
Definition: course_work.h:146
void clear_topic_id()
Definition: course_work.h:831
void set_creation_time(const StringPiece &value)
Definition: course_work.h:325
void clear_associated_with_developer()
Definition: course_work.h:220
Definition: course_work.h:57
const StringPiece get_state() const
Definition: course_work.h:722
bool has_max_points() const
Definition: course_work.h:592
void set_course_id(const StringPiece &value)
Definition: course_work.h:286
bool has_scheduled_time() const
Definition: course_work.h:670
void clear_materials()
Definition: course_work.h:565
bool has_due_date() const
Definition: course_work.h:412
void set_title(const StringPiece &value)
Definition: course_work.h:815
bool has_due_time() const
Definition: course_work.h:444
const StringPiece get_description() const
Definition: course_work.h:388
const StringPiece get_creation_time() const
Definition: course_work.h:310
void clear_alternate_link()
Definition: course_work.h:106
void clear_max_points()
Definition: course_work.h:599
bool has_topic_id() const
Definition: course_work.h:824
const StringPiece get_work_type() const
Definition: course_work.h:916
const StringPiece get_creator_user_id() const
Definition: course_work.h:349
Definition: individual_students_options.h:51
void set_description(const StringPiece &value)
Definition: course_work.h:403
bool has_alternate_link() const
Definition: course_work.h:99
void set_topic_id(const StringPiece &value)
Definition: course_work.h:853
void clear_creation_time()
Definition: course_work.h:302
void clear_due_date()
Definition: course_work.h:419
void clear_assignment()
Definition: course_work.h:184
void clear_scheduled_time()
Definition: course_work.h:677
void set_alternate_link(const StringPiece &value)
Definition: course_work.h:130
bool has_assignee_mode() const
Definition: course_work.h:139
void clear_work_type()
Definition: course_work.h:908
const StringPiece get_update_time() const
Definition: course_work.h:877
const StringPiece get_submission_modification_mode() const
Definition: course_work.h:762
bool has_course_id() const
Definition: course_work.h:256
const StringPiece get_alternate_link() const
Definition: course_work.h:114
void clear_id()
Definition: course_work.h:484
void clear_state()
Definition: course_work.h:714
bool has_multiple_choice_question() const
Definition: course_work.h:632
bool get_associated_with_developer() const
Definition: course_work.h:228
Definition: announcement.h:41
Definition: multiple_choice_question.h:50
void clear_title()
Definition: course_work.h:792
const StringPiece get_topic_id() const
Definition: course_work.h:839
const StringPiece GetTypeName() const
Definition: course_work.h:90
const StringPiece get_id() const
Definition: course_work.h:492
bool has_creator_user_id() const
Definition: course_work.h:334
void set_assignee_mode(const StringPiece &value)
Definition: course_work.h:168
void set_id(const StringPiece &value)
Definition: course_work.h:511
void set_creator_user_id(const StringPiece &value)
Definition: course_work.h:364
bool has_description() const
Definition: course_work.h:373
bool has_materials() const
Definition: course_work.h:558
Definition: time_of_day.h:52
void clear_due_time()
Definition: course_work.h:451
void set_max_points(double value)
Definition: course_work.h:621
Definition: announcement.cc:43
void set_associated_with_developer(bool value)
Definition: course_work.h:246
void clear_creator_user_id()
Definition: course_work.h:341
void set_work_type(const StringPiece &value)
Definition: course_work.h:931
double get_max_points() const
Definition: course_work.h:607
void set_update_time(const StringPiece &value)
Definition: course_work.h:892
bool has_work_type() const
Definition: course_work.h:901
void clear_individual_students_options()
Definition: course_work.h:529
void set_state(const StringPiece &value)
Definition: course_work.h:736
void clear_submission_modification_mode()
Definition: course_work.h:754
const StringPiece get_assignee_mode() const
Definition: course_work.h:154
void set_submission_modification_mode(const StringPiece &value)
Definition: course_work.h:776
bool has_submission_modification_mode() const
Definition: course_work.h:747
void clear_multiple_choice_question()
Definition: course_work.h:639
void clear_update_time()
Definition: course_work.h:869
bool has_assignment() const
Definition: course_work.h:177