File indexing completed on 2025-03-16 12:59:12
0001 /* 0002 This file is part of the syndication library 0003 SPDX-FileCopyrightText: 2006 Frank Osterfeld <osterfeld@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef SYNDICATION_RDF_RDFVOCAB_H 0009 #define SYNDICATION_RDF_RDFVOCAB_H 0010 0011 #include <QSharedPointer> 0012 0013 #include <syndication_export.h> 0014 0015 class QString; 0016 0017 namespace Syndication 0018 { 0019 namespace RDF 0020 { 0021 class Property; 0022 typedef QSharedPointer<Property> PropertyPtr; 0023 class Resource; 0024 typedef QSharedPointer<Resource> ResourcePtr; 0025 0026 /** 0027 * singleton holding RDF vocabulary, expressed as RDF. 0028 */ 0029 class SYNDICATION_EXPORT RDFVocab 0030 { 0031 public: 0032 /** 0033 * returns the singleton instance 0034 */ 0035 static RDFVocab *self(); 0036 0037 /** 0038 * destructor 0039 */ 0040 ~RDFVocab(); 0041 0042 /** 0043 * the RDF namespace, which is 0044 * http://www.w3.org/1999/02/22-rdf-syntax-ns# 0045 */ 0046 QString namespaceURI(); 0047 0048 /** 0049 * the sequence type 0050 */ 0051 ResourcePtr seq(); 0052 0053 /** 0054 * the rdf:type property (A rdf:type B means A is instance of B) 0055 */ 0056 PropertyPtr type(); 0057 0058 /** 0059 * the rdf:li property, used for list items in RDF containers (like 0060 * rdf:seq) 0061 */ 0062 PropertyPtr li(); 0063 0064 private: 0065 SYNDICATION_NO_EXPORT RDFVocab(); 0066 Q_DISABLE_COPY(RDFVocab) 0067 class RDFVocabPrivate; 0068 RDFVocabPrivate *const d; 0069 }; 0070 0071 } // namespace RDF 0072 } // namespace Syndication 0073 0074 #endif // SYNDICATION_RDF_RDFVOCAB_H