summaryrefslogtreecommitdiff
path: root/libs/fsScan/src/File.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/fsScan/src/File.cc')
-rw-r--r--libs/fsScan/src/File.cc181
1 files changed, 0 insertions, 181 deletions
diff --git a/libs/fsScan/src/File.cc b/libs/fsScan/src/File.cc
deleted file mode 100644
index 477c5c8..0000000
--- a/libs/fsScan/src/File.cc
+++ /dev/null
@@ -1,181 +0,0 @@
-/**
- * ======================== legal notice ======================
- *
- * File: File.cc
- * Created: 21. Juli 2012, 12
- * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
- * Project: libfsScan: mediatypes and filesystem scanning
- *
- * CMP - compound media player
- *
- * is a client/server mediaplayer intended to play any media from any workstation
- * without the need to export or mount shares. cmps is an easy to use backend
- * with a (ready to use) HTML-interface. Additionally the backend supports
- * authentication via HTTP-digest authorization.
- * cmpc is a client with vdr-like osd-menues.
- *
- * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
- * published under Creative Commons by-sa
- * For details see http://creativecommons.org/licenses/by-sa/3.0/
- *
- * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
- *
- * --------------------------------------------------------------
- */
-#include <File.h>
-#include <FileSystem.h>
-#include <FileRepresentation.h>
-#include <StringBuilder.h>
-#include <sys/stat.h>
-#include <sys/dir.h>
-
-cFileSystem *cFile::fs = NULL;
-static mode_t ReadMask = S_IRUSR | S_IRGRP | S_IROTH;
-static mode_t WriteMask = S_IWUSR | S_IWGRP | S_IWOTH;
-static mode_t ExecMask = S_IXUSR | S_IXGRP | S_IXOTH;
-
-
-cFile::cFile(const char *Path)
- : rep(NULL)
-{
- if (!fs) fs = new cFileSystem();
- if (!Path) {
- Path = getcwd(NULL, 0);
- rep = fs->representationOfFile(Path);
- free((char *) Path);
- }
- else rep = fs->representationOfFile(Path);
-}
-
-cFile::cFile(const cFile &other)
- : rep(other.rep)
-{
- if (!fs) fs = new cFileSystem();
-}
-
-cFile::cFile(const cFile& Parent, const char* RelativePath)
- : rep(NULL)
-{
- if (!fs) fs = new cFileSystem();
- rep = fs->representationOfFile(Parent, RelativePath);
-}
-
-cFile::cFile(const cFileRepresentation *fr)
- : rep(fr)
-{
- if (!fs) fs = new cFileSystem();
-}
-
-cFile::~cFile()
-{
-}
-
-cFile &cFile::operator =(const cFile &other)
-{
- rep = other.rep;
- return *this;
-}
-
-const char *cFile::AbsolutePath(void) const
-{
- if (rep) return rep->Path();
- return NULL;
-}
-
-bool cFile::Exists(void) const
-{
- if (rep) return rep->exists;
- return false;
-}
-
-bool cFile::IsDirectory(void) const
-{
- if (rep) return (rep->mode & S_IFMT) == S_IFDIR;
- return false;
-}
-
-bool cFile::IsFile(void) const
-{
- if (rep) return (rep->mode & S_IFMT) == S_IFREG;
- return false;
-}
-
-bool cFile::IsSymbolic(void) const
-{
- if (rep) return (rep->mode & S_IFMT) == S_IFLNK;
- return false;
-}
-
-bool cFile::CanRead(void) const
-{
- if (rep) return rep->mode & ReadMask;
- return false;
-}
-
-bool cFile::CanWrite(void) const
-{
- if (rep) return rep->mode & WriteMask;
- return false;
-}
-
-bool cFile::CanExecute(void) const
-{
- if (rep) return rep->mode & ExecMask;
- return false;
-}
-
-off64_t cFile::Size(void) const
-{
- if (rep) return rep->size;
- return 0;
-}
-
-ulong cFile::LastModified(void) const
-{
- if (rep) return rep->lastModified;
- return 0;
-}
-
-cFile *cFile::Parent(void) const
-{
- if (rep) return new cFile(rep->getParent());
- return NULL;
-}
-
-const char *cFile::Name(void) const
-{
- if (rep) return rep->name;
- return NULL;
-}
-
-void cFile::Cleanup(void)
-{
- if (fs) {
- delete fs;
- fs = NULL;
- }
-}
-
-void cFile::VisitFiles(int (*cb)(void *, cFile *, const char *), void *opaque)
-{
- if (!Exists() || !IsDirectory()) return;
- struct dirent entryBuffer, *pE;
- DIR *dir = opendir(AbsolutePath());
-
- while (!readdir_r(dir, &entryBuffer, &pE) && pE) {
- if (*(pE->d_name) == '.') continue; // don't bother with hidden stuff
- cb(opaque, this, pE->d_name);
- }
- closedir(dir);
-}
-
-char *cFile::toURI() const
-{
- if (rep) return rep->toURI();
- return NULL;
-}
-
-void cFile::SetVirtualRoot(bool isRoot)
-{
- if (rep) ((cFileRepresentation *)rep)->SetVirtualRoot(isRoot);
-}