syndication/rdf
nodevisitor.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef SYNDICATION_RDF_NODEVISITOR_H
00023 #define SYNDICATION_RDF_NODEVISITOR_H
00024
00025 #include <syndication/ksyndication_export.h>
00026
00027 namespace boost {
00028 template <class T> class shared_ptr;
00029 }
00030
00031 namespace Syndication {
00032
00033 namespace RDF {
00034
00035
00036 class Literal;
00037 typedef boost::shared_ptr<Literal> LiteralPtr;
00038 class Node;
00039 typedef boost::shared_ptr<Node> NodePtr;
00040 class Property;
00041 typedef boost::shared_ptr<Property> PropertyPtr;
00042 class Resource;
00043 typedef boost::shared_ptr<Resource> ResourcePtr;
00044 class Sequence;
00045 typedef boost::shared_ptr<Sequence> SequencePtr;
00046
00047
00057 class SYNDICATION_EXPORT NodeVisitor
00058 {
00059 public:
00060
00064 virtual ~NodeVisitor();
00065
00072 virtual void visit(NodePtr node);
00073
00081 virtual bool visitLiteral(LiteralPtr);
00082
00091 virtual bool visitNode(NodePtr node);
00092
00100 virtual bool visitProperty(PropertyPtr property);
00101
00109 virtual bool visitResource(ResourcePtr resource);
00110
00118 virtual bool visitSequence(SequencePtr seq);
00119 };
00120
00121 }
00122 }
00123
00124 #endif // SYNDICATION_RDF_NODEVISITOR_H