00001 /*MT* 00002 00003 MediaTomb - http://www.mediatomb.cc/ 00004 00005 fallback_layout.h - this file is part of MediaTomb. 00006 00007 Copyright (C) 2005 Gena Batyan <bgeradz@mediatomb.cc>, 00008 Sergey 'Jin' Bostandzhyan <jin@mediatomb.cc> 00009 00010 Copyright (C) 2006-2010 Gena Batyan <bgeradz@mediatomb.cc>, 00011 Sergey 'Jin' Bostandzhyan <jin@mediatomb.cc>, 00012 Leonhard Wimmer <leo@mediatomb.cc> 00013 00014 MediaTomb is free software; you can redistribute it and/or modify 00015 it under the terms of the GNU General Public License version 2 00016 as published by the Free Software Foundation. 00017 00018 MediaTomb is distributed in the hope that it will be useful, 00019 but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00021 GNU General Public License for more details. 00022 00023 You should have received a copy of the GNU General Public License 00024 version 2 along with MediaTomb; if not, write to the Free Software 00025 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. 00026 00027 $Id: fallback_layout.h 2081 2010-03-23 20:18:00Z lww $ 00028 */ 00029 00031 00032 #ifndef __FALLBACK_LAYOUT_H__ 00033 #define __FALLBACK_LAYOUT_H__ 00034 00035 #include "layout.h" 00036 #include "cds_objects.h" 00037 00038 #ifdef ENABLE_PROFILING 00039 #include "tools.h" 00040 #endif 00041 class FallbackLayout : public Layout 00042 { 00043 public: 00044 FallbackLayout(); 00045 virtual void processCdsObject(zmm::Ref<CdsObject> obj, zmm::String rootpath); 00046 #ifdef ENABLE_PROFILING 00047 virtual ~FallbackLayout(); 00048 #endif 00049 protected: 00050 void add(zmm::Ref<CdsObject> obj, int parentID, bool use_ref = true); 00051 zmm::String esc(zmm::String str); 00052 void addVideo(zmm::Ref<CdsObject> obj, zmm::String rootpath); 00053 void addImage(zmm::Ref<CdsObject> obj, zmm::String rootpath); 00054 void addAudio(zmm::Ref<CdsObject> obj); 00055 #ifdef HAVE_LIBDVDNAV 00056 zmm::Ref<CdsObject> prepareChapter(zmm::Ref<CdsObject> obj, int title_idx, 00057 int chapter_idx); 00058 void addDVD(zmm::Ref<CdsObject> obj); 00059 zmm::String mpeg_mimetype; 00060 #endif 00061 #ifdef YOUTUBE 00062 void addYouTube(zmm::Ref<CdsObject> obj); 00063 #endif 00064 #ifdef SOPCAST 00065 void addSopCast(zmm::Ref<CdsObject> obj); 00066 #endif 00067 #ifdef WEBORAMA 00068 void addWeborama(zmm::Ref<CdsObject> obj); 00069 #endif 00070 #ifdef ATRAILERS 00071 void addATrailers(zmm::Ref<CdsObject> obj); 00072 #endif 00073 #ifdef ENABLE_PROFILING 00074 bool profiling_initialized; 00075 profiling_t layout_profiling; 00076 #endif 00077 }; 00078 00079 #endif // __FALLBACK_LAYOUT_H__
1.6.1