source: appstream-generator/build/girepo/appstream/Release.d @ 4841

Last change on this file since 4841 was 4841, checked in by Juanma, 2 years ago

Initial release

File size: 6.7 KB
RevLine 
[4841]1/*
2 * Licensed under the GNU Lesser General Public License Version 3
3 *
4 * This library is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation, either version 3 of the license, or
7 * (at your option) any later version.
8 *
9 * This software 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 Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this library.  If not, see <http://www.gnu.org/licenses/>.
16 */
17
18// generated automatically - do not change
19
20
21module appstream.Release;
22
23private import appstream.Checksum;
24private import gi.appstream;
25public  import gi.appstreamtypes;
26private import glib.ConstructionException;
27private import glib.PtrArray;
28private import glib.Str;
29private import gobject.ObjectG;
30
31
32/** */
33public class Release : ObjectG
34{
35        /** the main Gtk struct */
36        protected AsRelease* asRelease;
37
38        /** Get the main Gtk struct */
39        public AsRelease* getReleaseStruct()
40        {
41                return asRelease;
42        }
43
44        /** the main Gtk struct as a void* */
45        protected override void* getStruct()
46        {
47                return cast(void*)asRelease;
48        }
49
50        protected override void setStruct(GObject* obj)
51        {
52                asRelease = cast(AsRelease*)obj;
53                super.setStruct(obj);
54        }
55
56        /**
57         * Sets our main struct and passes it to the parent class.
58         */
59        public this (AsRelease* asRelease, bool ownedRef = false)
60        {
61                this.asRelease = asRelease;
62                super(cast(GObject*)asRelease, ownedRef);
63        }
64
65
66        /** */
67        public static GType getType()
68        {
69                return as_release_get_type();
70        }
71
72        /**
73         * Creates a new #AsRelease.
74         *
75         * Returns: a #AsRelease
76         *
77         * Throws: ConstructionException GTK+ fails to create the object.
78         */
79        public this()
80        {
81                auto p = as_release_new();
82               
83                if(p is null)
84                {
85                        throw new ConstructionException("null returned by new");
86                }
87               
88                this(cast(AsRelease*) p, true);
89        }
90
91        /**
92         * Add a checksum for the file associated with this release.
93         *
94         * Params:
95         *     cs = The #AsChecksum.
96         *
97         * Since: 0.8.2
98         */
99        public void addChecksum(Checksum cs)
100        {
101                as_release_add_checksum(asRelease, (cs is null) ? null : cs.getChecksumStruct());
102        }
103
104        /**
105         * Adds a release location.
106         *
107         * Params:
108         *     location = An URL of the download location
109         *
110         * Since: 0.8.1
111         */
112        public void addLocation(string location)
113        {
114                as_release_add_location(asRelease, Str.toStringz(location));
115        }
116
117        /**
118         * Get the current active locale, which
119         * is used to get localized messages.
120         */
121        public string getActiveLocale()
122        {
123                auto retStr = as_release_get_active_locale(asRelease);
124               
125                scope(exit) Str.freeString(retStr);
126                return Str.toString(retStr);
127        }
128
129        /**
130         * Gets the release checksum
131         *
132         * Returns: an #AsChecksum, or %NULL for not set or invalid
133         *
134         * Since: 0.8.2
135         */
136        public Checksum getChecksum(AsChecksumKind kind)
137        {
138                auto p = as_release_get_checksum(asRelease, kind);
139               
140                if(p is null)
141                {
142                        return null;
143                }
144               
145                return ObjectG.getDObject!(Checksum)(cast(AsChecksum*) p);
146        }
147
148        /**
149         * Get a list of all checksums we have for this release.
150         *
151         * Returns: an array of #AsChecksum objects.
152         *
153         * Since: 0.10
154         */
155        public PtrArray getChecksums()
156        {
157                auto p = as_release_get_checksums(asRelease);
158               
159                if(p is null)
160                {
161                        return null;
162                }
163               
164                return new PtrArray(cast(GPtrArray*) p);
165        }
166
167        /**
168         * Gets the release description markup for a given locale.
169         *
170         * Returns: markup, or %NULL for not set or invalid
171         */
172        public string getDescription()
173        {
174                return Str.toString(as_release_get_description(asRelease));
175        }
176
177        /**
178         * Gets the release locations, typically URLs.
179         *
180         * Returns: list of locations
181         *
182         * Since: 0.8.1
183         */
184        public PtrArray getLocations()
185        {
186                auto p = as_release_get_locations(asRelease);
187               
188                if(p is null)
189                {
190                        return null;
191                }
192               
193                return new PtrArray(cast(GPtrArray*) p);
194        }
195
196        /**
197         * Gets the release size.
198         *
199         * Params:
200         *     kind = a #AsSizeKind
201         *
202         * Returns: The size of the given kind of this release.
203         *
204         * Since: 0.8.6
205         */
206        public ulong getSize(AsSizeKind kind)
207        {
208                return as_release_get_size(asRelease, kind);
209        }
210
211        /**
212         * Gets the release timestamp.
213         *
214         * Returns: timestamp, or 0 for unset
215         */
216        public ulong getTimestamp()
217        {
218                return as_release_get_timestamp(asRelease);
219        }
220
221        /**
222         * Gets the urgency of the release
223         * (showing how important it is to update to a more recent release)
224         *
225         * Returns: #AsUrgencyKind, or %AS_URGENCY_KIND_UNKNOWN for not set
226         *
227         * Since: 0.6.5
228         */
229        public AsUrgencyKind getUrgency()
230        {
231                return as_release_get_urgency(asRelease);
232        }
233
234        /**
235         * Gets the release version.
236         *
237         * Returns: string, or %NULL for not set or invalid
238         */
239        public string getVersion()
240        {
241                return Str.toString(as_release_get_version(asRelease));
242        }
243
244        /**
245         * Set the current active locale, which
246         * is used to get localized messages.
247         * If the #AsComponent linking this #AsRelease was fetched
248         * from a localized database, usually only
249         * one locale is available.
250         */
251        public void setActiveLocale(string locale)
252        {
253                as_release_set_active_locale(asRelease, Str.toStringz(locale));
254        }
255
256        /**
257         * Sets the description release markup.
258         *
259         * Params:
260         *     description = the description markup.
261         */
262        public void setDescription(string description, string locale)
263        {
264                as_release_set_description(asRelease, Str.toStringz(description), Str.toStringz(locale));
265        }
266
267        /**
268         * Sets the release size for the given kind.
269         *
270         * Params:
271         *     size = a size in bytes, or 0 for unknown
272         *     kind = a #AsSizeKind
273         *
274         * Since: 0.8.6
275         */
276        public void setSize(ulong size, AsSizeKind kind)
277        {
278                as_release_set_size(asRelease, size, kind);
279        }
280
281        /**
282         * Sets the release timestamp.
283         *
284         * Params:
285         *     timestamp = the timestamp value.
286         */
287        public void setTimestamp(ulong timestamp)
288        {
289                as_release_set_timestamp(asRelease, timestamp);
290        }
291
292        /**
293         * Sets the release urgency.
294         *
295         * Params:
296         *     urgency = the urgency of this release/update (as #AsUrgencyKind)
297         *
298         * Since: 0.6.5
299         */
300        public void setUrgency(AsUrgencyKind urgency)
301        {
302                as_release_set_urgency(asRelease, urgency);
303        }
304
305        /**
306         * Sets the release version.
307         *
308         * Params:
309         *     versio = the version string.
310         */
311        public void setVersion(string versio)
312        {
313                as_release_set_version(asRelease, Str.toStringz(versio));
314        }
315
316        /**
317         * Compare the version numbers of two releases.
318         *
319         * Params:
320         *     rel2 = an #AsRelease
321         *
322         * Returns: 1 if @rel1 version is higher than @rel2, 0 if versions are equal, -1 if @rel1 version is higher than @rel2.
323         */
324        public int vercmp(Release rel2)
325        {
326                return as_release_vercmp(asRelease, (rel2 is null) ? null : rel2.getReleaseStruct());
327        }
328}
Note: See TracBrowser for help on using the repository browser.