classroom  v1
material.h
1 // Copyright 2010 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 // use this file except in compliance with the License. You may obtain a copy of
5 // the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations under
13 // the License.
14 
15 // This code was generated by google-apis-code-generator 1.5.1
16 // Build date: 2018-10-08 17:45:39 UTC
17 // on: 2020-03-13, 00:00:47 UTC
18 // C++ generator version: 0.1.4
19 
20 // ----------------------------------------------------------------------------
21 // NOTE: This file is generated from Google APIs Discovery Service.
22 // Service:
23 // Google Classroom API (classroom/v1)
24 // Generated from:
25 // Version: v1
26 // Revision: 386
27 // Generated by:
28 // Tool: google-apis-code-generator 1.5.1
29 // C++: 0.1.4
30 #ifndef GOOGLE_CLASSROOM_API_MATERIAL_H_
31 #define GOOGLE_CLASSROOM_API_MATERIAL_H_
32 
33 #include "googleapis/base/macros.h"
34 #include "googleapis/client/data/jsoncpp_data.h"
35 #include "googleapis/strings/stringpiece.h"
36 
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"
41 
42 namespace Json {
43 class Value;
44 } // namespace Json
45 
46 namespace google_classroom_api {
47 using namespace googleapis;
48 
56 class Material : public client::JsonCppData {
57  public:
63  static Material* New();
64 
70  explicit Material(const Json::Value& storage);
71 
77  explicit Material(Json::Value* storage);
78 
82  virtual ~Material();
83 
89  const StringPiece GetTypeName() const {
90  return StringPiece("google_classroom_api::Material");
91  }
92 
98  bool has_drive_file() const {
99  return Storage().isMember("driveFile");
100  }
101 
106  MutableStorage()->removeMember("driveFile");
107  }
108 
109 
113  const SharedDriveFile get_drive_file() const;
114 
123  SharedDriveFile mutable_driveFile();
124 
130  bool has_form() const {
131  return Storage().isMember("form");
132  }
133 
137  void clear_form() {
138  MutableStorage()->removeMember("form");
139  }
140 
141 
145  const Form get_form() const;
146 
154  Form mutable_form();
155 
161  bool has_link() const {
162  return Storage().isMember("link");
163  }
164 
168  void clear_link() {
169  MutableStorage()->removeMember("link");
170  }
171 
172 
176  const Link get_link() const;
177 
186  Link mutable_link();
187 
193  bool has_youtube_video() const {
194  return Storage().isMember("youtubeVideo");
195  }
196 
201  MutableStorage()->removeMember("youtubeVideo");
202  }
203 
204 
208  const YouTubeVideo get_youtube_video() const;
209 
218  YouTubeVideo mutable_youtubeVideo();
219 
220  private:
221  void operator=(const Material&);
222 }; // Material
223 } // namespace google_classroom_api
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
Definition: form.h:50