uvcc
libuv C++ bindings
uv::fs::scandir Class Reference

Scan a directory. More...

#include "request-fs.hpp"

Inheritance diagram for uv::fs::scandir:
uv::fs uv::request

Public Types

using on_request_t = std::function< void(scandir _request) >
 The function type of the callback called when the scandir request has completed.
 
- Public Types inherited from uv::fs
using uv_t = ::uv_fs_t
 
- Public Types inherited from uv::request
using uv_t = ::uv_req_t
 
using on_destroy_t = std::function< void(void *_data) >
 The function type of the callback called when the request object is about to be destroyed.
 

Public Member Functions

 scandir (const scandir &)=default
 
scandiroperator= (const scandir &)=default
 
 scandir (scandir &&) noexcept=default
 
scandiroperator= (scandir &&) noexcept=default
 
on_request_ton_request () const noexcept
 
const char * path () const noexcept
 The file path affected by request. More...
 
int scandir_next (::uv_dirent_t &_entry) const noexcept
 Get the results of the scandir request. More...
 
int run (uv::loop &_loop, const char *_path)
 Run the request. Scan a directory specified by _path. More...
 
 operator const uv_t * () const noexcept
 
 operator uv_t * () noexcept
 
- Public Member Functions inherited from uv::fs
 fs (const fs &)=default
 
fsoperator= (const fs &)=default
 
 fs (fs &&) noexcept=default
 
fsoperator= (fs &&) noexcept=default
 
::uv_fs_type fs_type () const noexcept
 The tag indicating a subtype of the filesystem request. More...
 
uv::loop loop () const noexcept
 The libuv loop that started this filesystem request and where completion will be reported.
 
 operator const uv_t * () const noexcept
 
 operator uv_t * () noexcept
 
- Public Member Functions inherited from uv::request
 request (const request &_that)
 
requestoperator= (const request &_that)
 
 request (request &&_that) noexcept
 
requestoperator= (request &&_that) noexcept
 
void swap (request &_that) noexcept
 
std::uintptr_t id () const noexcept
 
long nrefs () const noexcept
 The current number of existing references to the same object as this request variable refers to.
 
int uv_status () const noexcept
 The status value returned by the last executed libuv API function on this request.
 
on_destroy_ton_destroy () const noexcept
 
::uv_req_type type () const noexcept
 The tag indicating a libuv type of the request. More...
 
const char * type_name () const noexcept
 A string containing the name of the request type.
 
void *const & data () const noexcept
 The pointer to the user-defined arbitrary data. libuv and uvcc does not use this field.
 
void *& data () noexcept
 
int cancel () noexcept
 Cancel a pending request. More...
 
 operator const uv_t * () const noexcept
 
 operator uv_t * () noexcept
 
 operator bool () const noexcept
 Equivalent to (uv_status() >= 0).
 

Detailed Description

Scan a directory.

Definition at line 2264 of file request-fs.hpp.

Member Function Documentation

◆ path()

const char* uv::fs::scandir::path ( ) const
inlinenoexcept

The file path affected by request.

See also
libuv API documentation: uv_fs_t.path.

Definition at line 2304 of file request-fs.hpp.

◆ scandir_next()

int uv::fs::scandir::scandir_next ( ::uv_dirent_t &  _entry) const
inlinenoexcept

Get the results of the scandir request.

It is simply a wrapper around uv_fs_scandir_next() libuv API function.

See also
libuv API documentation: uv_dirent_t, uv_fs_scandir(), uv_fs_scandir_next().

Definition at line 2311 of file request-fs.hpp.

◆ run()

int uv::fs::scandir::run ( uv::loop _loop,
const char *  _path 
)
inline

Run the request. Scan a directory specified by _path.

See also
libuv API documentation: uv_fs_scandir(), uv_fs_scandir_next().
Linux: scandir().
Note
If the request callback is empty (has not been set), the request runs synchronously. In this case the function returns the number of directory entries or relevant libuv error code.

Definition at line 2320 of file request-fs.hpp.


The documentation for this class was generated from the following file: