Syndication

cloud.h
1 /*
2  This file is part of the syndication library
3  SPDX-FileCopyrightText: 2005 Frank Osterfeld <[email protected]>
4 
5  SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7 
8 #ifndef SYNDICATION_RSS2_CLOUD_H
9 #define SYNDICATION_RSS2_CLOUD_H
10 
11 #include <syndication/elementwrapper.h>
12 
13 class QDomElement;
14 class QString;
15 
16 namespace Syndication
17 {
18 namespace RSS2
19 {
20 /**
21  * Cloud information for an RSS channel.
22  * It specifies a web service that supports the rssCloud interface which can
23  * be implemented in HTTP-POST, XML-RPC or SOAP 1.1.
24  * Its purpose is to allow processes to register with a cloud to be notified
25  * of updates to the channel,
26  * implementing a lightweight publish-subscribe protocol for RSS feeds.
27  *
28  * Example:
29  *
30  * Domain="rpc.sys.com", port="80", path="/RPC2"
31  * registerProcedure="myCloud.rssPleaseNotify" protocol="xml-rpc"
32  *
33  * In this example, to request notification on the channel it appears in,
34  * you would send an XML-RPC message to rpc.sys.com on port 80, with a path
35  * of /RPC2. The procedure to call is myCloud.rssPleaseNotify.
36  *
37  * For more information on the rssCloud interface see
38  * http://blogs.law.harvard.edu/tech/soapMeetsRss#rsscloudInterface
39  *
40  * (Note: This explanation was taken from
41  * http://blogs.law.harvard.edu/tech/rss )
42  *
43  * @author Frank Osterfeld
44  */
45 class SYNDICATION_EXPORT Cloud : public ElementWrapper
46 {
47 public:
48  /**
49  * Default constructor, creates a null object, for which isNull()
50  * is @p true.
51  */
52  Cloud();
53 
54  /**
55  * Creates a Cloud object wrapping a @c &lt;cloud> XML element.
56  *
57  * @param element The @c &lt;cloud> element to wrap
58  */
59  explicit Cloud(const QDomElement &element);
60 
61  /**
62  * the remote domain
63  */
64  QString domain() const;
65 
66  /**
67  * the remote port to connect to
68  */
69  int port() const;
70 
71  /**
72  * the remote path to connect to
73  */
74  QString path() const;
75 
76  /**
77  * register procedure, e.g. "myCloud.rssPleaseNotify"
78  */
79  QString registerProcedure() const;
80 
81  /**
82  * protocol used for publish-subscribe, e.g. "xml-rpc"
83  */
84  QString protocol() const;
85 
86  /**
87  * Returns a description of the object for debugging purposes.
88  *
89  * @return debug string
90  */
91  QString debugInfo() const;
92 };
93 
94 } // namespace RSS2
95 } // namespace Syndication
96 
97 #endif // SYNDICATION_RSS2_CLOUD_H
Cloud information for an RSS channel.
Definition: cloud.h:45
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Fri Dec 1 2023 03:52:04 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.