1 | /* |
2 | This file is part of the syndication library |
3 | SPDX-FileCopyrightText: 2005 Frank Osterfeld <osterfeld@kde.org> |
4 | |
5 | SPDX-License-Identifier: LGPL-2.0-or-later |
6 | */ |
7 | |
8 | #ifndef SYNDICATION_RSS2_CLOUD_H |
9 | #define |
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 : public ElementWrapper |
46 | { |
47 | public: |
48 | /** |
49 | * Default constructor, creates a null object, for which isNull() |
50 | * is @p true. |
51 | */ |
52 | (); |
53 | |
54 | /** |
55 | * Creates a Cloud object wrapping a @c <cloud> XML element. |
56 | * |
57 | * @param element The @c <cloud> element to wrap |
58 | */ |
59 | explicit (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 () const; |
70 | |
71 | /** |
72 | * the remote path to connect to |
73 | */ |
74 | QString () const; |
75 | |
76 | /** |
77 | * register procedure, e.g. "myCloud.rssPleaseNotify" |
78 | */ |
79 | QString () const; |
80 | |
81 | /** |
82 | * protocol used for publish-subscribe, e.g. "xml-rpc" |
83 | */ |
84 | QString () const; |
85 | |
86 | /** |
87 | * Returns a description of the object for debugging purposes. |
88 | * |
89 | * @return debug string |
90 | */ |
91 | QString () const; |
92 | }; |
93 | |
94 | } // namespace RSS2 |
95 | } // namespace Syndication |
96 | |
97 | #endif // SYNDICATION_RSS2_CLOUD_H |
98 | |