From 774e09eef2d7761814e6f19fb462eb0fdc74f2d7 Mon Sep 17 00:00:00 2001 From: geronimo Date: Wed, 25 Jul 2012 06:38:28 +0200 Subject: worked out different file class and improved media handling --- libs/fsScan/include/MediaFactory.h | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'libs/fsScan/include/MediaFactory.h') diff --git a/libs/fsScan/include/MediaFactory.h b/libs/fsScan/include/MediaFactory.h index a3b1987..200335b 100644 --- a/libs/fsScan/include/MediaFactory.h +++ b/libs/fsScan/include/MediaFactory.h @@ -1,46 +1,50 @@ /** * ======================== legal notice ====================== - * + * * File: MediaFactory.h * Created: 2. Juli 2012, 15 * Author: Geronimo * 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 MEDIAFACTORY_H #define MEDIAFACTORY_H +#include #include #include class cAbstractMedia; +class cFile; +class cManagedVector; class cMediaFactory { public: - cMediaFactory(const char *BaseDirectory); + cMediaFactory(const cFile &BaseDirectory); virtual ~cMediaFactory(); - cAbstractMedia *CreateMedia(const char *FileOrDirname, struct stat *st); - - const char *BaseDirectory(void) const { return baseDirectory; } - void SetBaseDirectory(const char *dir); + cAbstractMedia *CreateMedia(const cFile &FileOrDirectory); + void Scan4Media(cManagedVector &pool); + const cFile &BaseDirectory(void) { return baseDirectory; } + void SetBaseDirectory(const cFile &dir); private: - char *baseDirectory; + static int createMedia(void *opaque, cFile *Parent, const char *Name); + cFile baseDirectory; char *scratch; size_t scratchSize; }; -- cgit v1.2.3