1 module soup.Requester;
2 
3 private import glib.ConstructionException;
4 private import glib.ErrorG;
5 private import glib.GException;
6 private import glib.Str;
7 private import gobject.ObjectG;
8 private import soup.Request;
9 private import soup.SessionFeatureIF;
10 private import soup.SessionFeatureT;
11 private import soup.URI;
12 private import soup.c.functions;
13 public  import soup.c.types;
14 
15 
16 /** */
17 public class Requester : ObjectG, SessionFeatureIF
18 {
19 	/** the main Gtk struct */
20 	protected SoupRequester* soupRequester;
21 
22 	/** Get the main Gtk struct */
23 	public SoupRequester* getRequesterStruct(bool transferOwnership = false)
24 	{
25 		if (transferOwnership)
26 			ownedRef = false;
27 		return soupRequester;
28 	}
29 
30 	/** the main Gtk struct as a void* */
31 	protected override void* getStruct()
32 	{
33 		return cast(void*)soupRequester;
34 	}
35 
36 	/**
37 	 * Sets our main struct and passes it to the parent class.
38 	 */
39 	public this (SoupRequester* soupRequester, bool ownedRef = false)
40 	{
41 		this.soupRequester = soupRequester;
42 		super(cast(GObject*)soupRequester, ownedRef);
43 	}
44 
45 	// add the SessionFeature capabilities
46 	mixin SessionFeatureT!(SoupRequester);
47 
48 
49 	/** */
50 	public static GType getType()
51 	{
52 		return soup_requester_get_type();
53 	}
54 
55 	/** */
56 	public this()
57 	{
58 		auto __p = soup_requester_new();
59 
60 		if(__p is null)
61 		{
62 			throw new ConstructionException("null returned by new");
63 		}
64 
65 		this(cast(SoupRequester*) __p, true);
66 	}
67 
68 	/** */
69 	public Request request(string uriString)
70 	{
71 		GError* err = null;
72 
73 		auto __p = soup_requester_request(soupRequester, Str.toStringz(uriString), &err);
74 
75 		if (err !is null)
76 		{
77 			throw new GException( new ErrorG(err) );
78 		}
79 
80 		if(__p is null)
81 		{
82 			return null;
83 		}
84 
85 		return ObjectG.getDObject!(Request)(cast(SoupRequest*) __p, true);
86 	}
87 
88 	/** */
89 	public Request requestUri(URI uri)
90 	{
91 		GError* err = null;
92 
93 		auto __p = soup_requester_request_uri(soupRequester, (uri is null) ? null : uri.getURIStruct(), &err);
94 
95 		if (err !is null)
96 		{
97 			throw new GException( new ErrorG(err) );
98 		}
99 
100 		if(__p is null)
101 		{
102 			return null;
103 		}
104 
105 		return ObjectG.getDObject!(Request)(cast(SoupRequest*) __p, true);
106 	}
107 }