File indexing completed on 2024-04-21 04:54:00
0001 /* 0002 SPDX-FileCopyrightText: 2005-2006 Koos Vriezen <koos.vriezen@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef _KMPLAYER_RSS_H_ 0008 #define _KMPLAYER_RSS_H_ 0009 0010 #include <QString> 0011 0012 #include "kmplayerplaylist.h" 0013 0014 namespace KMPlayer { 0015 0016 namespace RSS { 0017 0018 const short id_node_rss = 200; 0019 const short id_node_channel = 201; 0020 const short id_node_item = 202; 0021 const short id_node_title = 203; 0022 const short id_node_description = 204; 0023 const short id_node_enclosure = 205; 0024 const short id_node_category = 206; 0025 const short id_node_thumbnail = 207; 0026 const short id_node_ignored = 208; 0027 0028 /** 0029 * '<RSS>' tag 0030 */ 0031 class Rss : public Element, public PlaylistRole 0032 { 0033 public: 0034 Rss (NodePtr & d) : Element (d, id_node_rss) {} 0035 Node *childFromTag (const QString & tag) override; 0036 const char * nodeName () const override { return "rss"; } 0037 void *role (RoleType msg, void *content=nullptr) override; 0038 }; 0039 0040 class Channel : public Element, public PlaylistRole 0041 { 0042 public: 0043 Channel (NodePtr & d) : Element (d, id_node_channel) {} 0044 Node *childFromTag (const QString & tag) override; 0045 const char * nodeName () const override { return "channel"; } 0046 void closed () override; 0047 void *role (RoleType msg, void *content=nullptr) override; 0048 }; 0049 0050 class Item : public Element, public PlaylistRole 0051 { 0052 public: 0053 Item (NodePtr &d) 0054 : Element (d, id_node_item), summary_added (false) {} 0055 Node *childFromTag (const QString & tag) override; 0056 const char * nodeName () const override { return "item"; } 0057 void closed () override; 0058 bool summary_added; 0059 }; 0060 0061 class Enclosure : public Mrl 0062 { 0063 public: 0064 Enclosure(NodePtr &d) : Mrl(d, id_node_enclosure) {} 0065 const char * nodeName () const override { return "enclosure"; } 0066 void closed () override; 0067 void activate () override; 0068 void deactivate () override; 0069 QString description; 0070 }; 0071 0072 } //namespace RSS 0073 0074 0075 } // namespace KMPlayer 0076 0077 #endif //_KMPLAYER_RSS_H_