30 #ifndef GOOGLE_CLASSROOM_API_COURSE_H_ 31 #define GOOGLE_CLASSROOM_API_COURSE_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/course_material_set.h" 39 #include "google/classroom_api/drive_folder.h" 53 class Course :
public client::JsonCppData {
67 explicit Course(
const Json::Value& storage);
74 explicit Course(Json::Value* storage);
87 return StringPiece(
"google_classroom_api::Course");
96 return Storage().isMember(
"alternateLink");
103 MutableStorage()->removeMember(
"alternateLink");
111 const Json::Value& v = Storage(
"alternateLink");
112 if (v == Json::Value::null)
return StringPiece(
"");
113 return StringPiece(v.asCString());
126 *MutableStorage(
"alternateLink") = value.data();
135 return Storage().isMember(
"calendarId");
142 MutableStorage()->removeMember(
"calendarId");
150 const Json::Value& v = Storage(
"calendarId");
151 if (v == Json::Value::null)
return StringPiece(
"");
152 return StringPiece(v.asCString());
166 *MutableStorage(
"calendarId") = value.data();
175 return Storage().isMember(
"courseGroupEmail");
182 MutableStorage()->removeMember(
"courseGroupEmail");
190 const Json::Value& v = Storage(
"courseGroupEmail");
191 if (v == Json::Value::null)
return StringPiece(
"");
192 return StringPiece(v.asCString());
206 *MutableStorage(
"courseGroupEmail") = value.data();
215 return Storage().isMember(
"courseMaterialSets");
222 MutableStorage()->removeMember(
"courseMaterialSets");
230 const client::JsonCppArray<CourseMaterialSet > get_course_material_sets()
const;
242 client::JsonCppArray<CourseMaterialSet > mutable_courseMaterialSets();
250 return Storage().isMember(
"courseState");
257 MutableStorage()->removeMember(
"courseState");
265 const Json::Value& v = Storage(
"courseState");
266 if (v == Json::Value::null)
return StringPiece(
"");
267 return StringPiece(v.asCString());
279 *MutableStorage(
"courseState") = value.data();
288 return Storage().isMember(
"creationTime");
295 MutableStorage()->removeMember(
"creationTime");
303 const Json::Value& v = Storage(
"creationTime");
304 if (v == Json::Value::null)
return StringPiece(
"");
305 return StringPiece(v.asCString());
319 *MutableStorage(
"creationTime") = value.data();
328 return Storage().isMember(
"description");
335 MutableStorage()->removeMember(
"description");
343 const Json::Value& v = Storage(
"description");
344 if (v == Json::Value::null)
return StringPiece(
"");
345 return StringPiece(v.asCString());
361 *MutableStorage(
"description") = value.data();
370 return Storage().isMember(
"descriptionHeading");
377 MutableStorage()->removeMember(
"descriptionHeading");
385 const Json::Value& v = Storage(
"descriptionHeading");
386 if (v == Json::Value::null)
return StringPiece(
"");
387 return StringPiece(v.asCString());
401 *MutableStorage(
"descriptionHeading") = value.data();
410 return Storage().isMember(
"enrollmentCode");
417 MutableStorage()->removeMember(
"enrollmentCode");
425 const Json::Value& v = Storage(
"enrollmentCode");
426 if (v == Json::Value::null)
return StringPiece(
"");
427 return StringPiece(v.asCString());
441 *MutableStorage(
"enrollmentCode") = value.data();
450 return Storage().isMember(
"guardiansEnabled");
457 MutableStorage()->removeMember(
"guardiansEnabled");
465 const Json::Value& storage = Storage(
"guardiansEnabled");
466 return client::JsonValueToCppValueHelper<bool >(storage);
479 client::SetJsonValueFromCppValueHelper<bool >(
480 value, MutableStorage(
"guardiansEnabled"));
489 return Storage().isMember(
"id");
496 MutableStorage()->removeMember(
"id");
504 const Json::Value& v = Storage(
"id");
505 if (v == Json::Value::null)
return StringPiece(
"");
506 return StringPiece(v.asCString());
526 *MutableStorage(
"id") = value.data();
535 return Storage().isMember(
"name");
542 MutableStorage()->removeMember(
"name");
550 const Json::Value& v = Storage(
"name");
551 if (v == Json::Value::null)
return StringPiece(
"");
552 return StringPiece(v.asCString());
566 *MutableStorage(
"name") = value.data();
575 return Storage().isMember(
"ownerId");
582 MutableStorage()->removeMember(
"ownerId");
590 const Json::Value& v = Storage(
"ownerId");
591 if (v == Json::Value::null)
return StringPiece(
"");
592 return StringPiece(v.asCString());
616 *MutableStorage(
"ownerId") = value.data();
625 return Storage().isMember(
"room");
632 MutableStorage()->removeMember(
"room");
640 const Json::Value& v = Storage(
"room");
641 if (v == Json::Value::null)
return StringPiece(
"");
642 return StringPiece(v.asCString());
656 *MutableStorage(
"room") = value.data();
665 return Storage().isMember(
"section");
672 MutableStorage()->removeMember(
"section");
680 const Json::Value& v = Storage(
"section");
681 if (v == Json::Value::null)
return StringPiece(
"");
682 return StringPiece(v.asCString());
696 *MutableStorage(
"section") = value.data();
705 return Storage().isMember(
"teacherFolder");
712 MutableStorage()->removeMember(
"teacherFolder");
743 return Storage().isMember(
"teacherGroupEmail");
750 MutableStorage()->removeMember(
"teacherGroupEmail");
758 const Json::Value& v = Storage(
"teacherGroupEmail");
759 if (v == Json::Value::null)
return StringPiece(
"");
760 return StringPiece(v.asCString());
774 *MutableStorage(
"teacherGroupEmail") = value.data();
783 return Storage().isMember(
"updateTime");
790 MutableStorage()->removeMember(
"updateTime");
798 const Json::Value& v = Storage(
"updateTime");
799 if (v == Json::Value::null)
return StringPiece(
"");
800 return StringPiece(v.asCString());
814 *MutableStorage(
"updateTime") = value.data();
818 void operator=(
const Course&);
821 #endif // GOOGLE_CLASSROOM_API_COURSE_H_ const StringPiece GetTypeName() const
Definition: course.h:86
bool has_update_time() const
Definition: course.h:782
bool has_room() const
Definition: course.h:624
void set_enrollment_code(const StringPiece &value)
Definition: course.h:440
void clear_enrollment_code()
Definition: course.h:416
bool has_section() const
Definition: course.h:664
const StringPiece get_course_state() const
Definition: course.h:264
void clear_id()
Definition: course.h:495
void clear_course_group_email()
Definition: course.h:181
const StringPiece get_update_time() const
Definition: course.h:797
void clear_description()
Definition: course.h:334
void clear_guardians_enabled()
Definition: course.h:456
void clear_course_state()
Definition: course.h:256
const StringPiece get_section() const
Definition: course.h:679
bool has_name() const
Definition: course.h:534
void set_room(const StringPiece &value)
Definition: course.h:655
const StringPiece get_name() const
Definition: course.h:549
void set_description_heading(const StringPiece &value)
Definition: course.h:400
void set_teacher_group_email(const StringPiece &value)
Definition: course.h:773
void set_update_time(const StringPiece &value)
Definition: course.h:813
Definition: drive_folder.h:50
bool has_owner_id() const
Definition: course.h:574
const StringPiece get_enrollment_code() const
Definition: course.h:424
const StringPiece get_owner_id() const
Definition: course.h:589
void clear_creation_time()
Definition: course.h:294
const StringPiece get_alternate_link() const
Definition: course.h:110
bool get_guardians_enabled() const
Definition: course.h:464
void clear_description_heading()
Definition: course.h:376
bool has_teacher_group_email() const
Definition: course.h:742
const StringPiece get_id() const
Definition: course.h:503
const StringPiece get_course_group_email() const
Definition: course.h:189
void set_section(const StringPiece &value)
Definition: course.h:695
void set_id(const StringPiece &value)
Definition: course.h:525
void clear_course_material_sets()
Definition: course.h:221
bool has_description_heading() const
Definition: course.h:369
void set_course_state(const StringPiece &value)
Definition: course.h:278
bool has_course_material_sets() const
Definition: course.h:214
const StringPiece get_description() const
Definition: course.h:342
bool has_creation_time() const
Definition: course.h:287
void set_course_group_email(const StringPiece &value)
Definition: course.h:205
Definition: announcement.h:41
void clear_teacher_folder()
Definition: course.h:711
void clear_update_time()
Definition: course.h:789
void clear_alternate_link()
Definition: course.h:102
const StringPiece get_description_heading() const
Definition: course.h:384
bool has_id() const
Definition: course.h:488
void set_guardians_enabled(bool value)
Definition: course.h:478
bool has_guardians_enabled() const
Definition: course.h:449
const StringPiece get_room() const
Definition: course.h:639
bool has_description() const
Definition: course.h:327
void clear_name()
Definition: course.h:541
void clear_section()
Definition: course.h:671
const StringPiece get_teacher_group_email() const
Definition: course.h:757
void set_name(const StringPiece &value)
Definition: course.h:565
bool has_course_group_email() const
Definition: course.h:174
void set_calendar_id(const StringPiece &value)
Definition: course.h:165
const StringPiece get_creation_time() const
Definition: course.h:302
Definition: announcement.cc:43
void set_creation_time(const StringPiece &value)
Definition: course.h:318
bool has_teacher_folder() const
Definition: course.h:704
void clear_room()
Definition: course.h:631
void clear_calendar_id()
Definition: course.h:141
void clear_owner_id()
Definition: course.h:581
bool has_alternate_link() const
Definition: course.h:95
bool has_course_state() const
Definition: course.h:249
void clear_teacher_group_email()
Definition: course.h:749
const StringPiece get_calendar_id() const
Definition: course.h:149
void set_owner_id(const StringPiece &value)
Definition: course.h:615
void set_description(const StringPiece &value)
Definition: course.h:360
bool has_enrollment_code() const
Definition: course.h:409
void set_alternate_link(const StringPiece &value)
Definition: course.h:125
bool has_calendar_id() const
Definition: course.h:134