• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepimlibs API Reference
  • KDE Home
  • Contact Us
 

syndication/rdf

  • sources
  • kde-4.14
  • kdepimlibs
  • syndication
  • rdf
sequence.cpp
1 /*
2  * This file is part of the syndication library
3  *
4  * Copyright (C) 2006 Frank Osterfeld <osterfeld@kde.org>
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public License
17  * along with this library; see the file COPYING.LIB. If not, write to
18  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  * Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #include "sequence.h"
24 #include "node.h"
25 #include "nodevisitor.h"
26 
27 #include <QtCore/QList>
28 #include <QtCore/QString>
29 
30 namespace Syndication {
31 namespace RDF {
32 
33 class Sequence::SequencePrivate
34 {
35  public:
36 
37  QList<NodePtr> items;
38 };
39 
40 Sequence::Sequence() : Resource(), d()
41 {
42 }
43 
44 Sequence::Sequence(const QString& uri)
45  : Resource(uri), d(new SequencePrivate)
46 {
47 }
48 
49 Sequence::Sequence(const Sequence& other) : Resource(other)
50 {
51  *this = other;
52 }
53 
54 Sequence::~Sequence()
55 {
56 }
57 void Sequence::accept(NodeVisitor* visitor, NodePtr ptr)
58 {
59  SequencePtr sptr = boost::static_pointer_cast<Sequence>(ptr);
60  if (!visitor->visitSequence(sptr))
61  Resource::accept(visitor, ptr);
62 }
63 
64 Sequence* Sequence::clone() const
65 {
66  return new Sequence(*this);
67 }
68 
69 Sequence& Sequence::operator=(const Sequence& other)
70 {
71  Resource::operator=(other);
72  d = other.d;
73  return *this;
74 }
75 
76 void Sequence::append(NodePtr node)
77 {
78  if (d)
79  d->items.append(node);
80 }
81 
82 QList<NodePtr> Sequence::items() const
83 {
84  return d ? d->items : QList<NodePtr>();
85 }
86 
87 bool Sequence::isSequence() const
88 {
89  return true;
90 }
91 
92 } // namespace RDF
93 } // namespace Syndication
Syndication::RDF::Resource
Resources are the entities in the RDF graph.
Definition: resource.h:51
Syndication::RDF::Sequence::operator=
virtual Sequence & operator=(const Sequence &other)
assigns another sequence
Definition: sequence.cpp:69
Syndication::RDF::Sequence::Sequence
Sequence()
creates a null sequence
Definition: sequence.cpp:40
Syndication::RDF::Sequence::~Sequence
virtual ~Sequence()
destructor
Definition: sequence.cpp:54
Syndication::RDF::Sequence
Sequence container, a sequence contains an ordered list of RDF nodes.
Definition: sequence.h:45
Syndication::RDF::Resource::operator=
Resource & operator=(const Resource &other)
assigns a resource
Definition: resource.cpp:89
Syndication::RDF::Resource::accept
virtual void accept(NodeVisitor *visitor, NodePtr ptr)
Used by visitors for double dispatch.
Definition: resource.cpp:143
Syndication::RDF::Sequence::accept
virtual void accept(NodeVisitor *visitor, NodePtr ptr)
Used by visitors for double dispatch.
Definition: sequence.cpp:57
Syndication::RDF::Sequence::append
virtual void append(NodePtr node)
appends a node at the end of the sequence
Definition: sequence.cpp:76
Syndication::RDF::NodeVisitor
Visitor interface, following the Visitor design pattern.
Definition: nodevisitor.h:57
Syndication::RDF::NodeVisitor::visitSequence
virtual bool visitSequence(SequencePtr seq)
reimplement this method to handle sequences.
Definition: nodevisitor.cpp:60
QString
QList< NodePtr >
Syndication::RDF::Sequence::isSequence
virtual bool isSequence() const
returns true
Definition: sequence.cpp:87
Syndication::RDF::Sequence::clone
virtual Sequence * clone() const
creates a copy of the sequence
Definition: sequence.cpp:64
Syndication::RDF::Sequence::items
virtual QList< NodePtr > items() const
the list of the list items in the sequence, in the specified order
Definition: sequence.cpp:82
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:37:38 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

syndication/rdf

Skip menu "syndication/rdf"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List

kdepimlibs API Reference

Skip menu "kdepimlibs API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal