Beamlib  3.0.1
This is the Beam C++ class library.
BDir.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * BDir.h BEAM Dir access class
3  * T.Barnaby, BEAM Ltd, 8/10/96
4  * Copyright (c) 2022 All Right Reserved, Beam Ltd, https://www.beam.ltd.uk
5  * For license see LICENSE.txt at the root of the beamlib source tree.
6  *******************************************************************************
7  */
8 #ifndef BDIR_H
9 #define BDIR_H 1
10 
11 #include <BList.h>
12 #include <BString.h>
13 #include <BError.h>
14 #include <sys/stat.h>
15 
16 #ifndef __Lynx__
17 #else
18 typedef unsigned long long ino64_t;
19 typedef long long off64_t;
20 typedef unsigned long blksize_t;
21 typedef unsigned long long blkcnt64_t;
22 
23 struct stat64 {
24  dev_t st_dev;
25  ino64_t st_ino;
26  mode_t st_mode;
27  nlink_t st_nlink;
28  uid_t st_uid;
29  gid_t st_gid;
30  dev_t st_rdev;
31  off64_t st_size;
32  time_t st_atime;
33  time_t st_mtime;
34  time_t st_ctime;
35  blksize_t st_blksize;
36  blkcnt64_t st_blocks;
37  mode_t st_attr;
38 };
39 #endif
40 
42 class BDir : public BList<struct dirent*> {
43 public:
44  BDir();
45  BDir(BString name);
46  ~BDir();
47 
48  BError open(BString name);
49  BError error();
50  BError read();
51  void clear();
52 
53  void setWild(BString wild);
54  void setSort(int on);
55 
57  struct stat entryStat(BIter i);
58  struct stat64 entryStat64(BIter i);
59 
60 private:
61  BError oerror;
62  BString odirname;
63  BString owild;
64  int osort;
65 };
66 
67 #endif
static int wild(const dirent *e)
Definition: BDir.cpp:17
File system directory class.
Definition: BDir.h:42
void setWild(BString wild)
Set wildcard filter string used on read.
Definition: BDir.cpp:95
BError error()
Current value of error.
Definition: BDir.cpp:91
void clear()
Clears list.
Definition: BDir.cpp:77
struct stat entryStat(BIter i)
Get file stats.
Definition: BDir.cpp:140
~BDir()
Definition: BDir.cpp:73
BDir()
Definition: BDir.cpp:63
void setSort(int on)
Set alpha sort on/off.
Definition: BDir.cpp:100
BError open(BString name)
Reads named directory.
Definition: BDir.cpp:85
BError read()
read/re-reads directory
Definition: BDir.cpp:105
BString entryName(BIter i)
Get filename.
Definition: BDir.cpp:136
struct stat64 entryStat64(BIter i)
Get file stats 64.
Definition: BDir.cpp:152
Error return class. This class is used to return the error status from a function....
Definition: BError.h:31
Iterator for BLists.
Definition: BList.h:20
Template based list class.
Definition: BList.h:31
This class stores and manipulates ASCII strings.
Definition: BString.h:20