File indexing completed on 2024-04-14 04:48:55
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_ATOM_H_ 0008 #define _KMPLAYER_ATOM_H_ 0009 0010 #include <QStringList> 0011 0012 #include "kmplayerplaylist.h" 0013 0014 namespace KMPlayer { 0015 0016 namespace ATOM { 0017 0018 const short id_node_feed = 300; 0019 const short id_node_entry = 301; 0020 const short id_node_link = 302; 0021 const short id_node_title = 303; 0022 const short id_node_summary = 304; 0023 const short id_node_content = 305; 0024 const short id_node_media_group = 306; 0025 const short id_node_media_content = 307; 0026 const short id_node_media_title = 308; 0027 const short id_node_media_description = 309; 0028 const short id_node_media_player = 310; 0029 const short id_node_media_thumbnail = 311; 0030 const short id_node_gd_rating = 312; 0031 const short id_node_ignored = 313; 0032 0033 /** 0034 * '<feed>' tag 0035 */ 0036 class Feed : public Element, public PlaylistRole 0037 { 0038 public: 0039 Feed (NodePtr & d) : Element (d, id_node_feed) {} 0040 Node *childFromTag (const QString & tag) override; 0041 const char * nodeName () const override { return "feed"; } 0042 void closed () override; 0043 void *role (RoleType msg, void *content=nullptr) override; 0044 }; 0045 0046 class Entry : public Element, public PlaylistRole 0047 { 0048 public: 0049 Entry (NodePtr & d) : Element (d, id_node_entry) {} 0050 Node *childFromTag (const QString & tag) override; 0051 const char * nodeName () const override { return "entry"; } 0052 void closed () override; 0053 void *role (RoleType msg, void *content=nullptr) override; 0054 }; 0055 0056 class Link : public Mrl 0057 { 0058 public: 0059 Link (NodePtr & d) : Mrl (d, id_node_link) {} 0060 const char * nodeName () const override { return "link"; } 0061 PlayType playType () override; 0062 void closed () override; 0063 }; 0064 0065 class Content : public Mrl 0066 { 0067 public: 0068 Content (NodePtr &d) : Mrl(d, id_node_content) {} 0069 const char * nodeName () const override { return "content"; } 0070 PlayType playType () override; 0071 void closed () override; 0072 }; 0073 0074 class MediaGroup : public Element 0075 { 0076 public: 0077 MediaGroup (NodePtr &d) : Element (d, id_node_media_group) {} 0078 Node *childFromTag (const QString &tag) override; 0079 void message (MessageType msg, void *content=nullptr) override; 0080 const char *nodeName () const override { return "media:group"; } 0081 void addSummary (Node *parent, Node *ratings, const QString& alt_title, const QString& alt_desc, 0082 const QString& alt_img, int width, int height); 0083 }; 0084 0085 class MediaContent : public Mrl 0086 { 0087 public: 0088 MediaContent (NodePtr &d) : Mrl (d, id_node_media_content) {} 0089 const char *nodeName () const override { return "media:content"; } 0090 void closed () override; 0091 }; 0092 0093 } //namespace ATOM 0094 0095 0096 } // namespace KMPlayer 0097 0098 #endif //_KMPLAYER_ATOM_H_