Files
CocoaTweet/src/cocoatweet/api/media/upload.h
T
2022-04-23 18:04:03 +09:00

39 lines
1.2 KiB
C++

#ifndef COCOATWEET_API_MEDIA_UPLOAD_H_
#define COCOATWEET_API_MEDIA_UPLOAD_H_
#include <cocoatweet/api/interface/httpPost.h>
#include <cocoatweet/api/model/mediaStore.h>
#include <string>
#include <filesystem>
namespace CocoaTweet::API::Medias {
/// @brief entry point for using media/upload endpoint
class Upload : public CocoaTweet::API::Interface::HttpPost {
private:
std::string media_;
static const std::map<std::string, std::string> mimeType;
public:
/// @brief default constructor
Upload();
/// @brief set media file with absolute path
/// @param[in] const std::string& _media : absolute path to media should be uploaded
/// @param[out] none
void media(const std::string& _media);
/// @brief set media id(no affect to process. will be obsoleted)
void mediaId(const std::string& _mediaId);
/// @brief upload media
/// @param[in] std::weak_ptr<CocoaTweet::Authentication::AuthenticatorBase> _oauth : pointer
/// to OAuth object for authenticate
/// @param[out] CocoaTweet::API::Model::MediaStore : media upload result. use id() for post
/// tweet.
CocoaTweet::API::Model::MediaStore process(
std::weak_ptr<CocoaTweet::Authentication::AuthenticatorBase> _oauth);
};
} // namespace CocoaTweet::API::Medias
#endif