summaryrefslogtreecommitdiff
path: root/libs/fsScan/src/FSMediaScanner.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/fsScan/src/FSMediaScanner.cc')
-rw-r--r--libs/fsScan/src/FSMediaScanner.cc111
1 files changed, 0 insertions, 111 deletions
diff --git a/libs/fsScan/src/FSMediaScanner.cc b/libs/fsScan/src/FSMediaScanner.cc
deleted file mode 100644
index f4ac14e..0000000
--- a/libs/fsScan/src/FSMediaScanner.cc
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
- * ======================== legal notice ======================
- *
- * File: FSMediaScanner.cc
- * Created: 2. Juli 2012, 13
- * 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 <FSMediaScanner.h>
-#include <AbstractMedia.h>
-#include <Logging.h>
-#include <stddef.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/dir.h>
-#include <sys/stat.h>
-#include <stdio.h>
-#include <errno.h>
-#include <util.h>
-
-void freeMediaCallback(void *elem)
-{
- delete (cAbstractMedia *)elem;
-}
-
-cFSMediaScanner::cFSMediaScanner()
- : fileBufSize(512)
- , pool(freeMediaCallback)
- , mediaFactory(NULL)
-{
-}
-
-cFSMediaScanner::~cFSMediaScanner()
-{
- pool.clear();
- if (mediaFactory) delete mediaFactory;
-}
-
-void cFSMediaScanner::SetMediaFactory(cMediaFactory* factory)
-{
- mediaFactory = factory;
-}
-
-// return true if "a" should be ordered before "b"
-bool defaultMediaSortOrder(void *a, void *b)
-{
- if (a == b) return false;
- if (!a) return false;
- if (!b) return true;
- cAbstractMedia *m0 = (cAbstractMedia *)a;
- cAbstractMedia *m1 = (cAbstractMedia *)b;
- bool rv = false;
-
- if (m0->MediaType() == m1->MediaType())
- rv = strcasecmp(m0->Name(), m1->Name()) < 0;
- else
- rv = (m0->MediaType() - m1->MediaType()) < 0;
-
- return rv;
-}
-
-void cFSMediaScanner::Refresh()
-{
- if (!mediaFactory) return;
- pool.clear();
- categories.clear();
-
- mediaFactory->Scan4Media(pool);
- cAbstractMedia::SupportedMediaType ot = cAbstractMedia::Invalid;
- cAbstractMedia *m;
-
- pool.sort(defaultMediaSortOrder);
- for (size_t i=0; i < pool.size(); ++i) {
- m = (cAbstractMedia *) pool[i];
- if (m->MediaType() != ot) {
- ot = m->MediaType();
- categories[ot] = i;
- }
- }
-}
-
-cAbstractMedia *cFSMediaScanner::FindMedia(const char *Path)
-{
- cAbstractMedia *rv = NULL, *tmp;
-
- for (size_t i=0; i < pool.size(); ++i) {
- tmp = (cAbstractMedia *) pool[i];
- if (!strcmp(tmp->LogicalPath(), Path)) {
- rv = tmp;
- break;
- }
- }
- return rv;
-}