DA: Add exception check for time logic
[platform/upstream/connman.git] / doc / service-api.txt
old mode 100644 (file)
new mode 100755 (executable)
index 084bc05..f8dbb96
@@ -5,11 +5,14 @@ Service               net.connman
 Interface      net.connman.Service
 Object path    [variable prefix]/{service0,service1,...}
 
-Methods                dict GetProperties()
+Methods                dict GetProperties()  [deprecated]
 
                        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)
@@ -19,20 +22,25 @@ Methods             dict GetProperties()
                        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
 
                void ClearProperty(string name)
 
-                       Clears the value of the specified property.
+                       Clears the value of the specified property. Only
+                       the readonly Error property can be cleared using
+                       this method call. When cleared the service is reset
+                       to the idle state.
 
-                       Possible Errors: [service].Error.InvalidArguments
-                                        [service].Error.InvalidProperty
+                       Possible Errors: [service].Error.InvalidProperty
 
                void Connect()
 
                        Connect this service. It will attempt to connect
-                       WiFi, WiMAX or Bluetooth services.
+                       WiFi or Bluetooth services.
 
                        For Ethernet devices this method can only be used
                        if it has previously been disconnected. Otherwise
@@ -45,6 +53,11 @@ Methods              dict GetProperties()
                        setting a longer D-Bus timeout might be a really
                        good idea.
 
+                       Calling Connect() on a hidden WiFi service entry will
+                       query the missing SSID via the Agent API causing a
+                       WiFi service with the given SSID to be scanned,
+                       created and connected.
+
                        Possible Errors: [service].Error.InvalidArguments
 
                void Disconnect()
@@ -58,7 +71,10 @@ Methods              dict GetProperties()
                        method will fail.
 
                        This method can also be used to abort a previous
-                       connectiong attempt via the Connect method.
+                       connection attempt via the Connect method.
+
+                       Hidden WiFi service entries cannot be disconnected
+                       as they always stay in idle state.
 
                        Possible Errors: [service].Error.InvalidArguments
 
@@ -75,12 +91,14 @@ Methods             dict GetProperties()
                        to false, but that is currently not supported.
 
                        In the case a connection attempt failed and the
-                       service is in the State=failure, this method can
-                       also be used to reset the service.
+                       service is in the state "failure", "idle" or
+                       "disconnect", this method can also be used
+                       to reset the service.
 
-                       Calling this method on Ethernet devices will cause
-                       an error message. It is not possible to remove these
-                       kind of devices.
+                       Calling this method on Ethernet devices, hidden WiFi
+                       services or provisioned services will cause an error
+                       message. It is not possible to remove these kind of
+                       services.
 
                        Possible Errors: [service].Error.InvalidArguments
 
@@ -89,9 +107,6 @@ Methods              dict GetProperties()
                        If a service has been used before, this allows a
                        reorder of the favorite services.
 
-                       The target service object must be part of this
-                       profile. Moving between profiles is not supported.
-
                        Possible Errors: [service].Error.InvalidArguments
 
                void MoveAfter(object service)
@@ -99,9 +114,6 @@ Methods              dict GetProperties()
                        If a service has been used before, this allows a
                        reorder of the favorite services.
 
-                       The target service object must be part of this
-                       profile. Moving between profiles is not supported.
-
                        Possible Errors: [service].Error.InvalidArguments
 
                void ResetCounters()  [experimental]
@@ -120,13 +132,16 @@ Properties        string State [readonly]
                        The service state information.
 
                        Valid states are "idle", "failure", "association",
-                       "configuration", "ready" and "online".
+                       "configuration", "ready", "disconnect" and "online".
 
                        The "ready" state signals a successfully
                        connected device. "online" signals that an
                        Internet connection is available and has been
                        verified.
 
+                       See doc/overview-api.txt for more information about
+                       state transitions.
+
                string Error [readonly]
 
                        The service error status details.
@@ -140,17 +155,20 @@ Properties        string State [readonly]
                        the "failure" state. Otherwise it might be empty or
                        not present at all.
 
-                       Current defined error code is "dhcp-failed".
+                       Currently defined error codes are: "out-of-range",
+                       "pin-missing", "dhcp-failed", "connect-failed",
+                       "login-failed", "auth-failed" and "invalid-key".
 
                string Name [readonly]
 
                        The service name (for example "Wireless" etc.)
 
                        This name can be used for directly displaying it in
-                       the application. It has pure informational purpose.
+                       the application. It has pure informational purpose
+                       and no attempt should be made to translate it.
 
-                       For Ethernet devices and hidden WiFi networks it is
-                       not guaranteed that this property is present.
+                       For Ethernet devices and hidden WiFi networks this
+                       property is not present.
 
                string Type [readonly]
 
@@ -160,14 +178,50 @@ Properties        string State [readonly]
                        advanced properties or showing the correct icon
                        to the user.
 
+                       Together with a missing Name property, this can
+                       be used to identify hidden WiFi networks.
+
                array{string} Security [readonly]
 
                        If the service type is WiFi, then this property is
                        present and contains the list of security methods
                        or key management settings.
 
-                       Possible values are "none", "wep", "psk", "ieee8021x"
-                       and also "wps".
+                       Possible values are "none", "wep", "psk", "ieee8021x",
+                       and also "wps" and "wps_advertising".
+
+                       Value "wps" means that the service supports WPS. A
+                       service advertising itself as WPS registrar contains
+                       the additional value "wps_advertising" for as long as
+                       it is advertising. That is, while "wps_advertising" is
+                       listed, WPS is active and it should be possible to
+                       connect to the corresponding service via WPS.
+
+                       This property might be only present for WiFi
+                       services.
+
+               string BSSID [readonly]
+
+                       If the service type is WiFi, then this property
+                       indicates the BSSID of the service.
+
+               uint32 MaxRate [readonly]
+
+                       If the service type is WiFi, then this property
+                       indicates the Maximum speed(bps) of the service.
+
+               uint16 Frequency [readonly]
+
+                       If the service type is WiFi, then this property
+                       indicates the frequency band(MHz) of the service.
+
+               string EncryptionMode [readonly]
+
+                       If the service type is WiFi, then this property
+                       indicates the key encryption mode.
+
+                       Possible values are "none", "wep", "tkip", "aes"
+                       and "mixed".
 
                        This property might be only present for WiFi
                        services.
@@ -194,9 +248,9 @@ Properties  string State [readonly]
                        This value will be set to true if the service is
                        configured externally via a configuration file.
 
-                       The only valid operation are Connect() and of
-                       course Disconnect(). The Remove() method will
-                       result in an error.
+                       The only valid operations are Connect(), Disconnect()
+                       and changing the AutoConnect property. The Remove()
+                       method will result in an error.
 
                boolean AutoConnect [readwrite]
 
@@ -275,7 +329,9 @@ Properties  string State [readonly]
 
                array{string} Domains [readonly]
 
-                       The list of currently used search domains.
+                       The list of currently used search domains taken
+                       from Domains.Configurations if set, otherwise a
+                       domain name if provided by DHCP or VPNs.
 
                array{string} Domains.Configuration [readwrite]
 
@@ -285,9 +341,15 @@ Properties string State [readonly]
 
                        string Method [readonly]
 
-                               Possible values are "dhcp", "manual"
+                               Possible values are "dhcp", "manual", "auto"
                                and "off".
 
+                               It could be "auto" in case address was got
+                               through IPv4LL after DHCP failed. In this
+                               case also IPv4.Configuration will become
+                               "auto" to allow user to ask for a DHCP
+                               address at any time.
+
                                The value "fixed" indicates an IP address
                                that can not be modified. For example
                                cellular networks return fixed information.
@@ -459,18 +521,60 @@ Properties        string State [readonly]
 
                                The Ethernet MTU (default is 1500).
 
-                       uint16 Speed [readonly]
+                       uint16 Speed [readonly] [deprecated]
 
                                Selected speed of the line.
 
-                               This information might not always be
-                               available.
+                               This information is not available.
 
-                       string Duplex [readonly]
+                       string Duplex [readonly] [deprecated]
 
                                Selected duplex settings of the line.
-
                                Possible values are "half" and "full".
 
-                               This information might not always be
-                               available.
+                               This information is not available.
+
+               bool mDNS [readonly]
+
+                       Whether or not mDNS support is enabled. Note
+                       that mDNS requires a DNS backend which
+                       supports it. Currently the only DNS backend
+                       which supports mDNS is systemd-resolved.
+
+               bool mDNS.Configuration [readwrite]
+
+                       Same values as mDNS property. The mDNS
+                       represents the actual system configuration
+                       while this allows user configuration.
+
+               dict LastAddressConflict [readonly]
+
+                       This property contains information about the previously detected
+                       address conflict. If there has been no address conflict then
+                       IPv4 Address is "0.0.0.0", Ethernet Address is "00:00:00:00:00:00",
+                       Timestamp is zero and Resolved is true.
+
+                       dict IPv4 [readonly]
+
+                               string Address [readonly]
+
+                               The IPv4 address which had a conflict.
+
+                       dict Ethernet [readonly]
+
+                               string Address [readonly]
+
+                               The ethernet device address (MAC address) of the conflicting
+                               host.
+
+                       int64 Timestamp [readonly]
+
+                               A timestamp when the conflict was detected in microseconds
+                               since January 1, 1970 UTC.
+
+                       bool Resolved [readonly]
+
+                               Set to false when an address conflict occurs.
+                               If a previous conflict could be resolved by probing another
+                               IPv4 address (which is not an IPv4LL) then this boolean is set
+                               to true.