dnsproxy: Only one copy of the relevant buffers will be made to a TCP request
[framework/connectivity/connman.git] / doc / manager-api.txt
index c92c295..3bd201d 100644 (file)
@@ -22,50 +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
-
-               object CreateProfile(string name)
-
-                       Create and add new profile with the specified
-                       identifier name.
-
-                       Possible Errors: [service].Error.InvalidArguments
-
-               void RemoveProfile(object path)
-
-                       Remove profile with specified object path.
-
-                       It is not possible to remove the current active
-                       profile. To remove the active profile a different
-                       one must be selected via ActiveProfile property
-                       first.
-
-                       At minimum one profile must be available all the time.
-
-                       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
 
@@ -79,44 +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.
-
-                       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
@@ -133,6 +55,9 @@ Methods              dict GetProperties()
                        setting a longer D-Bus timeout might be a really
                        good idea.
 
                        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 RegisterAgent(object path)
                        Possible Errors: [service].Error.InvalidArguments
 
                void RegisterAgent(object path)
@@ -147,7 +72,7 @@ Methods              dict GetProperties()
 
                        Possible Errors: [service].Error.InvalidArguments
 
 
                        Possible Errors: [service].Error.InvalidArguments
 
-               void RegisterCounter(object path, uint32 accuracy, uint32 period)
+               void RegisterCounter(object path, uint32 accuracy, uint32 period)  [experimental]
 
                        Register a new counter for user notifications.
 
 
                        Register a new counter for user notifications.
 
@@ -168,13 +93,13 @@ Methods            dict GetProperties()
 
                        Possible Errors: [service].Error.InvalidArguments
 
 
                        Possible Errors: [service].Error.InvalidArguments
 
-               void UnregisterCounter(object path)
+               void UnregisterCounter(object path)  [experimental]
 
                        Unregister an existing counter.
 
                        Possible Errors: [service].Error.InvalidArguments
 
 
                        Unregister an existing counter.
 
                        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
@@ -190,52 +115,101 @@ 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. The notifier
-                       will be informed via its release method.
+                       Remove the previously created session.
 
                        If an application exits unexpectatly the session
                        will be automatically destroyed.
 
 
                        If an application exits unexpectatly the session
                        will be automatically destroyed.
 
-               StateChanged(string state)
+               object path, dict, fd RequestPrivateNetwork(dict options)
+                                                               [experimental]
 
 
-                       This signal is similar to the PropertyChanged signal
-                       for the State property.
+                       Request a new Private Network, which includes the
+                       creation of a tun/tap interface, and IP
+                       configuration, NAT and IP forwarding on that
+                       interface.
+                       An object path, a dictionnary and a file descriptor
+                       with IP settings are returned.
 
 
-                       It exists for application state only care about the
-                       current state and so can avoid to be woken up when
-                       other details changes.
+                       Possible Errors: [service].Error.InvalidArguments
+                                        [service].Error.NotSupported
 
 
-Properties     string State [readonly]
+               void ReleasePrivateNetwork(object path) [experimental]
 
 
-                       The global connection state of a system. Possible
-                       values are "online" if at least one connection exists
-                       and "offline" if no device is connected.
+                       Releases a private network.
+
+                       Possible Errors: [service].Error.InvalidArguments
+
+Signals                TechnologyAdded(object path, dict properties)
+
+                       Signal that is sent when a new technology is added.
+
+                       It contains the object path of the technology and
+                       also its properties.
+
+               TechnologyRemoved(object path)
 
 
-                       In certain situations the state might change to
-                       the value "connected". This can only be seen if
-                       previously no connection was present.
+                       Signal that is sent when a modem has been removed.
 
 
-               array{string} AvailableTechnologies [readonly]
+                       The object path is no longer accessible after this
+                       signal and only emitted for reference.
 
 
-                       The list of available technologies. The strings
-                       are the same as the ones from the service types.
+               ServicesChanged(array{object, dict}, array{object})
 
 
-               array{string} EnabledTechnologies [readonly]
+                       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 enabled technologies. The strings
-                       are the same as the ones from the service types.
+                       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.
 
 
-               array{string} ConnectedTechnologies [readonly]
+                       For newly added services the whole set of properties
+                       will be present.
 
 
-                       The list of connected technologies. The strings
-                       are the same as the ones from the service type.
+                       The list of removed services can be empty.
 
 
-               string DefaultTechnology [readonly]
+                       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.
 
 
-                       The current connected technology which holds the
-                       default route.
+               PropertyChanged(string name, variant value)
+
+                       This signal indicates a changed value of the given
+                       property.
+
+Properties     string State [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".
+
+                       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.
+
+                       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.
+
+                       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]
 
@@ -250,30 +224,11 @@ 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} Profiles [readonly]
-
-                       List of profile object paths.
-
-               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.
+               boolean SessionMode [readwrite]  [experminental]
 
 
-                       This list represents the available services for the
-                       current selected profile. If the profile gets changed
-                       then this list will be updated.
+                       This disables the auto connect feature. It should be
+                       enabled when the Session API is used. When SessionMode
+                       is enabled, 'ConnectService' and 'ConnectProvider'
+                       method calls are disallowed.
 
 
-                       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.
+                       The default value is false.