|  | Qore Programming Language 1.19.5
    | 
provides controlled access to the filesystem through directories More...
#include <QoreDir.h>
Inherited by Dir.
| Public Member Methods | |
| DLLEXPORT | QoreDir (ExceptionSink *xsink, const QoreDir &old) | 
| copies the object  More... | |
| DLLEXPORT | QoreDir (ExceptionSink *xsink, const QoreEncoding *cs=QCS_DEFAULT, const char *dir=nullptr) | 
| creates the object and sets the default encoding  More... | |
| DLLEXPORT | ~QoreDir () | 
| closes the directory and frees all memory allocated to the object | |
| DLLEXPORT int | chdir (const char *dir) | 
| changes the directory in relation to the current  More... | |
| DLLEXPORT int | chdir (const char *dir, ExceptionSink *xsink) | 
| changes the directory in relation to the current  More... | |
| DLLEXPORT int | checkPath () const | 
| returns 0 = OK (path exists), non-zero = errno returned by opendir()  More... | |
| DLLEXPORT int | chmod (int mode, ExceptionSink *xsink) const | 
| changes the mode of the current directory  More... | |
| DLLEXPORT int | create (int mode) const | 
| creates the current directory, including all parent directories, if they do not exist  More... | |
| DLLEXPORT int | create (int mode, ExceptionSink *xsink) const | 
| creates the current directory, including all parent directories, if they do not exist  More... | |
| DLLEXPORT QoreStringNode * | dirname () const | 
| returns the current directory name or 0 if none is set  More... | |
| DLLEXPORT const QoreEncoding * | getEncoding () const | 
| returns the encoding used for the filesystem  More... | |
| DLLEXPORT std::string | getPath (const char *sub) const | 
| returns a complete path with the argument appended to the current directory name  More... | |
| DLLEXPORT QoreHashNode * | hstat (ExceptionSink *xsink) const | 
| returns a QoreHashNode with directory status information  More... | |
| DLLEXPORT QoreListNode * | list (ExceptionSink *xsink, int stat_filter, const QoreString *regex=nullptr, int regex_options=0, bool full=false) const | 
| returns a list of files in the current directory, taking an option regular expression filter  More... | |
| DLLEXPORT int | mkdir (ExceptionSink *xsink, const char *subdir, int mode=0777) const | 
| creates a subdirectory of the current directory  More... | |
| DLLEXPORT QoreFile | openFile (ExceptionSink *xsink, const char *fn, int flags=O_RDONLY, int mode=0777, const QoreEncoding *cs=QCS_DEFAULT) | 
| returns a new file in this directory  More... | |
| DLLEXPORT int | rmdir (const char *subdir, ExceptionSink *xsink) const | 
| removes a subdirectory of the current directory  More... | |
| DLLEXPORT QoreListNode * | stat (ExceptionSink *xsink) const | 
| returns a QoreListNode with directory status information  More... | |
| DLLEXPORT QoreHashNode * | statvfs (ExceptionSink *xsink) const | 
| returns a QoreHashNode with filesystem status information  More... | |
| Static Public Member Methods | |
| static DLLEXPORT bool | file_exists (const QoreString &filePath) | 
| checks whether file exists  More... | |
| static DLLEXPORT bool | folder_exists (const QoreString &folderPath, ExceptionSink &xsink, const QoreEncoding *cs=QCS_DEFAULT) | 
| checks whether folder exists  More... | |
| static DLLEXPORT std::string | get_file_content (const QoreString &fullPath) | 
| reads file content  More... | |
| static DLLEXPORT QoreListNode * | get_files (const QoreString &path, ExceptionSink &xsink, QoreString *regex=nullptr, const QoreEncoding *cs=QCS_DEFAULT) | 
| look up files  More... | |
provides controlled access to the filesystem through directories
Each QoreDir object has a default character encoding associated with it. The class is thread-safe.
| DLLEXPORT QoreDir::QoreDir | ( | ExceptionSink * | xsink, | 
| const QoreEncoding * | cs = QCS_DEFAULT, | ||
| const char * | dir = nullptr | ||
| ) | 
creates the object and sets the default encoding
| xsink | if an out of memory error occurs in the constructor | 
| cs | the encoding to use for this directory | 
| dir | the initial directory; 0 = the current directory | 
| DLLEXPORT QoreDir::QoreDir | ( | ExceptionSink * | xsink, | 
| const QoreDir & | old | ||
| ) | 
copies the object
| xsink | a Qore-language exception can be raised only on out of memory | 
| old | the old object to copy | 
| DLLEXPORT int QoreDir::chdir | ( | const char * | dir | ) | 
changes the directory in relation to the current
| dir | the directory to change to. can include .. and . | 
| DLLEXPORT int QoreDir::chdir | ( | const char * | dir, | 
| ExceptionSink * | xsink | ||
| ) | 
changes the directory in relation to the current
| dir | the directory to change to. can include .. and . | 
| xsink | if the path is relative and no current directory is set, a qore-language exception is thrown | 
| DLLEXPORT int QoreDir::checkPath | ( | ) | const | 
returns 0 = OK (path exists), non-zero = errno returned by opendir()
| DLLEXPORT int QoreDir::chmod | ( | int | mode, | 
| ExceptionSink * | xsink | ||
| ) | const | 
changes the mode of the current directory
| mode | the moddoe to change the directory to | 
| xsink | if errors occur, qore-language exception information is added here | 
| DLLEXPORT int QoreDir::create | ( | int | mode | ) | const | 
creates the current directory, including all parent directories, if they do not exist
| mode | the mode for any directoreis created | 
| DLLEXPORT int QoreDir::create | ( | int | mode, | 
| ExceptionSink * | xsink | ||
| ) | const | 
creates the current directory, including all parent directories, if they do not exist
| mode | the mode for any directoreis created | 
| xsink | if errors occur, qore-language exception information is added here | 
| DLLEXPORT QoreStringNode * QoreDir::dirname | ( | ) | const | 
returns the current directory name or 0 if none is set
| 
 | static | 
checks whether file exists
| filePath | file path | 
| 
 | static | 
checks whether folder exists
| folderPath | folder path | 
| xsink | a Qore-language exception can be raised only on out of memory | 
| cs | the encoding to use for this directory return 0 = OK (folder exists) non-zero = errno returned by opendir() | 
| 
 | static | 
reads file content
| fullPath | file name | 
| 
 | static | 
look up files
| path | path where files should be looked up | 
| xsink | a Qore-language exception can be raised only on out of memory | 
| regex | filter | 
| cs | the encoding to use for this directory | 
| DLLEXPORT const QoreEncoding * QoreDir::getEncoding | ( | ) | const | 
returns the encoding used for the filesystem
| DLLEXPORT std::string QoreDir::getPath | ( | const char * | sub | ) | const | 
returns a complete path with the argument appended to the current directory name
| sub | the subdirectory name to append to the current directory name | 
| DLLEXPORT QoreHashNode * QoreDir::hstat | ( | ExceptionSink * | xsink | ) | const | 
returns a QoreHashNode with directory status information
| xsink | if an error occurs, the Qore-language exception info will be added here | 
| DLLEXPORT QoreListNode * QoreDir::list | ( | ExceptionSink * | xsink, | 
| int | stat_filter, | ||
| const QoreString * | regex = nullptr, | ||
| int | regex_options = 0, | ||
| bool | full = false | ||
| ) | const | 
returns a list of files in the current directory, taking an option regular expression filter
| xsink | if errors occur, qore-language exception information is added here | 
| stat_filter | set to -1 to get everything, otherwise use S_* constants from stat() to filter for particular file types | 
| regex | an optional regular expression to filter the resulting list | 
| regex_options | optional regular expression options | 
| full | if false a list of file name is returned, if true then a list of hashes corresponding to the stat() information is returned | 
| DLLEXPORT int QoreDir::mkdir | ( | ExceptionSink * | xsink, | 
| const char * | subdir, | ||
| int | mode = 0777 | ||
| ) | const | 
creates a subdirectory of the current directory
| xsink | if an error occurs, qore-language exception information is added here | 
| subdir | the subdirectory name to create | 
| mode | the mode of the directory to create (default = 0777) | 
| DLLEXPORT QoreFile QoreDir::openFile | ( | ExceptionSink * | xsink, | 
| const char * | fn, | ||
| int | flags = O_RDONLY, | ||
| int | mode = 0777, | ||
| const QoreEncoding * | cs = QCS_DEFAULT | ||
| ) | 
returns a new file in this directory
| xsink | if errors occur, qore-language exception information is added here | 
| fn | the name of the file to be opened | 
| flags | the flags to use when opening the file | 
| mode | the mode mask to use when opening the file | 
| cs | the encoding to use for the file | 
| DLLEXPORT int QoreDir::rmdir | ( | const char * | subdir, | 
| ExceptionSink * | xsink | ||
| ) | const | 
removes a subdirectory of the current directory
| subdir | the subdirectory name to remove | 
| xsink | if errors occur, qore-language exception information is added here | 
| DLLEXPORT QoreListNode * QoreDir::stat | ( | ExceptionSink * | xsink | ) | const | 
returns a QoreListNode with directory status information
| xsink | if an error occurs, the Qore-language exception info will be added here | 
| DLLEXPORT QoreHashNode * QoreDir::statvfs | ( | ExceptionSink * | xsink | ) | const | 
returns a QoreHashNode with filesystem status information
| xsink | if an error occurs, the Qore-language exception info will be added here |