5 Interface net.connman.Agent
6 Object path freely definable
10 This method gets called when the service daemon
11 unregisters the agent. An agent can use it to do
12 cleanup tasks. There is no need to unregister the
13 agent, because when this method gets called it has
14 already been unregistered.
16 void ReportError(object service, string error)
18 This method gets called when an error has to be
21 A special return value can be used to trigger a
22 retry of the failed transaction.
24 Possible Errors: net.connman.Agent.Error.Retry
26 void RequestBrowser(object service, string url)
28 This method gets called when it is required
29 to ask the user to open a website to procceed
32 This can happen if connected to a hotspot portal
33 page without WISPr support.
35 Possible Errors: net.connman.Agent.Error.Canceled
37 dict RequestInput(object service, dict fields)
39 This method gets called when trying to connect to
40 a service and some extra input is required. For
41 example a passphrase or the name of a hidden network.
43 The return value should be a dictionary where the
44 keys are the field names and the values are the
45 actual fields. Alternatively an error indicating that
46 the request got canceled can be returned.
48 Most common return field names are "Name" and of
51 The dictionary arguments contains field names with
52 their input parameters.
54 In case of WISPr credentials requests and if the user
55 prefers to login through the browser by himself, agent
56 will have to return a LaunchBrowser error (see below).
58 Possible Errors: net.connman.Agent.Error.Canceled
59 net.connman.Agent.Error.LaunchBrowser
63 This method gets called to indicate that the agent
64 request failed before a reply was returned.
68 The name of a network. This field will be requested
69 when trying to connect to a hidden network.
73 This field is an alternative to "Name" for WiFi
74 networks and can be used to return the exact binary
75 representation of a network name.
77 Normally returning the "Name" field is the better
82 Identity (username) for EAP authentication methods.
86 The passphrase for authentication. For example a WEP
87 key, a PSK passphrase or a passphrase for EAP
88 authentication methods.
92 This field requests the use of WPS to get associated.
93 This is an alternate choice against Passphrase when
94 requested service supports WPS. The reply can contain
95 either empty pin, if user wants to use push-button
96 method, or a pin code if user wants to use the pin
101 Username for WISPr authentication. This field will be
102 requested when connecting to a WISPr-enabled hotspot.
106 Password for WISPr authentication. This field will be
107 requested when connecting to a WISPr-enabled hotspot.
109 Arguments string Type
111 Contains the type of a field. For example "psk", "wep"
112 "passphrase", "response", "ssid", "wpspin" or plain
117 Contains the requirement option. Valid values are
118 "mandatory", "optional" or "alternate".
120 The "alternate" value specifies that this field can be
121 returned as an alternative to another one. An example
122 would be the network name or SSID.
124 All "mandatory" fields must be returned, while the
125 "optional" can be returned if available.
127 array{string} Alternates
129 Contains the list of alternate field names this
130 field can be represented by.
132 Examples Requesting a passphrase for WPA2 network
134 RequestInput("/service1",
135 { "Passphrase" : { "Type" : "psk",
136 "Requirement" : "mandatory"
139 ==> { "Passphrase" : "secret123" }
141 Requesting name for hidden network
143 RequestInput("/service2",
144 { "Name" : { "Type" : "string",
145 "Requirement" : "mandatory",
146 "Alternates" : [ "SSID" ]
148 "SSID" : { "Type" : "ssid",
149 "Requirement" : "alternate"
152 ==> { "Name" : "My hidden network" }
154 Requesting a passphrase for a WPA2 network with WPS alternative:
156 RequestInput("/service3",
157 { "Passphrase" : { "Type" : "psk",
158 "Requirement" : "mandatory",
159 "Alternates" : [ "WPS" ]
161 "WPS" : { "Type" : "wpspin",
162 "Requirement" : "alternate"
166 ==> { "WPS" : "123456" }
168 Requesting passphrase for a WPA-Enterprise network:
170 RequestInput("/service4",
171 { "Identity" : { "Type" : "string",
172 "Requirement" : "mandatory"
174 "Passphrase" : { "Type" : "passphrase",
175 "Requirement" : "mandatory"
179 ==> { "Identity" : "alice", "Passphrase": "secret123" }
181 Requesting challenge response for a WPA-Enterprise network:
183 RequestInput("/service4",
184 { "Identity" : { "Type" : "string",
185 "Requirement" : "mandatory"
187 "Passphrase" : { "Type" : "response",
188 "Requirement" : "mandatory"
192 ==> { "Identity" : "bob", "Passphrase": "secret123" }
194 Requesting username and password for a WISPr-enabled hotspot:
196 RequestInput("/service5",
197 { "Username" : { "Type" : "string",
198 "Requirement" : "mandatory"
200 "Password" : { "Type" : "passphrase",
201 "Requirement" : "mandatory"
205 ==> { "Username" : "foo", "Password": "secret" }