Hi Natsuki-san,
Sorry for the long delay, I was traveling and didn't find enough
time to really go through your patch set.
On 10/11/2018 06:06 PM, Natsuki.Itaya(a)sony.com wrote:
---
doc/agent-api.txt | 6 ++++++
doc/technology-api.txt | 43 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+)
Maybe you missed the discussion concerning adding technology
specific global API:
https://lists.01.org/pipermail/connman/2018-September/022980.html
My conclusion is not correct, after re-reading the comment from Slava.
So the proposal is to add something like this to the technology API
"""
array{string} Interfaces [readonly]
Set of interfaces currently supported by the
technology object. The set depends on the state of
the devices of this technology object.
Each string in the array is an interface from the
set supported by ConnMan by technology objects.
The set includes:
net.connman.WiFiProtectedSetup
"""
and a new interface which could be:
"""
WiFiProtectedSetup
==================
Service net.connman
Interface net.connman.WiFiProtectedSetup
Object path [variable prefix]/{service0,service1,...}
Methods [...]
void StartApWps(string authentication)
Start a WPS Session when the system is playing AP
role (Tethering) in order to allow potential Ex-STAs
to get connected by using WPS.
The argument indicates the WPS authentication method
which can be an empty string, if user wants to use
push-button method, or a pin code if user wants to
use the pin method.
This method is supported only by WiFi technology.
Possible Errors: [service].Error.InvalidArguments
[service].Error.PermissionDenied
[service].Error.NotSupported
void StartStaWps(string authentication)
Start a WPS Session in STA role in order to be able
to get connected with an Ex-AP with WPS capabilities.
The argument indicates the WPS authentication method
which can be an empty string, if user wants to use
push-button method, or a pin code if user wants to
use the pin method.
This method is supported only by WiFi technology.
Possible Errors: [service].Error.InvalidArguments
[service].Error.OperationAborted
[service].Error.OperationTimeout
[service].Error.NotConnected
[service].Error.NotSupported
void CancelWps()
Cancel ongoing WPS session.
This method is supported only by WiFi technology.
Possible Errors: [service].Error.NotSupported
Returns properties for the service object. See
the properties section for available properties.
Usage of this method is highly discouraged. Use
the Manager.GetServices() method instead.
Possible Errors: [service].Error.InvalidArguments
void SetProperty(string name, variant value)
Changes the value of the specified property. Only
properties that are listed as read-write are
changeable. On success a PropertyChanged signal
will be emitted.
Properties cannot be set for hidden WiFi service
entries or provisioned services.
Possible Errors: [service].Error.InvalidArguments
[service].Error.InvalidProperty
"""
I would also prefer to go this direction, because for iwd we wont need
this at all. This is only needed for wpa_supplicant. If iwd is used,
it is way better to interact with the the iwd daemon directly
instead passing all the stuff through ConnMan. So we could compile
disable the WiFiProtectedSetup interface for iwd only setups.
Could you please update your series this way? I know it is a lot of work
but it in the long run it is far better to take the time to get the API
right(*).
Thanks,
Daniel
(*) well, let't say better, because it is never 100% perfect :)