All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
WebPostData.h
1 #pragma once
2 
3 #include "Types.h"
4 #include <string>
5 #include <vector>
6 
7 namespace Eegeo
8 {
9  namespace Web
10  {
11  namespace PostDataType
12  {
13  enum Values
14  {
15  Nothing = 0,
16  Text,
17  Buffer
18  };
19  }
20 
22  {
23  public:
24  WebPostData();
25 
26  static WebPostData CreateTextData(const std::string& textContent);
27  static WebPostData CreateBufferData(const std::string& fileName, const std::vector<Byte>& bufferContents);
28 
29  PostDataType::Values GetPostDataType() const;
30  const std::string& GetTextContent() const;
31 
32  const Byte* GetBufferPointer() const;
33  const long GetBufferLength() const;
34 
35  const char* GetRawData() const;
36  int GetRawDataSize() const;
37 
38  private:
39 
40  WebPostData(const PostDataType::Values postDataType,
41  const std::string& textContent);
42 
43  WebPostData(const PostDataType::Values postDataType,
44  const std::string& textContent,
45  const std::vector<Byte>& bufferContent);
46 
47  PostDataType::Values m_postDataType;
48  std::string m_textContent;
49  std::vector<Byte> m_bufferContent;
50  };
51  }
52 }