diff options
Diffstat (limited to 'lib/plpdirent.cc')
-rw-r--r-- | lib/plpdirent.cc | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/plpdirent.cc b/lib/plpdirent.cc new file mode 100644 index 0000000..345eac6 --- /dev/null +++ b/lib/plpdirent.cc @@ -0,0 +1,66 @@ +#include <plpdirent.h> +#include <stream.h> +#include <iomanip> + +PlpDirent::PlpDirent(const PlpDirent &e) { + size = e.size; + attr = e.attr; + time = e.time; + memcpy(uid, e.uid, sizeof(uid)); + name = e.name; + attrstr = e.attrstr; +} + +long PlpDirent:: +getSize() { + return size; +} + +long PlpDirent:: +getAttr() { + return attr; +} + +long PlpDirent:: +getUID(int uididx) { + if ((uididx >= 0) && (uididx < 4)) + return uid[uididx]; + return 0; +} + +const char *PlpDirent:: +getName() { + return name.c_str(); +} + +PsiTime PlpDirent:: +getPsiTime() { + return time; +} + +void PlpDirent:: +setName(const char *str) { + name = str; +} + +PlpDirent &PlpDirent:: +operator=(const PlpDirent &e) { + size = e.size; + attr = e.attr; + time = e.time; + memcpy(uid, e.uid, sizeof(uid)); + name = e.name; + attrstr = e.attrstr; + return *this; +} + +ostream & +operator<<(ostream &o, const PlpDirent &e) { + ostream::fmtflags old = o.flags(); + + o << e.attrstr << " " << dec << setw(10) + << setfill(' ') << e.size << " " << e.time + << " " << e.name; + o.flags(old); + return o; +} |