Apply GPLv3 to all sources
[Yara.git] / lib / Yara / Details / ElementType.h
blobf808600a55e0dfa98fabdfdb43bca504ff151c5a
1 /*
2 * Yara: Yet Another RSS Aggregator
3 * Copyright (C) 2007 Ronald Landheer-Cieslak
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #ifndef _yara_details_elementtype_h
18 #define _yara_details_elementtype_h
20 namespace Yara
22 namespace Details
24 enum ElementType
26 none__,
27 /* root element */
28 rss__, // <rss>, has a mandatory attribute "version" which should be 0.91, 0.92 or 2.0 for this implementation
29 /* mandatory, single element under <rss> */
30 channel__, // contains information about the channel (metadata) and its contents.
31 /* required channel elements */
32 channel_title__, // The name of the channel. It's how people refer to your service. If you have an HTML
33 // website that contains the same information as your RSS file, the title of your channel
34 // should be the same as the title of your website.
35 channel_link__, // The URL to the HTML website corresponding to the channel.
36 channel_description__, // Phrase or sentence describing the channel.
37 /* Optional channel elements */
38 channel_language__, // The language the channel is written in. This allows aggregators to group all Italian
39 // language sites, for example, on a single page. A list of allowable values for this
40 // element, as provided by Netscape, is in Details/ChannelLanguage.h. We do not support anything
41 // not in that list
42 channel_copyright__, // Copyright notice for content in the channel
43 managing_editor__, // Email address for person responsible for editorial content
44 webmaster__, // Email address for person responsible for technical issues relating to channel
45 channel_pub_date__, // The publication date for the content in the channel. For example, the New York Times
46 // publishes on a daily basis, the publication date flips once every 24 hours. That's when
47 // the pubDate of the channel changes. All date-times in RSS conform to the Date and Time
48 // Specification of RFC 822, with the exception that the year may be expressed with two characters
49 // or four characters (four preferred).
50 last_build_date__, // The last time the content of the channel changed.
51 channel_category__, // Specify one or more categories that the channel belongs to. Follows the same rules as the
52 // <item>-level category element.
53 generator__, // A string indicating the program used to generate the channel.
54 docs__, // A URL that points to the documentation for the format used in the RSS file. It's for people who
55 // might stumble across an RSS file on a Web server 25 years from now and wonder what it is.
56 cloud__, // Allows processes to register with a cloud to be notified of updates to the channel, implementing
57 // a lightweight publish-subscribe protocol for RSS feeds.
58 ttl__, // ttl stands for time to live. It's a number of minutes that indicates how long a channel can be
59 // cached before refreshing from the source.
60 channel_image__, // Specifies a GIF, JPEG or PNG image that can be displayed with the channel.
61 rating__, // The PICS rating for the channel.
62 text_input__, // Specifies a text input box that can be displayed with the channel
63 skip_hours__, // A hint for aggregators telling them which hours they can skip.
64 skip_days__, // A hint for aggregators telling them which days they can skip
65 /* <image> sub-element of <channel> */
66 /* required elements */
67 image_url__, // the URL of a GIF, JPEG or PNG image that represents the channel.
68 image_title__, // describes the image, it's used in the ALT attribute of the HTML <img> tag when the channel
69 // is rendered in HTML.
70 image_link__, // is the URL of the site, when the channel is rendered, the image is a link to the site.
71 // (Note, in practice the image <title> and <link> should have the same value as the channel's
72 // <title> and <link>.
73 /* optional elements */
74 image_width__, // width of the image in pixels - 144 max, 88 default
75 image_height__, // height of the image in pixels - 400 max, 31 default
76 image_description__, // contains text that is included in the TITLE attribute of the link formed around the image in the
77 // HTML rendering.
78 /* <textInput> sub-element of <channel> */
79 text_input_title__, // The label of the Submit button in the text input area.
80 text_input_description__, // Explains the text input area.
81 text_input_name__, // The name of the text object in the text input area.
82 text_input_link__, // The URL of the CGI script that processes text input requests.
83 /* <item> and its elements */
84 item__, // The <item> element. A channel may contain any number of <item>s. An item may represent a
85 // "story" -- much like a story in a newspaper or magazine; if so its description is a synopsis
86 // of the story, and the link points to the full story. An item may also be complete in itself,
87 // if so, the description contains the text (entity-encoded HTML is allowed; see examples), and
88 // the link and title may be omitted. All elements of an item are optional, however at least one
89 // of title or description must be present.
90 item_title__,
91 item_link__,
92 item_description__,
93 item_author__,
94 item_category__,
95 item_comments__,
96 item_enclosure__,
97 item_guid__,
98 item_pub_date__,
99 item_source__
105 #endif