30 #ifndef GOOGLE_YOUTUBE_API_VIDEO_H_ 31 #define GOOGLE_YOUTUBE_API_VIDEO_H_ 34 #include "googleapis/base/macros.h" 35 #include "googleapis/client/data/jsoncpp_data.h" 36 #include "googleapis/strings/stringpiece.h" 38 #include "google/youtube_api/video_age_gating.h" 39 #include "google/youtube_api/video_content_details.h" 40 #include "google/youtube_api/video_file_details.h" 41 #include "google/youtube_api/video_live_streaming_details.h" 42 #include "google/youtube_api/video_localization.h" 43 #include "google/youtube_api/video_monetization_details.h" 44 #include "google/youtube_api/video_player.h" 45 #include "google/youtube_api/video_processing_details.h" 46 #include "google/youtube_api/video_project_details.h" 47 #include "google/youtube_api/video_recording_details.h" 48 #include "google/youtube_api/video_snippet.h" 49 #include "google/youtube_api/video_statistics.h" 50 #include "google/youtube_api/video_status.h" 51 #include "google/youtube_api/video_suggestions.h" 52 #include "google/youtube_api/video_topic_details.h" 66 class Video :
public client::JsonCppData {
80 explicit Video(
const Json::Value& storage);
87 explicit Video(Json::Value* storage);
100 return StringPiece(
"google_youtube_api::Video");
109 return Storage().isMember(
"ageGating");
116 MutableStorage()->removeMember(
"ageGating");
142 return Storage().isMember(
"contentDetails");
149 MutableStorage()->removeMember(
"contentDetails");
176 return Storage().isMember(
"etag");
183 MutableStorage()->removeMember(
"etag");
191 const Json::Value& v = Storage(
"etag");
192 if (v == Json::Value::null)
return StringPiece(
"");
193 return StringPiece(v.asCString());
204 *MutableStorage(
"etag") = value.data();
213 return Storage().isMember(
"fileDetails");
220 MutableStorage()->removeMember(
"fileDetails");
248 return Storage().isMember(
"id");
255 MutableStorage()->removeMember(
"id");
263 const Json::Value& v = Storage(
"id");
264 if (v == Json::Value::null)
return StringPiece(
"");
265 return StringPiece(v.asCString());
276 *MutableStorage(
"id") = value.data();
285 return Storage().isMember(
"kind");
292 MutableStorage()->removeMember(
"kind");
300 const Json::Value& v = Storage(
"kind");
301 if (v == Json::Value::null)
return StringPiece(
"");
302 return StringPiece(v.asCString());
314 *MutableStorage(
"kind") = value.data();
323 return Storage().isMember(
"liveStreamingDetails");
330 MutableStorage()->removeMember(
"liveStreamingDetails");
358 return Storage().isMember(
"localizations");
365 MutableStorage()->removeMember(
"localizations");
372 const client::JsonCppAssociativeArray<VideoLocalization > get_localizations()
const;
382 client::JsonCppAssociativeArray<VideoLocalization > mutable_localizations();
390 return Storage().isMember(
"monetizationDetails");
397 MutableStorage()->removeMember(
"monetizationDetails");
424 return Storage().isMember(
"player");
431 MutableStorage()->removeMember(
"player");
456 return Storage().isMember(
"processingDetails");
463 MutableStorage()->removeMember(
"processingDetails");
498 return Storage().isMember(
"projectDetails");
505 MutableStorage()->removeMember(
"projectDetails");
532 return Storage().isMember(
"recordingDetails");
539 MutableStorage()->removeMember(
"recordingDetails");
566 return Storage().isMember(
"snippet");
573 MutableStorage()->removeMember(
"snippet");
598 return Storage().isMember(
"statistics");
605 MutableStorage()->removeMember(
"statistics");
630 return Storage().isMember(
"status");
637 MutableStorage()->removeMember(
"status");
662 return Storage().isMember(
"suggestions");
669 MutableStorage()->removeMember(
"suggestions");
696 return Storage().isMember(
"topicDetails");
703 MutableStorage()->removeMember(
"topicDetails");
724 void operator=(
const Video&);
727 #endif // GOOGLE_YOUTUBE_API_VIDEO_H_ bool has_live_streaming_details() const
Definition: video.h:322
Definition: video_monetization_details.h:51
void clear_player()
Definition: video.h:430
bool has_recording_details() const
Definition: video.h:531
Definition: video_content_details.h:54
bool has_project_details() const
Definition: video.h:497
Definition: access_policy.cc:40
Definition: video_topic_details.h:50
void clear_recording_details()
Definition: video.h:538
void clear_status()
Definition: video.h:636
void clear_age_gating()
Definition: video.h:115
Definition: video_age_gating.h:50
void clear_kind()
Definition: video.h:291
const StringPiece get_etag() const
Definition: video.h:190
Definition: video_statistics.h:51
Definition: video_player.h:51
bool has_localizations() const
Definition: video.h:357
bool has_content_details() const
Definition: video.h:141
void set_etag(const StringPiece &value)
Definition: video.h:203
Definition: video_snippet.h:55
void clear_id()
Definition: video.h:254
bool has_statistics() const
Definition: video.h:597
void clear_live_streaming_details()
Definition: video.h:329
void clear_statistics()
Definition: video.h:604
void set_id(const StringPiece &value)
Definition: video.h:275
void clear_monetization_details()
Definition: video.h:396
void clear_localizations()
Definition: video.h:364
bool has_age_gating() const
Definition: video.h:108
bool has_etag() const
Definition: video.h:175
Definition: video_live_streaming_details.h:52
const StringPiece get_id() const
Definition: video.h:262
bool has_file_details() const
Definition: video.h:212
void clear_file_details()
Definition: video.h:219
void clear_etag()
Definition: video.h:182
bool has_topic_details() const
Definition: video.h:695
bool has_suggestions() const
Definition: video.h:661
const StringPiece GetTypeName() const
Definition: video.h:99
const StringPiece get_kind() const
Definition: video.h:299
Definition: access_policy.h:38
void clear_topic_details()
Definition: video.h:702
void clear_snippet()
Definition: video.h:572
bool has_kind() const
Definition: video.h:284
void clear_content_details()
Definition: video.h:148
Definition: video_file_details.h:56
bool has_id() const
Definition: video.h:247
Definition: video_suggestions.h:53
Definition: video_processing_details.h:53
void set_kind(const StringPiece &value)
Definition: video.h:313
bool has_player() const
Definition: video.h:423
void clear_suggestions()
Definition: video.h:668
void clear_processing_details()
Definition: video.h:462
bool has_monetization_details() const
Definition: video.h:389
Definition: video_project_details.h:50
bool has_processing_details() const
Definition: video.h:455
void clear_project_details()
Definition: video.h:504
bool has_status() const
Definition: video.h:629
bool has_snippet() const
Definition: video.h:565
Definition: video_status.h:51
Definition: video_recording_details.h:53