30 #ifndef GOOGLE_CLASSROOM_API_MATERIAL_H_ 31 #define GOOGLE_CLASSROOM_API_MATERIAL_H_ 33 #include "googleapis/base/macros.h" 34 #include "googleapis/client/data/jsoncpp_data.h" 35 #include "googleapis/strings/stringpiece.h" 37 #include "google/classroom_api/form.h" 38 #include "google/classroom_api/link.h" 39 #include "google/classroom_api/shared_drive_file.h" 40 #include "google/classroom_api/you_tube_video.h" 70 explicit Material(
const Json::Value& storage);
77 explicit Material(Json::Value* storage);
90 return StringPiece(
"google_classroom_api::Material");
99 return Storage().isMember(
"driveFile");
106 MutableStorage()->removeMember(
"driveFile");
131 return Storage().isMember(
"form");
138 MutableStorage()->removeMember(
"form");
145 const Form get_form()
const;
162 return Storage().isMember(
"link");
169 MutableStorage()->removeMember(
"link");
176 const Link get_link()
const;
194 return Storage().isMember(
"youtubeVideo");
201 MutableStorage()->removeMember(
"youtubeVideo");
224 #endif // GOOGLE_CLASSROOM_API_MATERIAL_H_ void clear_link()
Definition: material.h:168
void clear_youtube_video()
Definition: material.h:200
bool has_form() const
Definition: material.h:130
void clear_form()
Definition: material.h:137
bool has_drive_file() const
Definition: material.h:98
bool has_link() const
Definition: material.h:161
const StringPiece GetTypeName() const
Definition: material.h:89
Definition: shared_drive_file.h:52
Definition: announcement.h:41
Definition: material.h:56
void clear_drive_file()
Definition: material.h:105
bool has_youtube_video() const
Definition: material.h:193
Definition: announcement.cc:43
Definition: you_tube_video.h:50