1 | /* |
2 | This file is part of the syndication library |
3 | SPDX-FileCopyrightText: 2006 Frank Osterfeld <osterfeld@kde.org> |
4 | |
5 | SPDX-License-Identifier: LGPL-2.0-or-later |
6 | */ |
7 | |
8 | #ifndef SYNDICATION_RDF_TEXTINPUT_H |
9 | #define SYNDICATION_RDF_TEXTINPUT_H |
10 | |
11 | #include <QString> |
12 | #include <syndication/rdf/resourcewrapper.h> |
13 | |
14 | namespace Syndication |
15 | { |
16 | namespace RDF |
17 | { |
18 | /** |
19 | * "The textinput element affords a method for submitting form data to an |
20 | * arbitrary URL - usually located at the parent website. |
21 | * The field is typically used as a search box or subscription form" |
22 | * |
23 | * @author Frank Osterfeld |
24 | */ |
25 | class TextInput : public ResourceWrapper |
26 | { |
27 | public: |
28 | /** |
29 | * creates an object wrapping a null resource. |
30 | * isNull() is @p true. |
31 | */ |
32 | TextInput(); |
33 | |
34 | /** |
35 | * creates a text input object wrapping a rss:textinput resource |
36 | * |
37 | * @param resource resource to wrap, must be of type |
38 | * rss:textinput, otherwise this object will not return |
39 | * useful information. |
40 | */ |
41 | explicit TextInput(ResourcePtr resource); |
42 | |
43 | /** |
44 | * destructor |
45 | */ |
46 | ~TextInput() override; |
47 | |
48 | /** |
49 | * A descriptive title for the textinput field. For example: "Subscribe" |
50 | * or "Search!" |
51 | * |
52 | * @return title of the text input, or a null string if not specified |
53 | */ |
54 | QString title() const; |
55 | |
56 | /** |
57 | * A brief description of the textinput field's purpose. For example: |
58 | * "Subscribe to our newsletter for..." or "Search our site's archive |
59 | * of..." |
60 | * |
61 | * |
62 | * @return description TODO: specify format (HTML/plain text), or |
63 | * a null string if not specified. |
64 | */ |
65 | QString description() const; |
66 | |
67 | /** |
68 | * The URL to which a textinput submission will be directed (using GET). |
69 | * |
70 | * @return URL, or a null string if not specified |
71 | */ |
72 | QString link() const; |
73 | |
74 | /** |
75 | * The text input field's (variable) name. |
76 | * |
77 | * @return name, or a null string if not specified |
78 | */ |
79 | QString name() const; |
80 | |
81 | /** |
82 | * Returns a description of the text input for debugging purposes. |
83 | * |
84 | * @return debug string |
85 | */ |
86 | QString debugInfo() const; |
87 | }; |
88 | |
89 | } // namespace RDF |
90 | } // namespace Syndication |
91 | |
92 | #endif // SYNDICATION_RDF_TEXTINPUT_H |
93 | |