summaryrefslogtreecommitdiff
path: root/libs/fsScan/include/AbstractMedia.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/fsScan/include/AbstractMedia.h')
-rw-r--r--libs/fsScan/include/AbstractMedia.h47
1 files changed, 22 insertions, 25 deletions
diff --git a/libs/fsScan/include/AbstractMedia.h b/libs/fsScan/include/AbstractMedia.h
index 6ca9677..e101948 100644
--- a/libs/fsScan/include/AbstractMedia.h
+++ b/libs/fsScan/include/AbstractMedia.h
@@ -1,30 +1,31 @@
/**
* ======================== legal notice ======================
- *
+ *
* File: AbstractMedia.h
* Created: 2. Juli 2012, 14
* 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 ABSTRACTMEDIA_H
#define ABSTRACTMEDIA_H
+#include <File.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <vector>
@@ -49,35 +50,31 @@ public:
virtual ~cAbstractMedia();
- virtual void Refresh(void);
- ///< will be called right before start streaming, so this call is used to
- ///< determine the real size, number of files, etc.
- virtual size_t ReadChunk(char *buf, size_t bufSize);
- ///< used to hide the differences between single- and multi-file media.
-
SupportedMediaType MediaType(void) const { return mediaType; }
- const char *LogicalPath(void) const { return logicalPath; }
- const char *RealPath(void) const { return realPath; }
- const char *Name(void) const { return name; }
const char *MimeType(void) const { return mimeType; }
- time_t LastModified(void) const { return lastModified; }
- void SetLastModified(time_t when) { lastModified = when; }
- size_t Size(void) const { return size; }
- void SetSize(size_t Size) { size = Size; }
+ const char *AbsolutePath(void) const;
+ ulong LastModified(void) const;
+ virtual const char *Name(void) const;
+ virtual size_t Size(void) const;
+ virtual const char *URI(void) const;
+ virtual void Refresh(void);
+ ///< will be called right before start streaming, so this call is used to
+ ///< determine the real size, number of files, etc.
+ virtual size_t ReadChunk(char *buf, size_t bufSize);
+ ///< used to hide the differences between single- and multi-file media.
static const char *MediaType2Text(int Type);
protected:
- cAbstractMedia(SupportedMediaType Type, const char *Name, const char *Logical, const char *Path, const char *Mime);
+ cAbstractMedia(const cFile &File, const char *Mime, SupportedMediaType Type);
+ void SetMimeType(const char *MimeType);
+ const cFile &KeyPath(void) { return keyPath; }
int fd;
private:
SupportedMediaType mediaType;
- char *logicalPath;
- char *realPath;
- char *name;
char *mimeType;
- time_t lastModified;
- size_t size;
+ char *uri;
+ cFile keyPath;
};
#endif /* ABSTRACTMEDIA_H */