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 }