diff options
author | geronimo <geronimo013@gmx.de> | 2012-07-25 06:38:28 +0200 |
---|---|---|
committer | geronimo <geronimo013@gmx.de> | 2012-07-25 06:38:28 +0200 |
commit | 774e09eef2d7761814e6f19fb462eb0fdc74f2d7 (patch) | |
tree | ca0c4e06afdb99139c7953a8dd5576a3bcd15e23 /libs/fsScan/include/File.h | |
parent | ab7186c6c116629983dc506c4b53794026518455 (diff) | |
download | cmp-774e09eef2d7761814e6f19fb462eb0fdc74f2d7.tar.gz cmp-774e09eef2d7761814e6f19fb462eb0fdc74f2d7.tar.bz2 |
worked out different file class and improved media handling
Diffstat (limited to 'libs/fsScan/include/File.h')
-rw-r--r-- | libs/fsScan/include/File.h | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/libs/fsScan/include/File.h b/libs/fsScan/include/File.h index 4883cdd..587d99c 100644 --- a/libs/fsScan/include/File.h +++ b/libs/fsScan/include/File.h @@ -1,42 +1,44 @@ /** * ======================== legal notice ====================== - * + * * File: File.h - * Created: 21. Juli 2012, 12:41 + * 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 - * + * * -------------------------------------------------------------- */ #ifndef FILE_H #define FILE_H +#include <stddef.h> #include <sys/types.h> class cFileSystem; class cFileRepresentation; class cStringBuilder; -class cFile -{ +class cFile { public: - cFile(const char *Path); + cFile(const char *Path = NULL); + cFile(const cFile &other); cFile(const cFile &Parent, const char *RelativePath); virtual ~cFile(); + cFile &operator =(const cFile &other); bool CanRead(void) const; bool CanWrite(void) const; bool CanExecute(void) const; @@ -47,11 +49,11 @@ public: off64_t Size(void) const; ulong LastModified(void) const; const char *Name(void) const; - - char *AbsolutePath(void) const; - cFile *Parent(void) const; - void VisitFiles(int (*cb)(cFile *, const char *)); - + void SetVirtualRoot(bool isRoot = true); + const char *AbsolutePath(void) const; ///< returns an allocated string + char *toURI(void) const; ///< returns an allocated string + cFile *Parent(void) const; ///< allocates a new file instance! + void VisitFiles(int (*cb)(void *, cFile *, const char *), void *opaque); static void Cleanup(void); private: |