initial commit
This commit is contained in:
@@ -0,0 +1,189 @@
|
||||
#pragma once
|
||||
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "rapidxml/1.13/rapidxml.hpp"
|
||||
#include "rapidxml/1.13/rapidxml_print.hpp"
|
||||
#include "rapidxml/1.13/rapidxml_utils.hpp"
|
||||
#include "request/data_process_req.h"
|
||||
#include "response/object_resp.h"
|
||||
|
||||
namespace qcloud_cos {
|
||||
|
||||
class ImageRespBase : virtual public BaseResp {
|
||||
public:
|
||||
ImageRespBase() {}
|
||||
|
||||
virtual ~ImageRespBase() {}
|
||||
|
||||
virtual bool ParseFromXmlString(const std::string& body);
|
||||
|
||||
UploadResult GetUploadResult() const { return m_upload_result; }
|
||||
|
||||
static bool ParseObject(rapidxml::xml_node<>* root, Object& object);
|
||||
static bool ParseQRcodeInfo(rapidxml::xml_node<>* root, QRcodeInfo& qr_code);
|
||||
|
||||
protected:
|
||||
bool ParseOriginalInfo(rapidxml::xml_node<>* root);
|
||||
UploadResult m_upload_result;
|
||||
};
|
||||
|
||||
class PutImageByFileResp : public ImageRespBase, public PutObjectByFileResp {
|
||||
public:
|
||||
PutImageByFileResp() {}
|
||||
virtual ~PutImageByFileResp() {}
|
||||
};
|
||||
|
||||
class CloudImageProcessResp : public ImageRespBase {
|
||||
public:
|
||||
CloudImageProcessResp() {}
|
||||
virtual ~CloudImageProcessResp() {}
|
||||
};
|
||||
|
||||
class GetQRcodeResp : public BaseResp {
|
||||
public:
|
||||
GetQRcodeResp() {}
|
||||
virtual ~GetQRcodeResp() {}
|
||||
|
||||
virtual bool ParseFromXmlString(const std::string& body);
|
||||
|
||||
GetQRcodeResult GetResult() const { return m_result; }
|
||||
|
||||
private:
|
||||
GetQRcodeResult m_result;
|
||||
};
|
||||
|
||||
class DescribeDocProcessBucketsResp : public BaseResp {
|
||||
public:
|
||||
DescribeDocProcessBucketsResp() {}
|
||||
virtual ~DescribeDocProcessBucketsResp() {}
|
||||
|
||||
virtual bool ParseFromXmlString(const std::string& body);
|
||||
|
||||
DocBucketResponse GetResult() const { return m_result; }
|
||||
|
||||
private:
|
||||
bool ParseDocBucketList(rapidxml::xml_node<>* root,
|
||||
DocBucketList& bucket_list);
|
||||
DocBucketResponse m_result;
|
||||
};
|
||||
|
||||
class DocPreviewResp : public GetObjectByFileResp {
|
||||
public:
|
||||
DocPreviewResp() {}
|
||||
virtual ~DocPreviewResp() {}
|
||||
|
||||
void ParseFromHeaders(const std::map<std::string, std::string>& headers);
|
||||
|
||||
// 返回文档总页数(表格文件表示当前 sheet 转换后的总图片数),异常时为空
|
||||
int GetTotalPage() const { return m_x_total_page; }
|
||||
// 当异常时返回错误码
|
||||
std::string GetErrNo() const { return m_x_errno; }
|
||||
// 返回文档中总表数
|
||||
int GetTotalSheet() const { return m_x_total_sheet; }
|
||||
// 返回当前 sheet 名
|
||||
std::string GetSheetName() const { return m_sheet_name; }
|
||||
|
||||
private:
|
||||
int m_x_total_page;
|
||||
std::string m_x_errno;
|
||||
int m_x_total_sheet;
|
||||
std::string m_sheet_name;
|
||||
};
|
||||
|
||||
class DocProcessJobBase : public BaseResp {
|
||||
public:
|
||||
DocProcessJobBase() {}
|
||||
virtual ~DocProcessJobBase() {}
|
||||
virtual bool ParseFromXmlString(const std::string& body);
|
||||
JobsDetail GetJobsDetail() const { return m_jobs_detail; }
|
||||
|
||||
protected:
|
||||
bool ParseJobsDetail(rapidxml::xml_node<>* root, JobsDetail& jobs_detail);
|
||||
bool ParseOperation(rapidxml::xml_node<>* root, Operation& operation);
|
||||
bool ParseDocProcess(rapidxml::xml_node<>* root, DocProcess& doc_process);
|
||||
bool ParseDocProcessResult(rapidxml::xml_node<>* root,
|
||||
DocProcessResult& doc_process_result);
|
||||
|
||||
private:
|
||||
JobsDetail m_jobs_detail;
|
||||
};
|
||||
|
||||
class CreateDocProcessJobsResp : public DocProcessJobBase {
|
||||
public:
|
||||
CreateDocProcessJobsResp() {}
|
||||
virtual ~CreateDocProcessJobsResp() {}
|
||||
};
|
||||
|
||||
class DescribeDocProcessJobResp : public DocProcessJobBase {
|
||||
public:
|
||||
DescribeDocProcessJobResp() {}
|
||||
virtual ~DescribeDocProcessJobResp() {}
|
||||
};
|
||||
|
||||
class DescribeDocProcessJobsResp : public DocProcessJobBase {
|
||||
public:
|
||||
DescribeDocProcessJobsResp() {}
|
||||
virtual ~DescribeDocProcessJobsResp() {}
|
||||
|
||||
virtual bool ParseFromXmlString(const std::string& body);
|
||||
|
||||
std::vector<JobsDetail> GetJobsDetails() const { return m_jobs_details; }
|
||||
|
||||
std::string GetNextToken() const { return m_next_token; }
|
||||
|
||||
private:
|
||||
std::vector<JobsDetail> m_jobs_details;
|
||||
std::string m_next_token;
|
||||
};
|
||||
|
||||
class DocProcessQueueBase : public BaseResp {
|
||||
public:
|
||||
DocProcessQueueBase() {}
|
||||
virtual ~DocProcessQueueBase() {}
|
||||
|
||||
protected:
|
||||
bool ParseNonExistPIDs(rapidxml::xml_node<>* root,
|
||||
NonExistPIDs& non_exist_pids);
|
||||
bool ParseQueueList(rapidxml::xml_node<>* root, QueueList& queue_list);
|
||||
};
|
||||
|
||||
class DescribeDocProcessQueuesResp : public DocProcessQueueBase {
|
||||
public:
|
||||
DescribeDocProcessQueuesResp() {}
|
||||
virtual ~DescribeDocProcessQueuesResp() {}
|
||||
virtual bool ParseFromXmlString(const std::string& body);
|
||||
|
||||
int GetTotalCount() const { return m_total_count; }
|
||||
std::string GetRequestId() const { return m_request_id; }
|
||||
int GetPageNumber() const { return m_page_number; }
|
||||
int GetPageSize() const { return m_page_size; }
|
||||
QueueList GetQueueList() const { return m_queue_list; }
|
||||
NonExistPIDs GetNonExistPIDs() const { return m_non_exist_pids; }
|
||||
|
||||
private:
|
||||
int m_total_count;
|
||||
std::string m_request_id;
|
||||
int m_page_number;
|
||||
int m_page_size;
|
||||
QueueList m_queue_list;
|
||||
NonExistPIDs m_non_exist_pids;
|
||||
};
|
||||
|
||||
class UpdateDocProcessQueueResp : public DocProcessQueueBase {
|
||||
public:
|
||||
UpdateDocProcessQueueResp() {}
|
||||
virtual ~UpdateDocProcessQueueResp() {}
|
||||
virtual bool ParseFromXmlString(const std::string& body);
|
||||
|
||||
std::string GetRequestId() const { return m_request_id; }
|
||||
QueueList GetQueueList() const { return m_queue; }
|
||||
|
||||
private:
|
||||
std::string m_request_id;
|
||||
QueueList m_queue;
|
||||
};
|
||||
|
||||
} // namespace qcloud_cos
|
||||
Reference in New Issue
Block a user