00001 /*MT* 00002 00003 MediaTomb - http://www.mediatomb.cc/ 00004 00005 sopcast_service.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: sopcast_service.h 2081 2010-03-23 20:18:00Z lww $ 00028 */ 00029 00032 00033 #ifdef SOPCAST 00034 00035 #ifndef __SOPCAST_SERVICE_H__ 00036 #define __SOPCAST_SERVICE_H__ 00037 00038 #include "zmm/zmm.h" 00039 #include "mxml/mxml.h" 00040 #include "online_service.h" 00041 #include "url.h" 00042 #include "dictionary.h" 00043 #include <curl/curl.h> 00044 00045 00048 class SopCastService : public OnlineService 00049 { 00050 public: 00051 SopCastService(); 00052 ~SopCastService(); 00055 virtual bool refreshServiceData(zmm::Ref<Layout> layout); 00056 00058 virtual service_type_t getServiceType(); 00059 00061 virtual zmm::String getServiceName(); 00062 00065 virtual zmm::Ref<zmm::Object> defineServiceTask(zmm::Ref<mxml::Element> xmlopt, zmm::Ref<zmm::Object> params); 00066 00067 protected: 00068 // the handle *must never be used from multiple threads* 00069 CURL *curl_handle; 00070 // safeguard to ensure the above 00071 pthread_t pid; 00072 00073 // url retriever class 00074 zmm::Ref<URL> url; 00075 00077 zmm::Ref<mxml::Element> getData(); 00078 }; 00079 00080 #endif//__ONLINE_SERVICE_H__ 00081 00082 #endif//SOPCAST
1.6.1