123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #pragma once
- #include "auth-youtube.hpp"
- #include <json11.hpp>
- #include <QString>
- struct ChannelDescription {
- QString id;
- QString title;
- };
- struct StreamDescription {
- QString id;
- QString name;
- QString title;
- };
- struct CategoryDescription {
- QString id;
- QString title;
- };
- struct BroadcastDescription {
- QString id;
- QString title;
- QString description;
- QString privacy;
- CategoryDescription category;
- QString latency;
- bool made_for_kids;
- bool auto_start;
- bool auto_stop;
- bool dvr;
- bool schedul_for_later;
- QString schedul_date_time;
- QString projection;
- };
- bool IsYouTubeService(const std::string &service);
- class YoutubeApiWrappers : public YoutubeAuth {
- Q_OBJECT
- bool TryInsertCommand(const char *url, const char *content_type,
- std::string request_type, const char *data,
- json11::Json &ret, long *error_code = nullptr,
- int data_size = 0);
- bool UpdateAccessToken();
- bool InsertCommand(const char *url, const char *content_type,
- std::string request_type, const char *data,
- json11::Json &ret, int data_size = 0);
- public:
- YoutubeApiWrappers(const Def &d);
- bool GetChannelDescription(ChannelDescription &channel_description);
- bool InsertBroadcast(BroadcastDescription &broadcast);
- bool InsertStream(StreamDescription &stream);
- bool BindStream(const QString broadcast_id, const QString stream_id,
- json11::Json &json_out);
- bool GetBroadcastsList(json11::Json &json_out, const QString &page,
- const QString &status);
- bool
- GetVideoCategoriesList(QVector<CategoryDescription> &category_list_out);
- bool SetVideoCategory(const QString &video_id,
- const QString &video_title,
- const QString &video_description,
- const QString &categorie_id);
- bool SetVideoThumbnail(const QString &video_id,
- const QString &thumbnail_file);
- bool StartBroadcast(const QString &broadcast_id);
- bool StopBroadcast(const QString &broadcast_id);
- bool ResetBroadcast(const QString &broadcast_id,
- json11::Json &json_out);
- bool StartLatestBroadcast();
- bool StopLatestBroadcast();
- bool SendChatMessage(const std::string &chat_id,
- const QString &message);
- void SetBroadcastId(QString &broadcast_id);
- QString GetBroadcastId();
- bool FindBroadcast(const QString &id, json11::Json &json_out);
- bool FindStream(const QString &id, json11::Json &json_out);
- QString GetLastError() { return lastErrorMessage; };
- bool GetTranslatedError(QString &error_message);
- private:
- QString broadcast_id;
- int lastError;
- QString lastErrorMessage;
- QString lastErrorReason;
- };
|