![]() |
Exiv2
|
Internal Pimpl structure of class HttpIo. More...
Public Member Functions | |
HttpImpl (const std::string &path, size_t blockSize) | |
Constructor. | |
long | getFileLength () |
Get the length (in bytes) of the remote file. More... | |
void | getDataByRange (long lowBlock, long highBlock, std::string &response) |
Get the data by range. More... | |
void | writeRemote (const byte *data, size_t size, long from, long to) |
Submit the data to the remote machine. The data replace a part of the remote file. The replaced part of remote file is indicated by from and to parameters. More... | |
![]() | |
Impl (const std::string &path, size_t blockSize) | |
Constructor. | |
virtual | ~Impl () |
Destructor. Releases all managed memory. | |
virtual size_t | populateBlocks (size_t lowBlock, size_t highBlock) |
Get the data from the remote machine and write them to the memory blocks. More... | |
Public Attributes | |
Exiv2::Uri | hostInfo_ |
the host information extracted from the path | |
![]() | |
std::string | path_ |
(Standard) path | |
size_t | blockSize_ |
Size of the block memory. | |
BlockMap * | blocksMap_ |
An array contains all blocksMap. | |
size_t | size_ |
The file size. | |
long | idx_ |
Index into the memory area. | |
bool | isMalloced_ |
Was the blocksMap_ allocated? | |
bool | eof_ |
EOF indicator. | |
Protocol | protocol_ |
the protocol of url | |
uint32_t | totalRead_ |
bytes requested from host | |
Protected Member Functions | |
HttpImpl (const HttpImpl &rhs) | |
Copy constructor. | |
HttpImpl & | operator= (const HttpImpl &rhs) |
Assignment. | |
|
virtual |
Get the data by range.
lowBlock | The start block index. |
highBlock | The end block index. |
response | The data from the server. |
Error | if the server returns the error code. |
Implements Exiv2::RemoteIo::Impl.
References Exiv2::RemoteIo::Impl::blockSize_, Exiv2::Uri::Host, hostInfo_, Exiv2::http(), Exiv2::Uri::Path, Exiv2::Uri::Port, and Exiv2::Internal::stringFormat().
Referenced by Exiv2::HttpIo::HttpIo().
|
virtual |
Get the length (in bytes) of the remote file.
Error | if the server returns the error code. |
Implements Exiv2::RemoteIo::Impl.
References Exiv2::Uri::Host, hostInfo_, Exiv2::http(), Exiv2::Uri::Path, Exiv2::Uri::Port, and Exiv2::Internal::stringFormat().
Referenced by Exiv2::HttpIo::HttpIo().
|
virtual |
Submit the data to the remote machine. The data replace a part of the remote file. The replaced part of remote file is indicated by from and to parameters.
data | The data are submitted to the remote machine. |
size | The size of data. |
from | The start position in the remote file where the data replace. |
to | The end position in the remote file where the data replace. |
Error | if it fails. |
Implements Exiv2::RemoteIo::Impl.
References Exiv2::base64encode(), Exiv2::getEnv(), Exiv2::Uri::Host, hostInfo_, Exiv2::http(), Exiv2::Uri::Parse(), Exiv2::Uri::Path, Exiv2::Uri::Port, Exiv2::Internal::stringFormat(), and Exiv2::urlencode().
Referenced by Exiv2::HttpIo::HttpIo().