1 module webkit2.NavigationPolicyDecision;
2 
3 private import glib.Str;
4 private import gobject.ObjectG;
5 private import webkit2.NavigationAction;
6 private import webkit2.PolicyDecision;
7 private import webkit2.URIRequest;
8 private import webkit2.c.functions;
9 public  import webkit2.c.types;
10 
11 
12 /**
13  * WebKitNavigationPolicyDecision represents a policy decision for events associated with
14  * navigations. If the value of #WebKitNavigationPolicyDecision:mouse-button is not 0, then
15  * the navigation was triggered by a mouse event.
16  */
17 public class NavigationPolicyDecision : PolicyDecision
18 {
19 	/** the main Gtk struct */
20 	protected WebKitNavigationPolicyDecision* webKitNavigationPolicyDecision;
21 
22 	/** Get the main Gtk struct */
23 	public WebKitNavigationPolicyDecision* getNavigationPolicyDecisionStruct(bool transferOwnership = false)
24 	{
25 		if (transferOwnership)
26 			ownedRef = false;
27 		return webKitNavigationPolicyDecision;
28 	}
29 
30 	/** the main Gtk struct as a void* */
31 	protected override void* getStruct()
32 	{
33 		return cast(void*)webKitNavigationPolicyDecision;
34 	}
35 
36 	/**
37 	 * Sets our main struct and passes it to the parent class.
38 	 */
39 	public this (WebKitNavigationPolicyDecision* webKitNavigationPolicyDecision, bool ownedRef = false)
40 	{
41 		this.webKitNavigationPolicyDecision = webKitNavigationPolicyDecision;
42 		super(cast(WebKitPolicyDecision*)webKitNavigationPolicyDecision, ownedRef);
43 	}
44 
45 
46 	/** */
47 	public static GType getType()
48 	{
49 		return webkit_navigation_policy_decision_get_type();
50 	}
51 
52 	/**
53 	 * Gets the value of the #WebKitNavigationPolicyDecision:frame-name property.
54 	 *
55 	 * Returns: The name of the new frame this navigation action targets or %NULL
56 	 */
57 	public string getFrameName()
58 	{
59 		return Str.toString(webkit_navigation_policy_decision_get_frame_name(webKitNavigationPolicyDecision));
60 	}
61 
62 	/**
63 	 * Gets the value of the #WebKitNavigationPolicyDecision:modifiers property.
64 	 *
65 	 * Deprecated: Use webkit_navigation_policy_decision_get_navigation_action() instead.
66 	 *
67 	 * Returns: The modifiers active if this decision was triggered by a mouse event
68 	 */
69 	public uint getModifiers()
70 	{
71 		return webkit_navigation_policy_decision_get_modifiers(webKitNavigationPolicyDecision);
72 	}
73 
74 	/**
75 	 * Gets the value of the #WebKitNavigationPolicyDecision:mouse-button property.
76 	 *
77 	 * Deprecated: Use webkit_navigation_policy_decision_get_navigation_action() instead.
78 	 *
79 	 * Returns: The mouse button used if this decision was triggered by a mouse event or 0 otherwise
80 	 */
81 	public uint getMouseButton()
82 	{
83 		return webkit_navigation_policy_decision_get_mouse_button(webKitNavigationPolicyDecision);
84 	}
85 
86 	/**
87 	 * Gets the value of the #WebKitNavigationPolicyDecision:navigation-action property.
88 	 *
89 	 * Returns: The #WebKitNavigationAction triggering this policy decision.
90 	 *
91 	 * Since: 2.6
92 	 */
93 	public NavigationAction getNavigationAction()
94 	{
95 		auto __p = webkit_navigation_policy_decision_get_navigation_action(webKitNavigationPolicyDecision);
96 
97 		if(__p is null)
98 		{
99 			return null;
100 		}
101 
102 		return ObjectG.getDObject!(NavigationAction)(cast(WebKitNavigationAction*) __p);
103 	}
104 
105 	/**
106 	 * Gets the value of the #WebKitNavigationPolicyDecision:navigation-type property.
107 	 *
108 	 * Deprecated: Use webkit_navigation_policy_decision_get_navigation_action() instead.
109 	 *
110 	 * Returns: The type of navigation triggering this policy decision.
111 	 */
112 	public WebKitNavigationType getNavigationType()
113 	{
114 		return webkit_navigation_policy_decision_get_navigation_type(webKitNavigationPolicyDecision);
115 	}
116 
117 	/**
118 	 * Gets the value of the #WebKitNavigationPolicyDecision:request property.
119 	 *
120 	 * Deprecated: Use webkit_navigation_policy_decision_get_navigation_action() instead.
121 	 *
122 	 * Returns: The URI request that is associated with this navigation
123 	 */
124 	public URIRequest getRequest()
125 	{
126 		auto __p = webkit_navigation_policy_decision_get_request(webKitNavigationPolicyDecision);
127 
128 		if(__p is null)
129 		{
130 			return null;
131 		}
132 
133 		return ObjectG.getDObject!(URIRequest)(cast(WebKitURIRequest*) __p);
134 	}
135 }