19   CHttpRange(uint64_t firstPosition, uint64_t lastPosition);
    23   bool operator==(
const CHttpRange &other) 
const;
    24   bool operator!=(
const CHttpRange &other) 
const;
    26   virtual uint64_t GetFirstPosition()
 const { 
return m_first; }
    27   virtual void SetFirstPosition(uint64_t firstPosition) { m_first = firstPosition; }
    28   virtual uint64_t GetLastPosition()
 const { 
return m_last; }
    29   virtual void SetLastPosition(uint64_t lastPosition) { m_last = lastPosition; }
    31   virtual uint64_t GetLength() 
const;
    32   virtual void SetLength(uint64_t length);
    34   virtual bool IsValid() 
const;
    41 typedef std::vector<CHttpRange> HttpRanges;
    55   const void* GetData()
 const { 
return m_data; }
    56   void SetData(
const void* data) { m_data = data; }
    57   void SetData(
const void* data, uint64_t length);
    58   void SetData(
const void* data, uint64_t firstPosition, uint64_t lastPosition);
    60   bool IsValid() 
const override;
    66 typedef std::vector<CHttpResponseRange> HttpResponseRanges;
    74   const HttpRanges& Get()
 const { 
return m_ranges; }
    75   bool Get(
size_t index, 
CHttpRange& range) 
const;
    78   size_t Size()
 const { 
return m_ranges.size(); }
    79   bool IsEmpty()
 const { 
return m_ranges.empty(); }
    81   bool GetFirstPosition(uint64_t& position) 
const;
    82   bool GetLastPosition(uint64_t& position) 
const;
    83   uint64_t GetLength() 
const;
    88   void Remove(
size_t index);
    91   HttpRanges::const_iterator Begin()
 const { 
return m_ranges.begin(); }
    92   HttpRanges::const_iterator End()
 const { 
return m_ranges.end(); }
    94   bool Parse(
const std::string& header);
    95   bool Parse(
const std::string& header, uint64_t totalLength);
    98   void SortAndCleanup();
   113   static std::string GenerateContentRangeHeaderValue(
const CHttpRange* range);
   124   static std::string GenerateContentRangeHeaderValue(uint64_t start, uint64_t end, uint64_t total);
   126 #ifdef HAS_WEB_SERVER   133   static std::string GenerateMultipartBoundary();
   142   static std::string GenerateMultipartBoundaryContentType(
const std::string& multipartBoundary);
   153   static std::string GenerateMultipartBoundaryWithHeader(
const std::string& multipartBoundary, 
const std::string& contentType);
   165   static std::string GenerateMultipartBoundaryWithHeader(
const std::string& multipartBoundary, 
const std::string& contentType, 
const CHttpRange* range);
   176   static std::string GenerateMultipartBoundaryWithHeader(
const std::string& multipartBoundaryWithContentType, 
const CHttpRange* range);
   185   static std::string GenerateMultipartBoundaryEnd(
const std::string& multipartBoundary);
   186 #endif // HAS_WEB_SERVER Definition: HttpRangeUtils.h:43
Definition: HttpRangeUtils.h:68
Definition: HttpRangeUtils.h:103
Definition: HttpRangeUtils.h:15