Possible Errors: net.connman.Agent.Error.Retry
+ void RequestBrowser(object service, string url)
+
+ This method gets called when it is required
+ to ask the user to open a website to procceed
+ with login handling.
+
+ This can happen if connected to a hotspot portal
+ page without WISPr support.
+
+ Possible Errors: net.connman.Agent.Error.Canceled
+
dict RequestInput(object service, dict fields)
This method gets called when trying to connect to
The dictionary arguments contains field names with
their input parameters.
+ In case of WISPr credentials requests and if the user
+ prefers to login through the browser by himself, agent
+ will have to return a LaunchBrowser error (see below).
+
Possible Errors: net.connman.Agent.Error.Canceled
+ net.connman.Agent.Error.LaunchBrowser
void Cancel()
Normally returning the "Name" field is the better
option here.
+ string Identity
+
+ Identity (username) for EAP authentication methods.
+
string Passphrase
- The passphrase for a network. For example a WEP
- key or a PSK passphrase.
+ The passphrase for authentication. For example a WEP
+ key, a PSK passphrase or a passphrase for EAP
+ authentication methods.
+
+ string PreviousPassphrase
+
+ The previous passphrase successfully saved, i.e.
+ which lead to a successfull connection. This field is
+ provided as an informational argument when connecting
+ with it does not work anymore, for instance when it
+ has been changed on the AP. Such argument appears when
+ a RequestInput is raised after a retry.
string WPS
method, or a pin code if user wants to use the pin
method.
+ string Username
+
+ Username for WISPr authentication. This field will be
+ requested when connecting to a WISPr-enabled hotspot.
+
+ string Password
+
+ Password for WISPr authentication. This field will be
+ requested when connecting to a WISPr-enabled hotspot.
+
Arguments string Type
- Contains the type of a field. For example "psk",
- "wep", "ssid", "wpspin" or plain "string".
+ Contains the type of a field. For example "psk", "wep"
+ "passphrase", "response", "ssid", "wpspin" or plain
+ "string".
string Requirement
Contains the requirement option. Valid values are
- "mandatory", "optional" or "alternate".
+ "mandatory", "optional", "alternate" or
+ "informational".
The "alternate" value specifies that this field can be
returned as an alternative to another one. An example
All "mandatory" fields must be returned, while the
"optional" can be returned if available.
+ Nothing needs to be returned for "informational", as it
+ is here only to provide an information so a value is
+ attached to it.
+
array{string} Alternates
Contains the list of alternate field names this
field can be represented by.
+ string Value
+
+ Contains data as a string, relatively to an
+ "informational" argument.
+
Examples Requesting a passphrase for WPA2 network
RequestInput("/service1",
- { "Passphrase" : { "Type" : "psk",
+ { "Passphrase" : { "Type" : "psk",
"Requirement" : "mandatory"
}
}
==> { "Passphrase" : "secret123" }
+ Requesting a passphrase after an error on the previous one:
+
+ RequestInput("/service1",
+ { "Passphrase" : { "Type" : "psk",
+ "Requirement" : "mandatory"
+ },
+ "PreviousPassphrase" :
+ { "Type" : "psk",
+ "Requirement : "informational",
+ "Value" : "secret123"
+ }
+ }
+
Requesting name for hidden network
RequestInput("/service2",
"Requirement" : "mandatory",
"Alternates" : [ "SSID" ]
},
- "SSID" : { "Type" : "ssid",
- "Requirement" : "alternate"
- }
+ "SSID" : { "Type" : "ssid",
+ "Requirement" : "alternate"
+ }
}
==> { "Name" : "My hidden network" }
"Alternates" : [ "WPS" ]
},
"WPS" : { "Type" : "wpspin",
- "Requirement" : "alternate"
+ "Requirement" : "alternate"
}
}
==> { "WPS" : "123456" }
+
+ Requesting passphrase for a WPA-Enterprise network:
+
+ RequestInput("/service4",
+ { "Identity" : { "Type" : "string",
+ "Requirement" : "mandatory"
+ },
+ "Passphrase" : { "Type" : "passphrase",
+ "Requirement" : "mandatory"
+ }
+ }
+
+ ==> { "Identity" : "alice", "Passphrase": "secret123" }
+
+ Requesting challenge response for a WPA-Enterprise network:
+
+ RequestInput("/service4",
+ { "Identity" : { "Type" : "string",
+ "Requirement" : "mandatory"
+ },
+ "Passphrase" : { "Type" : "response",
+ "Requirement" : "mandatory"
+ }
+ }
+
+ ==> { "Identity" : "bob", "Passphrase": "secret123" }
+
+ Requesting username and password for a WISPr-enabled hotspot:
+
+ RequestInput("/service5",
+ { "Username" : { "Type" : "string",
+ "Requirement" : "mandatory"
+ },
+ "Password" : { "Type" : "passphrase",
+ "Requirement" : "mandatory"
+ }
+ }
+
+ ==> { "Username" : "foo", "Password": "secret" }