dnsproxy: Only one copy of the relevant buffers will be made to a TCP request
[framework/connectivity/connman.git] / doc / manager-api.txt
index 93c25c6..3bd201d 100644 (file)
@@ -22,30 +22,10 @@ Methods             dict GetProperties()
                        Possible Errors: [service].Error.InvalidArguments
                                         [service].Error.InvalidProperty
 
                        Possible Errors: [service].Error.InvalidArguments
                                         [service].Error.InvalidProperty
 
-               string GetState()
+               array{object,dict} GetTechnologies()
 
 
-                       Return global connection state of a system. The
-                       same value is return via the State property.
-
-                       Possible Errors: [service].Error.InvalidArguments
-
-               void RequestScan(string type)
-
-                       Request to trigger a scan for the specified
-                       technology. The empty string "" triggers scanning
-                       on all technologies.
-
-                       Possible Errors: [service].Error.InvalidArguments
-
-               void EnableTechnology(string type)
-
-                       Enable specified type of technologies.
-
-                       Possible Errors: [service].Error.InvalidArguments
-
-               void DisableTechnology(string type)
-
-                       Disable specified type of technologies.
+                       Returns a list of tuples with technology object
+                       path and dictionary of technology properties.
 
                        Possible Errors: [service].Error.InvalidArguments
 
 
                        Possible Errors: [service].Error.InvalidArguments
 
@@ -59,58 +39,6 @@ Methods              dict GetProperties()
 
                        Possible Errors: [service].Error.InvalidArguments
 
 
                        Possible Errors: [service].Error.InvalidArguments
 
-               object LookupService(string pattern)
-
-                       Lookup a service matching the specific pattern.
-
-                       Examples are interface names like "eth0", "wlan0"
-                       etc. or service names like "hotspot" etc.
-
-                       In case of multiple services match the the pattern
-                       an error is returned.
-
-                       Possible Errors: [service].Error.InvalidArguments
-                                        [service].Error.NotUnique
-                                        [service].Error.NotFound
-
-               object ConnectService(dict network)
-
-                       Connect to a network specified by the given
-                       properties.
-
-                       For connecting to a hidden WiFi network for example
-                       it is required that Type = "wifi" and the SSID
-                       properties are provided.
-
-                       When successful this method will return object
-                       path of the service object.
-
-                       This method can also be used to connect to an
-                       already existing service. It works exactly the
-                       same as executing the Connect method from the
-                       service interface.
-
-                       This method call will only return in case of an
-                       error or when the service is fully connected. So
-                       setting a longer D-Bus timeout might be a really
-                       good idea.
-
-                       When 'SessionMode' property is enabled, this method
-                       call is disallowed.
-
-                       Possible Errors: [service].Error.InvalidArguments
-
-               void ProvisionService(string configuration)
-
-                       Provide a configuration for services.
-
-                       Service configuration is provided as a single string
-                       that follows the same format as configuration files,
-                       see config-format.txt. An exception to this format
-                       is that only one service can be provisioned per call.
-
-                       Possible Errors: [service].Error.InvalidArguments
-
                object ConnectProvider(dict provider)
 
                        Connect to a VPN specified by the given provider
                object ConnectProvider(dict provider)
 
                        Connect to a VPN specified by the given provider
@@ -171,7 +99,7 @@ Methods              dict GetProperties()
 
                        Possible Errors: [service].Error.InvalidArguments
 
 
                        Possible Errors: [service].Error.InvalidArguments
 
-               object CreateSession(dict settings, object notifier)
+               object CreateSession(dict settings, object notifier)  [experimental]
 
                        Create a new session for the application. Every
                        application can create multiple session with
 
                        Create a new session for the application. Every
                        application can create multiple session with
@@ -187,7 +115,7 @@ Methods             dict GetProperties()
                        Every application should at least create one session
                        to inform about its requirements and it purpose.
 
                        Every application should at least create one session
                        to inform about its requirements and it purpose.
 
-               void DestroySession(object session)
+               void DestroySession(object session)  [experimental]
 
                        Remove the previously created session.
 
 
                        Remove the previously created session.
 
@@ -213,49 +141,75 @@ Methods           dict GetProperties()
 
                        Possible Errors: [service].Error.InvalidArguments
 
 
                        Possible Errors: [service].Error.InvalidArguments
 
-Signals                PropertyChanged(string name, variant value)
+Signals                TechnologyAdded(object path, dict properties)
 
 
-                       This signal indicates a changed value of the given
-                       property.
+                       Signal that is sent when a new technology is added.
 
 
-               StateChanged(string state)
+                       It contains the object path of the technology and
+                       also its properties.
 
 
-                       This signal is similar to the PropertyChanged signal
-                       for the State property.
+               TechnologyRemoved(object path)
 
 
-                       It exists for application state only care about the
-                       current state and so can avoid to be woken up when
-                       other details changes.
+                       Signal that is sent when a modem has been removed.
 
 
-Properties     string State [readonly]
+                       The object path is no longer accessible after this
+                       signal and only emitted for reference.
 
 
-                       The global connection state of a system. Possible
-                       values are "online" if at least one connection exists
-                       and "offline" if no device is connected.
+               ServicesChanged(array{object, dict}, array{object})
+
+                       Signals a list of services that have been changed
+                       via the first array. And a list of service that
+                       have been removed via the second array.
+
+                       The list of added services is sorted. The dictionary
+                       with the properties might be empty in case none of
+                       the properties have changed. Or only contains the
+                       properties that have changed.
 
 
-                       In certain situations the state might change to
-                       the value "connected". This can only be seen if
-                       previously no connection was present.
+                       For newly added services the whole set of properties
+                       will be present.
 
 
-               array{string} AvailableTechnologies [readonly]
+                       The list of removed services can be empty.
 
 
-                       The list of available technologies. The strings
-                       are the same as the ones from the service types.
+                       This signal will only be triggered when the sort
+                       order of the service list or the number of services
+                       changes. It will not be emitted if only a property
+                       of the service object changes. For that it is
+                       required to watch the PropertyChanged signal of
+                       the service object.
 
 
-               array{string} EnabledTechnologies [readonly]
+               PropertyChanged(string name, variant value)
 
 
-                       The list of enabled technologies. The strings
-                       are the same as the ones from the service types.
+                       This signal indicates a changed value of the given
+                       property.
+
+Properties     string State [readonly]
 
 
-               array{string} ConnectedTechnologies [readonly]
+                       The global connection state of a system. Possible
+                       values are "offline", "idle", "ready" and "online".
+
+                       If the device is in offline mode, the value "offline"
+                       indicates this special global state. It can also be
+                       retrieved via the OfflineMode property, but is kept
+                       here for consistency and to differentiate from "idle".
 
 
-                       The list of connected technologies. The strings
-                       are the same as the ones from the service type.
+                       However when OfflineMode property is true, the State
+                       property can still be "idle", "ready" or "online"
+                       since it is possible by the end user to re-enable
+                       individual technologies like WiFi and Bluetooth while
+                       in offline mode.
 
 
-               string DefaultTechnology [readonly]
+                       The states "idle", "ready" and "online" match to
+                       states from the services. If no service is in
+                       either "ready" or "online" state it will indicate
+                       the "idle" state.
 
 
-                       The current connected technology which holds the
-                       default route.
+                       If at least one service is in "ready" state and no
+                       service is in "online" state, then it will indicate
+                       the "ready" state.
+
+                       When at least one service is in "online" state,
+                       this property will indicate "online" as well.
 
                boolean OfflineMode [readwrite]
 
 
                boolean OfflineMode [readwrite]
 
@@ -270,31 +224,7 @@ Properties string State [readonly]
                        the limited usage of WiFi or Bluetooth devices might
                        be allowed in some situations.
 
                        the limited usage of WiFi or Bluetooth devices might
                        be allowed in some situations.
 
-               object ActiveProfile [readwrite]
-
-                       Object path of the current active profile.
-
-               array{object} Technologies [readonly]
-
-                       List of technology object paths.
-
-               array{object} Services [readonly]
-
-                       List of service object paths. The list is sorted
-                       internally to have the service with the default
-                       route always first and then the favorite services
-                       followed by scan results.
-
-                       This list represents the available services for the
-                       current selected profile. If the profile gets changed
-                       then this list will be updated.
-
-                       The same list is available via the profile object
-                       itself. It is just provided here for convenience of
-                       applications only dealing with the current active
-                       profile.
-
-               boolean SessionMode [readwrite]
+               boolean SessionMode [readwrite]  [experminental]
 
                        This disables the auto connect feature. It should be
                        enabled when the Session API is used. When SessionMode
 
                        This disables the auto connect feature. It should be
                        enabled when the Session API is used. When SessionMode