Davix::DavPosix Class Reference

POSIX-like API of Davix. More...

#include <davposix.hpp>


Public Member Functions

 DavPosix (Context *handle)
int stat (const RequestParams *params, const std::string &str, struct stat *st, DavixError **err)
 stat call behavior similar to the POSIX stat function
DAVIX_DIR * opendir (const RequestParams *params, const std::string &url, DavixError **err)
 execute an opendir function with Webdav behavior similar to the POSIX opendir function
dirent * readdir (DAVIX_DIR *dir, DavixError **err)
 execute a readdir function with Webdav behavior similar to the POSIX readdir function
int closedir (DAVIX_DIR *d, DavixError **err)
DAVIX_DIR * opendirpp (const RequestParams *params, const std::string &url, DavixError **err)
 execute an opendirpp function with Webdav opendirpp/readdirpp/closedirpp function read a directory content with a struct stat associated to each directory entry
dirent * readdirpp (DAVIX_DIR *dir, struct stat *st, DavixError **err)
 execute a readdirpp function with Webdav opendirpp and readdirpp function read a directory content with stat information for each directory entry
int closedirpp (DAVIX_DIR *, DavixError **err)
 close an existing file handle
int mkdir (const RequestParams *_params, const std::string &url, mode_t right, DavixError **err)
 execute a mkdir function with Webdav behavior similar to the POSIX mkdir function
int unlink (const RequestParams *_params, const std::string &url, DavixError **err)
 execute a remove file operation behavior similar to the POSIX unlink function
int rmdir (const RequestParams *_params, const std::string &url, DavixError **err)
 execute a remove directory operation behavior similar to the POSIX rmdir function
DAVIX_FD * open (const RequestParams *_params, const std::string &url, int flags, DavixError **err)
 open a file for read/write operation in a POSIX-like approach behavior similar to the POSIX open function This operation is supported on plain HTTP servers.
ssize_t read (DAVIX_FD *fd, void *buf, size_t count, DavixError **err)
 read a file in a POSIX-like approach with HTTP(S) behavior similar to the POSIX read function
ssize_t pread (DAVIX_FD *fd, void *buf, size_t count, off_t offset, DavixError **err)
 do a partial read of a file in a POSIX-like approach with HTTP(S) behavior similar to the POSIX pread function
dav_ssize_t preadVec (DAVIX_FD *fd, const DavIOVecInput *input_vec, DavIOVecOuput *ioutput_vec, dav_size_t count_vec, DavixError **err)
 pread_vec a file in a POSIX-like approach with HTTP(S) Vector read operation Allow to do several read operations in one single request
ssize_t write (DAVIX_FD *fd, const void *buf, size_t count, DavixError **err)
 write a file in a POSIX-like approach with HTTP(S) behavior similar to the POSIX write function
off_t lseek (DAVIX_FD *fd, off_t offset, int flags, DavixError **err)
 move the cursor a davix file with HTTP(S) behavior similar to the POSIX lseek function
int close (DAVIX_FD *fd, DavixError **err)
 close a existing file descriptor


Detailed Description

POSIX-like API of Davix.

DavPosix offers a POSIX-like API for HTTP/WebDav file operations

POSIX API can be used for convenience when porting application to a POSIX like interface.

DavPosix and all associated method are Thread safe.


Member Function Documentation

int Davix::DavPosix::close ( DAVIX_FD *  fd,
DavixError **  err 
)

close a existing file descriptor

Note : all file descriptors MUST be closed before the destruction of the parent davix context

Parameters:
fd : davix file descriptor
count : number of bytes to write
Returns:
0 if success, negative value if error

int Davix::DavPosix::closedir ( DAVIX_DIR *  d,
DavixError **  err 
)

close an existing file handle

Parameters:
d : directory handle to close
err : Davix error report system
Returns:
0 if success else a negative value and err is set.

off_t Davix::DavPosix::lseek ( DAVIX_FD *  fd,
off_t  offset,
int  flags,
DavixError **  err 
)

move the cursor a davix file with HTTP(S) behavior similar to the POSIX lseek function

Parameters:
fd : davix file descriptor
offset : offset in byte inside the file
flags : lseek flags, similar to the lseek function
Returns:
the offset position or a negative value if an error occures

int Davix::DavPosix::mkdir ( const RequestParams _params,
const std::string &  url,
mode_t  right,
DavixError **  err 
)

execute a mkdir function with Webdav behavior similar to the POSIX mkdir function

Warning:
dependening of the server, implementation, mode_t parameter can be ignored
Parameters:
params : request options, can be NULL
url,: url of the directory to create
right : default mode of the directory ( ignored for now )
err : Davix error report system
Returns:
0 if success else a negative value and err is set.

DAVIX_FD* Davix::DavPosix::open ( const RequestParams _params,
const std::string &  url,
int  flags,
DavixError **  err 
)

open a file for read/write operation in a POSIX-like approach behavior similar to the POSIX open function This operation is supported on plain HTTP servers.

Parameters:
params : request options, can be NULL
url : url of the HTTP file to open
flags : open flags, similar to the POSIX function open
err,: Davix Error report
Returns:
Davix file descriptor in case of success, or NULL if an error occures.

DAVIX_DIR* Davix::DavPosix::opendir ( const RequestParams params,
const std::string &  url,
DavixError **  err 
)

execute an opendir function with Webdav behavior similar to the POSIX opendir function

Parameters:
params : request options, can be NULL
url : url of the directory to list
Returns:
DAVIX_DIR : davix readdir handle

DAVIX_DIR* Davix::DavPosix::opendirpp ( const RequestParams params,
const std::string &  url,
DavixError **  err 
)

execute an opendirpp function with Webdav opendirpp/readdirpp/closedirpp function read a directory content with a struct stat associated to each directory entry

Parameters:
params : request options, can be NULL
err : Davix error report system
Returns:
DAVIX_DIR : davix readdir handle or NULL if error, in this case err is set.

ssize_t Davix::DavPosix::pread ( DAVIX_FD *  fd,
void *  buf,
size_t  count,
off_t  offset,
DavixError **  err 
)

do a partial read of a file in a POSIX-like approach with HTTP(S) behavior similar to the POSIX pread function

Parameters:
fd : davix file descriptor
buf : buffer to fill
count : maximum number of bytes to read
offset : offset to use
err,: Davix Error report
Returns:
the size of data or a negative value if an error occured

dav_ssize_t Davix::DavPosix::preadVec ( DAVIX_FD *  fd,
const DavIOVecInput input_vec,
DavIOVecOuput ioutput_vec,
dav_size_t  count_vec,
DavixError **  err 
)

pread_vec a file in a POSIX-like approach with HTTP(S) Vector read operation Allow to do several read operations in one single request

Parameters:
fd : davix file descriptor
input_vec : input vectors, parameters
output_vec : output vectors, results
count_vec : number of vector struct
err,: Davix Error report
Returns:
total number of bytes read, or -1 if error occures

ssize_t Davix::DavPosix::read ( DAVIX_FD *  fd,
void *  buf,
size_t  count,
DavixError **  err 
)

read a file in a POSIX-like approach with HTTP(S) behavior similar to the POSIX read function

Parameters:
fd : davix file descriptor
buf : buffer to fill
count : maximum number of bytes to read
err,: Davix Error report
Returns:
the size of data or a negative value if an error occured

struct dirent* Davix::DavPosix::readdir ( DAVIX_DIR *  dir,
DavixError **  err 
)

execute a readdir function with Webdav behavior similar to the POSIX readdir function

Parameters:
params : request options, can be NULL
dir : directory handle
err,: Davix Error report
Returns:
dirent struct if success, or NULL if error

struct dirent* Davix::DavPosix::readdirpp ( DAVIX_DIR *  dir,
struct stat *  st,
DavixError **  err 
)

execute a readdirpp function with Webdav opendirpp and readdirpp function read a directory content with stat information for each directory entry

Parameters:
params : request options, can be NULL
dir : directory handle
stat struct to fill
err,: Davix Error report
Returns:
dirent struct if success, or NULL if error

int Davix::DavPosix::rmdir ( const RequestParams _params,
const std::string &  url,
DavixError **  err 
)

execute a remove directory operation behavior similar to the POSIX rmdir function

Parameters:
params : request options, can be NULL
url,: directory to delete
err : Davix error report system
Returns:
0 if success else a negative value and err is set.

int Davix::DavPosix::stat ( const RequestParams params,
const std::string &  str,
struct stat *  st,
DavixError **  err 
)

stat call behavior similar to the POSIX stat function

Parameters:
params : request options, can be NULL
str,: string url
stat : stat struct to fill

int Davix::DavPosix::unlink ( const RequestParams _params,
const std::string &  url,
DavixError **  err 
)

execute a remove file operation behavior similar to the POSIX unlink function

Parameters:
params : request options, can be NULL
url,: file to delete
err : Davix error report system
Returns:
0 if success else a negative value and err is set.

ssize_t Davix::DavPosix::write ( DAVIX_FD *  fd,
const void *  buf,
size_t  count,
DavixError **  err 
)

write a file in a POSIX-like approach with HTTP(S) behavior similar to the POSIX write function

Parameters:
fd : davix file descriptor
buf : buffer with the write content
count : number of bytes to write
Returns:
the size of the written data or a negative value if an error occured


The documentation for this class was generated from the following file:
Generated on 8 Mar 2013 for davix by  doxygen 1.4.7